A Real-Time Planning Method and System for Stacking Position Considering Stability Constraints
By acquiring the 3D information and weight distribution information of containers and stacked objects, simulating collisions and stability, generating a set of candidate stacking positions, eliminating positions that do not meet the conditions, and selecting the optimal stacking position, the stability and efficiency problems of static stacking methods in dynamic production lines and goods with inconsistent specifications are solved.
Patent Information
- Application Number
- CN202311677265.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-08
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2043-12-08
AI Technical Summary
Existing static palletizing methods cannot adapt to dynamic production lines and goods with inconsistent specifications, rendering the placement design ineffective and failing to guarantee palletizing stability.
By acquiring the 3D information and weight distribution information of the container and the stacked objects, collision and stability are simulated to generate a set of candidate stacking positions. Positions that do not meet the conditions are eliminated, and the optimal stacking position is selected for stacking.
It enables flexible stacking of goods on dynamic production lines and with inconsistent specifications, ensuring the stability and efficiency of stacking positions.
Smart Images

Figure CN117923038B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of logistics and warehousing technology, and in particular to a method and system for real-time planning of stacking positions considering stability constraints. Background Technology
[0002] Palletizing robots play a crucial role in modern industrial automation and are widely used in fields such as chemicals, pharmaceuticals, food, building materials, and beverages to achieve fully automated packaging and palletizing operations for products in bags, boxes, and sheets. Common palletizing robots in industry include articulated industrial palletizing robots and gantry palletizing robots, which efficiently complete the palletizing task through various precise movements and controls.
[0003] Existing palletizing methods are static palletizing, which pre-determines the type and size of the goods to be palletized, and then sets a fixed stacking route and order for the robot. While static palletizing robots have wide applications, they still face challenges when dealing with dynamic production lines and goods with inconsistent specifications. First, static palletizing methods cannot adapt to the constantly changing production requirements, including the type, quantity, and palletizing method of the goods. This renders traditional static palletizing location design ineffective, requiring more flexible methods to cope with real-time changes in the production line. Second, static palletizing methods cannot handle goods with inconsistent specifications, such as boxes or packages of different sizes and weights, typically requiring complex calculations and consideration of the stability of the palletized stack. Summary of the Invention
[0004] To address the aforementioned problems, this invention proposes a real-time planning method for stacking positions that considers stability constraints, primarily solving at least one of the problems mentioned in the background art.
[0005] To address the aforementioned technical problems, the first aspect of this invention proposes a real-time planning method for stacking positions considering stability constraints, comprising the following steps:
[0006] Acquire the three-dimensional information of the container, the three-dimensional information of the stacked objects inside the container, and the weight distribution information of the stacked objects;
[0007] Obtain the 3D information and weight distribution information of the object to be stacked;
[0008] A candidate stacking position set is generated based on the three-dimensional information of the object to be stacked, the container, and the already stacked object. The collision situation of the object to be stacked entering all stacking positions in the candidate stacking position set is simulated. Stacking positions that do not meet the preset collision conditions are removed from the candidate stacking position set to generate a preliminary set of stacking positions.
[0009] Combining the weight distribution information of the object to be stacked and the already stacked objects, the stability of all stacking positions of the object to be stacked in the initial screening stacking position set is simulated. Stacking positions that do not meet the preset stability conditions are removed from the candidate stacking position set to generate a secondary screening stacking position set. The optimal stacking position is selected from the secondary screening stacking position set to stack the object to be stacked.
[0010] In some implementations, the process of selecting the optimal placement position includes:
[0011] Calculate the spatial characteristics of all stacking positions in the set of multiple screening stacking positions;
[0012] The object to be stacked is simulated to be placed at any stacking position in the set of repeated screening stacking positions. The total weight distribution information of all stacked objects and the spatial characteristics are used as constraints to select the optimal stacking position from the set of repeated screening stacking positions.
[0013] In some implementations, the method further includes updating the three-dimensional information of the container, the three-dimensional information of the stacked objects, and the weight distribution information of the stacked objects after the objects are successfully stacked.
[0014] In some implementations, when more than one of the objects to be stacked arrives near the container at the same time, a buffer is activated to arrange the objects to be stacked, and the optimal object to be stacked is selected from the buffer and placed into the container by means of simulated stacking.
[0015] In some implementations, the process of enabling the buffer includes:
[0016] The first step is to arrange all the objects to be stacked that have arrived at the buffer zone.
[0017] The second step is to iterate through all possible arrangements of the objects to be stacked in the container, reuse the preset stability conditions and simulate and plan the optimal stacking position of each object to be stacked in the container in sequence, and update the virtual container state of the container.
[0018] The third step is to calculate the planning and stacking score of all the objects to be stacked in the buffer, and then take the objects to be stacked from the buffer and place them in the optimal stacking position according to their scores from high to low.
[0019] In some implementations, the three-dimensional information of the container is initialized before invocation: the three-dimensional information of the container is discretized, and each container entity point is defined as a container virtual point of size k*k*k, where k represents the discreteness, the index of the container virtual point represents the coordinates of the container entity point in three-dimensional space, and the value of the container virtual point represents the state characteristics of the container entity point.
[0020] In some implementations, the weight distribution information of the stacked objects is initialized before being invoked: the weight distribution information of the stacked objects is consistent with the size of the three-dimensional information of the container, each object entity point of the stacked objects is defined as a k*k*k virtual object point, the index of the virtual object point represents the position of the object entity point in three-dimensional space, and the value of the virtual object point represents the weight of the object entity point.
[0021] In some implementations, the stacking positions that do not meet the preset collision conditions include: stacking positions where the object to be stacked collides with the container and the already stacked object, and stacking positions where there are obstacles within the running path of the stacking robot.
[0022] In some implementations, the stacking position that does not meet the preset stability condition includes: based on the surface space state of all stacking positions in the initial screening stacking position set, and combined with the weight distribution information of the object to be stacked, determining whether at least two corners of the object to be stacked have bottom support on the surface of the corresponding stacking position; if not, the stacking position is defined as not meeting the preset stability condition; or, when any corner of the object to be stacked has no bottom support on the surface of the corresponding stacking position, determining whether the corner without bottom support has support on the side in the tilting direction; if not, the stacking position is defined as not meeting the preset stability condition.
[0023] A second aspect of this invention proposes a real-time planning system for stacking positions considering stability constraints, comprising:
[0024] The container spatial feature acquisition module is used to acquire the three-dimensional information of the container, the three-dimensional information of the stacked objects inside the container, and the weight distribution information of the stacked objects.
[0025] The object spatial feature acquisition module is used to acquire the three-dimensional information and weight distribution information of the object to be stacked;
[0026] The candidate stacking position preliminary screening module is used to generate a candidate stacking position set based on the three-dimensional information of the object to be stacked, the container, and the already stacked object, simulate the collision situation of the object to be stacked entering all stacking positions in the candidate stacking position set, and remove the stacking positions that do not meet the preset collision conditions from the candidate stacking position set to generate a preliminary screening stacking position set.
[0027] The optimal stacking position initial screening module is used to combine the weight distribution information of the object to be stacked and the already stacked objects, simulate the stability of all stacking positions of the object to be stacked in the initial screening stacking position set, remove stacking positions that do not meet the preset stability conditions from the candidate stacking position set, generate a secondary screening stacking position set, and select the optimal stacking position from the secondary screening stacking position set to stack the object to be stacked.
[0028] The beneficial effects of this invention are as follows: by introducing multi-dimensional information of containers and objects to be stacked, the support at the bottom and around the candidate stacking positions is calculated, and a stable stacking position is generated in real time for objects that arrive randomly, have unknown information, or have size differences. This solves the problems of difficulty in calculating the stacking position and difficulty in ensuring stacking stability during mixed and dynamic stacking processes, and enables real-time generation of stacking positions for different types of containers such as pallets, cages, and carriages. Attached Figure Description
[0029] Figure 1 This is a flowchart illustrating the real-time planning method for stacking positions considering stability constraints disclosed in an embodiment of the present invention.
[0030] Figure 2 This is a schematic diagram of the discretization of the container and the stacked objects disclosed in the embodiments of the present invention;
[0031] Figure 3 This is a schematic diagram illustrating the determination of preset stability conditions disclosed in an embodiment of the present invention;
[0032] Figure 4 A flowchart for planning the placement of objects to be stacked when a buffer zone exists. Detailed Implementation
[0033] To make the objectives, technical solutions, and advantages of this invention clearer and more explicit, the content of this invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to this invention are shown in the accompanying drawings, not all of them.
[0034] Example 1
[0035] This embodiment proposes a real-time planning method for stacking positions that considers stability constraints, such as... Figure 1 As shown, it includes the following steps:
[0036] S1, acquire the three-dimensional information of the container, the three-dimensional information of the stacked objects inside the container, and the weight distribution information of the stacked objects.
[0037] In S1, the container and the stacked objects within it constitute a static whole. The three-dimensional information of the container includes its size and the geometry of its enclosures (if any).
[0038] The container's three-dimensional information is initialized before the call: such as Figure 2 As shown, the 3D information of the container is discretized. Each container entity point is defined as a k*k*k virtual point, where k represents the discreteness, the index of the virtual point represents the coordinates of the container entity point in 3D space, and the value of the virtual point represents the state characteristics of the container entity point. For example, 0 represents the empty space of the container, 1 represents the internal space of the object inside the container, 2 represents the outline space of the object inside the container, and 3 represents the fence or other obstacles of the container.
[0039] The weight distribution information of the stacked objects is initialized before the call: see below. Figure 2 The weight distribution information of the stacked objects is consistent with the size of the container's three-dimensional information. Each object entity point of the stacked objects is defined as a k*k*k virtual object point. The index of the virtual object point represents the position of the object entity point in three-dimensional space, and the value of the virtual object point represents the weight of the object entity point.
[0040] Even better, it also includes acquiring the 3D information of the robot end effector (used to enter the container). The 2D depth information of the container in the direction the robot end effector enters is initialized. During stacking, the direction and path of the robot end effector gripper entering the container affect the stability of the stacking process. Therefore, in the direction the robot end effector enters, the 3D space of the container needs to be accumulated to obtain a 2D depth map of the container, which is used for obstacle avoidance filtering when the robot end effector enters the container.
[0041] S2, obtain the three-dimensional information and weight distribution information of the object to be stacked.
[0042] In S2, three-dimensional information and weight distribution information of the object to be palletized can be acquired through sensors such as vision and pressure sensors. This information mainly includes, but is not limited to, size, weight and its distribution, packaging method, current position and orientation. For example, a vision sensor can identify the packaging method, size, point cloud data, current position and orientation information of the object to be palletized. The weight distribution of the object to be palletized is obtained through multi-point distributed pressure devices. Information acquisition is not limited to specific sensors; it only needs to meet the requirements of the palletizing task. Depending on the requirements of different palletizing tasks, various sensors or other methods can be used to collect object information in real time, including but not limited to using RFID radio frequency identification, barcode or QR code identification, or manual settings.
[0043] After acquiring the 3D information of the object to be palletized, the point cloud data of the object acquired using a vision sensor is discretized into a regularly distributed 3D matrix of points. The 3D space of the object to be palletized is discretized, and the discretization degree of the object is consistent with that of the container. Similarly, after discretization, each physical point of the object to be palletized can be regarded as a virtual point of size k*k*k. The index of the point represents the position of the object in 3D space, and the value of the point represents the state characteristics of that point. 1 represents the internal space of the object, and 2 represents the outline space of the object.
[0044] After obtaining the weight distribution information of the objects to be stacked, a two-dimensional weight region distribution data is constructed.
[0045] S3. Generate a set of candidate stacking positions based on the three-dimensional information of the object to be stacked, the container, and the already stacked object. Simulate the collision situation when the object to be stacked enters all stacking positions in the set of candidate stacking positions. Remove stacking positions that do not meet the preset collision conditions from the set of candidate stacking positions to generate a preliminary set of stacking positions.
[0046] The same object to be stacked can have different stacking postures. In S3, for ease of calculation, when generating the set of candidate stacking positions, the method of axis alignment or the minimum bounding contour of the object is adopted. That is, the longest side is defined as the x-axis and the shortest side as the y-axis. The coordinate system of the candidate stacking positions is established according to the right-hand system, which is based on the reference coordinate system of the container.
[0047] Among them, stacking positions that do not meet the preset collision conditions include: stacking positions where there is a collision between the object to be stacked and the container or the already stacked object, and stacking positions where there are obstacles within the running path of the stacking robot.
[0048] S4. Combining the weight distribution information of the object to be stacked and the already stacked objects, simulate the stability of all stacking positions of the object to be stacked in the initial screening stacking position set, remove stacking positions that do not meet the preset stability conditions from the candidate stacking position set, generate a secondary screening stacking position set, and select the optimal stacking position from the secondary screening stacking position set to stack the object to be stacked.
[0049] In S4, the bottom and side supports of the corresponding stacking positions are calculated by using the state of the bottom and surrounding areas of the initial screening and stacking positions, combined with the weight distribution of the objects themselves.
[0050] Among them, the stacking positions that do not meet the preset stability conditions include: based on the surface space state of all stacking positions in the initial screening stacking position set, combined with the weight distribution information of the object to be stacked, it is determined whether at least two corners of the object to be stacked have bottom support on the surface of the corresponding stacking position. If not, the stacking position is defined as not meeting the preset stability conditions. Alternatively, when any corner of the object to be stacked has no bottom support on the surface of the corresponding stacking position, it is determined whether the corner without bottom support has support on the side in the tilting direction. If not, the stacking position is defined as not meeting the preset stability conditions.
[0051] For example, such as Figure 3 As shown, firstly, it is calculated whether the four corners of the bottom of the object to be stacked have sufficient support. If the number of supported corners is less than or equal to 1, the candidate stacking position is filtered out. If the number of supported corners is less than 4, it is calculated whether there is support on the side of the tilting direction of the unsupported corner. If there is no support in the tilting direction, the candidate stacking position is filtered out, and finally the set of stacking positions for repeated screening is obtained.
[0052] The process of selecting the optimal placement position includes:
[0053] 401. Calculate the spatial characteristics of all placement positions in the set of repeated screening placement positions. Specifically, the spatial characteristics of placement positions in the set of repeated screening placement positions include, but are not limited to, the bottom space of the candidate placement position, the surrounding space, the current highest and lowest heights of the surrounding area, and the height difference with surrounding objects.
[0054] 402. Simulates placing objects to be palletized into any position within a set of re-screened palletizing locations. Using the total weight distribution and spatial characteristics of all palletized objects as constraints, the optimal palletizing location is selected from this set. The optimization algorithm for the re-screened palletizing location set can utilize parameters including: all filtered stable and collision-free candidate palletizing locations, the spatial characteristics corresponding to the palletizing location, the current 3D spatial state information within the container, the weight distribution map of objects within the container, and the 2D depth map of the robot's end effector entering the container. Optimization algorithms can include heuristics, evolutionary algorithms, neural networks, and reinforcement learning. The main function of the optimization algorithm is to calculate the score of each candidate palletizing location under the current container state based on its feature information. The palletizing location with the highest score is the optimal palletizing location under the current container state. The choice of optimization algorithm depends on the complexity of the specific palletizing task, which mainly stems from features such as the size range of the objects to be palletized, the uniformity of weight distribution, and packaging specifications. The greater the differences in the features of the objects to be palletized, the higher the difficulty of calculating the palletizing location, the more complex the algorithm required, and relatively speaking, the better the planning result obtained.
[0055] S5 also includes updating the 3D information of the container, the 3D information of the already stacked objects, and the weight distribution information after the objects to be stacked are successfully placed. Once the objects to be stacked are successfully placed into the container, their attributes change to "stacked object." The specific state information to be updated is the information to be obtained in S1. The input for the update is the stacking position of the objects to be stacked. This position can directly use the result of the optimal stacking position, or it can be obtained by visual loop closure detection, returning the actual stacking position of the objects to be stacked.
[0056] S6: When more than one object to be stacked arrives near the container at the same time, the buffer is activated to arrange the objects to be stacked. The optimal object to be stacked is selected from the buffer and placed into the container by simulating stacking.
[0057] like Figure 4 As shown, the process of enabling the buffer includes:
[0058] S601 arranges all objects to be stacked that have arrived at the buffer zone.
[0059] S602, iterate through the various arrangements of the objects to be stacked in the container, reuse the preset stability conditions and simulate and plan the optimal stacking position of each object to be stacked in the container in sequence, and update the virtual container state of the container.
[0060] S603, calculate the planning and stacking score of all objects to be stacked in the buffer, and take out the objects to be stacked from the buffer according to the score from high to low and place them in the optimal stacking position.
[0061] Finally, repeat steps S601-S603 until all objects to be stacked in the buffer are placed, then disable the buffer.
[0062] Example 2
[0063] This embodiment proposes a real-time planning system for stacking positions that considers stability constraints, including:
[0064] The container spatial feature acquisition module is used to acquire the three-dimensional information of the container, the three-dimensional information of the stacked objects inside the container, and the weight distribution information of the stacked objects.
[0065] The object spatial feature acquisition module is used to acquire the three-dimensional information and weight distribution information of the object to be stacked;
[0066] The candidate stacking position screening module is used to generate a set of candidate stacking positions based on the three-dimensional information of the object to be stacked, the container, and the already stacked object. It simulates the collision situation when the object to be stacked enters all stacking positions in the candidate stacking position set, and removes the stacking positions that do not meet the preset collision conditions from the candidate stacking position set to generate a set of screened stacking positions.
[0067] The optimal placement position screening module is used to combine the weight distribution information of the object to be stacked and the already stacked objects to simulate the stability of all placement positions of the object to be stacked in the initial screening placement position set. Placement positions that do not meet the preset stability conditions are removed from the candidate placement position set to generate a secondary screening placement position set. The optimal placement position is selected from the secondary screening placement position set to place the object to be stacked.
[0068] The modules in this embodiment correspond to S1-S4 in Embodiment 1, and will not be described again here. For other technical details, please refer to the scheme in Embodiment 1.
[0069] The above embodiments are merely illustrative of the technical concept and features of the present invention, and are intended to enable those skilled in the art to understand the content of the present invention and implement it accordingly. They should not be construed as limiting the scope of protection of the present invention. All equivalent changes or modifications made based on the essence of the content of the present invention should be covered within the scope of protection of the present invention.
Claims
1. A real-time planning method for stacking positions considering stability constraints, characterized in that, Includes the following steps: Acquire the three-dimensional information of the container, the three-dimensional information of the stacked objects inside the container, and the weight distribution information of the stacked objects; Obtain the 3D information and weight distribution information of the object to be stacked; A candidate stacking position set is generated based on the three-dimensional information of the object to be stacked, the container, and the already stacked object. The collision situation of the object to be stacked entering all stacking positions in the candidate stacking position set is simulated. Stacking positions that do not meet the preset collision conditions are removed from the candidate stacking position set to generate a preliminary set of stacking positions. Combining the weight distribution information of the object to be stacked and the already stacked objects, the stability of all stacking positions of the object to be stacked in the initial screening stacking position set is simulated. Stacking positions that do not meet the preset stability conditions are removed from the candidate stacking position set to generate a secondary screening stacking position set. The optimal stacking position is selected from the secondary screening stacking position set to stack the object to be stacked. The stacking positions that do not meet the preset collision conditions include: stacking positions where the object to be stacked collides with the container and the already stacked object, and stacking positions where there are obstacles within the running path of the stacking robot. The stacking positions that do not meet the preset stability conditions include: based on the surface space state of all stacking positions in the initial screening stacking position set, and combined with the weight distribution information of the object to be stacked, determining whether at least two corners of the object to be stacked have bottom support on the surface of the corresponding stacking position; if not, the stacking position is defined as not meeting the preset stability conditions; or, when any corner of the object to be stacked has no bottom support on the surface of the corresponding stacking position, determining whether the corner without bottom support has support on the side in the tilting direction; if not, the stacking position is defined as not meeting the preset stability conditions. The process of selecting the optimal stacking position includes: calculating the spatial characteristics of all stacking positions in the set of repeated screening stacking positions; simulating the placement of the object to be stacked in any stacking position in the set of repeated screening stacking positions, and using the total weight distribution information of all stacked objects and the spatial characteristics as constraints, selecting the optimal stacking position from the set of repeated screening stacking positions.
2. The real-time planning method for stacking positions considering stability constraints as described in claim 1, characterized in that, It also includes updating the three-dimensional information of the container, the three-dimensional information and weight distribution information of the stacked objects after the objects to be stacked are successfully placed.
3. The real-time planning method for stacking positions considering stability constraints as described in claim 1, characterized in that, When more than one of the objects to be stacked arrives near the container at the same time, a buffer is activated to arrange the objects to be stacked. The optimal object to be stacked is selected from the buffer and placed into the container by means of simulated stacking.
4. The real-time planning method for stacking positions considering stability constraints as described in claim 3, characterized in that, The process of enabling the buffer includes: The first step is to arrange all the objects to be stacked that have arrived at the buffer zone. The second step is to iterate through all possible arrangements of the objects to be stacked in the container, reuse the preset stability conditions and simulate and plan the optimal stacking position of each object to be stacked in the container in sequence, and update the virtual container state of the container. The third step is to calculate the planning and stacking score of all the objects to be stacked in the buffer, and then take the objects to be stacked from the buffer and place them in the optimal stacking position according to their scores from high to low.
5. The real-time planning method for stacking positions considering stability constraints as described in claim 1, characterized in that, The three-dimensional information of the container is initialized before the call: the three-dimensional information of the container is discretized, and each container entity point is defined as a container virtual point of size k*k*k, where k represents the discreteness, the index of the container virtual point represents the coordinates of the container entity point in three-dimensional space, and the value of the container virtual point represents the state characteristics of the container entity point.
6. The real-time planning method for stacking positions considering stability constraints as described in claim 1, characterized in that, The weight distribution information of the stacked objects is initialized before being called: the weight distribution information of the stacked objects is consistent with the size of the three-dimensional information of the container, and each object entity point of the stacked objects is defined as a k*k*k virtual object point. The index of the virtual object point represents the position of the object entity point in three-dimensional space, and the value of the virtual object point represents the weight of the object entity point.
7. A real-time planning system for stacking positions considering stability constraints, characterized in that, include: The container spatial feature acquisition module is used to acquire the three-dimensional information of the container, the three-dimensional information of the stacked objects inside the container, and the weight distribution information of the stacked objects. The object spatial feature acquisition module is used to acquire the three-dimensional information and weight distribution information of the object to be stacked; The candidate stacking position preliminary screening module is used to generate a candidate stacking position set based on the three-dimensional information of the object to be stacked, the container, and the already stacked object, simulate the collision situation of the object to be stacked entering all stacking positions in the candidate stacking position set, and remove the stacking positions that do not meet the preset collision conditions from the candidate stacking position set to generate a preliminary screening stacking position set. The optimal placement position screening module is used to combine the weight distribution information of the object to be stacked and the already stacked object, simulate the stability of all placement positions of the object to be stacked in the initial screening placement position set, remove placement positions that do not meet the preset stability conditions from the candidate placement position set, generate a secondary screening placement position set, and select the optimal placement position from the secondary screening placement position set to place the object to be stacked. The stacking positions that do not meet the preset collision conditions include: stacking positions where the object to be stacked collides with the container and the already stacked object, and stacking positions where there are obstacles within the running path of the stacking robot. The stacking positions that do not meet the preset stability conditions include: based on the surface space state of all stacking positions in the initial screening stacking position set, and combined with the weight distribution information of the object to be stacked, determining whether at least two corners of the object to be stacked have bottom support on the surface of the corresponding stacking position; if not, the stacking position is defined as not meeting the preset stability conditions; or, when any corner of the object to be stacked has no bottom support on the surface of the corresponding stacking position, determining whether the corner without bottom support has support on the side in the tilting direction; if not, the stacking position is defined as not meeting the preset stability conditions. The process of selecting the optimal stacking position includes: calculating the spatial characteristics of all stacking positions in the set of repeated screening stacking positions; simulating the placement of the object to be stacked in any stacking position in the set of repeated screening stacking positions, and using the total weight distribution information of all stacked objects and the spatial characteristics as constraints, selecting the optimal stacking position from the set of repeated screening stacking positions.
Citation Information
Patent Citations
A stack type real-time decision-making method based on priority evaluation of stacking positions
CN109816162A
Disordered stacking method and device based on 3D vision, medium and equipment
CN116835334A