A palletizing dynamic adjustment method, device and medium based on object placement position
Through dynamic palletizing adjustment method based on the placement of objects, the problem of unfixed suitcase size and partly soft wrapped in civil aviation is solved, and stable and safe palletizing are achieved.
Patent Information
- Application Number
- CN202510253447.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-05
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2045-03-05
AI Technical Summary
In the field of civil aviation, the size of passenger suitcases is not fixed, and some suitcases are soft-wrapped and cannot be stacked, which makes it difficult to effectively place existing palletizing algorithms, which easily leads to problems of side slippage and offset of landing points of objects to be palletized.
Through the dynamic palletizing adjustment method based on the placement position of the object, the initial placement position of the object to be stacked is determined using image information, determine whether there are palletized objects below, calculate the predicted sliding distance and volley rate, and adjust the placement position of the object to be stacked to avoid side slippage.
It effectively avoids the side slippage and offset of the landing point during the falling process, improves the stability and safety of the palletization, and ensures the stable placement of the suitcase.
Smart Images

Figure CN119750157A_ABST
Abstract
Description
Background Art
[0002] Palletizing algorithms are widely used in logistics, warehousing, and automated production, as well as in the transportation and placement of passenger luggage in the civil aviation field. The current palletizing algorithm first calculates the size of the object to be palletized and the spacing distance between the objects to be set, determines the corresponding placement position of the object to be palletized, and then controls a robotic arm with a conveyor belt to move the object to be palletized to its corresponding placement position. Since the robotic arm moves the object to be palletized to the placement position through a conveyor belt, when the terminal of the robotic arm reaches the placement position, the conveyor belt will drive the object to be palletized to move to the terminal of the robotic arm, so that the object to be palletized falls to its corresponding placement position to complete the stacking and placement of the object to be palletized.
[0003] However, in the field of civil aviation, since the sizes of passengers' luggage are not fixed and uniform, and some luggage are soft packages and other luggage cannot be stacked on them, if the current stacking algorithm is used to place this type of objects to be stacked, there will be a gap between two adjacent objects to be stacked in the stack. If other objects to be stacked are placed on these adjacent objects to be stacked, there will be a risk of the upper objects to be stacked sliding sideways, resulting in damage to the objects to be stacked that have slipped sideways and the objects placed in the landing area where the sliding occurs. In addition, when the conveyor belt drops the objects to be stacked to the placement position, one side of the objects to be stacked will fall to the placement position first. Due to the power of the conveyor belt and the gravity of the objects to be stacked, the objects to be stacked will have kinetic energy during the falling process. Therefore, during the falling process, the kinetic energy will cause the landing point of the objects to be stacked to not be accurately located at the determined placement position, and may cause deviation, causing the objects to be stacked to slide sideways, which is not conducive to the stable placement of the stack. Summary of the invention
[0004] In view of the above technical problems, the technical solution adopted by the present invention is: According to one aspect of the present application, a method for dynamic adjustment of palletizing based on the placement position of an object is provided, comprising the following steps: Step S100, determining the initial placement position of the objects to be stacked according to the image information of the objects to be stacked placed at the original position; Step S200: if there are already stacked objects below the initial placement position, determine the predicted sliding distance of the object to be stacked according to the mass of the object to be stacked and the height of the already stacked objects below the initial placement position; Step S300: if the predicted sliding distance of the object to be palletized is less than the distance between the palletized object located below the initial placement position and the palletized object adjacent to the front of the palletized object, then determine the one-time flying rate L1 of the object to be palletized according to the area of the palletized object located below the initial placement position and the area of the object to be palletized; The front of the stacked object is in the opposite direction of the moving direction of the object to be stacked from the original position to the initial placement position; The one-time empty rate indicates the ratio of the surface overlap area of the initial placement position and the stacked objects below the initial placement position to the total area occupied by the objects to be stacked; Step S400, if the primary empty rate of the objects to be stacked is less than a preset empty rate threshold, then determine the secondary empty rate L2 of the objects to be stacked according to the area of the objects to be stacked in the target area at the initial placement position; the target area is the area in the initial placement position, in front of the front surface of the stacked objects below the initial placement position; the secondary empty rate represents the ratio of the area of the target area to the total area occupied by the objects to be stacked; Step S500: If L2 / (1-L1) is greater than a preset threshold value of the empty ratio, the initial placement position of the object to be stacked is translated to the rear of the stacked object by a preset adjustment distance to obtain a target placement position of the object to be stacked.
[0005] In an exemplary embodiment of the present application, step S100 includes: Step S110, obtaining photographic images of the objects to be stacked at several shooting angles; the objects to be stacked are boxes with regular shapes; Step S120, extracting image features from each captured image to obtain a number of image features of the objects to be palletized; Step S130, matching each image feature of the object to be palletized with a plurality of historical image features to obtain a target historical image feature corresponding to each image feature of the object to be palletized; the target historical image feature is a historical image feature having the greatest matching degree with the image feature corresponding to the target historical image feature among the plurality of historical image features; Step S140: Processing a number of target historical image features according to a preset palletizing rule to obtain initial placement positions corresponding to the objects to be palletized.
[0006] In an exemplary embodiment of the present application, step S200 includes: Step S210: If there is a stacked object below the initial placement position, the stacked object is determined as a target stacking object; Step S220, obtaining the mass g1 of the object to be stacked and the height h1 of the target stacking object; Step S230, determining the predicted sliding distance of the objects to be stacked as g1×a1+h1×a2; wherein a1 is a preset mass sliding coefficient, and a2 is a preset height sliding coefficient.
[0007] In an exemplary embodiment of the present application, step S300 includes: Step S310: If there are other palletized objects in front of the target palletized object, execute step S320; otherwise, execute step S340; Step S320, determining a palletized object located in front of the target palletizing object and adjacent to the target palletizing object as an adjacent palletizing object; Step S330: If the distance between the target stacking object and the adjacent stacking object is greater than or equal to the predicted sliding distance of the object to be stacked, then execute step S340; Step S340, obtaining the floor area B1 of the objects to be stacked and the area B2 of the overlapping area between the initial placement position and the upper surface of the target stacking object; Step S350, determining the one-time empty rate L1=B2 / B1 of the objects to be stacked.
[0008] In an exemplary embodiment of the present application, step S400 includes: Step S410: If L1 is less than a preset empty rate threshold, a two-dimensional coordinate system is established with the placement surface of the target stacking object as the base surface, any vertex of the target stacking object as the origin, the front of the target stacking object as the positive direction of the horizontal axis, and the wide side of the target stacking object as the vertical axis; Step S420, determining two common vertices of the upper surface and the front surface of the target palletizing object as the first vertex and the second vertex in descending order of the ordinates of their respective coordinates in the two-dimensional coordinate system; Step S430, obtaining the coordinates (A1, C1) of the first vertex in the two-dimensional coordinate system and the coordinates (A2, C2) of the second vertex in the two-dimensional coordinate system; wherein A1 is the horizontal coordinate of the first vertex in the two-dimensional coordinate system, and C1 is the vertical coordinate of the first vertex in the two-dimensional coordinate system; A2 is the horizontal coordinate of the second vertex in the two-dimensional coordinate system, and C2 is the vertical coordinate of the second vertex in the two-dimensional coordinate system; Step S440, determining two common vertices of the upper surface and the front surface of the objects to be stacked as the third vertex and the fourth vertex in descending order of the ordinates of their respective coordinates in the two-dimensional coordinate system; Step S450, obtaining the coordinates (A3, C3) of the third vertex at the initial placement position in the two-dimensional coordinate system and the coordinates (A4, C4) of the fourth vertex at the initial placement position in the two-dimensional coordinate system; wherein A3 is the abscissa of the third vertex at the initial placement position in the two-dimensional coordinate system, and C3 is the ordinate of the third vertex at the initial placement position in the two-dimensional coordinate system; Step S460, determining the area enclosed by (A1, C3), (A2, C4), (A3, C3), and (A4, C4) as the target area; Step S470, determine the area of the target area B3 = |A3-A1|×|C3-C4|; Step S480, determining the secondary empty rate L2=B3 / B1 of the objects to be palletized.
[0009] In an exemplary embodiment of the present application, step S500 includes: Step S510: if L2 / (1-L1) is greater than a preset flying rate threshold, then the adjustment distance is determined according to the width of the target area; Step S520, the initial placement position of the object to be stacked is translated to the rear of the stacked object by an adjusted distance to obtain an adjusted placement position of the object to be stacked; Step S530, obtaining an area B4 of an overlapping region between the adjusted placement position and the upper surface of the target stacking object; Step S540, determining the adjusted flying rate L3=B4 / B1 of the objects to be stacked; Step S550: If L3 is greater than or equal to the preset empty rate threshold, the adjusted placement position of the object to be palletized is determined as the target placement position of the object to be palletized.
[0010] In an exemplary embodiment of the present application, step S550 further includes: Step S551: if L3 is less than a preset empty rate threshold, the stacked object with the lowest layer and no stacked object in front of it is determined as the first stacked object; Step S552: Obtain the height J0 of the object to be palletized and the height J1, J2, ..., J of each first palletized object. r ,...,J s ; where r=1,2,...,s; s is the number of the first stacked objects; J r is the height of the first r-th stacked object; Step S553: determine the height difference between the objects to be palletized and each first palletized object, and obtain a height difference list K=(K1, K2, ..., K r ,...,K s );K r=|J r -J0|; where K r is the height difference between the object to be palletized and the rth first palletized object; Step S554: Obtain the coordinates of several vertices of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system to obtain a vertex coordinate list D=(D1, D2, ..., D i ,...,D t );D i =(D i1 ,D i2 ), wherein i=1,2,...,t; t is the number of vertices of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system; D i is the coordinate of the i-th vertex of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system; D i1 D i The corresponding horizontal axis; D i2 D i The corresponding vertical coordinate; MIN() is the preset minimum value determination function; Step S555: Determine the target horizontal coordinate E=MAX(D 11 ,D 21 ,...,D i1 ,...,D t1 ); wherein MAX() is a preset maximum value determination function; Step S556: Determine the first target vertical coordinate F1=MAX(D 12 ,D 22 ,...,D i2 ,...,D t2 ) and the second target ordinate F2=MIN(D 12 ,D 22 ,...,D i2 ,...,D t2 ); Step S557, obtaining the length G1 and the width G2 of the objects to be stacked; Step S558: Determine the area enclosed by (E, (F1+F2+G2) / 2), (E, (F1+F2-G2) / 2), (E+G1, (F1+F2+G2) / 2), and (E+G1, (F1+F2-G2) / 2) as the target placement position for the objects to be palletized.
[0011] In an exemplary embodiment of the present application, the adjustment distance is determined by the following steps: Step S511, obtaining the maximum horizontal coordinate H1 and the minimum horizontal coordinate H2 of several vertices of the target stacking object in the two-dimensional coordinate system; Step S512, obtaining the maximum horizontal coordinate H3 and the minimum horizontal coordinate H4 of a plurality of vertices at the initial placement position in the two-dimensional coordinate system; Step S513: If |H3-H1|≥|H4-H2|, |H4-H2| is determined as the adjustment distance; otherwise, (|H4-H2|+|H3-H1|) / 2 is determined as the adjustment distance.
[0012] According to one aspect of the present application, a non-transitory computer-readable storage medium is provided, in which at least one instruction or at least one program is stored, and the at least one instruction or the at least one program is loaded and executed by a processor to implement the aforementioned dynamic adjustment method of palletizing based on the placement position of the object.
[0013] According to one aspect of the present application, an electronic device is provided, including a processor and the aforementioned non-transitory computer-readable storage medium.
[0014] The present invention has at least the following beneficial effects: The method for dynamically adjusting stacking based on the object placement position of the present invention first determines the initial placement position of the object to be stacked according to the image information of the object to be stacked placed at the original position, the initial placement position being the placement position of the object to be stacked determined according to the existing stacking algorithm, and then determines whether there is a stacked object below the initial placement position. If there is a stacked object below the initial placement position, it means that the number of stacking layers at the initial placement position is at least two layers, and then determines the predicted sliding distance of the object to be stacked according to the mass of the object to be stacked and the height of the stacked object below the initial placement position. The predicted sliding distance indicates the possible sliding distance of the object to be palletized when it slides sideways at the initial placement position. If the predicted sliding distance of the object to be palletized is smaller than the distance between the palletized object below the initial placement position and the adjacent palletized object in front of the palletized object, it means that when the object to be palletized slides sideways at the initial placement position, the object to be palletized will slide to the palletizing layer below it, causing damage to the object to be palletized. Therefore, according to the area of the palletized object below the initial placement position and the area of the object to be palletized, the one-time empty rate L1 of the object to be palletized is determined. The one-time empty rate indicates the initial empty rate. The ratio of the surface overlap area of the initial placement position and the stacked objects below the initial placement position to the total area of the objects to be stacked. If L1 is less than the preset empty rate threshold, it means that if the objects to be stacked are placed at the initial placement position, there are more unsupported parts below them, and there is a risk of side slipping. Then, according to the area of the objects to be stacked in the target area of the initial placement position, the secondary empty rate L2 of the objects to be stacked is determined. The secondary empty rate means the ratio of the unsupported front part of the objects to be stacked at the initial placement position to the total area of the objects to be stacked. If L2 / (1- If the value L1) is greater than the preset threshold of the proportion of the air rate, it means that the front unsupported part of the object to be stacked accounts for a large proportion of the overall unsupported part of the object to be stacked at the initial placement position, indicating that the object to be stacked is more likely to tilt forward and slide sideways at the initial placement position. Therefore, the initial placement position of the object to be stacked is translated to the rear of the stacked object by a preset adjustment distance to obtain the target placement position of the object to be stacked. The target placement position is the final position where the object to be stacked needs to be placed on the existing stack type, so that the stability of the object to be stacked when placed at the target placement position is better and the risk of sliding sideways is less likely to occur. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0016] Figure 1A flowchart of a method for dynamically adjusting palletizing based on object placement provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0017] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0018] The present application describes a method for dynamically adjusting the stacking based on the object placement position, such as Figure 1 As shown, the following steps are included: Step S100, determining the initial placement position of the objects to be stacked according to the image information of the objects to be stacked placed at the original position; The original position is the placement position of the object to be palletized before being stacked, and the initial placement position is the placement position of the object to be palletized determined according to the existing palletizing algorithm.
[0019] Further, step S100 includes steps S110 to S140: Step S110, obtaining images of the objects to be stacked at several shooting angles; The objects to be stacked are boxes with regular shapes, such as cubic suitcases.
[0020] Step S120, extracting image features from each captured image to obtain a number of image features of the objects to be palletized; Feature extraction is performed on the captured images to extract image features of the objects to be stacked in each captured image. The image features may be size features (such as length, width and height) and type features (such as whether the material of the objects to be stacked can be stacked. If the material of the objects to be stacked is hard, other objects can be stacked on the objects to be stacked; if the material of the objects to be stacked is soft, other objects cannot be stacked on the objects to be stacked).
[0021] Step S130, matching each image feature of the object to be palletized with a plurality of historical image features to obtain a target historical image feature corresponding to each image feature of the object to be palletized; The target historical image feature is a historical image feature that has the highest matching degree with the image feature corresponding to the target historical image feature among several historical image features.
[0022] After obtaining the image features of the object to be palletized, they are compared with the historical image features, and the historical image features with the greatest matching degree with the image features corresponding to any target historical image features are determined as the target historical image features corresponding to the target historical image features. The historical image features are image features of several historical palletizing objects collected within a historical period. Since the specifications of the historical palletizing objects are known, the image features of the object to be palletized are compared with the historical image features to determine the target historical image features, and then the corresponding historical palletizing objects are determined through the target historical image features. The determined historical palletizing objects are the palletizing objects that are most similar to the object to be palletized.
[0023] Step S140: Processing a number of target historical image features according to a preset palletizing rule to obtain initial placement positions corresponding to the objects to be palletized.
[0024] The preset stacking rule adopts the existing stacking algorithm, that is, according to the specification characteristics of the objects to be stacked and the current stacking specifications, an initial placement position that matches the size of the objects to be stacked is matched, wherein the specification characteristics of the objects to be stacked, that is, the image characteristics of the objects to be stacked, can be determined by the target historical image characteristics, or the image characteristics of the objects to be stacked can be subjected to data analysis to determine the size of the objects to be stacked.
[0025] Step S200: if there are already stacked objects below the initial placement position, determine the predicted sliding distance of the object to be stacked according to the mass of the object to be stacked and the height of the already stacked objects below the initial placement position; If there are stacked objects below the initial placement position, it means that the stacking layer corresponding to the initial placement position is not the bottom layer, but at least the second layer of the current pallet type (the larger the value of the stacking layer, the higher the height corresponding to the stacking layer). If the initial placement position is not the bottom layer, it means that there is a risk of side slipping of the object to be stacked when it falls on the conveyor belt to the initial placement position. Then, by further determining the predicted sliding distance when the object to be stacked slips sideways, it is judged whether the object to be stacked will slide to the lower layer of the current pallet type if it slips sideways at the initial placement position. If it slides to the lower layer of the current pallet type, it will cause damage to the object to be stacked and other objects located at the sliding point of the object to be stacked.
[0026] Further, step S200 includes steps S210 to S230: Step S210: If there is a stacked object below the initial placement position, the stacked object is determined as a target stacking object; Step S220, obtaining the mass g1 of the object to be stacked and the height h1 of the target stacking object; Step S230, determining the predicted sliding distance of the objects to be stacked as g1×a1+h1×a2; wherein a1 is a preset mass sliding coefficient, and a2 is a preset height sliding coefficient.
[0027] a1 and a2 can be determined based on the staff's statistics of the sliding distances of historical palletized objects.
[0028] Step S300: if the predicted sliding distance of the object to be palletized is less than the distance between the palletized object (i.e., the target palletized object) located below the initial placement position and the adjacent palletized object in front of the palletized object, then determine the one-time flying rate L1 of the object to be palletized according to the area of the palletized object located below the initial placement position and the area of the object to be palletized; Further, step S300 includes steps S310 to S350: Step S310: If there are other palletized objects in front of the target palletized object, execute step S320; otherwise, execute step S340; Step S320, determining a palletized object located in front of the target palletizing object and adjacent to the target palletizing object as an adjacent palletizing object; The front of the stacked objects is in the opposite direction of the moving direction of the objects to be stacked from the original position to the initial placement position, that is, the opposite direction in which the conveyor belt transports the objects to be stacked to the initial placement position.
[0029] Step S330: If the distance between the target stacking object and the adjacent stacking object is greater than or equal to the predicted sliding distance of the object to be stacked, then execute step S340; If the predicted sliding distance of the object to be stacked is less than the distance between the target stacking object and the adjacent stacking object or there is no other stacked object in front of the target stacking object, it means that if the object to be stacked tilts forward and slides sideways at the initial placement position, the object to be stacked will slide to the lower layer of the stacking layer where the initial placement position is located, causing damage to the object to be stacked and other objects located at the sliding point of the object to be stacked. Therefore, it is necessary to continue to judge the probability of the object to be stacked tilting forward and sliding sideways.
[0030] When the predicted sliding distance of the object to be stacked is greater than or equal to the distance between the target stacking object and the adjacent stacking object, it means that even if the object to be stacked tilts forward and slides sideways at the initial placement position, the object to be stacked will slide to the gap between the target stacking object and the adjacent stacking object, and the object to be stacked will not slide to the lower layer of the stacking layer where the initial placement position is located, and the object to be stacked will not cause damage. Therefore, it is allowed to place the object to be stacked at the initial placement position, and the initial placement position is determined as the target placement position of the object to be stacked.
[0031] Step S340, obtaining the floor area B1 of the objects to be stacked and the area B2 of the overlapping area between the initial placement position and the upper surface of the target stacking object; Step S350, determining the one-time empty rate L1=B2 / B1 of the objects to be stacked.
[0032] The one-time empty rate indicates the ratio of the surface overlapping area of the initial placement position and the stacked object below the initial placement position to the total area of the objects to be stacked. The larger the one-time empty rate, the larger the overlapping area between the object to be stacked at the initial placement position and the upper surface of the target stacking object, the smaller the unsupported part below the object to be stacked at the initial placement position, and the more stable the object to be stacked at the initial placement position.
[0033] Step S400: if the primary empty rate of the objects to be stacked is less than a preset empty rate threshold, determine the secondary empty rate L2 of the objects to be stacked according to the area of the objects to be stacked within the target area of the initial placement position; The target area is an area in the initial placement position, in front of the front surface of the palletized objects below the initial placement position.
[0034] If the primary air rate of the objects to be stacked is less than the preset air rate threshold, it means that there are more unsupported parts below the objects to be stacked at the initial placement position, and there may be a risk of slipping. In order to further judge the stability of the objects to be stacked at the initial placement position, the secondary air rate of the objects to be stacked is determined.
[0035] The secondary empty rate indicates the ratio of the area of the target area to the total area occupied by the objects to be stacked. The larger the secondary empty rate is, the more parts of the unsupported parts below the objects to be stacked are located in front of the front surface of the stacked objects when the objects to be stacked are in the initial placement position. Since the arrangement rule of the objects to be stacked is to stack from back to front and stack rows first (that is, to stack the rear positions first, and when the rear row is stacked, the row in front is stacked), even if the objects to be stacked have more unsupported parts below at the initial placement position, if most of the unsupported parts are located on the sides or rear of the target stacking objects, the objects to be stacked are more likely to slide to the side and rear when they are in the initial placement position. There are other already stacked objects on the sides and rear of the stacked object. Therefore, the object to be stacked will not slide to the stacking layer where the target stacking object is located, but will only get stuck in the gap between the target stacking object and its adjacent already stacked objects, without causing damage to the object to be stacked. However, if, when the object to be stacked is in the initial placement position, the unsupported portion below it is more located in front of the front surface of the already stacked object, it means that when the object to be stacked is in the initial placement position, it is more likely to slide forward, and there are no other already stacked objects in front of the target stacking object. Therefore, when the object to be stacked tilts forward, it will slide to the stacking layer where the target stacking object is located or the stacking layer below the target stacking object, causing damage to the object to be stacked.
[0036] Further, step S400 includes steps S410 to S480: Step S410: If L1 is less than a preset empty rate threshold, a two-dimensional coordinate system is established with the placement surface of the target stacking object as the base surface, any vertex of the target stacking object as the origin, the front of the target stacking object as the positive direction of the horizontal axis, and the wide side of the target stacking object as the vertical axis; Step S420, determining two common vertices of the upper surface and the front surface of the target palletizing object as the first vertex and the second vertex in descending order of the ordinates of their respective coordinates in the two-dimensional coordinate system; Step S430, obtaining the coordinates (A1, C1) of the first vertex in the two-dimensional coordinate system and the coordinates (A2, C2) of the second vertex in the two-dimensional coordinate system; wherein A1 is the horizontal coordinate of the first vertex in the two-dimensional coordinate system, and C1 is the vertical coordinate of the first vertex in the two-dimensional coordinate system; A2 is the horizontal coordinate of the second vertex in the two-dimensional coordinate system, and C2 is the vertical coordinate of the second vertex in the two-dimensional coordinate system; Step S440, determining two common vertices of the upper surface and the front surface of the objects to be stacked as the third vertex and the fourth vertex in descending order of the ordinates of their respective coordinates in the two-dimensional coordinate system; Step S450, obtaining the coordinates (A3, C3) of the third vertex at the initial placement position in the two-dimensional coordinate system and the coordinates (A4, C4) of the fourth vertex at the initial placement position in the two-dimensional coordinate system; wherein A3 is the abscissa of the third vertex at the initial placement position in the two-dimensional coordinate system, and C3 is the ordinate of the third vertex at the initial placement position in the two-dimensional coordinate system; Step S460, determining the area enclosed by (A1, C3), (A2, C4), (A3, C3), and (A4, C4) as the target area; Step S470, determine the area of the target area B3 = |A3-A1|×|C3-C4|; Step S480, determining the secondary empty rate L2=B3 / B1 of the objects to be palletized.
[0037] Step S500: If L2 / (1-L1) is greater than a preset threshold value of the empty ratio, the initial placement position of the object to be stacked is translated to the rear of the stacked object by a preset adjustment distance to obtain a target placement position of the object to be stacked.
[0038] Further, step S500 includes steps S510 to S558: Step S510: if L2 / (1-L1) is greater than a preset flying rate threshold, then the adjustment distance is determined according to the width of the target area; Specifically, the adjustment distance is determined through steps S511 to S513: Step S511, obtaining the maximum horizontal coordinate H1 and the minimum horizontal coordinate H2 of several vertices of the target stacking object in the two-dimensional coordinate system; Step S512, obtaining the maximum horizontal coordinate H3 and the minimum horizontal coordinate H4 of a plurality of vertices at the initial placement position in the two-dimensional coordinate system; Step S513: If |H3-H1|≥|H4-H2|, |H4-H2| is determined as the adjustment distance; otherwise, (|H4-H2|+|H3-H1|) / 2 is determined as the adjustment distance.
[0039] Step S520, the initial placement position of the object to be stacked is translated to the rear of the stacked object by an adjusted distance to obtain an adjusted placement position of the object to be stacked; Step S530, obtaining an area B4 of an overlapping region between the adjusted placement position and the upper surface of the target stacking object; Step S540, determining the adjusted flying rate L3=B4 / B1 of the objects to be stacked; Step S550: if L3 is greater than or equal to a preset empty rate threshold, the adjusted placement position of the object to be palletized is determined as the target placement position of the object to be palletized; Step S551: if L3 is less than a preset empty rate threshold, the stacked object with the lowest layer and no stacked object in front of it is determined as the first stacked object; Step S552: Obtain the height J0 of the object to be palletized and the height J1, J2, ..., J of each first palletized object. r ,...,J s ; where r=1,2,...,s; s is the number of the first stacked objects; J r is the height of the first r-th stacked object; Step S553: determine the height difference between the objects to be palletized and each first palletized object, and obtain a height difference list K=(K1, K2, ..., K r ,...,K s );K r =|J r -J0|; where K r is the height difference between the object to be palletized and the rth first palletized object; Step S554: Obtain the coordinates of several vertices of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system to obtain a vertex coordinate list D=(D1, D2, ..., D i ,...,D t );D i =(D i1 ,D i2 ), wherein i=1,2,...,t; t is the number of vertices of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system; D i is the coordinate of the i-th vertex of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system; D i1 D i The corresponding horizontal axis; D i2 D i The corresponding vertical coordinate; MIN() is the preset minimum value determination function; Step S555: Determine the target horizontal coordinate E=MAX(D 11 ,D 21 ,...,D i1 ,...,D t1 ); wherein MAX() is a preset maximum value determination function; Step S556: Determine the first target vertical coordinate F1=MAX(D 12 ,D 22 ,...,D i2 ,...,D t2 ) and the second target ordinate F2=MIN(D 12 ,D22 ,...,D i2 ,...,D t2 ); Step S557, obtaining the length G1 and the width G2 of the objects to be stacked; Step S558: Determine the area enclosed by (E, (F1+F2+G2) / 2), (E, (F1+F2-G2) / 2), (E+G1, (F1+F2+G2) / 2), and (E+G1, (F1+F2-G2) / 2) as the target placement position for the objects to be palletized.
[0040] The method for dynamically adjusting stacking based on the object placement position of the present invention first determines the initial placement position of the object to be stacked according to the image information of the object to be stacked placed at the original position, the initial placement position being the placement position of the object to be stacked determined according to the existing stacking algorithm, and then determines whether there is a stacked object below the initial placement position. If there is a stacked object below the initial placement position, it means that the number of stacking layers at the initial placement position is at least two layers, and then determines the predicted sliding distance of the object to be stacked according to the mass of the object to be stacked and the height of the stacked object below the initial placement position. The predicted sliding distance indicates the possible sliding distance of the object to be palletized when it slides sideways at the initial placement position. If the predicted sliding distance of the object to be palletized is smaller than the distance between the palletized object below the initial placement position and the adjacent palletized object in front of the palletized object, it means that when the object to be palletized slides sideways at the initial placement position, the object to be palletized will slide to the palletizing layer below it, causing damage to the object to be palletized. Therefore, according to the area of the palletized object below the initial placement position and the area of the object to be palletized, the one-time empty rate L1 of the object to be palletized is determined. The one-time empty rate indicates the initial empty rate. The ratio of the surface overlap area of the initial placement position and the stacked objects below the initial placement position to the total area of the objects to be stacked. If L1 is less than the preset empty rate threshold, it means that if the objects to be stacked are placed at the initial placement position, there are more unsupported parts below them, and there is a risk of side slipping. Then, according to the area of the objects to be stacked in the target area of the initial placement position, the secondary empty rate L2 of the objects to be stacked is determined. The secondary empty rate means the ratio of the unsupported front part of the objects to be stacked at the initial placement position to the total area of the objects to be stacked. If L2 / (1- If the value L1) is greater than the preset threshold of the proportion of the air rate, it means that the front unsupported part of the object to be stacked accounts for a large proportion of the overall unsupported part of the object to be stacked at the initial placement position, indicating that the object to be stacked is more likely to tilt forward and slide sideways at the initial placement position. Therefore, the initial placement position of the object to be stacked is translated to the rear of the stacked object by a preset adjustment distance to obtain the target placement position of the object to be stacked. The target placement position is the final position where the object to be stacked needs to be placed on the existing stack type, so that the stability of the object to be stacked when placed at the target placement position is better and the risk of sliding sideways is less likely to occur.
[0041] An embodiment of the present invention further provides a computer program product, which includes program code. When the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of the method according to various exemplary embodiments of the present invention described above in this specification.
[0042] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.
[0043] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by combining software with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0044] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
[0045] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as a system, method or program product. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as a "circuit", "module" or "system".
[0046] The electronic device according to this embodiment of the present invention is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0047] The electronic device is presented in the form of a general-purpose computing device. The components of the electronic device may include, but are not limited to: the at least one processor mentioned above, the at least one storage device mentioned above, and a bus connecting different system components (including storage devices and processors).
[0048] The storage stores program codes, which can be executed by the processor, so that the processor executes the steps according to various exemplary embodiments of the present invention described in the above “Exemplary Method” section of this specification.
[0049] The memory may include readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory, and may further include read only memory (ROM).
[0050] The storage may also include a program / utility having a set (at least one) of program modules, such program modules including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0051] The bus may represent one or more of several types of bus structures including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures.
[0052] The electronic device may also communicate with one or more external devices (e.g., keyboards, pointing devices, Bluetooth devices, etc.), one or more devices that enable a user to interact with the electronic device, and / or any device that enables the electronic device to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface. Furthermore, the electronic device may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter.
[0053] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present invention can also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of the present specification.
[0054] The program product may be any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0055] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0056] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0057] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0058] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to an exemplary embodiment of the present invention, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.
[0059] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0060] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed by the present invention should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Claims
1. A method for dynamic adjustment of palletizing based on the placement of objects, characterized in that: The steps include: Step S100, determining the initial placement position of the objects to be stacked according to the image information of the objects to be stacked placed at the original position; Step S200: if there are already stacked objects below the initial placement position, determine the predicted sliding distance of the object to be stacked according to the mass of the object to be stacked and the height of the already stacked objects below the initial placement position; Step S300: if the predicted sliding distance of the object to be palletized is less than the distance between the palletized object located below the initial placement position and the palletized object adjacent to the front of the palletized object, then determine the one-time flying rate L1 of the object to be palletized according to the area of the palletized object located below the initial placement position and the area of the object to be palletized; The front of the stacked objects is in the opposite direction of the moving direction of the objects to be stacked from the original position to the initial placement position; The one-time empty rate represents the ratio of the surface overlap area of the initial placement position and the stacked objects below the initial placement position to the total area occupied by the objects to be stacked; Step S400: If the primary empty rate of the objects to be palletized is less than a preset empty rate threshold, determine the secondary empty rate L2 of the objects to be palletized according to the area of the objects to be palletized in the target area of the initial placement position; the target area is the area in the initial placement position and before the front surface of the palletized objects below the initial placement position; the secondary empty rate represents the ratio of the area of the target area to the total area occupied by the objects to be palletized; Step S500: If L2 / (1-L1) is greater than a preset empty rate ratio threshold, the initial placement position of the object to be stacked is translated to the rear of the stacked object by a preset adjustment distance to obtain a target placement position of the object to be stacked.
2. The method according to claim 1, characterized in that The step S100 includes: Step S110, obtaining photographic images of the objects to be stacked at several shooting angles; the objects to be stacked are boxes with regular shapes; Step S120, performing image feature extraction on each of the captured images to obtain a number of image features of the objects to be palletized; Step S130, matching each image feature of the object to be palletized with a plurality of historical image features to obtain a target historical image feature corresponding to each image feature of the object to be palletized; the target historical image feature is a historical image feature having the greatest matching degree with the image feature corresponding to the target historical image feature among the plurality of historical image features; Step S140: Processing a plurality of the target historical image features according to a preset palletizing rule to obtain an initial placement position corresponding to the object to be palletized.
3. The method according to claim 2, characterized in that The step S200 includes: Step S210: If there is a stacked object below the initial placement position, the stacked object is determined as a target stacking object; Step S220, obtaining the mass g1 of the object to be stacked and the height h1 of the target stacking object; Step S230, determining the predicted sliding distance of the objects to be stacked as g1×a1+h1×a2; wherein a1 is a preset mass sliding coefficient, and a2 is a preset height sliding coefficient.
4. The method according to claim 3, characterized in that The step S300 includes: Step S310: If there are other palletized objects in front of the target palletized object, execute step S320; otherwise, execute step S340; Step S320, determining a palletized object located in front of the target palletizing object and adjacent to the target palletizing object as an adjacent palletizing object; Step S330: If the distance between the target stacking object and the adjacent stacking object is greater than or equal to the predicted sliding distance of the object to be stacked, executing step S340; Step S340, obtaining the floor area B1 of the object to be stacked and the area B2 of the overlapping area between the initial placement position and the upper surface of the target stacking object; Step S350, determining the one-time empty rate L1=B2 / B1 of the objects to be stacked.
5. The method according to claim 4, characterized in that The step S400 includes: Step S410: If L1 is less than a preset empty rate threshold, a two-dimensional coordinate system is established with the placement surface of the target stacking object as the base surface, any vertex of the target stacking object as the origin, the front of the target stacking object as the positive direction of the horizontal axis, and the wide side of the target stacking object as the vertical axis; Step S420, determining two common vertices of the upper surface and the front surface of the target palletizing object as the first vertex and the second vertex in descending order of the ordinates of their respective coordinates in the two-dimensional coordinate system; Step S430, obtaining the coordinates (A1, C1) of the first vertex in the two-dimensional coordinate system and the coordinates (A2, C2) of the second vertex in the two-dimensional coordinate system; wherein A1 is the horizontal coordinate of the first vertex in the two-dimensional coordinate system, and C1 is the vertical coordinate of the first vertex in the two-dimensional coordinate system; A2 is the horizontal coordinate of the second vertex in the two-dimensional coordinate system, and C2 is the vertical coordinate of the second vertex in the two-dimensional coordinate system; Step S440, determining two common vertices of the upper surface and the front surface of the object to be palletized as the third vertex and the fourth vertex in descending order of the ordinates of their respective coordinates in the two-dimensional coordinate system; Step S450, obtaining the coordinates (A3, C3) of the third vertex at the initial placement position in the two-dimensional coordinate system and the coordinates (A4, C4) of the fourth vertex at the initial placement position in the two-dimensional coordinate system; wherein A3 is the horizontal coordinate of the third vertex at the initial placement position in the two-dimensional coordinate system, and C3 is the vertical coordinate of the third vertex at the initial placement position in the two-dimensional coordinate system; Step S460, determining the area enclosed by (A1, C3), (A2, C4), (A3, C3), and (A4, C4) as the target area; Step S470, determining the area B3 of the target area = |A3-A1|×|C3-C4|; Step S480, determining the secondary empty rate L2=B3 / B1 of the objects to be palletized.
6. The method according to claim 5, characterized in that The step S500 includes: Step S510: if L2 / (1-L1) is greater than a preset flying rate threshold, then determining an adjustment distance according to the width of the target area; Step S520, translating the initial placement position of the object to be palletized toward the rear of the palletized object by the adjustment distance to obtain the adjusted placement position of the object to be palletized; Step S530, obtaining an area B4 of an overlapping region between the adjusted placement position and the upper surface of the target stacking object; Step S540, determining the adjusted flying rate L3=B4 / B1 of the objects to be stacked; Step S550: If L3 is greater than or equal to a preset empty rate threshold, the adjusted placement position of the object to be palletized is determined as the target placement position of the object to be palletized.
7. The method according to claim 6, characterized in that The step S550 further includes: Step S551: if L3 is less than a preset empty rate threshold, the stacked object with the lowest layer and no stacked object in front of it is determined as the first stacked object; Step S552: Obtain the height J0 of the object to be palletized and the height J1, J2, ..., J of each of the first palletized objects. r ,...,J s ; wherein r=1,2,...,s; s is the number of the first stacked objects; J r is the height of the rth first stacked object; Step S553: determine the height difference between the object to be palletized and each of the first palletized objects, and obtain a height difference list K=(K1, K2, ..., K r ,...,K s );K r =|J r -J0|; where K r is the height difference between the object to be palletized and the rth first palletized object; Step S554: Obtain the coordinates of several vertices of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system to obtain a vertex coordinate list D=(D1, D2, ..., D i ,...,D t );D i =(D i1 ,D i2 ); wherein i=1,2,...,t; t is the number of vertices of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system; D i D is the coordinate of the i-th vertex of the projection area of the first palletized object corresponding to MIN(K) in the two-dimensional coordinate system; i1 D i The corresponding horizontal axis; D i2 D i The corresponding vertical coordinate; MIN() is the preset minimum value determination function; Step S555: Determine the target horizontal coordinate E=MAX(D 11 ,D 21 ,...,D i1 ,...,D t1 ); wherein MAX() is a preset maximum value determination function; Step S556: Determine the first target vertical coordinate F1=MAX(D 12 ,D 22 ,...,D i2 ,...,D t2 ) and the second target ordinate F2=MIN(D 12 ,D 22 ,...,D i2 ,...,D t2 ); Step S557, obtaining the length G1 and the width G2 of the objects to be stacked; Step S558: Determine the area enclosed by (E, (F1+F2+G2) / 2), (E, (F1+F2-G2) / 2), (E+G1, (F1+F2+G2) / 2), and (E+G1, (F1+F2-G2) / 2) as the target placement position for the objects to be stacked.
8. The method according to claim 7, characterized in that The adjustment distance is determined by the following steps: Step S511, obtaining the maximum horizontal coordinate H1 and the minimum horizontal coordinate H2 of a plurality of vertices of the target stacking object in the two-dimensional coordinate system; Step S512, obtaining the maximum horizontal coordinate H3 and the minimum horizontal coordinate H4 of a plurality of vertices at the initial placement position in the two-dimensional coordinate system; Step S513: If |H3-H1|≥|H4-H2|, |H4-H2| is determined as the adjustment distance; otherwise, (|H4-H2|+|H3-H1|) / 2 is determined as the adjustment distance.
9. A non-transitory computer-readable storage medium, wherein at least one instruction or at least one program is stored in the storage medium, and the at least one instruction or the at least one program is loaded and executed by a processor to implement the method as claimed in any one of claims 1 to 8.
10. An electronic device, characterized in that: The invention comprises a processor and the non-transitory computer-readable storage medium as claimed in claim 9.
Citation Information
Patent Citations
Method and device for evaluating stack type
CN110220549A
Robotic system for stacking packages by using real-time placement simulation
CN111605938A
Online mixed stacking method based on buffer area
CN113222257A
Mixed stacking method, device and equipment based on multi-modal evaluation indexes and medium
CN114692237A
Disordered stacking method and device based on 3D vision, medium and equipment
CN116835334A
Cited By
Scheduling method and system matched with aviation luggage change information
CN120746430A