Cargo loading method, device and equipment and storage medium
By using a deep Q-network model to determine the cargo loading space and orientation, and controlling the conveying and sorting device to adjust the cargo orientation and sorting, the problem of low pallet loading efficiency caused by differences in cargo type, size and weight is solved, achieving efficient loading and low-cost logistics.
Patent Information
- Application Number
- CN202411154265.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2026-03-03
AI Technical Summary
In logistics transportation, differences in the type, size, and weight of goods lead to low pallet loading efficiency, increasing freight costs and logistics expenses.
By acquiring information on the space occupancy of the cargo loading space and the size information of the cargo to be loaded, a deep Q-network model is used to determine the target cargo loading space and orientation, and the conveying and sorting device is controlled to adjust the cargo orientation and sort it to the target transmission channel to achieve reasonable loading.
It improved cargo loading efficiency, reduced the number of pallets used and freight costs, and lowered logistics costs.
Smart Images

Figure CN121590938A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of logistics, and in particular relates to a cargo loading method, apparatus, equipment and storage medium. Background Technology
[0002] In logistics and transportation, goods are typically packaged and loaded onto pallets, and finally loaded into containers for transport. In a highly automated supply chain, it is necessary to select as many goods as possible to load onto pallets, and to load as many goods as possible onto the same pallet, so as to make the most of the space provided by the pallet, thereby reducing space waste, lowering freight costs, and saving costs.
[0003] Different types of goods vary in type, size, and weight. The way robotic arms handle the picking and placing of goods, as well as the adjustment and distribution of goods on pallets, all affect the efficiency of goods circulation, pallet utilization, the number of pallets used, and freight costs.
[0004] Therefore, there is a need to propose a cargo loading method that allows for the effective adjustment and allocation of goods of different types, sizes, and weights on pallets, in order to improve loading efficiency and reduce loading and logistics costs. Summary of the Invention
[0005] This application provides a cargo loading method, apparatus, equipment, and storage medium to enable effective adjustment and allocation of cargo, improve loading efficiency, and reduce loading and logistics costs.
[0006] A first aspect of this application provides a cargo loading method, including:
[0007] Obtain the space occupancy information of the loaded goods in each cargo loading space, and the size information of the goods to be loaded; wherein, each cargo loading space is associated with a cargo conveying channel;
[0008] Based on the space occupancy information and the size information, the target cargo loading space and the target cargo posture are determined;
[0009] The control conveying and sorting device adjusts the cargo to be loaded to the orientation of the target cargo and sorts the cargo to be loaded into the target cargo transport channel associated with the target cargo loading space.
[0010] A second aspect of this application provides a cargo loading device, comprising:
[0011] The acquisition module is used to acquire space occupancy information of the loaded goods in each cargo loading space, and size information of the goods to be loaded; wherein, each cargo loading space is associated with a cargo conveying channel;
[0012] The determination module is used to determine the target cargo loading space and the target cargo posture based on the space occupancy information and the size information;
[0013] The control module is used to control the conveying and sorting device to adjust the cargo to be loaded to the posture of the target cargo, and to sort the cargo to be loaded to the target cargo transmission channel associated with the target cargo loading space.
[0014] A third aspect of this application provides a computer device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method described in the first aspect.
[0015] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method described in the first aspect.
[0016] The fifth aspect of this application provides a computer program product including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in an electronic device, a processor in the electronic device performs the steps of the method described in the first aspect above.
[0017] The above-described scheme in this application embodiment obtains the space occupancy information of the loaded goods in each cargo loading space and the size information of the goods to be loaded. Based on the space occupancy information and size information, it determines the target cargo loading space and the orientation of the target goods. Finally, it controls the conveying and sorting device to adjust the goods to be loaded to the target cargo orientation and sorts the goods to be loaded to the target cargo transmission channel associated with the target cargo loading space. During the sorting and conveying process of the goods to be loaded, the orientation of the goods is determined and adjusted, and the transmission channel to be selected is determined. Finally, by combining the two, the goods are conveyed to the appropriate cargo loading space in a suitable orientation, so that the goods can be effectively adjusted and allocated, improving cargo loading efficiency and cargo loading space utilization, and reducing loading and logistics costs. Attached Figure Description
[0018] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiments below. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0019] Figure 1 This is a flowchart of a cargo loading method according to some embodiments of this application. Figure 1 ;
[0020] Figure 2 These are schematic diagrams illustrating cargo loading and conveying scenarios according to some embodiments of this application;
[0021] Figure 3 This is a schematic diagram of pallet stacking in some embodiments of this application;
[0022] Figure 4 This is a height diagram of pallet stacking corresponding to some embodiments of this application;
[0023] Figure 5 These are example diagrams illustrating the structure of deep Q-network models in some embodiments of this application;
[0024] Figure 6 This is a flowchart of a cargo loading method according to some embodiments of this application. Figure 2 ;
[0025] Figure 7 This is a schematic diagram of a given package in some embodiments of this application;
[0026] Figure 8 This is a schematic diagram of the tray and the constructed coordinate system in some embodiments of this application;
[0027] Figure 9 This is a schematic diagram of some embodiments of this application showing the items being orthogonally arranged on a tray;
[0028] Figure 10 This is a schematic diagram of six different rotational orientations of goods wrapped in a pallet within the loading space provided by the pallet in some embodiments of this application;
[0029] Figure 11 This is a schematic diagram of the spatial relationship of package placement in some embodiments of this application;
[0030] Figure 12 This is a schematic diagram showing the height of the package when it is not loaded in some embodiments of this application;
[0031] Figure 13 This is a schematic diagram showing the height of the package after it has been loaded at different coordinate positions in some embodiments of this application;
[0032] Figure 14 This is a structural diagram of a file name processing apparatus according to some embodiments of this application;
[0033] Figure 15 This is a structural diagram of the computer device provided in the embodiments of this application. Detailed Implementation
[0034] The embodiments of the technical solution of this application will now be described in detail with reference to the accompanying drawings. These embodiments are only used to more clearly illustrate the technical solution of this application and are therefore merely examples, and should not be used to limit the scope of protection of this application.
[0035] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the application; the terms “comprising” and “having”, and any variations thereof, in the specification, claims, and foregoing description of the drawings are intended to cover non-exclusive inclusion.
[0036] In the description of the embodiments of this application, technical terms such as "first" and "second" are used only to distinguish different objects and should not be construed as indicating or implying relative importance or implicitly specifying the number, specific order, or primary and secondary relationship of the indicated technical features. In the description of the embodiments of this application, "multiple" means two or more, unless otherwise explicitly defined.
[0037] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0038] In the description of the embodiments in this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.
[0039] In logistics warehouses and transshipment centers, goods are typically transported via conveyor belts, with all packages entering the loading process sequentially according to time. Meanwhile, automated factories often use robotic arms to load goods into loading spaces provided by cargo handling devices. These cargo handling devices may include, for example, pallets or other equipment with cargo handling capabilities.
[0040] In some cases, goods are first loaded onto pallets and then into containers. Alternatively, in other cases, goods can be loaded directly into transport vehicles. In these processes, pallets or vehicles provide the space for loading the goods.
[0041] In this embodiment, the cargo transport device is specifically described using a pallet as an example.
[0042] Given a set of goods, each of which, when packaged, can be considered a standard cuboid. Given a pallet with length and width, and a given height limit. The goods are packaged into parcels, which are transported by conveyor belt to a robotic arm. The robotic arm removes the parcels from the conveyor belt and places them onto the pallet.
[0043] Goods come in different types, sizes, and weights. The way robotic arms handle the picking and placing of goods, as well as the adjustment and distribution of goods on pallets, all affect the efficiency of goods circulation, pallet utilization, the number of pallets used, and freight costs.
[0044] To effectively adjust and allocate goods, improve loading efficiency, and reduce loading and logistics costs, the cargo loading method in this embodiment uses multiple robotic arms to place multiple pallets. One robotic arm places one pallet, and a conveyor belt transports and distributes the goods to the corresponding robotic arm loading area. Multiple robotic arms operate simultaneously, transferring goods from the conveyor belt to different pallets. By adjusting the loading strategy in this process, pallet utilization is improved, and the average pallet usage cost is reduced.
[0045] Specifically, the conveyor belt is used to adjust the goods to the target position and distribute the goods to different pallets. The type, size and weight of the goods on different pallets are adjusted to improve the utilization rate of each pallet on average, reduce the number of pallets used, reduce the consumption of freight costs, and achieve high-efficiency cargo loading and low-cost warehouse management, shipping and air cargo transportation.
[0046] To illustrate the technical solution described in this application, specific embodiments are provided below.
[0047] Combination Figure 1 As shown, in some embodiments, a cargo loading method is proposed, including:
[0048] Step 101: Obtain the space occupancy information of the loaded goods in each cargo loading space, and the size information of the goods to be loaded.
[0049] Among them, combined Figure 2 As shown, each cargo loading space is associated with a cargo conveying channel. In the example, one end of the conveyor belt has multiple channel branches (i.e., cargo conveying channels), and each channel branch corresponds to a loading work area. In the loading work area, there is a robotic arm and a pallet (one pallet provides one cargo loading space). The robotic arm loads the cargo onto the pallet.
[0050] Step 102: Based on the space occupancy information and the size information, determine the target cargo loading space and the target cargo posture.
[0051] In one example, this process can compare data sizes based on space occupancy and size information, and simulate the state of placing the cargo to be loaded in different cargo loading spaces based on different cargo postures. Then, the placement results of each situation are compared to select the appropriate target cargo posture and the appropriate cargo loading space. The target cargo loading space and target cargo posture are determined through data comparison and loading simulation.
[0052] Alternatively, the target cargo loading space and the target cargo orientation can be obtained based on a pre-trained model. That is, the target cargo loading space and the target cargo orientation are determined by the pre-trained model based on the input space occupancy information and the size information.
[0053] In one alternative implementation, the pre-trained model can be a Deep Q-Network (DQN) model or a Deep Dueling Double Q-Network (D3QN) model.
[0054] The reinforcement learning algorithm for this network can utilize the height map of the stack. In one example, Figure 3 and Figure 4 This diagram shows the stacking status of a pallet and its corresponding height.
[0055] In one example, the space occupancy information in the preceding steps is a height map corresponding to the loaded goods in each of the cargo loading spaces. Each cargo loading space corresponds to one height map, therefore there are multiple height maps in the space occupancy information. The size information in the preceding steps is a size map of the goods to be loaded.
[0056] The height map can be obtained by: based on the height information of the space occupied by the loaded goods in each cargo loading space and the loading position information, obtaining the height map corresponding to the loaded goods in the cargo loading space as space occupancy information.
[0057] Optionally, in one example, step 102, based on the space occupancy information and the size information, determines the target cargo loading space and the target cargo orientation, including:
[0058] Multiple height maps corresponding to each cargo loading space and dimension maps of the cargo to be loaded are input into the pre-trained model to obtain the state values and action values output by the pre-trained model. Based on the state values and action values, the target cargo posture is determined from different given cargo postures, and the target cargo loading space under the target cargo posture is determined from different cargo loading spaces.
[0059] The state value indicates the expected reward value obtained by loading the cargo to be loaded into different cargo loading spaces; the action value indicates the expected additional reward value obtained by loading the cargo to be loaded into different cargo loading spaces under a given cargo posture.
[0060] Optionally, the state value is used to indicate the expected reward value obtained by loading the cargo to be loaded under the cargo size corresponding to the size diagram into the cargo loading space under each space occupancy information; the action value is used to indicate the expected additional reward value obtained by loading the cargo to be loaded under each given cargo posture into different cargo loading spaces under each space occupancy information.
[0061] Combination Figure 5 As shown, taking a deep Q-network as an example, this application embodiment improves the deep Q-network model. The model's input includes height maps of all pallets and package size of the current package (goods to be loaded). After the convolution step, the fully-connected layer output is divided into two parts. One part outputs the state value V(s), and the other part outputs the action value A(s,a). Therefore, the Q-value estimation function is changed to:
[0062]
[0063] The Q-value function is an important concept in reinforcement learning, used to evaluate the value of taking an action given a state.
[0064] In a deep Q-network, the Q-value function is represented as a parameterized function Q(s, a; θ), where θ represents the network model parameters of the deep neural network. This deep neural network receives state s and action a as input and outputs a Q-value estimate of the state-action pair.
[0065] θ represents the parameters used in the deep neural network to estimate the Q-value. The input to this model is a height map of all pallets and a size map of the current package.
[0066] In the above estimation function for the Q value, θ is the set of actions, and θ is the overall weight of the neural network, including convolution step weights ω, state value weights β, and action value weights α. Here, "convolution step" refers to a feature extraction process in the network, which may be implemented through convolutional layers or other types of layers, and ω is the weight parameter used for feature extraction in these layers.
[0067] The Q value is decomposed into two parts: the state value V(s) and the action value A(s,a).
[0068] The state value V(s) represents the reward that the agent expects to obtain given state s, without considering specific actions a. β is a parameter used to balance or weight the contribution of this state value to the final Q-value.
[0069] The action value A(s,a) represents the additional reward (action advantage) that can be obtained by taking action a relative to taking other actions in a given state s. α is used to adjust the contribution of this action value to the final Q value.
[0070] in, This represents the average action value of all possible actions a' in a given state s. This average is subtracted from the action value of the current action a to ensure that the action advantage of action a is measured relative to a baseline (i.e., average advantage). This helps improve the training stability and performance of the network.
[0071] In the formula This represents the total number of possible actions that can be taken in a given state. This number is fixed during training and is the same for every state.
[0072] The state value V(s) provides the agent with an assessment of whether the current state is good or bad, while the action value A(s,a) indicates the action advantage, telling the agent which action would be more advantageous in a given state. By adding these two parts and subtracting the average of the action advantages for normalization, the Q-value function can more accurately reflect the agent's expected reward for taking a specific action in a given state.
[0073] The entire formula decomposes the Q-value into two parts: state value and action value, enabling the network to better learn the value of the state itself and the differences between different actions.
[0074] Meanwhile, in an optional implementation, a dual-Q duel network model is integrated into the new network framework.
[0075] In one implementation, the experience replay cache is initialized, along with two adversarial neural networks (Q-networks) with weights θ and θ' respectively. ′ .
[0076] For each step in the model reinforcement learning process, perform the following steps:
[0077] Obtain a new package, and randomly select action a from that package with a set probability ∈ t Select with probability 1-∈ As an action, ∈ takes values between 0 and 1, such as 0.05, 0.02, etc.
[0078] Here, an ∈-greedy strategy is adopted. In this strategy, the agent randomly selects an action with probability ∈, and selects the action with the highest estimated value in the current state with probability (1-∈). Here, Q(s) t ,a′;θ t ) represents the state s given by the state s t When action a′ is taken, the model parameter is θ. t The action state values estimated by the Q-network (i.e., the aforementioned Q-values). Given the current state, the action that maximizes the Q-value, based on the predictions of the Q-network.
[0079] In this embodiment, the space occupancy information corresponding to different states on the tray is the environment, and the environment provides s t Let a be the state at time t. t The action is defined at time t.
[0080] Alternatively, the height map of the pallet at time t can be extracted from the environment as the state s. t .
[0081] Optionally, the action may include the orientation of the package (cargo orientation), the selected pallet, and the selected location coordinates on the selected pallet.
[0082] With the selected action a t To execute the heuristic algorithm and obtain the stimulus r corresponding to the action (i.e., the stimulus information generated based on the number of selected position coordinates in subsequent embodiments).
[0083] Specifically, the agent selects action a according to the ∈-greedy policy. t Perform the action in the environment and calculate the corresponding stimulus r. t The "heuristic algorithm" here actually refers to the process by which an intelligent agent interacts with its environment based on selected actions.
[0084] Then, the process of this operation will be recorded as (s) t ,a t ,r t ,s t+1 And store it in the experience replay cache. middle.
[0085] Among them, after the action a was performed t And receive the stimulus r t Afterwards, the environment will transition to a new state s. t+1 The agent will record the complete process of this interaction (including the current state s). tActions taken (a) t The incentives obtained r t and the new state s after the transformation t+1 Stored as an experience sample in the experience replay cache These empirical samples will then be used to train the Q-network to improve the agent's decision-making ability.
[0086] Subsequently, from the experience replay cache In this process, a subset of operations is selected as training data to train the adversarial neural network. During training, a neural network is randomly selected for updates, and the weights of the selected adversarial neural network at time t are denoted as θ. t Another competing neural network is θ. ′ t For experience replay cache Selected operation (s) k ,a k ,r k ,s k+1 ),definition And use (r) k +γQ(s k+1 ,a * ;θ ′ t )-Q(s k ,a k ;θ t )) 2 The weights θ of the neural network are updated as a loss function. t .
[0087] Update status s t For s t+1 And return to the step to get a new package, with a set probability ∈ random selection of action a. t Select with probability 1-∈ The process continues as an action until all packages have been processed.
[0088] The above process, by using a pre-trained model, quickly determines the target cargo loading space and the appropriate target cargo orientation from each cargo loading space based on the spatial occupancy information of each cargo loading space and the size information of the cargo to be loaded, thus ensuring the accuracy and efficiency of data processing.
[0089] Step 103: Control the conveying and sorting device to adjust the cargo to be loaded to the posture of the target cargo, and sort the cargo to be loaded to the target cargo transmission channel associated with the target cargo loading space.
[0090] The above process mainly involves the conveyor belt side. By acquiring the space occupancy information of the loaded goods in each cargo loading space and the size information of the goods to be loaded, the target cargo loading space and the target cargo posture are determined based on the space occupancy information and size information. Finally, the conveying and sorting device is controlled to adjust the goods to be loaded to the target cargo posture and sort the goods to be loaded to the target cargo transmission channel associated with the target cargo loading space. During the sorting and conveying process of the goods to be loaded, the posture of the goods is determined and adjusted, and the transmission channel to be selected is determined. Finally, by combining the two, the goods are transferred to the appropriate cargo loading space in the appropriate posture.
[0091] This process involves adjusting and arranging goods on different pallets in a suitable posture using a conveyor belt, thereby adjusting the type, size, and weight of goods on different pallets. This allows for coordinated placement of goods across multiple pallets, increasing the utilization rate of each pallet on average, reducing the number of pallets used, and decreasing freight costs by adjusting and distributing goods across different pallets.
[0092] The above solutions enable the effective adjustment and allocation of goods, improve cargo loading efficiency and cargo loading space utilization, and reduce loading and logistics costs.
[0093] In one implementation, combined Figure 6 As shown, after step 103 allocates the goods to be loaded to the target goods transfer channel associated with the target goods loading space, it further includes:
[0094] Step 601: Based on the cargo to be loaded and the set constraints, select position coordinates that meet the set constraints from the remaining loading space of the target cargo loading space.
[0095] The following constraints must be met regarding the status of goods on a single pallet:
[0096] like Figure 7 As shown, for a given i-th package, its length is l i Width is w i height division h i .
[0097] like Figure 8 As shown, the cargo transport device is a pallet, and the length, width, and height limit of the pallet are represented by L, W, and H, respectively. The cargo loading space provided by the cargo transport device can establish a three-dimensional spatial coordinate system. The xoy plane of the three-dimensional spatial coordinate system is the bottom surface of the cargo loading space, and the y-axis is perpendicular to the xy plane. The origin of this three-dimensional spatial coordinate system can be a vertex of the bottom surface of the cargo loading space.
[0098] In a given set of packages, not all packages will be loaded onto the pallet, hence the use of b. i This indicates whether package i is selected.
[0099]
[0100] Therefore, its volume constraint is:
[0101]
[0102] This process, based on the space dimensions of the pallet, determines the sum of the dimensions of all packages to be carried.
[0103] For package i, its weight can be expressed as m. i Let M represent the total weight that the pallet can bear; therefore, its weight constraint is as follows:
[0104]
[0105] This process ensures that the total weight of the packages is less than the total weight the pallet can bear.
[0106] Combination Figure 9 As shown, package i is placed on the tray using an orthogonal arrangement strategy. This arrangement requires that each side of the package be parallel to any axis. Since the package may be rotated when placed on the tray, a rotational arrangement is used... Let x, y, and z represent the side lengths of package i in the pallet space, parallel to the x, y, and z axes, respectively. The position of package i is represented by the coordinates of the vertex closest to the origin of the Cartesian coordinate system. Feasibility constraints require that all parts of package i must be within the pallet space; the specific constraints are as follows:
[0107]
[0108]
[0109] Where, x i y i z i These represent the x-axis, y-axis, and z-axis coordinates of package i, respectively. These three coordinate parameters together indicate the position coordinates of package i within the cargo loading space (the package must be loaded into the cargo loading space according to these position coordinates). Optionally, these position coordinates are specifically the coordinates of the vertex of the package within the cargo loading space that is closest to the origin of the three-dimensional spatial coordinate system. These represent the side lengths of package i in the pallet space parallel to the x, y, and z axes, respectively (i.e., the side lengths of package i in the pallet space along the x, y, and z axes, respectively). The meanings and principles of the relevant parameters for other packages (such as package j) are the same as those for package i.
[0110] The above constraints (4)-(6) together require that the position coordinates of the package in the cargo loading space be greater than 0 and less than the maximum value of the space size in different coordinate axis directions minus the side length of the package in the corresponding coordinate axis direction in the space.
[0111] Figure 10 The document details six different rotational orientations (cargo postures) of package i within the cargo loading space provided by the pallet. In application, the package needs to satisfy one of these orientations (i.e., be in a specific cargo posture), with the following rotational constraints:
[0112]
[0113] The dimensions of the package itself are fixed. In the above process, the packages must be placed orthogonally. Specific constraints:
[0114] The side length of package i along the x-axis is equal to the length of package i. The side length of package i along the y-axis is equal to the width of package i. The side length of package i along the z-axis is equal to the height of package i.
[0115] Alternatively, the side length of package i along the x-axis is equal to the length of package i. The side length of package i along the y-axis is equal to the height of package i. The side length of package i along the z-axis is equal to the width of package i.
[0116] Alternatively, the side length of package i along the x-axis is equal to the width of package i. The side length of package i along the y-axis is equal to the length of package i. The side length of package i along the z-axis is equal to the height of package i.
[0117] Alternatively, the side length of package i along the x-axis is equal to the width of package i. The side length of package i along the y-axis is equal to the height of package i. The side length of package i along the z-axis is equal to the length of package i.
[0118] Alternatively, the side length of package i along the x-axis is equal to the height of package i. The side length of package i along the y-axis is equal to the length of package i. The side length of package i along the z-axis is equal to the width of package i.
[0119] Alternatively, the side length of package i along the x-axis is equal to the height of package i. The side length of package i along the y-axis is equal to the width of package i. The side length of package i along the z-axis is equal to the length of package i.
[0120] Combination Figure 11 As shown, in the mathematical model, it is necessary to ensure that no two boxes overlap in space to conform to practical applications. The cross-over constraint requires that the two boxes do not overlap in any of the x, y, or z axes. The constraint is as follows:
[0121]
[0122] in, This inequality states that the rightmost (or farthest) coordinate of package i along the x-axis does not exceed the x-axis coordinate of package j. In other words, if package i and j are projected onto the x-axis, and a "boundary" of i is considered, then this boundary of i will not extend beyond the position of j.
[0123] This inequality is the opposite of the first one; it states that the rightmost coordinate of package j in the x-axis direction does not exceed the x-axis coordinate of package i.
[0124] The first inequality states that the rightmost coordinate of package i in the y-axis direction does not exceed the y-axis coordinate of package j. In other words, if both packages are projected onto the y-axis, and a "boundary" of i is considered, then this boundary of i will not extend beyond the position of j. The second inequality states that the rightmost coordinate of package j in the y-axis direction does not exceed the y-axis coordinate of package i.
[0125] Similarly, the meaning of these two inequalities is the same as the principle described above, which restricts the boundary coordinates of i along the z-axis to no more than the z-axis coordinates of j. This will not be elaborated further here.
[0126] Figure 11 The gray area represents the contact area between the bottom surface of package i and the top surface of package j, indicating that package j supports a portion of package i from below. Before calculating this contact surface, its existence must be ensured. Stability constraints require calculating the sum of the areas of the contact portions.
[0127] This process determines whether there is contact between the bottom surface of the package and the top surface of other packages, and if so, calculates the sum of the areas of the contact areas.
[0128] For any two packages i and j, add a constraint to determine whether package i is supported by package j. If true, calculate their contact area τ. (i,j) If false, its contact area τ (i,j) =0. The condition for enclosing i and j must satisfy:
[0129]
[0130] in, This means that the z-coordinate of package j plus the length of package j in the z-axis direction equals the z-coordinate of package i (i.e., the furthest point of package j in the z-axis direction is equal to the z-coordinate of package i). i (overlap); this means that the two packages are "aligned" or "in contact" in the z-axis direction.
[0131] This means that the x-axis coordinate of package i is less than the x-axis coordinate of package j plus the length of package j in the x-axis direction (i.e., the left boundary of package i on the x-axis is within the right boundary of package j).
[0132] This means that the x-axis coordinate of package j is less than the x-axis coordinate of package i plus its length in the x-axis direction (i.e., the left boundary of package j on the x-axis is within the right boundary of package i).
[0133] This means that the y-axis coordinate of package i is less than the y-axis coordinate of package j plus its length in the y-axis direction (i.e., the left boundary of package i on the y-axis is within the right boundary of package j).
[0134] This means that the y-axis coordinate of package j is less than the y-axis coordinate of package i plus its length in the y-axis direction (i.e., the left boundary of package j on the y-axis is within the right boundary of package i).
[0135] If all conditions are met, then calculate the contact area τ between package i and package j. i,j The contact area τ i,j To measure the overlap length between package i and package j in the x-axis and y-axis directions (i.e. Multiply by 1 to get the result.
[0136] If package i is supported by package j, the contact area is... in Let x be the length of the contact surface on the x-axis. The length of the contact surface on the y-axis is given by the following formula:
[0137]
[0138]
[0139] in, This represents the smaller of the two farthest points that packages i and j can reach along the x-axis (the boundary along the x-axis); max(x i ,x j ): Calculate the larger of the x-coordinate of package i and the x-axis coordinate of package j.
[0140] The difference between the two is the length of the two overlapping portions along the x-axis, which is the length of the contact surface along the x-axis. It is the length of the two overlapping portions along the y-axis, which is the length of the contact surface along the y-axis.
[0141] If calculated A negative number or zero indicates that the two packages do not overlap in the corresponding axial direction, i.e., there is no contact surface.
[0142] The total area of the contact surface can be determined by... Multiply them to get (if both are greater than zero), that is
[0143] This process calculates and defines the area of two contact surfaces enclosed in a two-dimensional space (xy plane).
[0144] Furthermore, for any package i, its stability function is:
[0145]
[0146] In one example Greater than 0.8. τ for all pairs of elements (i,j) in set U. i,j Summing the values:
[0147] For a single pallet, maximizing its space utilization function is to maximize the ratio of the sum of the volumes of all packages loaded onto the pallet to the pallet space, i.e.:
[0148] maximize
[0149] This process maximizes the ratio of the sum of the volumes of all packages loaded onto the pallet to the pallet space.
[0150] Based on any combination of the above conditions, select position coordinates that meet the set constraints from the remaining loading space of the target cargo loading space.
[0151] Step 402: If there are multiple location coordinates, calculate the effect measurement parameter of each location coordinate in the target cargo loading space.
[0152] The effect measurement parameters include the distance between the location coordinates and the reference coordinates in the target cargo loading space, the ratio of the space increment of the target cargo loading space after the cargo to be loaded is loaded at the location coordinates, or the calculated value of the distance and the space increment ratio.
[0153] The calculated value of the distance to the ratio of the occupancy increment can be, for example, the product of the two, or the sum of the two, or a weighted sum, or the sum, weighted sum, or product of the reciprocal of the distance and the occupancy increment ratio.
[0154] Optionally, the reference point is a fixed location point in the cargo loading space. This reference point can be the farthest point of the cargo loading space relative to the origin in the three-dimensional coordinate system. In this case, the calculated value of the distance to the incremental space occupied can be the product of the two, or the sum of the two, or a weighted sum, etc.
[0155] Alternatively, the reference point can be a fixed location within the cargo loading space, which can be selected as the closest point of the cargo loading space relative to the origin in the three-dimensional coordinate system. In this case, the calculation of the distance-to-occupied space increment ratio can be achieved by first calculating the reciprocal of the distance, then calculating the product of the reciprocal and the occupied space increment ratio, or the sum of the two, or a weighted sum, etc.
[0156] The distance between the selected location coordinates and the fixed reference point is used to measure the compactness of the package after loading at the selected location coordinates. The space occupancy of the cargo loading space after loading at the selected location coordinates is used to measure the space occupied by the cargo after loading at the selected location coordinates. Step 403: Based on the effect measurement parameters, the target location coordinates are selected from the multiple location coordinates.
[0157] The location coordinates with the largest value of the effect measurement parameter can be selected as the target location coordinates.
[0158] Step 404: Control the loading operation equipment to load the goods to be loaded into the target goods loading space according to the target position coordinates.
[0159] This process involves determining the target position coordinates of the goods in the loading space on one side of the robotic arm, and then loading the goods using reasonable position coordinates to further improve space utilization.
[0160] In an optional implementation, after step 201 selects position coordinates that meet the set constraints from the remaining loading space of the target cargo loading space based on the cargo to be loaded and the set constraints, the method further includes:
[0161] If the location coordinates are 0, then the cargo transport device providing the target cargo loading space is replaced.
[0162] If the location coordinates are 0, it is assumed that the target cargo loading space is full, and a new pallet should be used.
[0163] In an optional implementation, after step 103 assigns the goods to be loaded to the target goods transport channel associated with the target goods loading space, the method further includes:
[0164] Based on the number of location coordinates, incentive information is generated; the incentive information includes positive incentive information or negative incentive information.
[0165] Wherein, if there are multiple position coordinates, the incentive information is positive incentive information; or, if there are zero position coordinates, the incentive information is negative incentive information.
[0166] Based on different positive and negative incentive information, incentive feedback is given on whether a position coordinate that meets the conditions is selected. Positive incentive is given when a position coordinate that meets the conditions is selected from the cargo loading space, and negative incentive is given when a position coordinate that does not meet the conditions is not selected from the cargo loading space, so as to ensure that as much cargo as possible can be loaded in the cargo loading space and improve the full load rate of the cargo loading space.
[0167] In one example, generating excitation information based on the number of location coordinates includes:
[0168] When there are multiple location coordinates, a positive excitation value is generated based on the target location coordinates. The positive excitation value includes: OSIR (Occupied Space Increment Ratio), V, or OSIR*V.
[0169] Wherein, V is the volume of the cargo to be loaded placed at the target location coordinates, and OSIR is the incremental ratio of the space occupied by the target cargo after the cargo is loaded at the target location coordinates.
[0170] The larger the volume of the cargo to be loaded, the greater the positive incentive value. The greater the increase in the occupied space of the target cargo loading space after loading at the target location coordinates, the greater the positive incentive value. This way, the goal is to maximize the increase in occupied space after loading cargo at the selected target location coordinates, ensuring that as much cargo as possible can be loaded into the cargo loading space, thus improving the cargo loading space's full load rate.
[0171] In an optional implementation, when the target cargo loading space and the target cargo posture are determined by a pre-trained model based on the input space occupancy information and the size information, after generating the excitation information based on the number of position coordinates, the method further includes:
[0172] Based on the incentive information, the model parameters of the pre-trained model are optimized and adjusted.
[0173] In one example, combined Figure 12 As shown, Figure 12This is a height map of a pallet, showing that a package with dimensions of 3 (length x width x height) is currently loaded on the pallet. Figure 12 The package on the right side is to be loaded; its dimensions are 3 cm in length, 3 cm in width, and 2 cm in height.
[0174] When running heuristic algorithms, an important concept is the Operating Space Increment Ratio (OSIR). Optionally, its calculation rules are as follows:
[0175]
[0176] The sum of the new height maps represents the sum of the heights in the height maps corresponding to the cargo loading space after the package to be loaded according to its location coordinates. The sum of the old height maps represents the sum of the heights in the height maps of the cargo already loaded in the cargo loading space before the package to be loaded.
[0177] exist Figure 12 Based on the scenario shown, the incremental ratio of the occupied space of the cargo after loading at different coordinate positions is calculated.
[0178] For example, in Figure 13 In the diagram, the marked dots represent the determined location coordinates. The volume of the package to be loaded is 2*9, the sum of the old height maps is 3*9, and the sum of the new height maps is 5*9 + 3*5. Figure 13 In the left image, the OSIR corresponding to the package to be loaded after loading at the dot is: In the same principle, Figure 13 In the right-hand image, the OSIR after being wrapped and loaded at the marked dot positions is...
[0179] Since the heightmap is a top-down view, the coordinates of the upper right corner are (L, W), where L is the length of the pallet and W is the width of the pallet. If the height limit of the pallet is included, the coordinates become (L, W, H).
[0180] In one example, each time a location coordinate for placing the package to be loaded is selected from the cargo loading space, the relative distance (optionally Manhattan distance) between each coordinate and (L, W, H) is calculated and denoted as distance D. This (L, W, H) is the farthest point of the cargo loading space relative to the origin in the three-dimensional coordinate system, and this location point is used as a reference point. The volume of package i is also denoted as V. i =l i h i w i .
[0181] In an optional implementation, when selecting location coordinates from the cargo loading space that meet the aforementioned constraints, if no suitable coordinates can be selected, it is assumed that there is no available space for the pallet. The pallet is then placed and replaced with a new one. Simultaneously, -100 is returned as an incentive. The next round of judgment and processing is then performed for the next package.
[0182] When multiple location coordinates are selected, the D*OSIR of each coordinate is calculated, and the location coordinate with the largest D*OSIR is selected as the target location coordinate for placing the package. OSIR*V is returned as the stimulus.
[0183] In this process, to minimize the use of pallets, a negative stimulus is applied when changing pallets. When multiple coordinates are available, a target coordinate is selected based on the D value representing the compactness of cargo placement and the OSIR indicating the space utilization rate of cargo loading space.
[0184] In some examples, goods are placed compactly (larger D), but this may result in poor space utilization (smaller OSIR). The target coordinates can be selected using the product of two metrics. Larger packages (larger V) are more incentivized to achieve higher space utilization (larger OSIR). Ensure that the final selected coordinates meet the actual loading requirements and maximize space utilization as much as possible.
[0185] The embodiments described above in this application consider multiple pallet loading scenarios, improving the effective pre-processing and cargo sorting of goods during transport via conveyor belts, which helps to improve pallet utilization efficiency, save pallet space, and reduce loading and transportation costs.
[0186] It should be understood that although the steps in the flowcharts of the embodiments described above 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 embodiments described above 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.
[0187] Based on the same inventive concept, this application also provides a cargo loading device. The cargo loading device provided in this application can realize the various processes of the above-described cargo loading method embodiments and achieve the same technical effect. Therefore, the specific limitations of one or more cargo loading device embodiments provided below can be found in the limitations of the cargo loading method above. To avoid repetition, they will not be repeated here.
[0188] This embodiment can divide the computing side into functional modules according to the above method. For example, it can be divided into functional modules corresponding to each function, or two or more functions can be integrated into one processing module.
[0189] See Figure 14 , Figure 14 This is a structural diagram of a cargo loading device provided in an embodiment of this application. For ease of explanation, only the parts related to the embodiment of this application are shown.
[0190] The cargo loading device 1400 includes:
[0191] The acquisition module 1401 is used to acquire space occupancy information of loaded goods in each cargo loading space, and size information of goods to be loaded; wherein, each cargo loading space is associated with a cargo conveying channel;
[0192] The determining module 1402 is used to determine the target cargo loading space and the target cargo posture based on the space occupancy information and the size information;
[0193] The control module 1403 is used to control the conveying and sorting device to adjust the cargo to be loaded to the posture of the target cargo, and to sort the cargo to be loaded to the target cargo transmission channel associated with the target cargo loading space.
[0194] Optionally, the cargo loading device 1400 also includes:
[0195] The location selection module is used to: select location coordinates that meet the set constraints from the remaining loading space of the target cargo loading space based on the cargo to be loaded and the set constraints;
[0196] If there are multiple location coordinates, then calculate the effect measurement parameter of each location coordinate in the target cargo loading space. The effect measurement parameter includes the distance between the location coordinate and the reference coordinate in the target cargo loading space, the space increment ratio of the target cargo loading space after the cargo to be loaded is loaded at the location coordinate, or the calculated value of the distance and the space increment ratio.
[0197] Based on the effect measurement parameters, the target location coordinates are selected from the plurality of location coordinates;
[0198] The loading operation equipment is controlled to load the goods to be loaded into the target cargo loading space according to the target position coordinates.
[0199] Optionally, the location selection module is further configured to: if the location coordinates are 0, replace the cargo transport device that provides the target cargo loading space.
[0200] Optionally, the location selection module is further configured to: generate incentive information based on the number of location coordinates; the incentive information includes positive incentive information or negative incentive information;
[0201] Wherein, if there are multiple position coordinates, the incentive information is positive incentive information; or, if there are zero position coordinates, the incentive information is negative incentive information.
[0202] Optionally, the location selection module is specifically used for:
[0203] When there are multiple location coordinates, a positive excitation value is generated based on the target location coordinates. The positive excitation value includes: OSIR, V, or OSIR*V.
[0204] Where V is the volume of the cargo to be loaded, and OSIR is the ratio of the incremental space occupied by the target cargo loading space after the cargo is loaded at the target location coordinates.
[0205] Optionally, the target cargo loading space and the target cargo posture are determined by a pre-trained model based on the input space occupancy information and the size information; the cargo loading device 1400 further includes:
[0206] The model optimization module is used to optimize and adjust the model parameters of the pre-trained model based on the stimulus information.
[0207] Optionally, the space occupancy information is a height map corresponding to the loaded goods in each of the cargo loading spaces; the size information is a size map of the goods to be loaded.
[0208] The determining module 1402 is specifically used for:
[0209] The height map and dimension map corresponding to each of the cargo loading spaces are input into the pre-trained model to obtain the state value and action value output by the pre-trained model.
[0210] The state value indicates the expected reward value obtained by loading the cargo to be loaded into different cargo loading spaces; the action value indicates the expected additional reward value obtained by loading the cargo to be loaded into different cargo loading spaces under a given cargo posture.
[0211] Based on the state value and the action value, the target cargo posture is determined from different given cargo postures, and the target cargo loading space under the target cargo posture is determined from different cargo loading spaces.
[0212] The integrated modules described above can be implemented in hardware. It should be noted that the module division in this embodiment is illustrative and represents only one logical functional division; in actual implementation, other division methods may be used.
[0213] It should be noted that the relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.
[0214] In one embodiment, such as Figure 15 As shown, a computer device is provided. The computer device 15 of this embodiment includes: at least one processor 1500 (…). Figure 15 (Only one is shown in the diagram), memory 1501, and computer program 1502 stored in said memory 1501 and executable on said at least one processor 1500, which, when executing said computer program 1502, implements the steps of any of the above method embodiments.
[0215] The computer device 15 may be a desktop computer, laptop, handheld computer, or other computing device. The computer device 15 may include, but is not limited to, a processor 1500 and a memory 1501. Those skilled in the art will understand that... Figure 15 This is merely an example of computer device 15 and does not constitute a limitation on computer device 15. It may include more or fewer components than shown, or combine certain components, or different components. For example, the computer device may also include input / output devices, network access devices, buses, etc.
[0216] The processor 1500 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0217] The memory 1501 can be an internal storage unit of the computer device 15, such as a hard disk or RAM of the computer device 15. The memory 1501 can also be an external storage device of the computer device 15, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card equipped on the computer device 15. Furthermore, the memory 1501 can include both internal and external storage units of the computer device 15. The memory 1501 is used to store the computer program and other programs and data required by the computer device. The memory 1501 can also be used to temporarily store data that has been output or will be output.
[0218] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0219] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0220] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0221] In the embodiments provided in this application, it should be understood that the disclosed apparatus / computer devices and methods can be implemented in other ways. For example, the apparatus / computer device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0222] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms.
[0223] The methods described in this application can be implemented in whole or in part by a computer program product. When the computer program product is run on a computer device, the computer device executes the steps in the various method embodiments described above.
[0224] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A method for loading cargo, characterized in that, include: Obtain the space occupancy information of the loaded goods in each cargo loading space, and the size information of the goods to be loaded; wherein, each cargo loading space is associated with a cargo conveying channel; Based on the space occupancy information and the size information, the target cargo loading space and the target cargo posture are determined; The control conveying and sorting device adjusts the cargo to be loaded to the orientation of the target cargo and sorts the cargo to be loaded into the target cargo transport channel associated with the target cargo loading space.
2. The method according to claim 1, characterized in that, After allocating the goods to be loaded to the target cargo transfer channel associated with the target cargo loading space, the method further includes: Based on the cargo to be loaded and the set constraints, select position coordinates that meet the set constraints from the remaining loading space of the target cargo loading space; If there are multiple location coordinates, then calculate the effect measurement parameter of each location coordinate in the target cargo loading space. The effect measurement parameter includes the distance between the location coordinate and the reference coordinate in the target cargo loading space, the space increment ratio of the target cargo loading space after the cargo to be loaded is loaded at the location coordinate, or the calculated value of the distance and the space increment ratio. Based on the effect measurement parameters, the target location coordinates are selected from the plurality of location coordinates; The loading operation equipment is controlled to load the goods to be loaded into the target cargo loading space according to the target position coordinates.
3. The method according to claim 2, characterized in that, After selecting position coordinates that meet the set constraints from the remaining loading space of the target cargo loading space based on the cargo to be loaded and the set constraints, the method further includes: If the location coordinates are 0, then the cargo transport device providing the target cargo loading space is replaced.
4. The method according to claim 2 or 3, characterized in that, After allocating the goods to be loaded to the target cargo transfer channel associated with the target cargo loading space, the method further includes: Based on the number of location coordinates, incentive information is generated; the incentive information includes positive incentive information or negative incentive information. Wherein, if there are multiple position coordinates, the incentive information is positive incentive information; or, if there are zero position coordinates, the incentive information is negative incentive information.
5. The method according to claim 4, characterized in that, The generation of excitation information based on the number of position coordinates includes: When there are multiple location coordinates, a positive excitation value is generated based on the target location coordinates. The positive excitation value includes: OSIR, V, or OSIR*V. Where V is the volume of the cargo to be loaded, and OSIR is the ratio of the incremental space occupied by the target cargo loading space after the cargo is loaded at the target location coordinates.
6. The method according to claim 4, characterized in that, The target cargo loading space and the target cargo posture are determined by a pre-trained model based on the input space occupancy information and the size information; After generating the excitation information based on the number of position coordinates, the process further includes: Based on the incentive information, the model parameters of the pre-trained model are optimized and adjusted.
7. The method according to claim 1, characterized in that, The space occupancy information is a height diagram corresponding to the loaded goods in each of the cargo loading spaces; the size information is a size diagram of the cargo to be loaded. The step of determining the target cargo loading space and the target cargo posture based on the space occupancy information and the size information includes: The height map and dimension map corresponding to each of the cargo loading spaces are input into the pre-trained model to obtain the state value and action value output by the pre-trained model. The state value indicates the expected reward value obtained by loading the cargo to be loaded into different cargo loading spaces; the action value indicates the expected additional reward value obtained by loading the cargo to be loaded into different cargo loading spaces under a given cargo posture. Based on the state value and the action value, the target cargo posture is determined from different given cargo postures, and the target cargo loading space under the target cargo posture is determined from different cargo loading spaces.
8. A cargo loading device, characterized in that, include: The acquisition module is used to acquire space occupancy information of the loaded goods in each cargo loading space, and size information of the goods to be loaded; wherein, each cargo loading space is associated with a cargo conveying channel; The determination module is used to determine the target cargo loading space and the target cargo posture based on the space occupancy information and the size information; The control module is used to control the conveying and sorting device to adjust the cargo to be loaded to the posture of the target cargo, and to sort the cargo to be loaded to the target cargo transmission channel associated with the target cargo loading space.
9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method as described in any one of claims 1 to 7.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 7.