Part stacking method and device, computer device and storage medium
By screening in the material frame and simulating the placement of the next batch of parts in the bounding box, combined with heuristic algorithms to optimize the palletizing scheme, the problems of low material frame utilization and low efficiency of multi-batch palletizing in traditional technologies are solved, achieving more efficient material frame utilization and palletizing stability.
Patent Information
- Application Number
- CN202311441603.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-01
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2043-11-01
AI Technical Summary
In traditional technologies, robotic palletizing can only plan for the current batch of parts and cannot incorporate information from the next batch, resulting in low material frame utilization and low efficiency in multi-batch palletizing.
By using different heuristic algorithms based on the material frame and the parameters of the current batch of parts, the palletizing result is determined, and the target palletizing result that maximizes the utilization of the material frame is selected. The next batch of parts is placed in the bounding box, the center of gravity is adjusted to coincide, and the palletizing scheme is optimized.
It improves the utilization rate of material frames and the stacking efficiency of multiple batches of parts, reduces the number of material frame replacements, and ensures balanced placement of parts and stable transportation.
Smart Images

Figure CN117342274B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of logistics technology, and in particular to a parts palletizing method, apparatus, computer equipment, storage medium, and computer program product. Background Technology
[0002] With the widespread application of robots in the logistics field, using robots to palletize parts to be transported can make the palletizing process highly automated, greatly improving logistics and transportation efficiency.
[0003] In traditional technology, after the current batch of parts is produced upstream on the production line, a computer plans the palletizing process based on the information of the parts in that batch. This allows robots to automatically palletize the parts in the current batch according to the planned palletizing scheme. In other words, traditional technology can only process the parts in the current batch each time palletizing planning is performed, and cannot incorporate information from the next batch. Therefore, it cannot further improve the utilization rate of material frames, nor is it conducive to improving the palletizing efficiency of multiple batches of parts. Summary of the Invention
[0004] Therefore, it is necessary to provide a parts palletizing method, apparatus, computer equipment, computer-readable storage medium, and computer program product that can improve the utilization rate of material frames and increase the efficiency of multi-batch parts palletizing in response to the above-mentioned technical problems.
[0005] In a first aspect, this application provides a method for stacking parts, including:
[0006] Based on the parameters of each material box and the parameters of each part in the current batch, the palletizing results are determined according to different heuristic algorithms.
[0007] Each palletizing result is filtered to determine the target palletizing result that maximizes the utilization of the material frame; the target palletizing result includes the target palletizing result corresponding to each material frame.
[0008] For each material frame, if the remaining space in the material frame, excluding the target stack, is insufficient to place the smallest part in the current batch, determine the enclosing box to wrap the target stack in the material frame.
[0009] With the center of gravity of the enclosure box aligned with the center of gravity of the material frame, the remaining space in the material frame to which the enclosure box belongs, as well as the part parameters of each part in the next batch, are used to simulate placing the parts of the next batch into the material frame to which the enclosure box belongs, thus obtaining the target enclosure box for complete stacking.
[0010] In one embodiment, the parts stacking method further includes:
[0011] In the parts palletizing simulation system, the parameters of each material box are initialized, and the mechanical parameters of the robot gripper are initialized on the premise that the robot gripper used in the parts palletizing process does not collide with any objects in the parts palletizing scene, so as to obtain the parts palletizing scene with the scene parameters initialized.
[0012] The parts palletizing scenario is used to simulate palletizing parts in multiple batches to obtain multiple target bounding boxes that have been completed palletizing.
[0013] In one embodiment, the palletizing results are filtered to determine the target palletizing result that maximizes the utilization of the pallet frame, including:
[0014] The stacking results that do not place all parts in the current batch in the material frame are removed to obtain the remaining stacking results;
[0015] Use the remaining palletizing result with the fewest used material boxes as the updated palletizing result;
[0016] Based on the remaining space in each updated palletizing result, the updated palletizing results are filtered to obtain the target palletizing result that maximizes the utilization of the material frame.
[0017] In one embodiment, the parts stacking method further includes:
[0018] If there is remaining space in the material frame other than the target stack that is sufficient to place the smallest part in the current batch, simulate adding parts from the current batch to the target stack in the material frame until the remaining space in the material frame is no longer sufficient to place the smallest part in the current batch, thus obtaining a bounding box for wrapping each part in the material frame.
[0019] In one embodiment, the parts stacking method further includes:
[0020] With the aim of maximizing the space filling within the bounding box, the simulation aims to uniformly spread the spacing between the parts in the target stack inside the bounding box, so that the spacing of the parts within the bounding box is balanced.
[0021] Adjusting the center of gravity of the enclosure box to coincide with the center of gravity of the material frame includes:
[0022] The simulation involves adjusting the center of gravity of the enclosure box, which has already undergone spacing equalization adjustment, to coincide with the center of gravity of the material frame.
[0023] In one embodiment, the parts stacking method further includes:
[0024] If the center of gravity of the enclosing box is adjusted to coincide with the center of gravity of the material frame, and the remaining space of the material frame to which the enclosing box belongs is less than the preset space, the enclosing box will be used as the target enclosing box for completing the palletizing.
[0025] Save the stacking in the target bounding box and simulate replacing the material frame to which the target bounding box belongs with an empty material frame.
[0026] Secondly, this application also provides a parts palletizing device, comprising:
[0027] The palletizing result determination module is used to determine the palletizing result according to different heuristic algorithms based on the parameters of each material box and the parameters of each part in the current batch.
[0028] The palletizing result filtering module is used to filter the palletizing results and determine the target palletizing result that maximizes the utilization of the material frame; the target palletizing result includes the target palletizing result corresponding to each material frame.
[0029] The bounding box determination module is used to determine the bounding box to wrap the target stack in each material frame when the remaining space in the material frame, excluding the target stack, is not sufficient to place the smallest part in the current batch.
[0030] The target bounding box acquisition module is used to simulate placing the parts of the next batch into the material frame to which the bounding box belongs, based on the remaining space of the material frame to which the bounding box belongs and the part parameters of each part in the next batch, after adjusting the center of gravity of the bounding box to coincide with the center of gravity of the material frame, so as to obtain the target bounding box to which the palletizing is completed.
[0031] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0032] Based on the parameters of each material box and the parameters of each part in the current batch, the palletizing results are determined according to different heuristic algorithms.
[0033] Each palletizing result is filtered to determine the target palletizing result that maximizes the utilization of the material frame; the target palletizing result includes the target palletizing result corresponding to each material frame.
[0034] For each material frame, if the remaining space in the material frame, excluding the target stack, is insufficient to place the smallest part in the current batch, determine the enclosing box to wrap the target stack in the material frame.
[0035] With the center of gravity of the enclosure box aligned with the center of gravity of the material frame, the remaining space in the material frame to which the enclosure box belongs, as well as the part parameters of each part in the next batch, are used to simulate placing the parts of the next batch into the material frame to which the enclosure box belongs, thus obtaining the target enclosure box for complete stacking.
[0036] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0037] Based on the parameters of each material box and the parameters of each part in the current batch, the palletizing results are determined according to different heuristic algorithms.
[0038] Each palletizing result is filtered to determine the target palletizing result that maximizes the utilization of the material frame; the target palletizing result includes the target palletizing result corresponding to each material frame.
[0039] For each material frame, if the remaining space in the material frame, excluding the target stack, is insufficient to place the smallest part in the current batch, determine the enclosing box to wrap the target stack in the material frame.
[0040] With the center of gravity of the enclosure box aligned with the center of gravity of the material frame, the remaining space in the material frame to which the enclosure box belongs, as well as the part parameters of each part in the next batch, are used to simulate placing the parts of the next batch into the material frame to which the enclosure box belongs, thus obtaining the target enclosure box for complete stacking.
[0041] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:
[0042] Based on the parameters of each material box and the parameters of each part in the current batch, the palletizing results are determined according to different heuristic algorithms.
[0043] Each palletizing result is filtered to determine the target palletizing result that maximizes the utilization of the material frame; the target palletizing result includes the target palletizing result corresponding to each material frame.
[0044] For each material frame, if the remaining space in the material frame, excluding the target stack, is insufficient to place the smallest part in the current batch, determine the enclosing box to wrap the target stack in the material frame.
[0045] With the center of gravity of the enclosure box aligned with the center of gravity of the material frame, the remaining space in the material frame to which the enclosure box belongs, as well as the part parameters of each part in the next batch, are used to simulate placing the parts of the next batch into the material frame to which the enclosure box belongs, thus obtaining the target enclosure box for complete stacking.
[0046] The aforementioned parts palletizing method, apparatus, computer equipment, storage medium, and computer program products determine the palletizing results according to different heuristic algorithms based on the parameters of each material frame and the parameters of each part in the current batch. Then, each palletizing result is filtered to determine the target palletizing result that maximizes the utilization of the material frames. The target palletizing result includes the target palletizing for each material frame, so that subsequent palletizing planning is based on the target palletizing that maximizes the utilization of the material frames. For each material frame, if the remaining space in the material frame, excluding the target palletizing, is not sufficient to place the smallest part in the current batch, a bounding box is determined to wrap the target palletizing in the material frame. After adjusting the center of gravity of the bounding box to coincide with the center of gravity of the material frame, based on the remaining space of the material frame to which the bounding box belongs and in combination with the parameters of each part in the next batch, the placement of parts in the material frame to which the bounding box belongs is simulated, thereby further improving the utilization of the material frames and improving the palletizing efficiency of multiple batches of parts, and obtaining the target bounding box that completes the palletizing. Attached Figure Description
[0047] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 This is a diagram illustrating the application environment of a parts palletizing method in one embodiment.
[0049] Figure 2 This is a flowchart illustrating a parts stacking method in one embodiment;
[0050] Figure 3 This is a flowchart illustrating the process of initializing scene parameters in one embodiment;
[0051] Figure 4 This is a flowchart illustrating the process of filtering palletizing results in one embodiment;
[0052] Figure 5 This is a schematic diagram of the process for obtaining the bounding box in one embodiment;
[0053] Figure 6 This is a flowchart illustrating the process of equalizing the bounding box in one embodiment;
[0054] Figure 7 This is a flowchart illustrating the process of processing the target bounding box in one embodiment;
[0055] Figure 8 This is a flowchart illustrating the parts stacking method in another embodiment;
[0056] Figure 9 This is a structural block diagram of a parts palletizing device in one embodiment;
[0057] Figure 10 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0058] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0059] The parts stacking method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, the controller 104 of the robot gripper 102 communicates with the server 106 of the parts palletizing simulation system. A data storage system can store the data that the server 106 needs to process. The data storage system can be integrated into the server 106 or placed in the cloud or on another network server. The robot gripper 102 is an important component of the palletizing robot, controlled by the controller 104 inside the robot. The robot gripper 102 can grasp a specified object and place it in a specified location according to the control signals issued by the controller 104. The controller 104 receives the palletizing scheme (palletizing result) planned by the server 106 and controls the robot gripper 102 to grasp the specified object and place it in the specified area according to the palletizing scheme. The server 106 can be implemented using a standalone server or a server cluster composed of multiple servers; specifically, it can be the server of the parts palletizing simulation system.
[0060] Specifically, server 106 can determine the palletizing results according to different heuristic algorithms based on the parameters of each pallet box and the parameters of each part in the current batch. Then, it filters these palletizing results to determine the target palletizing result that maximizes the utilization of the pallet boxes. The target palletizing result includes the target palletizing for each pallet box. Then, for each pallet box, if the remaining space in the pallet box (excluding the target palletizing) is insufficient to place the smallest part in the current batch, server 106 determines a bounding box to enclose the target palletizing in the pallet box. By adjusting the center of gravity of the bounding box to coincide with the center of gravity of the pallet box, and based on the remaining space in the pallet box and the parameters of each part in the next batch, server 106 simulates placing parts from the next batch into the pallet box, thus obtaining the target bounding box for palletizing. Furthermore, server 106 can save the simulated target bounding box and send it to controller 104, enabling controller 104 to control the robot gripper 102 to automatically palletize the correct parts according to the palletizing scheme within the target bounding box.
[0061] In one exemplary embodiment, such as Figure 2 As shown, a parts palletizing method is provided, which is applied to... Figure 1 Taking server 106 as an example, the explanation includes the following steps 202 to 208. Wherein:
[0062] Step 202: Determine the palletizing result according to different heuristic algorithms based on the parameters of each material box and the parameters of each part in the current batch.
[0063] In actual palletizing, a robotic gripper picks up parts one by one according to the palletizing scheme and places them in the crates, thus forming a pallet of parts in each crate. This embodiment simulates the scenario of palletizing parts in the crates by incorporating crate parameters. Crate parameters include, but are not limited to: the length, width, height, maximum load capacity of the crate, the number of crates usable in the current batch, and the parts in each crate usable in the current batch. Different heuristic algorithms can meet the palletizing requirements of different production lines.
[0064] Optionally, for each part palletizing scenario, the server in the part palletizing simulation system can pre-determine the frame parameters of each material box in that scenario. Further, when a batch of parts is produced upstream on the production line, and the part parameters of that batch are entered into the part palletizing simulation system, the server can use that batch of parts as the current batch and obtain the part parameters of each part in the current batch. Then, the server can determine the palletizing result according to different heuristic algorithms based on the frame parameters of each material box in the palletizing scenario and the part parameters of each part in the current batch. In this embodiment, determining the palletizing result according to different heuristic algorithms is beneficial for accurately selecting the target heuristic algorithm that maximizes the material box utilization rate, and the target palletizing result under the target heuristic algorithm.
[0065] For example, taking heuristic algorithms including four-corner priority, best-fit-the-long-side priority, best-fit-the-short-side priority, best-fit-the-area priority, most-contact-point priority, and changing the order of part stacking calculation as examples, the server can determine the stacking results according to different heuristic algorithms. For example, it can obtain the stacking results in each frame under the four-corner priority algorithm, the stacking results in each frame under the best-fit-the-long-side priority algorithm, the stacking results in each frame under the best-fit-the-short-side priority algorithm, and so on.
[0066] Specifically, "corner priority" means placing the part in one of the four corners of the available space in the material frame. For example, "bottom left priority" means placing the part in the bottom left corner, and similarly, "top left priority," "bottom right priority," and "top right priority" are also possible. "Longest side priority" means placing the part in the space that best matches its longest side size and can accommodate it. "Shortest side priority" means placing the part in the space that best matches its shortest side size and can accommodate it. "Area priority" means placing the part in the space that best matches its shortest side size and can accommodate it. In the process, parts are preferentially placed in the gaps that best match the part area and can accommodate the part. The point with the most contact is prioritized, which can be specifically: in all available space of the material frame, parts are preferentially placed in the gaps that have the most contact with the part vertices and can accommodate the part. Changing the order of part stacking calculation can be specifically: selecting different part orders to perform multiple calculations. Changing the order of part stacking calculation includes, but is not limited to: stacking calculations from largest to smallest by the length side size of the parts, stacking calculations from smallest to largest by the length side size, stacking calculations from smallest to largest by the part area, and stacking calculations from largest to smallest by the part area, etc.
[0067] Step 204: Filter the palletizing results to determine the target palletizing result that maximizes the utilization rate of the material frame; the target palletizing result includes the target palletizing result corresponding to each material frame.
[0068] Optionally, the server can filter the palletizing results, evaluate the palletizing effect of different palletizing results, and then determine the target palletizing result that maximizes the utilization of the material frame, that is, provides as many palletizing possibilities as possible for the next batch of parts.
[0069] Step 206: For each material frame, if the remaining space in the material frame, excluding the target stack, is insufficient to place the smallest part in the current batch, determine the enclosing box to wrap the target stack in the material frame.
[0070] Among them, the enclosure box can wrap the target stack formed by stacking multiple parts in a relatively simple closed space.
[0071] Optionally, for each frame, the server can first calculate the size of the remaining space in the frame excluding the target stack, and calculate the space occupied by the smallest part in the current batch. If the remaining space in the frame excluding the target stack is insufficient to place the smallest part in the current batch, the server can determine that the frame does not need to be supplemented with other parts from the current batch, and calculate the bounding box used to wrap the target stack in the frame.
[0072] Step 208: After adjusting the center of gravity of the enclosure box to coincide with the center of gravity of the material frame, based on the remaining space of the material frame to which the enclosure box belongs and the part parameters of each part in the next batch, simulate placing the parts of the next batch into the material frame to which the enclosure box belongs, and obtain the target enclosure box for complete stacking.
[0073] Optionally, for each material frame, after calculating the bounding box used to wrap the target stacking in the material frame, the server can calculate the center of gravity of the bounding box and the center of gravity of the material frame respectively, and simulate adjusting the position of the bounding box in the parts stacking simulation system so that the center of gravity of the bounding box coincides with the center of gravity of the material frame.
[0074] Furthermore, after adjusting the position of the packaging box, the server can calculate the remaining space in the material frame excluding the surrounding box. If the remaining space in the material frame excluding the surrounding box is greater than or equal to the preset space, the server can determine that the material frame is not yet full of parts and needs to be replenished to fill the material frame. Therefore, after the part parameters of each part in the next batch are entered into the part palletizing simulation system, the server can determine whether there are any parts that can be placed in the material frame in the next batch based on the remaining space in the material frame to which the surrounding box belongs and the part parameters of each part in the next batch. If so, it simulates placing the parts from the next batch into the material frame to which the surrounding box belongs, thus obtaining the target surrounding box for complete palletizing and improving the utilization rate of the material frame.
[0075] Optionally, for each frame, after adjusting the position of the packaging box, if the remaining space in the frame excluding the surrounding box is less than or equal to a preset space, the server can determine that the frame is almost full. Therefore, the surrounding box in the frame can be saved as the target surrounding box for subsequent sending of the palletizing scheme within the target surrounding box to the controller. Furthermore, after saving the target surrounding box, the server can replace the frame with an empty frame.
[0076] For example, after the part parameters of the parts in the next batch are entered into the parts palletizing simulation system, the server can summarize the usage of the material frames in the previous batch, calculate the remaining space of each material frame after the parts of the previous batch are placed, and then combine the part parameters of the parts in the next batch to simulate placing the parts of the next batch into the material frame to which the bounding box belongs, thus obtaining the target bounding box to be palletized.
[0077] It should be noted that this embodiment combines offline and online palletizing. Offline palletizing can be understood as: obtaining all part information before palletizing, and then palletizing all parts uniformly. Online palletizing can be understood as: using only the information of the current part, without knowing any information of subsequent parts, i.e., loading parts according to their arrival order. In this embodiment, offline palletizing is first performed on the parts in the current batch, i.e., the part parameters of all parts in the current batch are known, and then palletizing planning is performed uniformly for all parts in the current batch. Then, combined with online palletizing, each batch of parts is loaded according to the arrival order of the parts batches. After completing the palletizing planning for the previous batch of parts, the remaining space of each material frame after the previous batch is palletized is used to plan the palletizing of the next batch of parts. Therefore, this embodiment combines offline and online palletizing to realize the palletizing of multiple batches of parts, and the palletizing process of this embodiment can improve the material frame utilization rate and the palletizing efficiency of multiple batches of parts.
[0078] In the above-mentioned parts palletizing method, the palletizing results are determined according to different heuristic algorithms based on the parameters of each material frame and the parameters of each part in the current batch. Then, the palletizing results are filtered to determine the target palletizing result that maximizes the utilization of the material frames. The target palletizing result includes the target palletizing for each material frame, so that subsequent palletizing planning is based on the target palletizing that maximizes the utilization of the material frames. For each material frame, if the remaining space in the material frame, excluding the target palletizing, is not sufficient to place the smallest part in the current batch, a bounding box is determined to wrap the target palletizing in the material frame. After adjusting the center of gravity of the bounding box to coincide with the center of gravity of the material frame, based on the remaining space of the material frame to which the bounding box belongs, and in combination with the parameters of each part in the next batch, the parts of the next batch are simulated to be placed into the material frame to which the bounding box belongs. This can further improve the utilization of the material frames and improve the palletizing efficiency of multiple batches of parts, resulting in the target bounding box for complete palletizing. In an exemplary embodiment, such as Figure 3 As shown, before step 202, the procedure also includes:
[0079] Step 200: In the parts palletizing simulation system, initialize the parameters of each material box, and on the premise that the robot gripper used in the parts palletizing process does not collide with any objects in the parts palletizing scene, initialize the mechanical parameters of the robot gripper to obtain the parts palletizing scene with the scene parameters initialized.
[0080] Among them, the parts palletizing scenario is used to simulate the palletizing of parts in multiple batches to obtain multiple target bounding boxes that have been completed in the palletizing process.
[0081] Optionally, for each part palletizing scenario, the server can initialize the material frame parameters of each material frame in the part palletizing scenario in the part palletizing simulation system. Under the premise that the robot gripper used in the part palletizing process does not collide with any objects in the part palletizing scenario, the server initializes the mechanical parameters such as the length, width, and torsion angle of the robot gripper to obtain the part palletizing scenario with the scenario parameters initialized. This ensures that in the actual palletizing process, the initial robot will not collide with any objects in the part palletizing scenario when gripping and placing parts, for example, it will not collide with the material frames.
[0082] For example, taking a warehouse area divided into multiple parts palletizing areas with different working environments as an example, the server can initialize the scene parameters of different areas (parts palletizing scenarios) in the parts palletizing simulation system so that after the palletizing scheme of the production line in different areas is calculated, the robot grippers in each area can successfully execute their respective palletizing schemes.
[0083] In this embodiment, scenario parameters can be initialized for each part palletizing scenario in the parts palletizing simulation system so that the simulated parts palletizing operation process conforms to the actual situation, ensuring that the robot gripper can smoothly and automatically execute the palletizing scheme after the palletizing scheme is planned.
[0084] In one exemplary embodiment, such as Figure 4 As shown, step 204 includes steps 402 to 406. Wherein:
[0085] Step 402: Remove the stacking results that do not place all parts in the current batch in the material frame to obtain the remaining stacking results.
[0086] There are multiple remaining palletizing results. In each part palletizing scenario, the number of usable material frames is typically limited.
[0087] Optionally, during the initial screening, the server can first remove the palletizing results that do not place all the parts in the current batch into the material frame, that is, remove the palletizing results that cannot place all the parts in the current batch into the material frame, and obtain the remaining palletizing results.
[0088] Step 404: Use the remaining palletizing result with the fewest used material boxes as the updated palletizing result.
[0089] Among them, the number of updated palletizing results is at least one, that is, there may be multiple palletizing results that use the same number of material frames, which is less than the number of material frames used by other palletizing results.
[0090] Optionally, to further improve the utilization rate of the pallet frames and provide more stacking space and stacking possibilities for the next batch of parts, the server can compare the number of pallet frames used in each remaining palletizing result and use the remaining palletizing result with the fewest used pallet frames as the updated palletizing result.
[0091] Optionally, if the number of updated palletizing results is one, the server can directly use the updated palletizing result as the target palletizing result.
[0092] Step 406: Based on the size of the remaining space in each updated palletizing result, filter each updated palletizing result to obtain the target palletizing result that maximizes the utilization rate of the material frame.
[0093] Optionally, the server can first calculate the size of the remaining space in each updated palletizing result, and take the updated palletizing result with the largest remaining space as the target palletizing result; if there are two or more updated palletizing results with the same maximum remaining space, and all of them are greater than the maximum remaining space of other updated palletizing results, then the updated palletizing results with the largest maximum remaining space are all taken as optimized palletizing results, and the size of the second largest remaining space in each optimized palletizing result is compared, and the optimized palletizing result with the largest second largest remaining space is taken as the target palletizing result.
[0094] Optionally, if there are two or more optimized palletizing results with the same second largest remaining space, and all of them are larger than the second largest remaining space of other optimized palletizing results, then continue to look for the palletizing result with the largest third largest remaining space, and so on, until the target palletizing result with the optimal remaining space is obtained, which can maximize the utilization of the material frame.
[0095] For example, let's take the remaining space of each frame in the updated palletizing result A as a1, a2, a3 in descending order; the remaining space of each frame in the updated palletizing result B as b1, b2, b3 in descending order; and the remaining space of each frame in the updated palletizing result C as c1, c2, c3 in descending order; with a1 = b1 > c1 and a2 > b2 as an example. Since the maximum remaining space a1 of the updated palletizing result A is the same as the maximum remaining space b1 of the updated palletizing result B, and both are greater than the maximum remaining space c1 of the updated palletizing result C, the server can first use the updated palletizing results A and B as optimized palletizing results, and since the second largest remaining space a2 of the updated palletizing result A is greater than the second largest remaining space b2 of the updated palletizing result B, the updated palletizing result A is used as the target palletizing result.
[0096] Optionally, after determining the target palletizing result, the server can save the target palletizing result, that is, save the target palletizing in each frame under the target palletizing result. The screening process of the target palletizing result can ensure that as much stacking space as possible is reserved for parts in the next batch, which is beneficial to improving the utilization rate of the frames, while the remaining space in each frame under the target palletizing result is used to place parts in the next batch.
[0097] In this embodiment, the target palletizing result is selected with the goal of maximizing the utilization rate of the pallet frame. This can improve the utilization rate of the pallet frame, reserve as much stacking space as possible for the parts in the next batch, save logistics costs, minimize the number of target enclosure boxes planned in the end, and reduce the number of pallet frame replacements.
[0098] In one exemplary embodiment, such as Figure 5As shown, after step 204, if there is remaining space in the material box other than the target stack that is sufficient to place the smallest part in the current batch, step 502 is executed to simulate adding parts in the current batch to the target stack in the material box until the remaining space in the material box is no longer sufficient to place the smallest part in the current batch, thus obtaining a bounding box for wrapping each part in the material box.
[0099] Optionally, if there is remaining space in a bin besides the target stack sufficient to place the smallest part in the current batch, the server can first determine the parts in the current batch that can be placed in that remaining space, including but not limited to the smallest part in the current batch. Then, in the part simulation system, the server simulates taking parts that can be placed in that remaining space from other bins and simulates adding the taken-out parts to the target stack in the bin. On the one hand, this maximizes the utilization of the bin; on the other hand, it frees up more space in the bin where the removed parts were placed, so that parts from the next batch can be placed.
[0100] Furthermore, during the simulation of replenishing parts to the target stack in the frame, the replenishment continues until the remaining space in the frame is insufficient to place the smallest part in the current batch. At this point, the server can determine that the frame can no longer hold the parts in the current batch and calculate the bounding box used to wrap each part in the frame.
[0101] In this embodiment, by adding parts to the enclosing box that can still hold the smallest part in the current batch or other parts, the utilization rate of the material frame can be maximized.
[0102] In one exemplary embodiment, such as Figure 6 As shown, step 206 is followed by steps 602 to 604. Wherein:
[0103] Step 602, with the aim of maximizing the space filling within the bounding box, simulates the uniform diffusion of the spacing between the parts in the target stack inside the bounding box, so that the spacing of the parts within the bounding box is adjusted to achieve uniformity.
[0104] Optionally, with the aim of maximizing the space filling within the bounding box, the server can simulate in the parts palletizing simulation system that the spacing between the parts in the target palletizing is evenly distributed inside the bounding box, so that the spacing of each part inside the bounding box is balanced and that each part inside the bounding box can fill the space of the bounding box as much as possible, thereby ensuring the balance of the parts inside the material frame and the stability of the material frame during handling.
[0105] Step 604: Simulate adjusting the center of gravity of the enclosure box, which has already undergone spacing equalization adjustment, to coincide with the center of gravity of the material frame within the frame.
[0106] Optionally, to facilitate the transportation of the material frame, the server can calculate the center of gravity of the bounding box that has completed the spacing equalization adjustment and the center of gravity of the material frame in which the bounding box is located in the parts palletizing simulation system, and simulate adjusting the center of gravity of the bounding box that has completed the spacing equalization adjustment to coincide with the center of gravity of the material frame.
[0107] In this embodiment, the spacing between the parts inside the enclosed box in the material frame is first evenly distributed, and the center of gravity of the enclosed box, which has been adjusted to be evenly distributed, is adjusted to coincide with the center of gravity of the material frame. This can ensure the balance of the parts inside the material frame and the stability when transporting the material frame.
[0108] In one exemplary embodiment, such as Figure 7 As shown, step 604 is followed by steps 702 to 704. Wherein:
[0109] Step 702: If the remaining space of the material frame to which the enclosing box belongs is less than the preset space after the center of gravity of the enclosing box is adjusted to coincide with the center of gravity of the material frame, the enclosing box is used as the target enclosing box for completing the palletizing.
[0110] Optionally, after adjusting the center of gravity of the bounding box to coincide with the center of gravity of the material frame, the server can further calculate the size of the remaining space in the material frame excluding the bounding box. If the remaining space of the material frame to which the bounding box belongs is less than the preset space, it is determined that the material frame is almost full, and the bounding box in the material frame can be used as the target bounding box for completing the palletizing.
[0111] Optionally, if the center of gravity of the enclosure box is adjusted to coincide with the center of gravity of the material frame, and the remaining space of the material frame to which the enclosure box belongs is greater than or equal to the preset space, then it is determined that the remaining space in the material frame can be further utilized. Therefore, it is necessary to further combine the remaining space of the material frame to which the enclosure box belongs, as well as the part parameters of each part in the next batch, to simulate placing the parts of the next batch into the material frame to which the enclosure box belongs.
[0112] Step 704: Save the stacking in the target bounding box and simulate replacing the material frame to which the target bounding box belongs with an empty material frame.
[0113] Optionally, the server can save the palletizing data in the target bounding box so that the palletizing scheme in the target bounding box can be sent to the controller and the part palletizing simulation system can be used to simulate replacing the material frame to which the target bounding box belongs with an empty material frame.
[0114] In this embodiment, the palletizing scheme of a nearly full basket can be saved directly so that the controller can control the robot gripper to execute the palletizing scheme.
[0115] In one embodiment, such as Figure 8 As shown, a flowchart of another parts palletizing method is provided, which mainly includes:
[0116] Step 802: In the parts palletizing simulation system, initialize the material frame parameters of each material frame and the mechanical parameters of the robot gripper to obtain the parts palletizing scene with completed scene parameter initialization.
[0117] Step 804: Determine the palletizing results according to different heuristic algorithms based on the parameters of each material box and the parameters of each part in the current batch.
[0118] Step 806: Remove the stacking results that do not place all parts in the current batch in the material frame to obtain the remaining stacking results;
[0119] Step 808: Use the remaining palletizing result with the fewest used material boxes as the updated palletizing result;
[0120] Step 810: Based on the size of the remaining space in each updated palletizing result, filter each updated palletizing result to obtain the target palletizing result that maximizes the utilization of the material frame; the target palletizing result includes the target palletizing corresponding to each material frame.
[0121] For each material frame, if the remaining space in the material frame, excluding the target stack, is insufficient to place the smallest part in the current batch, proceed to step 812 to determine the enclosure box used to wrap each part in the material frame; if there is remaining space in the material frame, excluding the target stack, sufficient to place the smallest part in the current batch, proceed to step 814 to simulate adding parts from the current batch to the target stack in the material frame until the remaining space in the material frame is insufficient to place the smallest part in the current batch, and determine the enclosure box used to wrap each part in the material frame.
[0122] Step 816, with the aim of maximizing the space filling within the bounding box, simulates the uniform diffusion of the spacing between the parts in the target stack inside the bounding box.
[0123] Step 818: Simulate adjusting the center of gravity of the enclosure box to coincide with the center of gravity of the material frame within the frame;
[0124] If the center of gravity of the enclosing box is adjusted to coincide with the center of gravity of the material frame, and the remaining space of the material frame to which the enclosing box belongs is less than the preset space, step 820 is executed to use the enclosing box as the target enclosing box for completing the stacking; if the remaining space of the material frame to which the enclosing box belongs is greater than or equal to the preset space, then based on the remaining space of the material frame to which the enclosing box belongs and the part parameters of each part in the next batch, step 822 is executed to simulate placing the parts of the next batch into the material frame to which the enclosing box belongs until the remaining space of the material frame to which the enclosing box belongs is less than the preset space, and the target enclosing box for completing the stacking is obtained.
[0125] Step 824 saves the stacking in the target bounding box and simulates replacing the material frame to which the target bounding box belongs with an empty material frame.
[0126] The parts palletizing method in this embodiment combines offline and online palletizing, solving the inadequacy of offline palletizing requiring knowledge of all parts and the limitation of online palletizing that can only utilize the current part for palletizing. Furthermore, this parts palletizing method can improve the utilization rate of the material frames, reduce the number of frame replacements, ensure the even placement of parts in the frames after palletizing, and improve the stability of the frames during transportation.
[0127] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0128] Based on the same inventive concept, this application also provides a parts palletizing device for implementing the parts palletizing method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more parts palletizing device embodiments provided below can be found in the limitations of the parts palletizing method described above, and will not be repeated here.
[0129] In one exemplary embodiment, such as Figure 9 As shown, a parts palletizing device is provided, including: a palletizing result determination module 902, a palletizing result filtering module 904, a bounding box determination module 906, and a target bounding box acquisition module 908, wherein:
[0130] The palletizing result determination module 902 is used to determine the palletizing result according to different heuristic algorithms based on the parameters of each material box and the parameters of each part in the current batch.
[0131] The palletizing result filtering module 904 is used to filter each palletizing result and determine the target palletizing result that maximizes the utilization rate of the material frame; the target palletizing result includes the target palletizing corresponding to each material frame.
[0132] The bounding box determination module 906 is used to determine, for each material frame, a bounding box to wrap the target stack in the material frame when the remaining space in the material frame, excluding the target stack, is not sufficient to place the smallest part in the current batch.
[0133] The target bounding box acquisition module 908 is used to simulate placing the parts of the next batch into the material frame to which the bounding box belongs, based on the remaining space of the material frame to which the bounding box belongs and the part parameters of each part in the next batch, after adjusting the center of gravity of the bounding box to coincide with the center of gravity of the material frame, so as to obtain the target bounding box to which the palletizing is completed.
[0134] In the aforementioned parts palletizing device, the palletizing results are determined according to different heuristic algorithms based on the parameters of each material frame and the parameters of each part in the current batch. Then, each palletizing result is filtered to determine the target palletizing result that maximizes the utilization rate of the material frames. The target palletizing result includes the target palletizing for each material frame, so that subsequent palletizing planning is based on the target palletizing that maximizes the utilization rate of the material frames. For each material frame, if the remaining space in the material frame, excluding the target palletizing, is not sufficient to place the smallest part in the current batch, a wrapping box for the target palletizing in the material frame is determined. After adjusting the center of gravity of the wrapping box to coincide with the center of gravity of the material frame, based on the remaining space of the material frame to which the wrapping box belongs and in combination with the parameters of each part in the next batch, the parts in the next batch are simulated to be placed in the material frame to which the wrapping box belongs. This can further improve the utilization rate of the material frames and improve the palletizing efficiency of multiple batches of parts, thus obtaining the target wrapping box that completes the palletizing.
[0135] In one embodiment, the parts palletizing device further includes a scene initialization module, which is used to initialize the frame parameters of each frame in the parts palletizing simulation system, and initialize the mechanical parameters of the robot gripper on the premise that the robot gripper used in the parts palletizing process does not collide with any objects in the parts palletizing scene, so as to obtain a parts palletizing scene with completed scene parameter initialization; the parts palletizing scene is used to simulate the palletizing of parts in multiple batches to obtain multiple target bounding boxes that have been completed.
[0136] In one embodiment, the palletizing result filtering module is further used to remove palletizing results that do not place all parts in the current batch in the material frame, and obtain the remaining palletizing results; take the remaining palletizing result with the fewest material frames as the updated palletizing result; and filter each updated palletizing result based on the size of the remaining space in each updated palletizing result to obtain the target palletizing result that maximizes the utilization of the material frames.
[0137] In one embodiment, the parts palletizing device further includes a parts replenishment and placement module, which is used to simulate replenishing the parts of the current batch to the target pallet in the material frame if there is remaining space in the material frame other than the target palletizing space that is sufficient to place the smallest part in the current batch, until the remaining space in the material frame is no longer sufficient to place the smallest part in the current batch, thereby obtaining a wrapping box for wrapping each part in the material frame.
[0138] In one embodiment, the parts palletizing device further includes: a spacing equalization module, used to simulate uniformly spreading the spacing between the parts in the target palletizing inside the enclosure to maximize the space filling within the enclosure, so that the spacing of the parts within the enclosure is adjusted evenly; and a center of gravity adjustment module, used to simulate adjusting the center of gravity of the enclosure, which has been adjusted by spacing equalization, to coincide with the center of gravity of the material frame.
[0139] In one embodiment, the target bounding box acquisition module is further configured to, when the center of gravity of the bounding box is adjusted to coincide with the center of gravity of the material frame, if the remaining space of the material frame to which the bounding box belongs is less than a preset space, use the bounding box as the target bounding box for completing the palletizing. The parts palletizing device also includes a material frame replacement module, which is configured to save the palletizing in the target bounding box and simulate replacing the material frame to which the target bounding box belongs with an empty material frame.
[0140] Each module in the aforementioned parts palletizing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0141] In one exemplary embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 10 As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a parts palletizing method. The display unit is used to form a visually visible image and can be a display screen, projection device, or virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0142] Those skilled in the art will understand that Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0143] In one exemplary embodiment, a computer device is provided, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the steps of various embodiments of the parts palletizing method.
[0144] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps of the parts palletizing method in various embodiments.
[0145] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of various embodiments of the parts palletizing method.
[0146] It should be noted that the information (including but not limited to robot equipment information, parts information, environmental information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all authorized or fully authorized by the parties, and the collection, use and processing of related data must comply with relevant regulations.
[0147] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0148] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0149] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for stacking parts, characterized in that, The method includes: Based on the parameters of each material box and the parameters of each part in the current batch, the palletizing results are determined according to different heuristic algorithms. The stacking results that do not place all parts in the current batch in the material frame are removed to obtain the remaining stacking results; Use the remaining palletizing result with the fewest used material boxes as the updated palletizing result; Based on the size of the remaining space in each of the updated palletizing results, the updated palletizing results are filtered to obtain the target palletizing result that maximizes the utilization of the material frame. For each of the aforementioned material frames, if the remaining space in the material frame, excluding the target stack, is insufficient to accommodate the smallest part in the current batch, a surrounding box for wrapping the target stack in the material frame is determined. With the center of gravity of the enclosure box aligned with the center of gravity of the material frame, based on the remaining space of the material frame to which the enclosure box belongs and the part parameters of each part in the next batch, the parts of the next batch are simulated to be placed into the material frame to which the enclosure box belongs, thus obtaining the target enclosure box for complete stacking.
2. The method according to claim 1, characterized in that, The method further includes: In the parts palletizing simulation system, the parameters of each of the material boxes are initialized, and the mechanical parameters of the robot gripper are initialized on the premise that the robot gripper used in the parts palletizing process does not collide with any objects in the parts palletizing scene, so as to obtain the parts palletizing scene with the scene parameters initialized. The parts palletizing scenario is used to simulate palletizing parts in multiple batches to obtain multiple target bounding boxes that have been completed palletizing.
3. The method according to claim 1, characterized in that, The method further includes: If there is remaining space in the material frame other than the target stack that is sufficient to place the smallest part in the current batch, simulate adding parts from the current batch to the target stack in the material frame until the remaining space in the material frame is no longer sufficient to place the smallest part in the current batch, thus obtaining a wrapping box for enclosing each part in the material frame.
4. The method according to claim 1, characterized in that, The method further includes: To maximize the space filling within the enclosed box, the spacing between the parts in the target stack is uniformly diffused within the enclosed box, so that the spacing of the parts within the enclosed box is adjusted to achieve uniformity. Adjusting the center of gravity of the enclosure box to coincide with the center of gravity of the material frame includes: The simulation involves adjusting the center of gravity of the enclosure box, which has already undergone spacing equalization adjustment, to coincide with the center of gravity of the material frame.
5. The method according to claim 1, characterized in that, The method further includes: If the center of gravity of the enclosing box is adjusted to coincide with the center of gravity of the material frame, and the remaining space of the material frame to which the enclosing box belongs is less than a preset space, the enclosing box is used as the target enclosing box for completing the palletizing. Save the stacking in the target bounding box and simulate replacing the material frame to which the target bounding box belongs with an empty material frame.
6. A parts palletizing device, characterized in that, The device includes: The palletizing result determination module is used to determine the palletizing result according to different heuristic algorithms based on the parameters of each material box and the parameters of each part in the current batch. The palletizing result filtering module is used to remove palletizing results that do not place all parts in the current batch in the material frame, and obtain the remaining palletizing results; the remaining palletizing result with the fewest material frames used is used as the updated palletizing result; based on the size of the remaining space in each updated palletizing result, each updated palletizing result is filtered to obtain the target palletizing result that maximizes the utilization of the material frames. The bounding box determination module is used to determine, for each of the material frames, a bounding box for wrapping the target stack in the material frame when the remaining space in the material frame, excluding the target stack, is insufficient to place the smallest part in the current batch. The target bounding box acquisition module is used to simulate placing the parts of the next batch into the material frame to which the bounding box belongs, based on the remaining space of the material frame to which the bounding box belongs and the part parameters of each part in the next batch, after adjusting the center of gravity of the bounding box to coincide with the center of gravity of the material frame, so as to obtain the target bounding box to which the palletizing is completed.
7. The apparatus according to claim 6, characterized in that, The parts palletizing device also includes a scene initialization module, used for: In the parts palletizing simulation system, the parameters of each of the material boxes are initialized, and the mechanical parameters of the robot gripper are initialized on the premise that the robot gripper used in the parts palletizing process does not collide with any objects in the parts palletizing scene, so as to obtain the parts palletizing scene with the scene parameters initialized. The parts palletizing scenario is used to simulate palletizing parts in multiple batches to obtain multiple target bounding boxes that have been completed palletizing.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 5.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Three-dimensional multi-box specially-structured cargo loading optimizing method
CN103761635A
Design method of intelligent turnover box for automobile parts
CN116341118A