An object stacking placement position determination method, an electronic device, and a storage medium
By calculating the air clearance rate at the midpoint of the descent, the target placement position is determined, solving the problems of object offset and lateral slippage caused by luggage bulges, and achieving stability and accuracy in object stacking.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- MOBILE TECH COMPANY CHINA TRAVELSKY HLDG
- Filing Date
- 2025-03-05
- Publication Date
- 2026-06-26
AI Technical Summary
In the civil aviation sector, bulging of passenger luggage can cause items to shift and slide as they fall on the conveyor belt, affecting the stable placement of the stacks.
By obtaining the original and initial placement positions of the objects to be stacked, the initial descent position is determined. Between the initial descent position and the initial placement position, intermediate descent positions are determined at preset height differences. The over-the-air rate of each intermediate descent position is calculated. If there is a difference greater than a preset threshold, the initial placement position is determined as the target placement position to ensure stability.
It improves the stability of objects to be stacked in the target placement position, reduces the risk of lateral slippage, and ensures that objects are stably placed in the target stack.
Smart Images

Figure CN120031862B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of object placement and palletizing, and in particular to a method for determining the placement position of object palletizing, an electronic device, and a storage medium. Background Technology
[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 industry. Current palletizing algorithms first calculate the size of the object to be palletized and the set spacing between objects to determine the corresponding placement position of the object to be palletized. Then, a robotic arm with a conveyor belt is controlled 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 the conveyor belt, when the end of the robotic arm reaches the placement position, the conveyor belt will move the object to be palletized to the end of the robotic arm, causing the object to fall to its corresponding placement position, thus completing the stacking of the objects to be palletized.
[0003] However, in the civil aviation industry, due to the excessive amount of items carried in passengers' suitcases, bulging phenomena may occur, meaning the top surface of the suitcase protrudes and is not flat. Therefore, if a suitcase with such a bulge is placed below the stacking location, it may slide off the conveyor belt when it lowers the stacking object to the designated location. This could cause the stacking object to be misaligned and slip, hindering the stable stacking. Therefore, it is necessary to assess the stability of the designated stacking location to ensure that the stacking object is not prone to slipping. Summary of the Invention
[0004] To address the aforementioned technical problems, the technical solution adopted by this invention is as follows:
[0005] According to one aspect of this application, a method for determining the placement position of an object stacking is provided, specifically including the following steps:
[0006] Step S100: Obtain the original placement position and initial placement position of the object to be stacked; the original placement position is the position of the object to be stacked at the current moment; the initial placement position is the position of the object to be stacked in the target stack type at a future moment.
[0007] Step S200: During the process of moving the object to be stacked from its original placement position to its initial placement position, the position above the initial placement position that allows the object to fall to the initial placement position is determined as the initial descent position of the object to be stacked.
[0008] Step S300: In the target stack type, the stacked object located below the initial placement position and adjacent to the initial placement position is identified as the target stacking object.
[0009] Step S400: Between the initial descent position and the initial placement position, determine an intermediate descent position at each preset height difference to obtain several intermediate descent positions;
[0010] Step S500: Based on the contact area between the object to be stacked and the upper surface of the target object at each intermediate position of descent, determine the first clearance rate corresponding to each intermediate position of descent; the first clearance rate represents the proportion of the contact area between the object to be stacked and the upper surface of the target object at the corresponding intermediate position of descent in the total area occupied by the object to be stacked.
[0011] Step S600: According to the decreasing order of the height difference between the intermediate descent position and the initial placement position, if there is a difference greater than the preset threshold for the difference between the first airborne rate of each pair of adjacent non-zero values, then the initial placement position is determined as the target placement position.
[0012] In one exemplary embodiment of this application, an object to be stacked is moved from its original placement position to an initial descent position by a conveyor belt, so that when the object to be stacked is moved to the initial descent position, it falls from the initial descent position back to the initial placement position according to the power of the conveyor belt and the gravity of the object to be stacked; wherein, the shape of the object to be stacked and the already stacked objects in the target stack are both cubes.
[0013] In one exemplary embodiment of this application, step S400 includes:
[0014] Step S410: Obtain the initial descent position height m1 above the ground and the initial placement position height m2 above the ground;
[0015] Step S420: Determine the total height difference m3 = m1 - m2 between the initial descent position and the initial placement position;
[0016] Step S430: Determine the interval height difference m4 = m3 / (b+1); where b is the preset number of intermediate descent positions.
[0017] Step S440: Determine the intermediate descent position as the position between the initial descent position and the initial placement position, with a height of m1-d×m4 above the ground; where d=1,2,...,b.
[0018] In one exemplary embodiment of this application, step S500 includes:
[0019] Step S510: Obtain the contact area N between the object to be palletized and the upper surface of the target palletized object at the d-th midpoint of the d-th descent. d ;
[0020] Step S520: Obtain the floor area B1 of the object to be stacked;
[0021] Step S530: Determine the first overflight rate M corresponding to the d-th intermediate position of d-th descent. d =N d / B1.
[0022] In one exemplary embodiment of this application, step S600 includes:
[0023] Step S610: Obtain the first overflight rate corresponding to each intermediate position of descent, so as to obtain the first overflight rate list M = (M1, M2, ..., M d ,...,M b );
[0024] Step S620: Iterate through the first flight rate list M for each of two adjacent first flight rates. If M d and M d-1 If at most one of the first gliding rates is zero, then the difference between two adjacent first gliding rates is determined to be M. d -M d-1 ;
[0025] Step S630: If, among several adjacent overflight rate differences, there is an adjacent overflight rate difference greater than a preset overflight rate difference threshold, then the initial placement position is determined as the target placement position.
[0026] In one exemplary embodiment of this application, step S630 further includes:
[0027] Step S631: If each adjacent gap rate difference is less than or equal to a preset gap rate difference threshold, the area of the lower surface of the object to be stacked is enlarged by a preset multiple to obtain the enlarged area of the object to be stacked.
[0028] Step S632: Determine the second clearance rate based on the magnified area of the object to be stacked and the area of the overlapping area between the magnified lower surface of the object to be stacked and the upper surface of the target object when the object is initially placed.
[0029] Step S633: If the second overhang rate is greater than the preset overhang rate threshold, then the initial placement position is determined as the target placement position.
[0030] In one exemplary embodiment of this application, step S631 includes:
[0031] Step S6311: If each adjacent gap difference is less than or equal to the preset gap difference threshold, then a two-dimensional coordinate system is established with the placement surface of the target stacked object as the base surface, any vertex of the lower surface of the target stacked object as the origin, the front of the target stacked object as the positive direction of the horizontal axis, and the width of the target stacked object as the vertical axis.
[0032] The direction in front of the target palletized object is the opposite of the direction in which the conveyor belt moves the object to be palletized from its original placement position to its initial descent position;
[0033] Step S6312: Obtain the coordinates (P1, Q1), (P2, Q2), (P3, Q3), and (P4, Q4) of the four vertices of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; where P1 is the x-coordinate of the first vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system, Q1 is the y-coordinate of the first vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P2 is the x-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system, Q2 is the y-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P3 is the x-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P4 is the y-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P5 is the x-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P6312 is the x-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P6312 is the y ... The x-coordinate of the third vertex of the lower surface of the object to be stacked in the two-dimensional coordinate system; Q3 is the y-coordinate of the third vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; P4 is the x-coordinate of the fourth vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; Q4 is the y-coordinate of the fourth vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; and P1 is the x-coordinate with the smallest value among the four vertices of the lower surface of the object to be stacked, Q1 is the y-coordinate with the smallest value among the four vertices of the lower surface of the object to be stacked; and P4 is the x-coordinate with the largest value among the four vertices of the lower surface of the object to be stacked, Q4 is the y-coordinate with the largest value among the four vertices of the lower surface of the object to be stacked.
[0034] Step S6313: Taking the first vertex of the lower surface of the object to be stacked at the initial placement position as the origin, the length between the first vertex and the second vertex of the lower surface of the object to be stacked is increased by a preset multiple, and the length between the first vertex and the third vertex of the lower surface of the object to be stacked is increased by a preset multiple, so as to obtain the enlarged area of the lower surface of the object to be stacked.
[0035] In one exemplary embodiment of this application, step S632 includes:
[0036] Step S6321: Obtain the magnified area R1 of the lower surface of the object to be stacked;
[0037] Step S6322: Obtain the area R2 of the overlapping region between the enlarged lower surface of the object to be stacked and the upper surface of the target object when the object is initially placed at the position.
[0038] Step S6323: Determine the second overflight rate as R2 / R1.
[0039] According to one aspect of this application, a non-transitory computer-readable storage medium is provided, wherein the storage medium stores at least one instruction or at least one program segment, the at least one instruction or the at least one program segment being loaded and executed by a processor to implement the aforementioned method for determining the placement position of object palletizing.
[0040] According to one aspect of this application, an electronic device is provided, including a processor and the aforementioned non-transitory computer-readable storage medium.
[0041] The present invention has at least the following beneficial effects:
[0042] The method for determining the placement position of an object in a stacking arrangement according to the present invention first obtains the original placement position and the initial placement position of the object to be stacked. During the process of moving the object from the original placement position to the initial placement position, the position above the initial placement position, allowing the object to fall to the initial placement position, is determined as the initial descent position corresponding to the object to be stacked. The already stacked object in the target stack type, located below and adjacent to the initial placement position, is determined as the target stacking object. Between the initial descent position and the initial placement position, a descent intermediate position is determined at a preset height difference to obtain several descent intermediate positions. Based on the contact area between the object to be stacked and the upper surface of the target stacking object at each descent intermediate position, a first clearance rate is determined for each descent intermediate position. The first clearance rate represents the contact area between the object to be stacked and the target stacking object at the corresponding descent intermediate position. The percentage of the contact area of the top surface of the target palletized object in the total area of the object to be palletized is determined by the decreasing height difference between the intermediate descent position and the initial placement position. For each pair of adjacent non-zero first air gaps, if the difference exceeds a preset air gap difference threshold, it indicates that the contact area between the target palletized object and the object to be palletized changes abruptly during the descent to the initial placement position. This suggests that the top surface of the target palletized object is relatively flat, and the likelihood of the target palletized object slipping when it lands on the target palletized object is low due to the bulge on the target palletized object's top surface. Therefore, the initial placement position is considered to be the target placement position to ensure better stability and reduce the risk of lateral slippage when the object is placed there. Attached Figure Description
[0043] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1 A flowchart illustrating the method for determining the placement position of object stacking according to an embodiment of the present invention. Detailed Implementation
[0045] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0046] The method for determining the placement position of object stacking described in this application, such as Figure 1 As shown, the specific steps include the following:
[0047] Step S100: Obtain the original placement position and initial placement position of the object to be stacked;
[0048] The original placement position is the position of the object to be stacked at the current moment, that is, the position of the object before it was stacked.
[0049] The initial placement position is the position where the object to be stacked will be placed in the target stack type at a future time, that is, the placement position of the object to be stacked is determined by the existing stacking algorithm.
[0050] Specifically, the initial placement position is determined based on the image information of the object to be stacked at its original placement position: Images of the object to be stacked are acquired from several shooting angles; image features are extracted from each image to obtain several image features of the object to be stacked (feature extraction is performed on the images to extract the image features of the object to be stacked in each image; image features can be the size features (e.g., length, width, and height) and type features (e.g., whether it is a stackable material; if the material is rigid, other objects can be stacked on it; if the material is flexible, other objects cannot be stacked on it)); each image feature of the object to be stacked is matched with several historical image features to obtain the target historical image features corresponding to each image feature of the object to be stacked (the target historical image features are those obtained from several historical images). In the image features, the historical image feature with the highest matching degree corresponding to the target historical image feature is selected. After obtaining the image features of the object to be stacked, they are compared with the historical image features. The historical image feature with the highest matching degree corresponding to any target historical image feature is determined as the target historical image feature. The historical image features are the image features of several historical stacked objects collected within a historical period. Since the specifications of the historical stacked objects are known, the target historical image feature can be determined by comparing the image features of the object to be stacked with the historical image features. Then, the corresponding historical stacked object is determined through the target historical image feature. The determined historical stacked object is the stacked object most similar to the object to be stacked. According to the preset stacking rules, several target historical image features are processed to obtain the initial placement position corresponding to the object to be stacked.
[0051] The preset palletizing rules adopt existing palletizing algorithms, that is, based on the specifications of the object to be palletized and the current pallet type specifications, an initial placement position that is suitable for the size of the object to be palletized is matched. The specifications of the object to be palletized are the image features of the object to be palletized, which can be determined by the target historical image features, or by data analysis of the image features of the object to be palletized to determine the size of the object to be palletized.
[0052] In this context, the shapes of the objects to be stacked and the already stacked objects in the target stack are both cubes.
[0053] Step S200: During the process of moving the object to be stacked from its original placement position to its initial placement position, the position above the initial placement position that allows the object to fall to the initial placement position is determined as the initial descent position of the object to be stacked.
[0054] The initial descent position is the position of the object to be stacked at the output end of the conveyor belt. The conveyor belt moves the object to be stacked from its original placement position to the initial descent position, so that when the object is moved to the initial descent position, it falls back to its initial placement position according to the power of the conveyor belt and the gravity of the object.
[0055] Step S300: In the target stack type, the stacked object located below the initial placement position and adjacent to the initial placement position is identified as the target stacking object.
[0056] Step S400: Between the initial descent position and the initial placement position, determine an intermediate descent position at each preset height difference to obtain several intermediate descent positions;
[0057] Furthermore, step S400 includes steps S410-S440:
[0058] Step S410: Obtain the initial descent position height m1 above the ground and the initial placement position height m2 above the ground;
[0059] Step S420: Determine the total height difference m3 = m1 - m2 between the initial descent position and the initial placement position;
[0060] Step S430: Determine the interval height difference m4 = m3 / (b+1); where b is the preset number of intermediate descent positions.
[0061] Step S440: Determine the intermediate descent position as the position between the initial descent position and the initial placement position, with a height of m1-d×m4 above the ground; where d=1,2,...,b.
[0062] Step S500: Determine the first clearance rate corresponding to each intermediate position of descent based on the contact area between the object to be stacked and the upper surface of the target object at each intermediate position of descent.
[0063] The first clearance rate represents the percentage of the contact area between the object to be stacked and the upper surface of the target object at the corresponding midpoint of descent, within the total area occupied by the object to be stacked.
[0064] Furthermore, step S500 includes steps S510-S530:
[0065] Step S510: Obtain the contact area N between the object to be palletized and the upper surface of the target palletized object at the d-th midpoint of the d-th descent. d ;
[0066] Step S520: Obtain the floor area B1 of the object to be stacked;
[0067] Step S530: Determine the first overflight rate M corresponding to the d-th intermediate position of d-th descent. d =N d / B1.
[0068] Step S600: According to the decreasing order of the height difference between the intermediate descent position and the initial placement position, if there is a difference greater than the preset threshold for the difference between the first airborne rate of each pair of adjacent non-zero values, then the initial placement position is determined as the target placement position.
[0069] Furthermore, step S600 includes steps S610-S630:
[0070] Step S610: Obtain the first overflight rate corresponding to each intermediate position of descent, so as to obtain the first overflight rate list M = (M1, M2, ..., M d ,...,M b );
[0071] Step S620: Iterate through the first flight rate list M for each of two adjacent first flight rates. If M d and M d-1 If at most one of the first gliding rates is zero, then the difference between two adjacent first gliding rates is determined to be M. d -M d-1 ;
[0072] Step S630: If, among several adjacent overflight rate differences, there is an adjacent overflight rate difference greater than a preset overflight rate difference threshold, then the initial placement position is determined as the target placement position.
[0073] If there is a difference greater than the preset threshold for the difference in the clearance rate, it indicates that the contact area between the object to be stacked and the target object changes abruptly during the process of the object descending from the initial descent position to the initial placement position (e.g., if there are 6 intermediate descent positions, the contact area between the object to be stacked and the target object is zero at the first 5 intermediate descent positions, but 10 square decimeters at the 6th intermediate descent position, then the upper surface of the target object is relatively flat and there is no bulging). Conversely, if each adjacent difference in the clearance rate is less than or equal to the preset threshold for the difference in the clearance rate, it indicates that the contact area between the object to be stacked and the target object changes abruptly during the process of the object descending from the initial descent position to the initial placement position. The change in the contact area between the object to be stacked and the target object is gradual and linear (for example, if there are 6 intermediate descent positions, the contact area between the object to be stacked and the target object is zero at the first 3 intermediate descent positions, 5 square decimeters at the 4th intermediate descent position, 8 square decimeters at the 5th intermediate descent position, and 10 square decimeters at the 6th intermediate descent position, then it indicates that the upper surface of the target object is relatively protruding. As the object to be stacked descends a fixed height, the contact area with the target object increases within a certain range, which is considered to indicate that the target object has a bulge).
[0074] It should be noted that the calculation of various clearance rates in this application is performed by computer simulation. That is, the computer simulates the process of the object to be stacked descending from the initial descent position to the initial placement position to obtain the area of the contact area between the object to be stacked and the target object during the descent.
[0075] Furthermore, step S630 also includes steps S631-S633:
[0076] Step S631: If each adjacent gap rate difference is less than or equal to a preset gap rate difference threshold, the area of the lower surface of the object to be stacked is enlarged by a preset multiple to obtain the enlarged area of the object to be stacked.
[0077] If the difference between each adjacent clearance rate is less than or equal to the preset clearance rate difference threshold, it indicates that the target palletized object has a bulging phenomenon. In order to further determine the stability of the object to be palletized when it is placed in the initial placement position, the lower surface of the object to be palletized is magnified by a factor (the magnification factor can be determined according to the severity of the bulging, such as the more severe the bulging of the target palletized object, the larger the magnification factor can be set), and the clearance rate is recalculated to determine the possibility of the object to be palletized slipping when it is placed in the initial placement position.
[0078] Step S631 includes steps S6311-S6313:
[0079] Step S6311: If each adjacent gap difference is less than or equal to the preset gap difference threshold, then a two-dimensional coordinate system is established with the placement surface of the target stacked object as the base surface, any vertex of the lower surface of the target stacked object as the origin, the front of the target stacked object as the positive direction of the horizontal axis, and the width of the target stacked object as the vertical axis.
[0080] The direction in front of the target palletized object is the opposite of the direction in which the conveyor belt moves the object to be palletized from its original placement position to its initial descent position;
[0081] Step S6312: Obtain the coordinates (P1, Q1), (P2, Q2), (P3, Q3), and (P4, Q4) of the four vertices of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; where P1 is the x-coordinate of the first vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system, Q1 is the y-coordinate of the first vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P2 is the x-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system, Q2 is the y-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P3 is the x-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P4 is the y-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P5 is the x-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P6312 is the x-coordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; P6312 is the y ... The x-coordinate of the third vertex of the lower surface of the object to be stacked in the two-dimensional coordinate system; Q3 is the y-coordinate of the third vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; P4 is the x-coordinate of the fourth vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; Q4 is the y-coordinate of the fourth vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; and P1 is the x-coordinate with the smallest value among the four vertices of the lower surface of the object to be stacked, Q1 is the y-coordinate with the smallest value among the four vertices of the lower surface of the object to be stacked; and P4 is the x-coordinate with the largest value among the four vertices of the lower surface of the object to be stacked, Q4 is the y-coordinate with the largest value among the four vertices of the lower surface of the object to be stacked.
[0082] Step S6313: Taking the first vertex of the lower surface of the object to be stacked at the initial placement position as the origin, the length between the first vertex and the second vertex of the lower surface of the object to be stacked is increased by a preset multiple, and the length between the first vertex and the third vertex of the lower surface of the object to be stacked is increased by a preset multiple, so as to obtain the enlarged area of the lower surface of the object to be stacked.
[0083] Step S632: Determine the second clearance rate based on the magnified area of the object to be stacked and the area of the overlapping area between the magnified lower surface of the object to be stacked and the upper surface of the target object when the object is initially placed.
[0084] The second overlap rate represents the percentage of the area where the enlarged lower surface of the object to be stacked overlaps with the upper surface of the target object to be stacked, relative to the total enlarged lower surface of the object to be stacked.
[0085] Step S632 includes steps S6321-S6323:
[0086] Step S6321: Obtain the magnified area R1 of the lower surface of the object to be stacked;
[0087] Step S6322: Obtain the area R2 of the overlapping region between the enlarged lower surface of the object to be stacked and the upper surface of the target object when the object is initially placed at the position.
[0088] Step S6323: Determine the second overflight rate as R2 / R1.
[0089] Step S633: If the second overhang rate is greater than the preset overhang rate threshold, then the initial placement position is determined as the target placement position.
[0090] If the second overlap rate is greater than the preset overlap rate threshold, it means that the overlap area between the enlarged lower surface of the object to be stacked and the upper surface of the target object to be stacked is relatively large in the enlarged lower surface of the object to be stacked. This indicates that even if the target object to be stacked bulges, the stability of the object to be stacked at the initial placement position is relatively high, and the possibility of slippage is relatively small. Therefore, the initial placement position is determined as the target placement position, which is the determined position of the object to be stacked in the target stack.
[0091] The method for determining the placement position of an object in a stacking arrangement according to the present invention first obtains the original placement position and the initial placement position of the object to be stacked. During the process of moving the object from the original placement position to the initial placement position, the position above the initial placement position, allowing the object to fall to the initial placement position, is determined as the initial descent position corresponding to the object to be stacked. The already stacked object in the target stack type, located below and adjacent to the initial placement position, is determined as the target stacking object. Between the initial descent position and the initial placement position, a descent intermediate position is determined at a preset height difference to obtain several descent intermediate positions. Based on the contact area between the object to be stacked and the upper surface of the target stacking object at each descent intermediate position, a first clearance rate is determined for each descent intermediate position. The first clearance rate represents the contact area between the object to be stacked and the target stacking object at the corresponding descent intermediate position. The percentage of the contact area of the top surface of the target palletized object in the total area of the object to be palletized is determined by the decreasing height difference between the intermediate descent position and the initial placement position. For each pair of adjacent non-zero first air gaps, if the difference exceeds a preset air gap difference threshold, it indicates that the contact area between the target palletized object and the object to be palletized changes abruptly during the descent to the initial placement position. This suggests that the top surface of the target palletized object is relatively flat, and the likelihood of the target palletized object slipping when it lands on the target palletized object is low due to the bulge on the target palletized object's top surface. Therefore, the initial placement position is considered to be the target placement position to ensure better stability and reduce the risk of lateral slippage when the object is placed there.
[0092] Embodiments of the present invention also provide a computer program product including program code, which, when the program product is run on an electronic device, causes the electronic device to perform the steps of the methods described above in various exemplary embodiments of the present invention.
[0093] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0094] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0095] In an exemplary embodiment of this disclosure, an electronic device capable of implementing the above-described method is also provided.
[0096] Those skilled in the art will understand that various aspects of the present invention can be implemented as systems, methods, or program products. Therefore, various aspects of the present invention can be specifically implemented in the following forms: entirely hardware implementations, entirely software implementations (including firmware, microcode, etc.), or implementations combining hardware and software aspects, collectively referred to herein as “circuits,” “modules,” or “systems.”
[0097] An electronic device according to this embodiment of the invention. The electronic device is merely an example and should not be construed as limiting the functionality or scope of the embodiments of the invention.
[0098] Electronic devices are manifested in the form of general-purpose computing devices. Components of an electronic device may include, but are not limited to: at least one processor, at least one memory, and buses connecting different system components (including memory and processor).
[0099] The storage device stores program code that can be executed by the processor to perform the steps described in the "Exemplary Methods" section above, according to various exemplary embodiments of the present invention.
[0100] The storage may include readable media in the form of volatile storage, such as random access memory (RAM) and / or cache memory, and may further include read-only memory (ROM).
[0101] The storage may also include programs / utilities having a set (at least one) of program modules, including but not limited to: an operating system, one or more applications, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.
[0102] A bus can represent one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus that uses any of the various bus architectures.
[0103] Electronic devices can also communicate with one or more external devices (such as keyboards, pointing devices, Bluetooth devices, etc.), one or more devices that enable users to interact with the electronic device, and / or any device that enables the electronic device to communicate with one or more other computing devices (such as routers, modems, etc.). This communication can be performed through input / output (I / O) interfaces. Furthermore, electronic devices can also communicate with one or more networks (such as local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via network adapters.
[0104] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible embodiments, various aspects of the invention may also be implemented as a program product comprising program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of the invention described in the "Exemplary Methods" section of this specification.
[0105] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0106] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.
[0107] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0108] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0109] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of the present invention, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0110] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0111] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for determining the placement position of stacked objects, characterized in that, Includes the following steps: Step S100: Obtain the original placement position and initial placement position of the object to be stacked; the original placement position is the position of the object to be stacked at the current moment; the initial placement position is the position of the object to be stacked in the target stack type at a future moment; Step S200: During the process of moving the object to be stacked from the original placement position to the initial placement position, the position above the initial placement position so that the object to be stacked falls to the initial placement position is determined as the initial descent position corresponding to the object to be stacked. Step S300: In the target stack type, the stacked object located below the initial placement position and adjacent to the initial placement position is identified as the target stacking object; Step S400: Between the initial descent position and the initial placement position, determine an intermediate descent position at each preset height difference to obtain a number of intermediate descent positions; Step S500: Based on the contact area between the object to be palletized and the upper surface of the target palletized object at each of the intermediate descent positions, determine the first clearance rate corresponding to each of the intermediate descent positions; the first clearance rate represents the proportion of the contact area between the object to be palletized and the upper surface of the target palletized object at the corresponding intermediate descent position in the total area occupied by the object to be palletized. Step S600: According to the decreasing order of the height difference between the intermediate descent position and the initial placement position, if there is a difference greater than a preset threshold for the difference between any two adjacent first descent rates, then the initial placement position is determined as the target placement position; at most one of the two adjacent first descent rates is zero. Wherein, step S600 includes steps S610-S630: Step S610: Obtain the first overflight rate corresponding to each of the intermediate descent positions to obtain a first overflight rate list M=(M1,M2,...,M...). d ,...,M b ); where d = 1, 2, ..., b; b is the predetermined number of intermediate positions during descent; M d The first d-th midpoint of the d-th descent position is the first descent rate. Step S620: Iterate through the first flight rate list M for each of two adjacent first flight rates. If M d and M d-1 If at most one of the first flight rates is zero, then M is determined. d and M d-1 The difference in adjacent flight rates is M d -M d-1 ; Step S630: If, among several adjacent overflight rate differences, there is an adjacent overflight rate difference greater than a preset overflight rate difference threshold, then the initial placement position is determined as the target placement position. Step S630 further includes steps S631-S633: Step S631: If each of the adjacent gap rate differences is less than or equal to a preset gap rate difference threshold, the area of the lower surface of the object to be stacked is enlarged by a preset multiple to obtain the enlarged area of the object to be stacked. Step S632: Determine the second clearance rate based on the magnified area of the object to be stacked and the area of the overlapping area between the magnified lower surface of the object to be stacked and the upper surface of the target stacked object when the object is in the initial placement position. Step S633: If the second overhang rate is greater than the preset overhang rate threshold, then the initial placement position is determined as the target placement position.
2. The method according to claim 1, characterized in that, The object to be stacked is moved from its original placement position to its initial descent position by a conveyor belt, so that when the object to be stacked is moved to the initial descent position, it falls back to its initial placement position according to the power of the conveyor belt and the gravity of the object to be stacked; wherein the shape of the object to be stacked and the stacked objects in the target stack are both cubes.
3. The method according to claim 2, characterized in that, Step S400 includes: Step S410: Obtain the height m1 of the initial descent position from the ground and the height m2 of the initial placement position from the ground; Step S420: Determine the total height difference m3 = m1 - m2 between the initial descent position and the initial placement position; Step S430: Determine the interval height difference m4 = m3 / (b+1); Step S440: Determine the position between the initial descent position and the initial placement position, with a height of m1-d×m4 above the ground, as the intermediate descent position.
4. The method according to claim 3, characterized in that, Step S500 includes: Step S510: Obtain the contact area N between the object to be palletized and the upper surface of the target palletized object at the d-th intermediate position of the d-th descent. d ; Step S520: Obtain the floor area B1 of the object to be stacked; Step S530: Determine the first overflight rate M corresponding to the d-th intermediate descent position. d =N d / B1.
5. The method according to claim 1, characterized in that, Step S631 includes: Step S6311: If each of the adjacent gap rate differences is less than or equal to a preset gap rate difference threshold, then a two-dimensional coordinate system is established with the placement surface of the target palletized object as the base surface, any vertex of the lower surface of the target palletized object as the origin, the front of the target palletized object as the positive direction of the horizontal axis, and the width of the target palletized object as the vertical axis. The front of the target palletized object is in the opposite direction of the conveyor belt moving the object to be palletized from the original placement position to the initial descent position; Step S6312: Obtain the coordinates (P1, Q1), (P2, Q2), (P3, Q3), and (P4, Q4) of the four vertices of the lower surface of the object to be stacked at the initial placement position in a two-dimensional coordinate system; where P1 is the abscissa of the first vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system, Q1 is the ordinate of the first vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; P2 is the abscissa of the second vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system, Q2 is the ordinate of the second vertex of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; P3 is the coordinate of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; P4 is the coordinate of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; P5 is the coordinate of the lower surface of the object to be stacked at the initial placement position in the two-dimensional coordinate system; P6312 ... The x-coordinate of the third vertex of the lower surface of the object at the initial placement position in the two-dimensional coordinate system is given by P1, Q1, and P4. The x-coordinate of the third vertex of the lower surface of the object at the initial placement position in the two-dimensional coordinate system is given by P1, Q1, and P4. The x-coordinate of the third vertex of the lower surface of the object at the initial placement position in the two-dimensional coordinate system is given by P1, Q1, and P4. The x-coordinate of the third vertex of the lower surface of the object at the initial placement position in the two-dimensional coordinate system is given by P1, Q1, and P4. The x-coordinate of the third vertex of the lower surface of the object at the initial placement position in the two-dimensional coordinate system is given by P1, Q1, and P4. The x-coordinate of the third vertex of the lower surface of the object at the initial placement position in the two-dimensional coordinate system is given by P1, Q1, and P4. The x-coordinate of the fourth vertex of the lower surface of the object at the initial placement position in the two-dimensional coordinate system is given by P1, Q1, and P4. Step S6313: Taking the first vertex of the lower surface of the object to be stacked at the initial placement position as the origin, the length between the first vertex and the second vertex of the lower surface of the object to be stacked is increased by a preset multiple, and the length between the first vertex and the third vertex of the lower surface of the object to be stacked is increased by a preset multiple, so as to obtain the enlarged area of the lower surface of the object to be stacked.
6. The method according to claim 5, characterized in that, Step S632 includes: Step S6321: Obtain the enlarged area R1 of the lower surface of the object to be stacked; Step S6322: Obtain the area R2 of the overlapping region between the enlarged lower surface of the object to be stacked and the upper surface of the target stacking object when the object is in the initial placement position. Step S6323: Determine the second overflight rate as R2 / R1.
7. A non-transitory computer-readable storage medium storing at least one instruction or at least one program segment, said at least one instruction or said at least one program segment being loaded and executed by a processor to implement the method of any one of claims 1-6.
8. An electronic device, characterized in that, Includes a processor and the non-transitory computer-readable storage medium as described in claim 7.