Method for generating palletizing program for robot and robot system

By automatically generating robot palletizing programs, and automatically selecting and generating palletizing programs using the stacking type evaluation algorithm, the problems of complex operation and insufficient flexibility in the existing technology are solved, and efficient and automated palletizing operations are achieved.

CN120206536APending Publication Date: 2025-06-27ABB (SHANGHAI) ROBOT CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510620002.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-13
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

The existing robot palletizing system is complex in operation and is difficult to meet the diverse needs of different products and work scenarios, especially in the use scenarios of multiple varieties and small batches, and lacks flexibility.

Method used

By automatically generating robot palletizing programs, the performance parameters of each palletizing type are calculated using the palletizing type evaluation algorithm, the target palletizing type is automatically selected and the corresponding palletizing program is generated to achieve automated palletizing operations.

Benefits of technology

It realizes the friendliness of rapid deployment and daily maintenance, and can operate without professional technical knowledge, improves the efficiency of palletization, reduces production time costs, and ensures the stability and regularity of palletization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120206536A_ABST
    Figure CN120206536A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a method for generating a stacking program of a robot and a robot system. The method includes obtaining a plurality of stack types of a plurality of products, the plurality of stack types indicating a plurality of palletizing positions of the plurality of products. The method further includes determining a plurality of stack type scores for the plurality of stack types based on the plurality of palletizing positions. The method also includes selecting a target stack pattern from the plurality of stack patterns based on the plurality of stack pattern scores. The method further comprises the step of generating a stacking program corresponding to the target stack type, wherein the stacking program is used for the robot to execute stacking operation. In this manner, the target scheme is automatically selected according to the score, and then the generated program can be automatically deployed to the robot to cause the robot to begin working. Therefore, rapid deployment can be realized, daily maintenance and use are friendly to users, and the users do not need to have professional technical knowledge.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Exemplary embodiments of the present disclosure relate to the field of digital factories, and more particularly, to a method, a controller, a robot system, and a computer-readable storage medium for generating a palletizing program for a robot. Background Art

[0002] In modern industrial production, palletizing operations are an important link and are widely used in fields such as logistics, warehousing, and manufacturing. With the continuous development of automation technology, automatic palletizing has gradually replaced traditional manual palletizing and has become an important means to improve production efficiency, reduce the labor intensity of workers, and ensure product quality.

[0003] Currently, the operation of the robot palletizing system is relatively complex. Under the same pallet type, there are many types of product specifications and sizes, and the number of products grasped each time will also change. In addition, different customers may have different requirements for the palletizing form, and customers may, according to the requirements of the production process, add the specifications and sizes of palletized products at any time. As a result, it poses a great challenge to pallet type design. Summary of the Invention

[0004] A first aspect of the present disclosure relates to a method for generating a palletizing program for a robot. The method includes obtaining a plurality of pallet types of a plurality of products, where the plurality of pallet types indicate a plurality of palletizing positions of the plurality of products. The method further includes determining a plurality of pallet type scores of the plurality of pallet types based on the plurality of palletizing positions. The method further includes selecting a target pallet type from the plurality of pallet types based on the plurality of pallet type scores. The method further includes generating a palletizing program corresponding to the target pallet type, where the palletizing program is used for the robot to perform palletizing operations.

[0005] A second aspect of the present disclosure relates to a controller. The controller includes: at least one processor; and at least one memory including instructions stored thereon. The instructions, when executed by the at least one processor, cause the at least one processor to execute the method for generating a palletizing program for a robot according to the first aspect of the present disclosure.

[0006] A third aspect of the present disclosure relates to a robot system. The robot system includes a robot configured to perform palletizing operations. The robot system includes a control cabinet configured to control the robot. The robot system includes a host computer that includes the controller according to the second aspect of the present disclosure and is configured to send the generated palletizing program to the control cabinet so that the control cabinet executes the palletizing program to control the robot to perform the palletizing operations indicated by the palletizing program.

[0007] A fourth aspect of the present disclosure relates to a computer-readable storage medium having instructions stored thereon that, when executed by at least one processor, cause the at least one processor to execute the method for generating a palletizing program for a robot according to the first aspect of the present disclosure. Brief Description of the Drawings

[0008] Through the following detailed description with reference to the drawings, the above and other objects, features, and advantages of the embodiments of the present disclosure will become more readily understood. In the drawings, multiple embodiments of the present disclosure will be illustrated by way of example and not limitation, where:

[0009] Figure 1A A schematic diagram of an example robot system in which embodiments of the present disclosure can be implemented is shown;

[0010] Figure 1B A schematic diagram of an example system according to some embodiments of the present disclosure is shown;

[0011] Figure 2 A flowchart of an example method for generating a palletizing program for a robot according to an embodiment of the present disclosure is shown;

[0012] Figure 3 A flowchart of an example method for automatically generating a pallet pattern according to an embodiment of the present disclosure is shown;

[0013] Figure 4 A schematic diagram for determining a pallet pattern score according to an embodiment of the present disclosure is shown;

[0014] Figures 5A - 5C A schematic diagram of an example process for generating a palletizing program for a robot according to an embodiment of the present disclosure is shown; and

[0015] Figure 6 A schematic block diagram of an example device that can be used to implement embodiments of the present disclosure is shown. Detailed Description of Specific Embodiments

[0016] Now, the principles of the present disclosure will be described with reference to various exemplary embodiments shown in the drawings. It should be understood that the description of these embodiments is only for enabling those skilled in the art to better understand and further implement the present disclosure, and is not intended to limit the scope of the present disclosure in any way. It should be noted that where feasible, similar or identical reference numerals may be used in the figures, and similar or identical reference numerals may represent similar or identical functions. Those skilled in the art will readily recognize that alternative embodiments of the structures and methods described herein can be employed without departing from the principles of the present disclosure described herein.

[0017] As used herein, the term "comprising" and its variants will be construed as open-ended terms meaning "including but not limited to". The term "based on" will be construed as "at least in part based on". The terms "one embodiment" and "embodiment" should be understood as "at least one embodiment". The term "another embodiment" should be understood as "at least one other embodiment". The terms "first", "second", etc. may refer to different or the same products. There may be other explicit and implicit definitions below. Unless the context clearly indicates otherwise, the definitions of the terms are consistent throughout the specification.

[0018] As discussed above, the robot palletizing program in the related art is complex in configuration and requires professional technicians to operate, which is time-consuming and laborious. In addition, for the configuration of parameters such as jigs, conveyor lines, products, pallet patterns, and workflows in the palletizing task, there is a lack of intuitive and convenient operation interfaces and tools, which easily leads to configuration errors or irrationality. In addition, the palletizing configuration method in the related art is difficult to meet the diverse needs of different products and working scenarios, especially in the scenario of small batches of multiple varieties, where the flexibility is insufficient. For the design and optimization of pallet patterns, multiple factors such as space utilization rate, stability, and regularity need to be considered, and the current methods may not achieve the optimal pallet pattern effect.

[0019] In view of this, according to an embodiment of the present disclosure, a scheme for automatically generating a robot palletizing program is proposed. In this scheme, by performing a pallet pattern evaluation algorithm on the pallet pattern, that is, calculating performance parameters such as those associated with space utilization rate or pallet pattern stability for each pallet pattern, the target pallet pattern can be selected according to the predetermined performance parameters, thereby automatically determining the pallet pattern.

[0020] According to the scheme of the embodiment of the present disclosure, the target scheme is automatically selected according to the score, and then the generated program can be automatically deployed to the robot to enable the robot to start working, so that new products can be automatically imported for palletizing, and the whole process does not require manual intervention. Thus, rapid deployment can be achieved, and the daily maintenance and use are user-friendly, and users do not need to have professional technical knowledge. Since the automatic palletizing function does not require professional users to operate for a long time, by simplifying the configuration process of palletizing task parameters, the operator can complete the configuration work more quickly, thereby improving the palletizing efficiency and reducing the production time cost.

[0021] The following will be combined with Figures 1A to 6 to describe the process and principle of the automatic palletizing program generation scheme according to the embodiment of the present disclosure. Figure 1A FIG. shows a schematic diagram of an example robot system 100A in which embodiments of the present disclosure can be implemented. As Figure 1A shown, the robot system 100A includes a robot 110 and a control cabinet 120 for controlling the robot 110. In as Figure 1AIn the illustrated embodiment, the robot 110 is a palletizing robot. The robot 110 is configured to neatly stack a plurality of products on a pallet or palletizing tray in a preset arrangement. The robot 110 includes a robotic arm 111. The robotic arm 111 can be composed of multiple joints and can move to achieve multi-degree-of-freedom operations. The robot 110 also includes an end effector 112. The end effector 112 is used to grasp a single product 141 among the plurality of products 140 and place the product 141 on the palletizing tray 150. For example, the end effector 112 can include types such as vacuum suction cups, grippers, mechanical grippers, etc. The end effector 112 can be determined according to the shape, weight, material, and surface characteristics of the item to be grasped and can be replaced with each other.

[0022] As Figure 1A shown, the robot system 100A further includes a controller 120. The controller 120 communicates with the robot 110 and is configured to control the operation of the robot 110. For example, it is responsible for receiving instructions from optional sensors, vision systems, or manual inputs, and controlling the robotic arm to precisely execute the palletizing operation according to the preset grasping path and placement position.

[0023] The robot system 100A further includes a host computer 130. The host computer 130 refers to a higher-level computing device or control device in the robot system 100. The host computer 130 is mainly responsible for functions such as task planning, monitoring, data processing, and user interface management. The host computer 130 works in cooperation with the robot 110 and the control cabinet 120 to jointly achieve the automated operation of the robot 110. The host computer 130 can allocate specific palletizing tasks to the robot 110 according to the operation requirements. In addition, the host computer 130 is responsible for planning the movement path of the robot 110 to ensure that the robot can efficiently and safely complete the task. The host computer 130 can also, through communication with the robot controller, obtain the status information of the robot in real time, such as position, speed, load, etc. The host computer 130 can also provide a user interface through which operators can perform operations such as task setting, parameter adjustment, and status query. At the same time, the host computer 130 can also display the working status and operation data of the robot in a graphical manner, enabling operators to intuitively understand the system operation situation.

[0024] In Figure 1A the illustrated embodiment, the host computer 130 can execute the method for generating a palletizing program for the robot according to the embodiments of the present disclosure, thereby generating a target program for a plurality of products 140. Subsequently, the host computer 130 deploys the target program to the control cabinet 120 so that the control cabinet 120 executes the target program, thereby controlling the robot 110 to perform the corresponding palletizing operation.

[0025] Figure 1BFIG. 0 shows a schematic diagram of an example system 100B in accordance with some embodiments of the present disclosure. System 100B is a functional architecture of the robotic system 100A shown in FIG. 1. As Figure 1B shown, system 100B includes a robotic end 120B that can correspond to Figure 1A the robot 110 or the control cabinet 120 shown. System 100B further includes a client 130B that can correspond to Figure 1A the host computer 130 shown. In addition, system 100B further includes other control systems 160.

[0026] As Figure 1B shown, the client 130B manages and controls the robotic end 120B through a visualization layer 131, an invocation layer 132, and a data layer 133, and implements information transfer and processing through data interaction. The visualization layer 131 of the client 130B includes a product management module. The product management module can manage product information and configurations, for example. The visualization layer 131 further includes a robot management module. The robot management module can monitor and manage the robot status, for example. The visualization layer 131 further includes a palletizing planning module. The palletizing planning module can plan robotic palletizing tasks to generate different pallet patterns and score each pallet pattern to obtain a pallet pattern score for each pallet pattern. The visualization layer 131 further includes a configuration distribution module. The configuration distribution module can distribute configuration parameters to the robotic end 120B, for example. The visualization layer 131 further includes a data chart module. The data chart module can display charts of robot operation data, for example. The visualization layer 131 further includes an intelligent palletizing module. The intelligent palletizing module can perform intelligent analysis on the generated multiple pallet patterns to determine a target pallet pattern and generate a palletizing program corresponding to the pallet pattern.

[0027] The invocation layer 132 of the client 130B includes a program logic interface. The program logic interface can provide an interface for program logic, for example. In addition, the invocation layer 132 further includes a program function interface. The program function interface can provide an interface for specific functions to implement specific tasks. As a relatively upper application layer, the visualization layer 131 can retrieve data in the data layer 133 of the client 130B through the invocation layer 132.

[0028] The data layer 133 of the client 130B includes a database Database. The database can store a database of system data, for example. The data layer 133 further includes an XML module. The XML module can be used to transfer and configure XML files, for example. The data layer 133 further includes a TXT module. The TXT module can store files of text data, for example.

[0029] In contrast, the robot side 120B includes a robot program parameter processing module 121. The robot program parameter processing module 121 is the core part of the robot side and is responsible for storing and managing the parameters required for the robot to run. For example, Figure 1B As shown, the robot program parameter processing module 121 can communicate with the visualization layer 131 or the call layer 132 of the client 130B. The robot side 120B also includes a program running module. The program running module can, for example, control the robot to perform specific tasks according to the program parameters.

[0030] In some embodiments, the system 100B may further include other control systems 160 for controlling the robot. The other control systems 160 include a programmable logic controller / warehouse management system / manufacturing execution system (PLC / WMS / MES) 161. For example, the PLC can perform automated control of the robot and the like. The WMS can be used to manage warehouse operations. The MES can be used to monitor and control the production process. In such an embodiment, the other control systems 160 can communicate with the call layer 132 of the client 120B.

[0031] According to Figure 1A and Figure 1B the embodiments shown, the user can configure the products to be palletized and the robot side 120B using the interaction interface of the client 130B. After that, the client 130B can display a list of automatically generated palletizing schemes (i.e., multiple pallet types) and corresponding performance parameters according to the parameters set by the user. The client 130B can evaluate each pallet type according to the performance, so as to select the target pallet type that best meets the user's preference from multiple pallet types. The client 130B automatically generates a target palletizing program according to the target pallet type and then deploys it to the robot side 120B, so that the robot side 120B performs the palletizing operation corresponding to the target palletizing program. In some embodiments, the client 130B can send the generated target palletizing program to the robot side 120B and send the relevant data of the target pallet type (such as: number of layers of the pallet type / number of products in a single layer / total height of the pallet type, etc.) to the other control systems 160, so that the other control systems 160 control the robot to perform the palletizing operation corresponding to the target palletizing program.

[0032] In such an embodiment, only one computing device and a robot are required, enabling rapid deployment. In addition, automatic pallet pattern design, automatic evaluation and selection of pallet patterns are achieved, transforming expert thinking and process skills into computable and evaluable models. The intelligent palletizing function allows users to input the basic parameters of products manually or through communication. The host computer can automatically generate a series of feasible pallet patterns based on these parameters and attempt different hierarchical stacking combination schemes, and then calculate the various pallet pattern performance parameters of each scheme, and screen them by calculating a comprehensive score according to a certain weight. Thus, parametric control of the palletizing process can also be achieved. When the user needs to change the product type, the robot program data can be automatically updated by the software, and the robot can start palletizing the products after the type change without the need for professional personnel to modify the robot program, thereby improving production efficiency.

[0033] Figure 2 FIG. 4 shows a flowchart of an exemplary method 200 for generating a palletizing program for a robot according to an embodiment of the present disclosure. For discussion purposes, method 200 will be described in conjunction with Figure 1A and 1B For example, method 200 may be executed by a host computer 130 in Figure 1A As shown in Figure 2 at 210, method 200 includes obtaining a plurality of pallet patterns for a plurality of products. Here, the plurality of pallet patterns indicate the palletizing positions of the plurality of products. In the embodiment shown in Figure 1A the host computer 130 may obtain different plurality of pallet patterns for a plurality of products 140. Each of the plurality of pallet patterns indicates the palletizing position of each product 141 in that pallet pattern. In some embodiments, the plurality of pallet patterns may be generated by the host computer 130. The method for generating a plurality of pallet patterns will be described below with reference to Figure 3

[0034] Figure 3 FIG. 5 shows a flowchart of an exemplary method 300 for automatically generating a pallet pattern according to an embodiment of the present disclosure. For discussion purposes, method 300 will be described in conjunction with Figure 1A and 1B For example, method 300 may be executed by a host computer 130 in Figure 1A As shown in Figure 3 at 310, the host computer 130 determines a range for placing one layer of products based on the size of the pallet 150 for a plurality of products 140, i.e., the bearing area.

[0035] In some embodiments, the host computer 130 may obtain the dimensional margin from the user. For example, in the case where the dimensions of the pallet 150 include length and width, the dimensional margin may include a length margin and a width margin. In such an embodiment, the range may be determined based on the length margin, the width margin, the length, and the width. The length margin and the width margin may be a percentage or a numerical value. In the case where the length margin and the width margin are percentages, a margin less than 100% may indicate that the range for placing one layer of products is smaller than the surface area of the pallet 150 itself. Conversely, a margin greater than 100% may indicate that the range for placing one layer of products is larger than the surface area of the pallet 150 itself. Similarly, in the case where the length margin and the width margin are numerical values, a margin less than 0 may indicate that the range for placing one layer of products is smaller than the surface area of the pallet 150 itself. Conversely, a margin greater than 0 may indicate that the range for placing one layer of products is larger than the surface area of the pallet 150 itself.

[0036] At 320, the host computer 130 sequentially places products within the range based on the lengths and widths of the plurality of products to obtain a plurality of first placement patterns. In some embodiments, the host computer 130 may determine a two-dimensional representation of the product based on the length and width of the product. The two-dimensional representation of the product may be, for example, a rectangle that can enclose the product. The host computer 130 may sequentially place the two-dimensional representation of the product into the range for placing the product and traverse all possible placement patterns, thereby obtaining a plurality of first placement patterns.

[0037] In some embodiments, the host computer 130 may place the first product in a corner of the range for placing the product such that two sides of the first product are substantially aligned with two sides of the range for placing the product. Thereafter, based on the remaining positions in the same row as the first product, the direction for placing the second product is determined such that the second product can be placed within the remaining positions. The second product is placed in the determined direction such that one side of the second product is adjacent to an adjacent side of the first product and the other side of the second product is aligned with the other side of the first product. In this way, the host computer 130 fills one row of the range for placing the product with products and then fills the adjacent rows of the range for placing the product in the same manner. Thus, the host computer 130 fills the range for placing the product row by row to obtain a first placement pattern. After obtaining one placement pattern, the host computer 130 may change the directions of one or more products to obtain other placement patterns different from the determined placement pattern.

[0038] At 330, the host computer 130 determines the height of a single-layer product, the overall height limit of the stack type, and the palletizing height. At 340, the host computer 130 determines the number of layers of the stack type corresponding to each first placement mode based on the height of a single-layer product, the overall height limit of the stack type, and the palletizing height. In some embodiments, the host computer 130 may also obtain the height limit for the stack type, such as the total number of layers or the total height. The height limit may be, for example, predetermined or directly input by the customer or input through other devices. In such embodiments, the host computer 130 may calculate the number of layers by dividing the difference between the height limit and the palletizing height by the height of a single-layer product.

[0039] At 350, the host computer 130 determines the corresponding second placement mode by mirror-flipping or rotating each first placement mode. For example, the mirror-flipping may include mirror-flipping the first placement mode with the midline along the length of the range for placing the product as the axis of symmetry. Alternatively, the mirror-flipping may also include mirror-flipping the first placement mode with the midline along the width of the range for placing the product as the axis of symmetry. The rotation may include, for example, rotating the first placement mode by 90 degrees or 180 degrees.

[0040] At 360, the host computer 130 determines each stack type by respectively setting the first placement mode and the corresponding second placement mode for adjacent two layers in each stack type, to obtain a plurality of stack types. In some embodiments, the odd-numbered layers among the multiple layers may be set to the first placement mode, and the even-numbered layers may be set to the second placement mode. Alternatively, the odd-numbered layers among the multiple layers may be set to the second placement mode, and the even-numbered layers may be set to the first placement mode. Thus, one stack type can be obtained. By setting each pair of the first placement mode and the second placement mode, a plurality of stack types can be obtained.

[0041] According to Figure 3 the illustrated embodiment, by traversing all feasible ways, all feasible placement modes can be comprehensively produced, ensuring that better placement modes can be considered, achieving a high-quality palletizing solution, and thus improving production efficiency and product quality.

[0042] Return Figure 2 , at 220, method 200 includes determining a plurality of stack type scores for the plurality of stack types. In Figure 1A the illustrated embodiment, the host computer 130 may obtain a plurality of stack type scores based on the plurality of stack types obtained or produced and the stack type score of each stack type among the plurality of stack types. The method for calculating the plurality of stack type scores will be described below with reference to Figure 4 . Figure 4 FIG. shows a schematic diagram of an example method 400 for determining a stack type score according to an embodiment of the present disclosure. For discussion purposes, method 400 will be described in conjunction with Figure 1A and1B is described. For example, method 400 can be executed by Figure 1A the host computer 130 in

[0043] As Figure 4 shown, at 410, the host computer 130 determines the first placement pattern and the second placement pattern of the adjacent first layer and the second layer in the first stack type among the multiple stack types. At 420, the host computer 130 determines at least one performance indicator for the first stack type based on the first placement pattern, the second placement pattern of the first stack type, the product parameters of the multiple products, and the size of the pallet for the multiple products. The performance indicator can, for example, indicate the stability of the stack type, or the space occupancy rate of the stack type, or the aesthetics of the stack type.

[0044] In some embodiments, at least one performance indicator may include a single-unit difference rate, which is the proportion of the bottom surface of a single-layer product that is suspended. It measures how much of the bottom of the product is suspended. The larger this value, the greater the risk of the product falling off during handling or when subjected to impact during palletizing. In such an embodiment, the single-unit difference rate can be calculated by the proportion of the bottom surface of the product in the second layer above the first layer that is suspended, that is, the difference between the area occupied by the second layer and the area occupied by the first layer.

[0045] In some embodiments, at least one performance indicator may further include a pallet coverage rate, which is the coverage rate of a single-layer product on the pallet. It directly reflects the level of pallet usage efficiency. A high pallet coverage rate means that more of the pallet area is occupied by the product, thereby improving space utilization efficiency, which is crucial for reducing logistics costs and enhancing warehousing efficiency. In such an embodiment, the pallet coverage rate can be calculated by the coverage rate of the product in the first layer or the second layer on the pallet.

[0046] In some embodiments, at least one performance indicator may further include a palletizing regularity rate, which is the proportion of the appearance regularity of the stack type. It measures the neatness of the stack type. The higher this indicator, the more consistent and aesthetically pleasing the stack type is as a whole, which has a positive effect on increasing the storage quantity in the warehouse, enhancing the product image, and reducing the scraping during pallet movement. In such an embodiment, the palletizing regularity rate can be calculated by the consistency of the first placement pattern and the second placement pattern, that is, the proportion of the contact area between two adjacent products in the first layer and the second layer to the total area.

[0047] In some embodiments, at least one performance indicator may further include a space occupancy rate, which is the proportion of the product space occupied. The higher this proportion, the more compact the placement of the single-layer products, the smaller the void part inside the stack type, and the higher the space utilization efficiency. In such an embodiment, the space occupancy rate can be the proportion of the product space occupied by one of the multiple stack types.

[0048] In some embodiments, at least one performance metric may further include the parity coincidence rate, which is the coincidence rate of the product shapes of the odd and even layers. The higher this ratio, the higher the alignment degree of individual products between different layers. However, this also means that the product is only supported by the frictional forces of the single products above and below it, which increases the risk of tipping over. In such embodiments, the parity coincidence rate can be calculated based on the coincidence rates of the first layer and the second layer.

[0049] After the host computer 130 calculates at least one performance metric, the host computer 130 may perform a preliminary screening. During the preliminary screening process, at 430, the host computer 130 determines one or more performance metrics associated with stability among the at least one performance metric. For example, the above-mentioned single unit difference rate and parity coincidence rate are both performance metrics associated with stability. At 410, the host computer 130 determines whether all of the performance metrics among the one or more performance metrics are greater than their respective predetermined thresholds. For example, in the case where the one or more performance metrics include the single unit difference rate and the parity coincidence rate, the host computer 130 respectively determines whether the single unit difference rate is greater than the corresponding predetermined threshold and whether the parity coincidence rate is greater than the corresponding predetermined threshold. If the host computer 130 determines that any one of the one or more performance metrics is not greater than its respective predetermined threshold, that is, the stability of the current first stack type is not high, then method 400 proceeds to 450. At 450, the host computer 130 discards the current first stack type. Correspondingly, if the host computer 130 determines that all of the performance metrics among the one or more performance metrics are greater than their respective predetermined thresholds, that is, the stability of the current first stack type is high, then method 400 proceeds to 460.

[0050] At 460, the host computer 130 determines the stack type score of the first stack type based on a set of weights and at least one performance metric. In some embodiments, the host computer 130 may obtain multiple sets of weights, and the host computer 130 may select a set of target weights according to the user's preset preferences. In some alternative embodiments, the host computer 130 may not perform the preliminary screening, that is, method 400 proceeds directly from 420 to 460.

[0051] Returning again Figure 2 , at 230, method 200 includes selecting a target stack type from multiple stack types based on multiple stack type scores. In Figure 1A the illustrated embodiment, the host computer 130 may select a target stack type from multiple stack types based on multiple stack type scores. In some embodiments, the host computer 130 may sort the multiple stack type scores of the multiple stack types and select the stack type with the maximum stack type score as the target stack type.

[0052] At 240, method 200 includes generating a palletizing program corresponding to the target stack type. Here, the palletizing program is used for the robot to perform the palletizing operation. In Figure 1AIn the illustrated embodiment, the host computer 130 generates a palletizing program corresponding to the target pallet pattern.

[0053] According to Figure 2 the illustrated embodiment, by automatically generating a variety of feasible pallet pattern schemes, calculating performance parameters such as the space utilization rate of each pallet pattern, and then calculating a comprehensive score through different weights for recommendation. This algorithm realizes the automatic design of pallet patterns, automatic evaluation and selection of pallet patterns, and transforms expert thinking and process skills into computable and evaluable mathematical models. In this way, by simplifying the configuration process of palletizing task parameters, operators can complete the configuration work more quickly, thereby improving the palletizing efficiency and reducing the production time cost. In addition, it can also ensure that the robot grasps and places products more accurately, improve the stability and regularity of palletizing, and enhance the flexibility and adaptability of production. In the case of considering space utilization,

[0054] the intelligent palletizing function can automatically recommend the optimal pallet pattern according to the product information and limit parameters provided by the user, improve the space utilization rate of the pallet, and reduce the storage and transportation costs.

[0055] Figure 5A FIG. shows a schematic diagram of an example process 500A for generating a palletizing program for a robot according to an embodiment of the present disclosure. As Figure 5A shown, process 500A includes a parameter setting step. Here, the host computer displays a parameter setting interface 502 to the user through a human-machine interface. The user sets the name of the target program as Pile through the parameter setting interface 502; sets the operation mode as the normal mode; selects the target product as BOX; selects the pallet model for placing the product as pallet 5; does not set the length margin and width margin. Then, the host computer determines the range for placing one layer of products based on the size of the pallet "pallet 5" and the length margin and width margin according to the received parameters.

[0056] The host computer determines the two-dimensional representation of the product based on the length and width of the product "BOX", and sequentially places the products within the range to obtain a plurality of first placement patterns. The process of obtaining the first placement pattern will be described below with reference to Figure 5B FIG. Figure 5B FIG. shows a schematic diagram of an example placement pattern 500B according to an embodiment of the present disclosure. As Figure 5B shown, the range 512 for placing the product is determined, that is, corresponding to the surface area of the pallet "pallet 5".

[0057] In some embodiments, the host computer may place product "1" in the upper left corner of the range 512 for placing products, such that the long side of product "1" is aligned with the Y side of the range 512 for placing products, and the wide side of product "1" is aligned with the X side of the range 512 for placing products. Then, according to the remaining positions in the same row as product "1", that is, the remaining positions in the Y direction of the topmost row, it is determined that one product "2" can be placed horizontally, or one product "2" and one product "3" can be placed vertically. Here, it is selected to place product "2" and product "3" in the first row. The long side of product "2" is adjacent to product "1", and the wide side of product "2" is aligned with the Y-direction side of the range 512 for placing products. In this way, the host computer fills one row of the range for placing products with products, and then fills the adjacent rows of the range 512 for placing products in the same way to obtain products "4" and "5" in the second row.

[0058] Thus, the host computer fills the range for placing products row by row with products to obtain the first placement pattern 514. The host computer determines the corresponding second placement pattern 516 by flipping the first placement pattern 514. For example, as Figure 5B shown, the axisymmetric pattern of the first placement pattern 514 can be determined as the second placement pattern 516 with the midline A in the Y direction of the range 514 for placing products as the axis of symmetry. After determining the first placement pattern 514 and the second placement pattern 516, the host computer starts to produce the corresponding stack pattern. Figure 5C A schematic diagram of an exemplary stack pattern 500C according to an embodiment of the present disclosure is shown.

[0059] As Figure 5C shown, the host computer determines that the number of single-layer products in each of the multiple first placement patterns is 9. The host computer determines that the number of layers of the stack pattern corresponding to the first placement pattern 514 is 7 based on the number 63 of multiple products and the number 9 of single-layer products. The host computer determines the stack pattern by respectively setting the first placement pattern 514 and the corresponding second placement pattern 516 for adjacent two layers in the stack pattern. Here, the odd-numbered layers among the 7 layers are set as the first placement pattern 514, and the even-numbered layers are set as the second placement pattern 516 to obtain the stack pattern 500C.

[0060] Return Figure 5A, the host computer generated 6 stack patterns and generated a stack pattern list 504 to visually display the performance indicators and stack pattern scores of the stack patterns. Each layer of the stack pattern "Stack 1" has 9 products, has an index 1 of A1%, has an index 2 of B1%, and has an index 3 of C1%. Here, the index 1 can be, for example, the single - unit difference rate, the index 2 can be, for example, the space occupancy rate, and the index 3 can be, for example, the odd - even coincidence rate. By performing a weighted calculation on the index 1, index 2, and index 3, the score "S1" can be obtained. In this way, 6 stack patterns sorted from largest to smallest and the corresponding 6 scores can be obtained. Since the stack pattern "Stack 1" has the largest score "S1", the stack pattern "Stack 1" is determined as the target stack pattern.

[0061] After determining the target stack pattern, the host computer determines the data in the stack pattern "Stack 1" and applies this data to the template program to obtain the target program 506. The host computer can send the target program 506 to the controller of the robot and control the robot to perform the palletizing operation.

[0062] Figure 6 A schematic block diagram of an example device 600 that can be used to implement the embodiments of the present disclosure is shown. As Figure 6 shown, the device 600 includes a central processing unit (CPU) 601 as a processor, which can execute various appropriate actions and processes according to computer program instructions stored in a read - only memory (ROM) 602 or computer program instructions loaded from a storage unit 608 into a random - access memory (RAM) 603. For example, instructions for causing the device 600 to execute a method for detecting the line state of an electrical device according to an embodiment of the present disclosure are stored in the ROM 602, RAM 603, or storage unit 608 as a memory. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The CPU 601, ROM 602, and RAM 603 are connected to each other through a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0063] A plurality of components in the device 600 are connected to the I / O interface 605, including: an input unit 606; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0064] The processing unit 601 executes the various methods and processes described above, such as method 200, 300, or 400. For example, in some embodiments, methods 200, 300, and 400 may be implemented as computer software programs tangibly embodied in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed onto the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the CPU 601, one or more steps of method 200 described above may be performed. Alternatively, in other embodiments, the CPU 601 may be configured to execute methods 200, 300, and 400 by any other suitable means (e.g., by means of firmware).

[0065] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. By way of example, and without limitation, the types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), and the like.

[0066] The program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, a special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on the remote machine or server.

[0067] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0068] In addition, although the operations are depicted in a particular order, this should be understood as requiring that the operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed to achieve the desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the foregoing discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation may also be implemented separately or in any suitable sub-combination in multiple implementations.

[0069] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.

Claims

1. A method for generating a palletizing program for a robot, comprising: Acquire a plurality of pallet types of a plurality of products, wherein the plurality of pallet types indicate a plurality of palletizing positions of the plurality of products; Determining a plurality of palletizing scores for the plurality of palletizing types based on the plurality of palletizing positions; Selecting a target stack type from the plurality of stack types based on the plurality of stack type scores; as well as A palletizing program corresponding to the target pallet type is generated, and the palletizing program is used for the robot to perform a palletizing operation.

2. The method of claim 1 , wherein determining the plurality of stacking scores for the plurality of stacking types based on the plurality of stacking types comprises: Determining a first placement pattern and a second placement pattern of adjacent first and second layers in a first stack type among the plurality of stack types; Determining at least one performance indicator for the first stack type based on the first placement pattern of the first stack type, the second placement pattern, product parameters of the plurality of products, and sizes of code trays for the plurality of products; as well as Based on the at least one performance indicator, a stacking score for the first stacking type is determined.

3. The method of claim 2, wherein determining the stacking score of the first stacking type based on the at least one performance indicator comprises: determining one or more performance indicators associated with stability of the at least one performance indicator; as well as In response to determining that all of the one or more performance indicators are greater than corresponding predetermined thresholds, determining that the stack type is available; and The stacking score for the first stacking type is determined based on a set of weights and the at least one performance indicator.

4. The method according to claim 3, further comprising: Obtaining different sets of weights and predetermined scene indications; as well as The set of weights is selected from the plurality of sets of weights based on the scenario indication.

5. The method according to claim 2, wherein the at least one performance indicator comprises at least one of the following: a monomer difference rate indicating an overhang ratio of a product bottom surface of the second layer, wherein the second layer is located above the first layer; Code disc coverage, indicating the coverage of the product of the first layer or the second layer on the code disc; Palletizing regularity, indicating the consistency between the first placement pattern and the second placement pattern; Space occupancy rate, indicating the space occupancy ratio of products in one of the plurality of stack types; or The odd-even overlap ratio indicates an overlap ratio between the first layer and the second layer.

6. The method according to claim 1, further comprising: Determining a range for placing a layer of products based on the size of the code disk for the plurality of products; placing the products sequentially within the range based on the lengths and widths of the plurality of products to obtain a plurality of first placement patterns; as well as Based on the plurality of first placement patterns and the number of the plurality of products, the plurality of stack types are determined.

7. The method of claim 6, wherein determining the plurality of stack types based on the plurality of first placement patterns and the number of the plurality of products comprises: Determine the height of a single layer of products, the overall limit height of the stack, and the height of the pallet; Determine the number of layers of the stack corresponding to each first placement mode based on the height of the single-layer product, the overall limit height of the stack, and the height of the code plate; Determine a corresponding second placement mode by flipping or rotating each first placement mode; as well as Each stack type is determined by respectively setting the first placement mode and the corresponding second placement mode for two adjacent layers in each stack type, so as to obtain the plurality of stack types.

8. The method according to claim 1, wherein generating the palletizing program corresponding to the target pallet type comprises: Obtaining robot parameters of the robot; Determining a plurality of placement positions of the plurality of products in the target stack type; as well as The palletizing program is generated based on the plurality of placement positions and a template program corresponding to the robot parameters.

9. The method according to claim 1, further comprising The palletizing program is sent to a controller associated with the robot so that the controller controls the robot to execute the palletizing program.

10. A controller comprising: at least one processor; as well as At least one memory comprising instructions stored thereon, which when executed by the at least one processor cause the at least one processor to perform the method according to any one of claims 1 to 9.

11. A robot system comprising: A robot configured to perform palletizing operations; a control cabinet configured to control the robot; The host computer comprises the controller according to claim 10 and is configured to send the generated palletizing program to the control cabinet so that the control cabinet executes the palletizing program to control the robot to perform the palletizing operation indicated by the palletizing program.

12. A computer-readable storage medium having instructions stored thereon, which when executed by at least one processor cause the at least one processor to perform the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Method and device for evaluating stack type

    CN110220549A

  • Flexible stacking method and system for various carton models

    CN114735487A

  • Stacking planning method and device

    CN117842712A

  • HMI-based stack type planning method, apparatus and device, and storage medium

    CN119590876A

  • Stacking method and system, terminal and storage medium

    CN119873176A