Parcel separation control method and device, electronic equipment and readable storage medium
By calculating virtual attraction and repulsion, the speed of the conveyor belt is precisely controlled, solving the problem of parallel package stacking, improving the separation efficiency on the conveyor belt, achieving precise speed adjustment of the conveyor belt, solving the technical challenges of package separation in existing technologies, and addressing the technical challenge of low package separation efficiency on the conveyor belt.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- WUHAN JIDONG INTELLIGENT TECH CO LTD
- Filing Date
- 2026-03-19
- Publication Date
- 2026-06-30
AI Technical Summary
In existing e-commerce warehousing and express delivery transit centers, packages tend to stack and run in parallel on conveyor belts, resulting in low transmission efficiency. Furthermore, traditional rule-based strategies for separating individual packages suffer from problems such as complex logic, poor robustness, suboptimal control effects, and limited scalability.
By obtaining the location coordinates of the target package and the exit reference position, and combining the gravitational potential gain coefficient to calculate the virtual gravity, the total virtual repulsion is calculated based on the distance between the target package and other packages and the repulsive potential gain coefficient. The target running speed of the conveyor belt covered by the target package is determined in order to achieve precise separation of the packages.
It improves the separation efficiency of packages on the conveyor belt, reduces logical complexity, enhances the adaptability and robustness of the separation process, and avoids processing failures caused by changes in the scene.
Smart Images

Figure CN121872080B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of logistics sorting technology, specifically to a method, apparatus, electronic device, and computer-readable storage medium for controlling the separation of parcels. Background Technology
[0002] In modern logistics, especially in e-commerce warehousing and express delivery transit centers, large numbers of packages may stack or run parallel on automated conveyor belts, affecting conveyor belt efficiency. Therefore, improving the separation efficiency of large numbers of packages on conveyor belts is a pressing issue that needs to be addressed. Summary of the Invention
[0003] This application provides a method, apparatus, electronic device, and computer-readable storage medium for controlling the separation of packages, which can improve the separation efficiency of packages on a conveyor belt.
[0004] In a first aspect, embodiments of this application provide a method for controlling the separation of packages, the method comprising:
[0005] Obtain the position coordinates of the target package on the conveyor belt matrix, as well as the exit reference position of the target package on the conveyor belt matrix; wherein, the conveyor belt matrix includes multiple parallel conveyor belts;
[0006] Based on the first distance between the location coordinates and the exit reference position and the gravitational potential gain coefficient, the virtual gravity of the target package relative to the exit reference position is determined;
[0007] The total virtual repulsion of the target package is determined based on the second distance between the target package and one or more other packages in the conveyor belt matrix and the repulsion potential gain coefficient.
[0008] Based on virtual gravity and total virtual repulsion, the target running speed of one or more conveyor belts covered by the target package is determined, so as to control one or more conveyor belts to run at the target running speed to achieve package separation.
[0009] Secondly, embodiments of this application provide a package separation control device, the device comprising:
[0010] The acquisition module is used to acquire the position coordinates of the target package on the conveyor belt matrix, as well as the exit reference position of the target package on the conveyor belt matrix; wherein, the conveyor belt matrix includes multiple parallel conveyor belts;
[0011] The first determining module is used to determine the virtual gravity of the target package relative to the exit reference position based on the first distance between the position coordinates and the exit reference position and the gravitational potential gain coefficient.
[0012] The second determining module is used to determine the total virtual repulsion of the target package based on the second distance between the target package and one or more other packages in the conveyor belt matrix and the repulsion potential gain coefficient.
[0013] The third determining module is used to determine the target running speed of one or more conveyor belts covered by the target package based on virtual gravity and total virtual repulsion, so as to control one or more conveyor belts to run at the target running speed to achieve package separation.
[0014] Thirdly, embodiments of this application provide an electronic device, including a memory and a processor, wherein the memory stores a computer program that can run on the processor, and the processor executes the program to implement the method of the first aspect.
[0015] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor or electronic device, implements the method of the first aspect.
[0016] Fifthly, embodiments of this application provide a computer program product, including a computer program or instructions, which, when executed by a processor or electronic device, implement the method of the first aspect of this application.
[0017] Sixthly, embodiments of this application provide a computer program that causes a processor or electronic device to perform the method as described in the first aspect.
[0018] It is understood that in the package separation control method provided in this application embodiment, the virtual gravity is calculated by obtaining the position coordinates of the target package and the exit reference position, combined with the gravitational potential gain coefficient, to guide the package to move towards the exit direction; secondly, the total virtual repulsion is calculated based on the distance between the target package and other packages and the repulsive potential gain coefficient to prevent collisions or excessive spacing between packages; finally, the virtual gravity and the total virtual repulsion are combined to determine the target running speed of the conveyor belt covered by the target package, thereby achieving precise speed adjustment of the conveyor belt, which can improve the separation efficiency of packages on the conveyor belt, not only reducing logical complexity, but also improving the adaptability and robustness of the package separation process, and avoiding processing failures caused by scene changes.
[0019] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0020] Figure 1 A flowchart illustrating a package separation control method provided in this application embodiment. Figure 1 ;
[0021] Figure 2A schematic diagram of a conveyor belt matrix for a package separation control method provided in this application embodiment. Figure 1 ;
[0022] Figure 3 A flowchart illustrating a package separation control method provided in this application embodiment. Figure 2 ;
[0023] Figure 4 A flowchart illustrating a package separation control method provided in this application embodiment. Figure 3 ;
[0024] Figure 5 A schematic diagram of a conveyor belt matrix for a package separation control method provided in this application embodiment. Figure 2 ;
[0025] Figure 6 A schematic diagram of the composition structure of a package separation control device provided in an embodiment of this application;
[0026] Figure 7 This is a schematic diagram of the hardware entity of an electronic device provided in an embodiment of this application.
[0027] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation
[0028] The embodiments of this application will be described below with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. This application can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this application. It should be understood that the preferred embodiments are only for illustrating this application and are not intended to limit the scope of protection of this application.
[0029] It should be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of this application. Therefore, the drawings only show the components related to this application and are not drawn according to the actual number, shape and size of the components in the actual implementation. In the actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.
[0030] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0031] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0032] In this embodiment, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, object A and / or object B can represent three situations: object A exists alone, object A and object B exist simultaneously, and object B exists alone.
[0033] 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 belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0034] In modern logistics, especially in e-commerce warehousing and express delivery transit centers, parcel separation is a crucial first step in automated production lines. Its purpose is to quickly and accurately separate disordered, stacked, and parallel parcel flows into individual parcels for subsequent scanning, weighing, and sorting operations. The efficiency and accuracy of parcel separation directly determine the throughput and operating costs of the entire automated sorting system.
[0035] Currently, the mainstream parcel separation technology mainly relies on rule-based control methods. This approach typically uses vision sensors (such as 3D ToF cameras) installed on belt modules (e.g., a conveyor unit consisting of 6 rows and 4 columns of independently speed-adjustable narrow belts) to detect the position, size, orientation, and relative relationships of the parcels. Then, a central controller or PLC (Programmable Logic Controller) determines the speed of each belt module based on preset logical rules (i.e., numerous if...else statements). For example, "If the distance between parcel A and parcel B is less than a preset threshold X, accelerate the belt containing parcel A and decelerate the belt containing parcel B"; "If parcel stacking is detected, stop the upstream belt supply and accelerate the downstream belt to increase the distance," etc.
[0036] While rule-based methods have achieved some degree of automated separation of individual packages, their inherent limitations are becoming increasingly apparent:
[0037] 1. Rule complexity and maintenance difficulties: With the diversification of package shapes, sizes, and incoming flow densities, the number of rules that need to be formulated grows exponentially. For example, specific response logic needs to be written for countless scenarios such as side-by-side, consecutive orders, mixed sizes, and irregular shapes. This makes the control logic extremely bloated, difficult to develop, debug, and maintain.
[0038] 2. Poor generalization ability and insufficient robustness: Rule-based methods are poorly adaptable to unforeseen new situations. When complex package combinations not covered by the rule base occur, the system often fails to process them, resulting in packages being misclassified or too close together.
[0039] 3. Non-optimal control effect: The if...else logic is essentially a discrete, piecewise decision-making process. It is difficult to achieve globally optimal, smooth, and continuous control. For example, rapid acceleration or deceleration to quickly increase spacing may lead to unstable package posture, tumbling, or even greater energy consumption. Control actions are often "reactive" rather than "predictive," lacking the ability to anticipate the future movement trend of the package.
[0040] 4. Limited scalability: For belt module matrices of different specifications (such as upgrading from 4×8 to 4×10), the entire rule base may need to be rewritten or modified on a large scale, lacking good scalability.
[0041] Therefore, there is an urgent need for a smarter, more adaptive, and more robust single-component separation control method to overcome the limitations of traditional rule-based strategies.
[0042] Based on this, embodiments of this application provide a package separation control method, the method comprising: obtaining the position coordinates of a target package on a conveyor belt matrix, and the exit reference position of the target package on the conveyor belt matrix; wherein the conveyor belt matrix includes multiple parallel conveyor belts; determining the virtual attraction of the target package relative to the exit reference position based on a first distance between the position coordinates and the exit reference position and a gravitational potential gain coefficient; determining the total virtual repulsion of the target package based on a second distance between the target package and one or more other packages in the conveyor belt matrix and a repulsive potential gain coefficient; and determining the target running speed of one or more conveyor belts covered by the target package based on the virtual attraction and the total virtual repulsion, so as to control one or more conveyor belts to run at the target running speed to achieve package separation.
[0043] In this way, by obtaining the location coordinates of the target package and the reference position of the exit, and combining the gravitational potential gain coefficient, a virtual gravity is calculated to guide the package to move towards the exit. Secondly, based on the distance between the target package and other packages and the repulsive potential gain coefficient, the total virtual repulsive force is calculated to prevent collisions between packages or excessively small gaps. Finally, the virtual gravity and the total virtual repulsive force are combined to determine the target running speed of the conveyor belt covered by the target package, achieving precise speed adjustment of the conveyor belt. This improves the separation efficiency of packages on the conveyor belt, reduces logical complexity, enhances the adaptability and robustness of the package separation process, and avoids processing failures caused by changes in the scene.
[0044] The technical solutions in the embodiments of this application will now be clearly and completely described with reference to the accompanying drawings.
[0045] It should be noted that the package separation control method provided in the embodiments of this application can be executed by an industrial control computer, which can be a control system running on an industrial computer. Alternatively, the package separation control method in the embodiments of this application can also be executed by other computing devices. Or, the package separation control method in the embodiments of this application can also be executed interactively between an industrial control computer and other computing devices.
[0046] Figure 1 A flowchart illustrating a package separation control method provided in this application embodiment. Figure 1 ,like Figure 1 As shown, it may include S101 to S104, wherein:
[0047] S101, obtain the position coordinates of the target package on the conveyor belt matrix, and the exit reference position of the target package on the conveyor belt matrix.
[0048] The conveyor belt matrix can include multiple parallel conveyor belts.
[0049] Here, a conveyor belt matrix (also known as a conveyor belt module matrix) refers to a conveyor structure composed of multiple independently speed-adjustable narrow belts. Each conveyor belt can independently control its running speed and acceleration, thereby achieving precise control over the target package. For example, a 4×8 conveyor belt matrix consists of 32 independently driveable conveyor belts arranged in 4 columns and 8 rows.
[0050] In some embodiments, Figure 2 A schematic diagram of a conveyor belt matrix for a package separation control method provided in this application embodiment. Figure 1 ,like Figure 2 As shown, Figure 2 It is a 4×6 conveyor belt matrix, which consists of 24 independently driveable conveyor belts in 4 columns and 6 rows.
[0051] It is understood that multiple packages can be transported on a conveyor belt matrix, for example, such as... Figure 2 As shown, the conveyor belt matrix includes package 1, package 2, package 3, package 4, and package 5. It can also be understood that packages within the conveyor belt matrix may be stacked or closely spaced, which could affect the conveying efficiency of each package.
[0052] It should be noted that each conveyor belt can be driven by an independent servo motor, capable of precisely executing speed and acceleration commands.
[0053] In some embodiments, the position coordinates of the target package on the conveyor belt matrix can be obtained by detecting the position of the target package by installing one or more vision sensors (such as 3D ToF cameras) above the conveyor belt matrix.
[0054] For example, one or more industrial 3D ToF cameras are installed above the conveyor belt matrix, covering the entire working area of the conveyor belt. The grayscale and depth map data output by the 3D ToF cameras are processed in real time by an industrial control computer, and each individual package on the conveyor belt is segmented and identified using a target segmentation algorithm (e.g., YOLOv8-Seg algorithm). A data object is created for each package, which may include, but is not limited to, the package's three-dimensional contour, centroid position (i.e., position coordinates (x, y)), size, matrix coordinates (Belt_x, Belt_y) of one or more conveyor belts it occupies, and attitude angle θ.
[0055] In practical applications, an industrial control computer (ICC) can acquire data objects of the target package using a 3D ToF camera mounted above the conveyor belt matrix, and then input this data into the ICC system for processing. The ICC utilizes this target package data object to provide the basis for subsequent gravity and repulsion calculations, ensuring the accuracy and real-time performance of the control process.
[0056] In this embodiment, the exit reference position of the target package on the conveyor belt matrix can be understood as the final expected position of the target package, which can be set on the center line of the exit of the conveyor belt to guide the target package to move in the specified target direction.
[0057] In some embodiments, the multiple exit reference positions wrapped around the conveyor belt matrix are the same, all located at the center of the centerline of the conveyor belt matrix exit.
[0058] For example, the export reference location can be represented as: ;in, The exit reference position is represented by an x-coordinate and a y-coordinate. The x-coordinate can be determined based on the sum of the x-coordinate of the target package's location coordinates and the distance from the target package to the exit reference position. This represents the x-coordinate of the target package's location coordinates. This indicates the distance from the target package to the reference location at the exit; This indicates the preset longitudinal center position of the exit.
[0059] S102, based on the first distance between the position coordinates and the exit reference position and the gravitational potential gain coefficient, determines the virtual gravity of the target package relative to the exit reference position.
[0060] Here, virtual gravity refers to an attractive force exerted on the target package by the exit reference position.
[0061] It is understandable that the magnitude and direction of the virtual gravity are determined by the distance between the current position of the target package and the exit reference position, as well as the gravitational potential gain coefficient.
[0062] The gravitational potential gain coefficient is an adjustable positive constant used to control the strength of the target package's tendency to move towards the exit reference position. The value range of the gravitational potential gain coefficient can be (0, 1], and for example, the gravitational potential gain coefficient can be 0.3, 0.5, 0.6, etc.
[0063] It should be noted that the gravity gain coefficient can be preset and flexibly adjusted according to the characteristics of the package (such as size, weight, material, etc.) and the actual operating environment. For example, the gravity gain coefficient can be appropriately increased when the package flow is large to improve the transmission efficiency, and the coefficient can be decreased when the package is relatively fragile to avoid damage to the package.
[0064] The first distance refers to the Euclidean or Manhattan distance between the current location of the target package and the exit reference location, reflecting how close the package is to the target.
[0065] In one possible implementation, the first distance and the gravitational gain coefficient can be simultaneously input into a pre-trained first neural network model. The first neural network model can output a virtual gravitational force on the target package relative to the exit reference position based on the first distance and the gravitational gain coefficient. The first neural network model can employ a hybrid architecture combining deep learning, such as convolutional neural networks and recurrent neural networks, to fully extract feature information from the first distance and the gravitational gain coefficient and capture the complex nonlinear relationships between them.
[0066] In another possible implementation, the virtual gravity of the target package relative to the exit reference position can be determined based on the product between the first distance and the gravity gain coefficient.
[0067] In another possible implementation, a gravitational potential function can be constructed based on the first distance and the gravitational gain coefficient, and the virtual gravity of the target package relative to the exit reference position can be determined based on the gravitational potential function.
[0068] S103, based on the second distance between the target package and one or more other packages in the conveyor belt matrix and the repulsive potential gain coefficient, determine the total virtual repulsive force of the target package.
[0069] Here, the total virtual repulsion force is the repulsive force exerted on the target package by one or more other packages, used to prevent congestion or stacking between packages. In other words, the total virtual repulsion force is the sum of the repulsive forces from all neighboring packages. For example, if there are two neighboring packages around a target package, the target package will be subjected to the repulsive forces exerted by both neighboring packages simultaneously.
[0070] It is understandable that the magnitude and direction of the total virtual repulsive force are determined by the distance between the current position of the target package and one or more other packages, as well as the repulsive potential gain coefficient.
[0071] The repulsive potential gain coefficient is an adjustable positive constant. The value range of the repulsive potential gain coefficient can be (0, 1], for example, the repulsive potential gain coefficient can be 0.3, 0.5, 0.6, etc.
[0072] In practical applications, other packages can be all packages on the conveyor belt matrix other than the target package; or packages that are less than a preset distance from the target package. This application embodiment does not limit this.
[0073] If other packages are located at a distance less than the target package, that is, the repulsive force only begins to take effect when the distance between the two packages is less than the preset threshold, and the repulsive force increases as the distance between the packages decreases.
[0074] The second distance refers to the Euclidean or Manhattan distance between the current location of the target package and the location coordinates of other packages, reflecting the distance between the target package and neighboring packages.
[0075] In one possible implementation, the second distance and repulsion gain coefficients can be simultaneously input into a pre-trained second neural network model. The second neural network model can output the virtual repulsion force of the target package relative to other packages based on the second distance and repulsion gain coefficients. The second neural network model can employ a hybrid architecture combining deep learning, such as convolutional neural networks and recurrent neural networks, to fully extract the feature information from the second distance and repulsion gain coefficients and capture the complex nonlinear relationships between them.
[0076] In another possible implementation, the virtual repulsion of the target package relative to other packages can be determined based on the product between the second distance and the repulsion gain coefficient.
[0077] In another possible implementation, the repulsion potential function can be determined based on the product between the second distance and the repulsion gain coefficient, and the virtual repulsion of the target package relative to other packages can be determined based on the repulsion potential function.
[0078] In this embodiment of the application, after determining the virtual repulsion force of the target package relative to multiple other packages, all the virtual repulsion forces can be vector-summed to obtain the total virtual repulsion force.
[0079] S104, based on virtual gravity and total virtual repulsion, determines the target running speed of one or more conveyor belts covered by the target package, so as to control one or more conveyor belts to run at the target running speed to achieve package separation.
[0080] In some embodiments, the virtual resultant force of the target package can be determined based on the virtual attraction and the total virtual repulsion, and the target running speed of one or more conveyor belts covered by the target package can be determined based on the virtual resultant force and the preset mapping relationship between the resultant force and the speed.
[0081] The magnitude of the resultant force is positively correlated with the magnitude of the target's running speed.
[0082] For example, the running speed of the target package can be determined based on the product of a preset conversion coefficient and the magnitude of the virtual resultant force; and the running speed of the target package can be directly used as the target running speed of one or more conveyor belts covered by the target package.
[0083] For example, the running speed of the target package can be expressed as:
[0084] (1)
[0085] in, This indicates the running speed of target package i; Indicates the preset conversion factor; This represents the net force acting on target package i.
[0086] It should be noted that the preset conversion coefficient can range from 0.1 to 1.0, and this application embodiment does not limit it.
[0087] It is understandable that the running speed of the target package can include horizontal running speed and vertical running speed. Horizontal running speed refers to the velocity component of the target package moving along the conveying direction (X-axis), while vertical running speed refers to the relative motion speed of the target package in the vertical direction (Y-axis).
[0088] In one possible implementation, since each conveyor belt can only generate speed along its main transport direction (i.e., the x-axis), only the speed of the target package along the x-axis (horizontal running speed) can be considered. That is, the horizontal running speed of the target package is taken as the target running speed of one or more conveyor belts covered by the target package.
[0089] In this method, the target packages cover one or more conveyor belts with the same target running speed.
[0090] In another possible implementation, the horizontal and vertical running speeds of the target package can be considered simultaneously, that is, the target running speed of one or more conveyor belts covered by the target package can be determined based on the horizontal and vertical running speeds.
[0091] In this method, the target running speeds of one or more conveyor belts covered by the target package can be different.
[0092] In practical applications, the industrial control computer (ICC) can receive data from the vision system and calculate the speed commands for all conveyor belt modules. Furthermore, the ICC can send the calculated speed commands for each conveyor belt to the respective servo motor drivers via a bus (such as EtherCAT), causing the conveyor belt corresponding to each servo motor driver to run at the target speed. Through high-frequency, cyclical, dynamic closed-loop control, the ICC can update the target package's position information in real time and recalculate control commands, ensuring that the target package remains in optimal condition throughout the entire separation process.
[0093] It is understandable that in a conveyor belt matrix, there might be a conveyor belt m simultaneously covered by two packages (e.g., package i and package j), and package i and package j have different running speeds. Therefore, a pre-defined arbitration mechanism is needed to determine the target running speed of conveyor belt m. For example, an average value method, an area ratio method, or prioritizing the package with greater repulsive force can be used.
[0094] For example, the average method is to determine the running speed of package i on conveyor belt m and the running speed of package j on conveyor belt m, and then determine the average of the two running speeds to obtain the final target running speed of conveyor belt m.
[0095] Another example is that the area ratio of package i on conveyor belt m can be determined, and the area ratio of package j on conveyor belt m can also be determined; the running speed at which the area ratio of the two packages is maximized is determined as the target running speed of the conveyor belt.
[0096] Another example is comparing the total virtual repulsive force currently experienced by two packages. The conveyor belt speed is set to the desired speed of the package with the greater repulsive force, which may face a more pressing obstacle avoidance or collision avoidance requirement.
[0097] In this embodiment, the virtual gravity is calculated by obtaining the location coordinates of the target package and the exit reference position, combined with the gravitational potential gain coefficient, to guide the package to move towards the exit direction. Secondly, the total virtual repulsion is calculated based on the distance between the target package and other packages and the repulsive potential gain coefficient to prevent collisions or excessively small gaps between packages. Finally, the virtual gravity and the total virtual repulsion are combined to determine the target running speed of the conveyor belt covered by the target package, achieving precise speed adjustment of the conveyor belt. This improves the separation efficiency of packages on the conveyor belt, reduces logical complexity, enhances the adaptability and robustness of the package separation process, and avoids processing failures caused by changes in the scene.
[0098] Figure 3 A flowchart illustrating a package separation control method provided in this application embodiment. Figure 2 ,like Figure 3 As shown, the above-mentioned S104 "determining the target running speed of one or more conveyor belts covered by the target package based on virtual gravity and total virtual repulsion" may include S201 to S203, wherein:
[0099] S201, determine the virtual resultant force of the target package based on the virtual attraction and the total virtual repulsion.
[0100] Here, virtual gravity refers to a virtual attractive force applied to the target package in the direction of the separation conveyor belt exit within an artificial potential field model. Virtual gravity simulates the tendency of the target package to move towards the separation endpoint. The magnitude of virtual gravity is proportional to the distance from the target package to the target point, and it can guide the target package to move along the desired path, preventing the target package from deviating from the correct direction.
[0101] The total virtual repulsive force is the vector sum of the virtual repulsive forces generated by all other packages surrounding the target package, used to prevent packages from getting too close or colliding. By vector-adding the virtual attraction force to the total virtual repulsive force, a combined virtual resultant force can be obtained, which determines the most suitable direction and intensity of movement of the target package at present.
[0102] In some embodiments, after determining the virtual attraction and the total virtual repulsion, the virtual attraction and the total virtual repulsion can be vector-added to obtain the virtual resultant force of the target package.
[0103] For example, the virtual resultant force of the target package can be represented as:
[0104] (2)
[0105] in, Represents the virtual gravity surrounding target i; This represents the total virtual repulsive force of target package i; This represents the virtual resultant force of the target package i.
[0106] It should be noted that virtual resultant force can include both the magnitude and direction of the resultant force.
[0107] S202, based on the mapping relationship between virtual resultant force and running speed, determines the running speed of the target package.
[0108] Here, the running speed of the target package refers to the actual speed at which the target package moves along the conveyor belt during the transport process, including the speed of movement in the main transport direction (x-axis) and the speed of movement in the y-axis.
[0109] It is understandable that the movement speed along the y-axis can be achieved by the speed difference between different rows of conveyor belts.
[0110] Next, this application will explain several ways to determine the running speed of the target package in the embodiments.
[0111] In one possible implementation, determining the running speed of the target package may include the following steps:
[0112] As shown in formula (1) above, the running speed of the target package can be determined by the product of the preset conversion coefficient and the magnitude of the virtual resultant force; and the running speed of the target package can be directly used as the target running speed of one or more conveyor belts covered by the target package.
[0113] It's understandable that the speed of the target package is related to the magnitude of the resultant force, but further saturation can be applied to ensure it doesn't exceed the maximum operating speed of the conveyor belt matrix. .
[0114] In another possible implementation, determining the running speed of the target package may include the following steps:
[0115] S2021, based on virtual combined force and preset proportional coefficient, determines the first velocity of the target package;
[0116] S2022, Based on the first speed and the preset maximum speed of the conveyor belt matrix, determine the running speed of the target package.
[0117] Here, the preset proportional coefficient, also known as the force-velocity proportional coefficient, is a scaling factor used to convert virtual resultant force into target velocity. The preset proportional coefficient is typically set based on system performance, package type, and the maximum speed range of the belt module; for example, the preset proportional coefficient can be 400 (mm / s) / N, but other values are also possible. The preset maximum speed of the conveyor belt matrix refers to the highest linear speed that each independent belt module in the entire conveying system can achieve.
[0118] The preset maximum speed of the conveyor belt matrix is limited by the performance parameters of the equipment hardware (such as servo motors and transmission mechanisms), for example, 2000 mm / s. In practical applications, due to physical limitations, the actual running speed of the target package cannot exceed the preset maximum speed of the conveyor belt matrix.
[0119] In some embodiments, the first speed of the target package can be determined based on the product of the magnitude of the virtual resultant force and a preset proportional coefficient; further, the first speed is compared with the maximum operating speed of the conveyor belt matrix, and the smaller speed between the first speed and the maximum operating speed of the conveyor belt matrix is determined as the operating speed of the target package.
[0120] For example, the running speed of the target package can be expressed as:
[0121] (3)
[0122] in, This represents the speed at which the target package is moving. Indicates the preset scaling factor; Indicates the magnitude of the virtual resultant force; This indicates the maximum operating speed of the conveyor belt matrix, for example, =2000mm / s, but other values are also possible.
[0123] S203, Based on the running speed of the target package, determine the target running speed of one or more conveyor belts covered by the target package.
[0124] The conveyor belt covered by the target package refers to the multiple independently speed-adjustable belt modules that the target package occupies on the conveyor surface. Each belt module can independently adjust its operating speed to match the movement requirements of the target package.
[0125] In some embodiments, after determining the running speed of the target package, the horizontal running speed of the target package can be determined as the target running speed of one or more conveyor belts covered by the target package.
[0126] In other embodiments, after determining the running speed of the target package, the target running speed of one or more conveyor belts covered by the target package can be determined based on the horizontal and vertical running speeds of the target package.
[0127] In practical applications, the speed of the target package is decomposed into the speed difference between different rows of conveyor belts to achieve displacement of the target package in a two-dimensional plane. For example, if the target package needs to move upward, the speed of the upper conveyor belt should be slightly higher than that of the lower conveyor belt. In this way, the target package can be guided to separate along an optimal path without changing its orientation.
[0128] In this embodiment, the virtual resultant force on the target package is calculated as a representation of its motion trend. Then, the running speed of the target package is determined according to the magnitude and direction of the resultant force, and further distributed to the conveyor belt it covers. This can more accurately reflect the actual motion requirements of the package, thereby achieving fine control of the conveyor belt speed and improving separation efficiency and stability.
[0129] Figure 4 A flowchart illustrating a package separation control method provided in this application embodiment. Figure 3 ,like Figure 4 As shown, the above-mentioned S203 "determining the target running speed of one or more conveyor belts covered by the target package based on the running speed of the target package" may include S2031 to S2033, wherein:
[0130] S2031, Determine the horizontal centerline corresponding to the target package.
[0131] S2032, based on the horizontal centerline, determine one or more first conveyor belts located above the horizontal centerline that the target package covers, and determine one or more second conveyor belts located below the horizontal centerline that the target package covers.
[0132] Here, the horizontal centerline of the target package refers to the centerline of the target package in the horizontal direction (x-axis).
[0133] In some embodiments, the center line of the cross-section of the target package projected onto the conveyor surface can be calculated by identifying the geometric contour of the target package, and this center line is the horizontal center line of the target package.
[0134] The first conveyor belt refers to one or more conveyor belts covering the portion of the target wrapped above the horizontal center line, while the second conveyor belt refers to one or more conveyor belts covering the portion of the target wrapped below the horizontal center line.
[0135] Understandably, the horizontal centerline of the target package can be used to distinguish the distribution of the target packages on the conveyor belt matrix, and serve as the basis for dividing one or more first conveyor belts located above the horizontal centerline of the target package into one or more second conveyor belts located below the horizontal centerline of the target package.
[0136] For example, suppose there is a 4×8 conveyor belt matrix, that is, there are 4 columns and 8 rows of conveyor belts. Now a target package is placed on the conveyor belt matrix. After measurement and analysis, it is found that the target package occupies rows 2 to 4, and the horizontal center line of the target package is located in row 3. That is, the conveyor belts above row 3 belong to the first conveyor belt (located above the horizontal center line of the target package), and the conveyor belts below row 3 belong to the second conveyor belt (located below the horizontal center line of the target package).
[0137] However, in reality, a special situation may arise. Figure 5 A schematic diagram of a conveyor belt matrix for a package separation control method provided in this application embodiment. Figure 2 ,like Figure 5 As shown, a portion of the target package A above and below its horizontal center line both include the same conveyor belt (that is, both covering the conveyor belt in row 3, column 2 and row 3, column 3). In other words, the conveyor belt is partially above and partially below the target package's horizontal center line. In this case, the location needs to be determined based on the area occupied by the target package on that conveyor belt.
[0138] Specifically, if the area occupied by the target package above the horizontal center line of a conveyor belt is greater than the area occupied by the portion below the horizontal center line, then this conveyor belt is classified as the first conveyor belt (located above the horizontal center line of the target package); conversely, if the area occupied by the target package below the horizontal center line is larger, then this conveyor belt is classified as the second conveyor belt (located below the horizontal center line of the target package).
[0139] from Figure 5 As can be seen, the area occupied by the portion of the conveyor belt in the third row and second column and the third row and third column that is above the horizontal center line is smaller than the area occupied by the portion below the horizontal center line. Therefore, the conveyor belt in the third row and second column and the third row and third column can be classified as the second type of conveyor belt (that is, located below the horizontal center line of the target package).
[0140] Understandably, dividing the target package into upper and lower sections along a horizontal center line and using different conveyor belts for each section allows for the setting of different running speeds for different parts of the package, thereby adjusting the overall posture of the package. For example, when the target package is tilted, its posture can be corrected by increasing the speed of one or more first conveyor belts located above the horizontal center line or decreasing the speed of one or more second conveyor belts located below the horizontal center line.
[0141] S2033, based on the horizontal running speed, vertical running speed and speed mapping coefficient, determine the target running speed of the first conveyor belt and the target running speed of the second conveyor belt.
[0142] The first conveyor belt can also be called the upper conveyor belt of the package; the second conveyor belt can also be called the lower conveyor belt of the package.
[0143] In some embodiments, a first value can be determined based on the ratio between the product of the speed mapping coefficient and the vertical running speed and a preset coefficient, and a target running speed of the first conveyor belt can be determined based on the difference between the horizontal running speed and the first value.
[0144] For example, the target operating speed of the first conveyor belt can be expressed as:
[0145] (4)
[0146] in, This indicates the target operating speed of the first conveyor belt; This is expressed as horizontal running speed; This is represented as the speed mapping coefficient, and the value of the speed mapping coefficient can range from 0.1 to 1; for example, the value of the speed mapping coefficient can be 0.7. This is expressed as vertical running speed; This is represented as a preset coefficient, where the preset coefficient can take the value of 2.
[0147] In some embodiments, a first value can be determined based on the ratio between the product of the speed mapping coefficient and the vertical running speed and a preset coefficient, and the target running speed of the second conveyor belt can be determined based on the sum of the horizontal running speed and the first value.
[0148] For example, the target operating speed of the second conveyor belt can be expressed as:
[0149] (5)
[0150] in, This indicates the target operating speed of the second conveyor belt.
[0151] In this embodiment, a horizontal centerline is introduced to divide the upper and lower conveyor belts accordingly, and speed allocation is performed by combining horizontal and vertical running speeds with a mapping coefficient. This method enables differentiated control of different parts of the target package and precise control of the package in the vertical direction. This improves the package's attitude stability and separation accuracy, allowing it to separate smoothly in the horizontal direction while maintaining a stable attitude, thus reducing the risk of tumbling or misalignment and further improving separation quality.
[0152] In some embodiments, the above-mentioned S102 "determining the virtual gravity of the target package relative to the exit reference position based on the first distance between the position coordinates and the exit reference position and the gravitational potential gain coefficient" may further include the following steps:
[0153] S1021, based on the gravitational potential gain coefficient and the first distance between the position coordinates and the exit reference position, construct the gravitational potential function of the target package.
[0154] The gravitational potential function is a mathematical model used to describe the magnitude of the gravitational potential energy experienced by a target enveloped in an artificial potential field. The magnitude of the gravitational potential energy is proportional to the distance from the current position of the target envelope's center of mass to the target point (i.e., the exit reference position).
[0155] In some embodiments, the gravitational potential function of the target package can be determined based on the square of the first distance between the position coordinates and the exit reference position (that is, the square of the difference vector magnitude), the product of the gravitational potential gain coefficient and the second coefficient.
[0156] Understandably, the gravitational potential function can be a quadratic function model. For example, the gravitational potential function can be expressed as:
[0157] (6)
[0158] in, The gravitational potential function representing the target package; Indicates the gravitational potential gain coefficient; This represents the second coefficient, which can take the value of 0.5. Indicates the position coordinates of target package i; This represents the position coordinates of the exit reference position corresponding to target package i.
[0159] S1022, perform a negative gradient operation on the gravitational potential function to determine the virtual gravity of the target package relative to the exit reference position.
[0160] Here, the negative gradient operation is a mathematical operation used to calculate the rate of change and direction of the gravitational potential function at a given point. Specifically, the negative gradient of the gravitational potential function points in the direction of minimum potential energy, which is the direction in which the object should move.
[0161] For example, the negative gradient of the gravitational potential function can be expressed as:
[0162] (7)
[0163] in, This indicates a negative gradient operation on the gravitational potential function.
[0164] Understandably, virtual gravity is a vector force obtained from negative gradient operations, representing the attractive force experienced by the package in the potential field. Virtual gravity guides the package toward the exit reference position and is one of the key factors determining the package's final path.
[0165] In practice, there is a close relationship between the gravitational potential function and the virtual gravity. Using the gravitational potential function as a fundamental model, the magnitude and direction of the virtual gravity can be obtained by performing a negative gradient operation on it. Through this process, the system can transform abstract potential energy into concrete physical forces, thereby enabling the control system to effectively execute corresponding control tasks.
[0166] By using negative gradient operations, embodiments of this application can transform abstract gravitational potential functions into concrete physical forces, thereby more accurately guiding the movement direction of the package.
[0167] In this embodiment, by constructing a gravitational potential function and performing a negative gradient operation on the gravitational potential function, a virtual gravity pointing towards the exit direction can be obtained, which can guide the package to move along the optimal path. Compared with traditional fixed rules, this is more flexible, can adapt to the dynamic changes of different packages, improve control accuracy, and ultimately achieve efficient, stable, and automated single-item package separation.
[0168] In some embodiments, the above-mentioned S103 "determining the total virtual repulsion of the target package based on the centroid distance and repulsive potential gain coefficient between the target package and one or more other packages in the conveyor belt matrix" may further include the following steps:
[0169] S1031, For the first package, determine the object spacing threshold between the target package and the first package based on the size of the target package, the size of the first package, and the preset spacing.
[0170] The first package can be any one of the other packages.
[0171] Here, the size of the target package can be the diagonal length of the target package, or the diameter of the target package; or the volume of the target package, etc. Similarly, the size of the first package can be the diagonal length of the first package, or the diameter of the first package; or the volume of the first package.
[0172] The preset spacing refers to the expected package separation spacing, which is the pre-set safe distance between the target package and other packages. It can be set according to the actual usage scenario. In some embodiments, the average size can be determined based on the size of the target package and the size of the first package, and the object spacing threshold between the target package and the first package can be determined based on the sum of the average size and the preset spacing.
[0173] For example, the object spacing threshold between the target package and the first package can be expressed as:
[0174] (8)
[0175] in, This represents the object spacing threshold between the target package and the first package; Indicates the dimensions of the target package; Indicates the dimensions of the first package; Indicates the preset spacing.
[0176] It should be noted that the object spacing threshold can be used to determine whether a repulsive force exists between the target package and the first package. In other words, the object spacing threshold is the maximum distance at which the repulsive force begins to take effect, and it can be dynamically adjusted according to the package size. The object spacing threshold has the ability to be dynamically adjusted; for example, in high-density scenarios, the value of the object spacing threshold can be appropriately increased to enhance the effect on the repulsive force between packages.
[0177] S1032, when the centroid distance between the target package and the first package is less than or equal to the object spacing threshold, construct the repulsive potential function of the target package relative to the first package based on the centroid distance, the repulsive potential gain coefficient and the object spacing threshold.
[0178] Here, the repulsive potential function, like the gravitational potential function, is a mathematical model used to describe the strength of the repulsive force exerted on a target package by other packages. The repulsive potential function is typically an inverse proportional function; it is triggered when the distance between two packages is less than a certain set threshold, and its value increases as the distance between the packages decreases, thus preventing the packages from getting too close.
[0179] In some embodiments, when the centroid distance between two packages is less than or equal to the object spacing threshold, the repulsive potential function is activated. The value of the repulsive potential function increases as the centroid distance decreases, thereby guiding the generation of a larger repulsive force and causing other packages to move away from the target package.
[0180] Understandably, the repulsive potential gain coefficient determines the sensitivity of the repulsive response. A larger gain coefficient results in a stronger repulsive force, suitable for high-density environments; a smaller gain coefficient is suitable for low-density scenarios to reduce unnecessary acceleration and deceleration operations. For example, at a certain moment, if the centroid distance between the target package and the first package is 28cm and the object spacing threshold is 30cm, the repulsive potential function value is relatively small; when the distance is shortened to 25cm, the repulsive potential function value increases significantly, indicating that the system should take stronger repulsive intervention measures.
[0181] In some embodiments, the repulsive potential function of the target package relative to the first package can be determined by multiplying the square of the difference between the reciprocal of the centroid distance between the target package and the first package and the reciprocal of the object spacing threshold, the repulsive potential gain coefficient, and a third coefficient. The magnitude of the repulsive potential energy is inversely proportional to the centroid distance between the two packages.
[0182] Understandably, the repulsive potential function can be a quadratic function model. For example, the repulsive potential function can be expressed as:
[0183] (9)
[0184] in, Let be the repulsive potential function of target package i relative to the first package j. Represented as the repulsive potential gain coefficient, it is a positive constant. Let the distance between the centroids of target package i and the first package j be denoted as . This is represented as the object spacing threshold.
[0185] S1033, based on the repulsive potential functions constructed for other packages respectively, determine the total virtual repulsive force of the target package.
[0186] It is understandable that the total virtual repulsive force is the resultant force of the repulsive potential functions of all neighboring packages acting on the target package.
[0187] In some embodiments, for each other package, an object spacing threshold between the target package and other packages can be determined based on the size of the target package, the size of the other packages, and a preset spacing. Further, when the centroid distance between the target package and other packages is less than or equal to the object spacing threshold, a repulsive potential function of the target package relative to other packages is constructed based on the centroid distance, the repulsive potential gain coefficient, and the object spacing threshold, thus obtaining one or more repulsive potential functions. Further, one or more repulsive potentials can be added together to obtain the total repulsive potential of the target package, and the total repulsive force of the target package is determined based on the total repulsive potential.
[0188] For example, the total repulsive potential function of the target package can be expressed as:
[0189] (10)
[0190] in, This represents the total repulsive potential function of the target package.
[0191] In this embodiment, an object spacing threshold is set based on the package size and safety distance as a basis for determining whether a repulsive force needs to be applied. Then, a repulsive potential function is constructed under the premise that the conditions are met. Finally, all repulsive potential functions are vector-superimposed to obtain the total virtual repulsive force, which is used to drive the belt module to perform package separation operation, thereby ensuring that the target package can still complete the separation task efficiently and orderly in a complex environment.
[0192] In some embodiments, the above-mentioned S1033 "determining the total virtual repulsion of the target package based on the repulsion potential functions constructed separately for other packages" may further include the following steps:
[0193] S301, perform vector summation on each repulsive potential function to determine the total repulsive potential function.
[0194] Here, the total repulsive potential function indicates the sum of the repulsive potentials of the target package from all other neighboring packages.
[0195] For example, the total repulsive potential function can be expressed as:
[0196] (11)
[0197] in, Let i represent the total repulsive potential function of the target package i.
[0198] S302, perform a negative gradient operation on the total repulsive potential function to obtain the total virtual repulsive force of the target package.
[0199] Here, the negative gradient operation is to perform a differentiation operation on the repulsive potential function to obtain the directional derivative of the repulsive potential function at the current point.
[0200] It is understandable that the repulsive potential function describes energy (repulsive potential energy), while force is the direction and magnitude of energy change. Therefore, by calculating the negative gradient, the virtual repulsive vector corresponding to the repulsive potential function can be obtained. The total virtual repulsive force of the target package relative to each other package can be expressed as the magnitude and direction of the repulsive force exerted on the target package by neighboring packages.
[0201] For example, the total virtual repulsion force of the target package can be expressed as:
[0202] (12)
[0203] in, This indicates a negative gradient operation on the repulsive potential function; This represents the total virtual repulsion force of the target package i.
[0204] Furthermore, formula (12) can be further derived to obtain another expression for the total virtual repulsion force of the target package. For example, the total virtual repulsion force can also be expressed as:
[0205] (13)
[0206] in, This represents the distance between target package i and other packages j.
[0207] In this embodiment, the total virtual repulsive force of the target package is obtained by performing a negative gradient operation on the total repulsive potential function. This method allows for precise calculation of the dynamic repulsive force acting on the package, effectively preventing collisions and stacking between packages, further improving the efficiency and stability of package separation, and avoiding instability and energy consumption issues caused by rapid acceleration and deceleration.
[0208] Understandably, the traditional Artificial Potential Field (APF) algorithm may get stuck in local minima (i.e., the net force is 0 and the target is not achieved).
[0209] In one possible implementation, after determining the running speed of the target package and ensuring that the running speed of the target package remains below a preset speed for a preset duration, a disturbance force is determined based on a disturbance coefficient and a random function, and a first virtual resultant force of the target package is determined based on virtual attraction, total virtual repulsion, and disturbance force. Further, based on the mapping relationship between the first virtual resultant force and the running speed, the updated first running speed of the target package is determined. Further, based on the updated first running speed of the target package, the first target running speed of one or more conveyor belts covered by the target package is determined.
[0210] It is understandable that by introducing random perturbations, that is, when a package is detected to be running at a speed that is below a certain threshold for a long time (which may be stuck), a small, random perturbation is added in the process of determining the resultant force of the target package, which helps the target package "jump out" of the local minimal area.
[0211] For example, the perturbation force can be determined based on the product of the perturbation coefficient and the random function; for instance, the perturbation force can be expressed as:
[0212] (14)
[0213] in, Represented as disturbance force; The value of is represented as the perturbation coefficient, which controls the magnitude of the perturbation force. The value of the perturbation coefficient ranges from 0.05 to 0.35; rand represents the function for generating a two-dimensional standard normal distribution random vector function.
[0214] Furthermore, the first virtual resultant force of the target package can be determined based on the sum of the virtual attraction, the total virtual repulsion, and the disturbance force; for example, the first virtual resultant force can be expressed as:
[0215] (15)
[0216] In this way, by introducing a random perturbation mechanism based on stagnation determination into the traditional artificial potential field method, the inherent local minima problem of the algorithm is effectively solved. When the target package is detected to be moving at a low speed due to force balance, a perturbation force in a random direction can be applied to break the deadlock, guide the package out of the trap, and continue moving towards the target point. This not only significantly improves the success rate and robustness of path planning, ensuring that packages are always delivered to their destination in complex conveyor network, but also, due to its simple implementation and low computational overhead, is very suitable for industrial automated sorting scenarios with high real-time requirements.
[0217] In another possible implementation, the gravitational potential field function can be adjusted by adding a term related to the distance to the obstacle, so that the gravity weakens when approaching the obstacle, thus avoiding a stalemate caused by being pulled towards the obstacle.
[0218] In some embodiments, determining the virtual gravity of a target package relative to an exit reference position based on a first distance between the position coordinates and the exit reference position and a gravitational potential gain coefficient may include the following steps: The virtual gravity of the target package relative to the exit reference position may be determined based on a first distance between the position coordinates and the exit reference position, a gravitational potential gain coefficient, and an obstacle distance modulation factor. Specifically:
[0219] The gravitational potential function of the target package can be constructed based on the gravitational potential gain coefficient, the first distance between the position coordinates and the exit reference position, and the obstacle distance modulation factor; the virtual gravity of the target package relative to the exit reference position can be determined by performing a negative gradient operation on the gravitational potential function.
[0220] In some embodiments, the obstacle distance modulation factor can be determined based on the distance from the target package to other packages (i.e., the first package), the object spacing threshold, and the gravity coefficient.
[0221] For example, the gravitational potential function of the target package can be expressed as:
[0222] (16)
[0223] in, To increase the obstacle distance modulation factor, This refers to the distance from the target package to other packages (i.e., the first package). It is the object spacing threshold. This represents the gravity coefficient, which can range from 0.1 to 0.2. This prevents the gravity from dropping to zero when the object is very close to an obstacle, ensuring that there is still a slow tendency to move towards the target.
[0224] In this way, by dynamically introducing an "obstacle distance modulation factor" into the construction of the gravitational field, the virtual gravity is no longer fixed but can be dynamically adjusted according to the surrounding environment (such as the distance to other packages). When there are obstacles near the target package, this factor will moderately weaken the gravitational intensity, avoiding the repulsive force of nearby obstacles being ignored due to the excessive attraction in the direction of the target point. This allows for early prediction and smooth avoidance of potential conflicts on the path, enhancing the safety and smoothness of the system, reducing sudden stops or oscillations caused by emergency obstacle avoidance, and making the movement trajectory of the package more stable and efficient as it approaches the exit.
[0225] In another possible implementation, the system detects whether a "deadlock" has occurred (e.g., multiple packages are locked in a standoff on the conveyor belt). Once detected, all packages can be temporarily forced to move in a straight line at the same low speed for a short distance to break the stalemate, before switching back to APF mode.
[0226] The following describes the application of the package separation control method provided in this application embodiment in a real-world scenario.
[0227] This application proposes a method to creatively apply an artificial potential field algorithm to the control of a belt module matrix (the conveyor belt matrix in the embodiments of this application), thereby realizing intelligent single-piece separation of packages.
[0228] In some embodiments, each package that needs to be separated is abstracted as a "controlled particle" moving on a two-dimensional conveyor plane. The entire belt module matrix is then constructed as a dynamic, programmable virtual "potential field." By adjusting this potential field in real time, we can guide each "particle" (package) to move along the optimal path, ultimately achieving the goal of single-item separation.
[0229] Specifically, the method includes the following key steps:
[0230] Establish a potential field model: Treat each package as a controlling entity. For any target package, it will be subject to the combined action of two virtual forces:
[0231] Target Attraction Force: A virtual target point is set downstream of the package's intended separation path, at the exit of the separation belt matrix. This target point exerts an "attraction" on the main package, guiding it along the transmission direction.
[0232] Repulsive Force: Other packages surrounding the main package are considered dynamic "obstacles." These "obstacles" exert a "repulsive force" on the main package, preventing them from colliding, getting too close, or maintaining too small a distance.
[0233] Calculating the resultant force: For each package, the virtual resultant force it experiences in real time is the vector sum of the "target attraction" it experiences and the "repulsive forces" from all other neighboring packages. This resultant force vector not only indicates the direction in which the package should move, but its magnitude also reflects the urgency of the movement.
[0234] Force-to-velocity mapping: Based on the calculated virtual resultant force of each package, it is mapped to the target velocity of the corresponding belt module below that package. This mapping process takes into account the physical kinematic constraints of the belt (such as maximum velocity and maximum acceleration) to ensure the executability of control commands.
[0235] Dynamic closed-loop control: The system continuously acquires real-time position, speed, and other status information of all packages through vision sensors (e.g., at a frequency of 15-30Hz). In each control cycle, the system recalculates the potential field and resultant force for each package and updates the speed command of the belt module below, forming a high-frequency dynamic closed-loop control.
[0236] In this way, the package separation process no longer relies on rigid if...else rules, but transforms into a continuously optimizing self-organizing process driven by a virtual potential field. The package group automatically and smoothly increases its spacing, adjusts its relative positions, and ultimately separates in an orderly manner.
[0237] The technical details of this application are illustrated below using a typical 4×8 belt module matrix as an example. This belt matrix consists of 32 independently driveable and speed-adjustable belt modules arranged in 4 columns and 8 rows. Each belt module is driven by an independent servo motor, capable of precisely executing speed and acceleration commands. A high-performance industrial PC (IPC) is responsible for running the core algorithm of this application. It receives data from the vision system, calculates the speed commands for all belt modules, and sends them to the respective servo motor drivers via a bus (such as EtherCAT).
[0238] Step 1: Package Location Data Sensing
[0239] One or more industrial 3D ToF cameras are installed above the conveyor belt matrix, covering the entire working area of the belt. The grayscale and depth map data output by the 3D ToF cameras are processed in real time by an industrial computer, and target segmentation algorithms (such as YOLOv8-Seg algorithm) are used to segment and identify each individual package on the conveyor belt. A data object is created for each package, including its 3D contour and centroid position. Size, belt module occupied and attitude angle .
[0240] Step 2: Establishing a mathematical model of the artificial potential field
[0241] For any package in the belt matrix The potential field it occupies is composed of both gravitational and repulsive potential fields.
[0242] 1. Define the attractive potential field.
[0243] Define target points for each package. Define a virtual target point (Exit reference position in the embodiments of this application). This target point is typically located on the centerline of the exit of the single-piece separation conveyor belt. For example, if the conveying direction is the positive x-axis direction, then
[0244] ,in, It is the desired longitudinal center position of the export. It is the distance from the package to the target point.
[0245] Define the gravitational potential function The magnitude of gravitational potential energy is directly proportional to the distance from the current position of the envelope to the target point. A commonly used quadratic function model is: ;in, It is the gravitational potential gain coefficient, an adjustable normal value used to control the strength of the tendency of the package to move towards the target point.
[0246] Define gravity Gravity is the negative gradient of the gravitational potential, with its direction pointing from the current position to the target point:
[0247]
[0248] 2. Define the repulsive potential field.
[0249] Define obstacles for packages All other packages They were all considered moving obstacles.
[0250] Define the repulsive potential function When the package Other packages The distance is less than a certain influence threshold At this point, the repulsive potential field is activated. The magnitude of the repulsive potential energy is inversely proportional to the distance between the two forces. A commonly used model is:
[0251]
[0252] in, It is the repulsive potential gain coefficient, which is a positive constant. It's a package and packages The distance between the centers of mass, This is the maximum distance at which the repulsive force begins to act (the object spacing threshold in this embodiment). This distance can be dynamically adjusted according to the package size, for example... ,in, It is the desired package separation spacing. and It's a package and packages size.
[0253] Calculate the total repulsive potential, wrapping The total repulsive potential comes from all other neighboring packages. The sum of the repulsive potentials:
[0254]
[0255] Calculate the total repulsive force The total repulsive force is the negative gradient of the total repulsive potential, and its direction is determined by the obstacle. Pointing to the package :
[0256]
[0257] From the above, we can see that the formula for calculating the total repulsive force is:
[0258]
[0259] Step 3: Calculation of Resultant Force and Velocity Mapping
[0260] Calculate the resultant force for each package. At the current moment Virtual synergy It is the vector sum of gravity and all repulsive forces:
[0261]
[0262] Mapping the resultant force to the velocity of the target envelope, the calculated It is a two-dimensional vector representing the desired motion trend of the package. It needs to be converted into speed commands that the belt module can execute. A simple mapping strategy is to use the direction of the resultant force as the direction of the target velocity, where the magnitude of the resultant force is positively correlated with the magnitude of the target velocity. The calculation method is as follows:
[0263]
[0264] Here, C is a transformation coefficient ranging from 0.1 to 1.0. However, a better strategy is to consider physical constraints:
[0265] Target speed And the magnitude of the resultant force Related, but requires saturation treatment to ensure it does not exceed the maximum speed of the belt module. ,For example =2000mm / s.
[0266]
[0267] in, It is the force-velocity proportionality coefficient, which is generally taken as 400 (mm / s) / N.
[0268] Map the target speed of the package to the speed of the belt module:
[0269] Locating packages Which belt modules are currently covered? For each belt module covered by package i... Its target velocity vector Set as a package Target velocity vector .
[0270] Since each belt module can only generate speed along its main conveying direction (usually the x-axis), we will Decomposed into and Directional components Belt module execution The velocity component in the y-direction is achieved by the speed difference between different belts.
[0271] For example, to move a package upwards, the speed of the belt above it can be slightly faster than the speed of the belt below it. The specific speed difference can be determined based on... The size is dynamically calculated, and combined with the horizontal centerline of the package, the multiple belt modules occupied are divided into the belts above the package. (The first conveyor belt in this embodiment) and the belt below the wrapping (The second conveyor belt in this embodiment of the application), the speed calculation method for both is as follows:
[0272]
[0273] in, This is the velocity mapping coefficient, with a value of 0.7.
[0274] It is understandable that if a belt module m is simultaneously wrapped by two... and If the belts cover different packages and their target speeds differ, an arbitration mechanism is needed to determine the speed value of the belt module m. For example, an average value method, an area ratio method, or prioritizing packages with greater repulsive force could be used.
[0275] Step 4: Check for local minima and deadlock.
[0276] Traditional APF algorithms suffer from getting trapped in local minima (the net force is zero but the target has not been reached). In single-unit separation applications, this can manifest as multiple packages being "stuck" and unable to be effectively separated. To address this issue, the following improvement strategies can be introduced:
[0277] In some embodiments, a random perturbation is introduced. When the speed of a package is detected to be below a certain threshold for an extended period (potentially resulting in a stalemate), a small, random perturbation force is added to its resultant force calculation to help it "jump out" of the local minimum region. The calculation method is as follows:
[0278]
[0279] in, is the perturbation coefficient, which controls the magnitude of the perturbation force, with a value range of 0.05~0.35, and rand is the function for generating a two-dimensional standard normal distribution random vector.
[0280] In some embodiments, the potential field function is adjusted by adding a term related to the distance to the obstacle in the gravitational potential, so that the gravity weakens when approaching the obstacle, avoiding a stalemate caused by pulling towards the obstacle. The improved gravitational potential function is as follows:
[0281]
[0282] in, To increase the obstacle distance modulation factor, Let be the distance from the i-th package to the nearest obstacle (other packages). It is the maximum distance at which the repulsive force begins to act. The gravity protection factor, ranging from 0.1 to 0.2, prevents the gravity from dropping to zero when enveloping an obstacle very close to it, ensuring that there is still a slow tendency to move towards the target.
[0283] In some embodiments, event-driven mode switching detects deadlock states (e.g., multiple packages are locked in a standoff on a conveyor belt module). Once detected, all packages can be temporarily forced to move in a straight line at the same low speed for a short distance to break the stalemate before switching back to APF mode.
[0284] Step 5: Establish a closed-loop control process
[0285] Initialize the belt matrix state; system ready.
[0286] Loop begins:
[0287] a. Perception: The scene is captured by a 3D ToF camera, and the controller parses information such as the ID, location, and size of all packages.
[0288] b. Iterate through each package i:
[0289] i. Determine its dynamic target point .
[0290] ii. Calculate the gravitational force acting on it. .
[0291] iii. Calculate the total repulsive force it experiences from all other packages j. .
[0292] iv. Calculate the resultant force .
[0293] v. Map the resultant force to the target velocity vector of the package. .
[0294] c. Speed distribution: For each belt module m:
[0295] i. Determine which packages it is covered by.
[0296] ii. Calculate the final speed command of module m based on the target speed of the covered package and the arbitration rules.
[0297] d. Command issuance: The controller issues speed commands for all 32 modules to the corresponding servo drives.
[0298] e. Repeat the loop: Return to step a.
[0299] Through the above process, the components entering the single-piece separation system are subjected to an artificial potential field, which causes them to repel each other like magnets while being attracted by the target point in front, thus achieving smooth, continuous, and adaptive single-piece separation.
[0300] This application aims to address the problems of complex rules, poor generalization ability, suboptimal control effect, and poor scalability in existing rule-based single-item package separation methods, and to provide a new method for single-item package separation that can achieve adaptive, smooth, and efficient control.
[0301] In summary, this application has the following significant advantages:
[0302] (1) High adaptability and robustness: This application does not rely on pre-set cumbersome rules. No matter how complex the incoming flow pattern of the packages is (side by side, stacked, irregular), the potential field model can automatically generate appropriate control forces to guide the packages to separate. Its generalization ability to unknown situations far exceeds that of rule-based methods.
[0303] (2) The control process is smooth and efficient. Since the resultant force changes continuously, the speed of the belt also changes smoothly, avoiding the sudden acceleration and deceleration common in traditional methods. This helps protect the package, reduce equipment wear and energy consumption. The separation process is parallel and globally coordinated, resulting in higher overall efficiency.
[0304] (3) The algorithm is simple and easy to implement. The mathematical model of the artificial potential field algorithm is clear and the computational load is controllable, making it very suitable for high-frequency real-time calculations on modern industrial control computers. Compared to maintaining a complex rule base and dozens of configuration parameters, adjusting... , , It is much simpler to handle a few core parameters.
[0305] (4) Excellent scalability: When the specifications of the belt module matrix change (e.g., from 4×8 to 5×10), the core logic of the algorithm does not need to be changed at all. Only the dimension parameters of the matrix need to be adjusted during calculation and control, which shows strong scalability.
[0306] (5) Avoid chain reaction and deadlock. By introducing repulsive force and specific anti-deadlock mechanism, this application can fundamentally prevent collision and congestion between packages, and effectively avoid the "chain reaction" of the entire production line stopping due to improper local handling.
[0307] Based on the above embodiments, this application also provides a package separation control device. Figure 6 This is a schematic diagram of the composition structure of a package separation control device provided in an embodiment of this application, as shown below. Figure 6 As shown, the package separation control device 600 includes an acquisition module 601, a first determination module 602, a second determination module 603, and a third determination module 604, wherein:
[0308] The acquisition module 601 is used to acquire the position coordinates of the target package on the conveyor belt matrix, and the exit reference position of the target package on the conveyor belt matrix; wherein, the conveyor belt matrix includes multiple parallel conveyor belts;
[0309] The first determining module 602 is used to determine the virtual gravity of the target package relative to the exit reference position based on the first distance between the position coordinates and the exit reference position and the gravitational potential gain coefficient.
[0310] The second determining module 603 is used to determine the total virtual repulsion of the target package based on the second distance between the target package and one or more other packages in the conveyor belt matrix and the repulsion potential gain coefficient;
[0311] The third determining module 604 is used to determine the target running speed of one or more conveyor belts covered by the target package based on virtual gravity and total virtual repulsion, so as to control one or more conveyor belts to run at the target running speed to achieve package separation.
[0312] In some embodiments of this application, the third determining module 604 is further configured to determine the virtual resultant force of the target package based on the virtual attraction and the total virtual repulsion; determine the running speed of the target package based on the mapping relationship between the virtual resultant force and the running speed; and determine the target running speed of one or more conveyor belts covered by the target package based on the running speed of the target package.
[0313] In some embodiments of this application, the third determining module 604 is further configured to determine the first speed of the target package based on the virtual resultant force and a preset proportional coefficient; and to determine the running speed of the target package based on the first speed and the preset maximum speed of the conveyor belt matrix.
[0314] In some embodiments of this application, the running speed of the target package includes a horizontal running speed and a vertical running speed; the third determining module 604 is further configured to determine the horizontal centerline corresponding to the target package; based on the horizontal centerline, determine one or more first conveyor belts located above the horizontal centerline covered by the target package, and determine one or more second conveyor belts located below the horizontal centerline covered by the target package; based on the horizontal running speed, the vertical running speed and the speed mapping coefficient, determine the target running speed of the first conveyor belt and the target running speed of the second conveyor belt.
[0315] In some embodiments of this application, the first determining module 602 is further configured to construct a gravitational potential function of the target package based on the gravitational potential gain coefficient and a first distance between the position coordinates and the exit reference position; and to perform a negative gradient operation on the gravitational potential function to determine the virtual gravity of the target package relative to the exit reference position.
[0316] In some embodiments of this application, the second determining module 603 is further configured to, for the first package, determine an object spacing threshold between the target package and the first package based on the size of the target package, the size of the first package, and a preset spacing; wherein the first package is any one of the other packages; when the centroid distance between the target package and the first package is less than or equal to the object spacing threshold, construct a repulsive potential function of the target package relative to the first package based on the centroid distance, the repulsive potential gain coefficient, and the object spacing threshold; and determine the total virtual repulsive force of the target package based on the repulsive potential functions constructed for the other packages respectively.
[0317] In some embodiments of this application, the second determining module 603 is further configured to perform vector summation on each repulsive potential function to determine the total repulsive potential function; and to perform a negative gradient operation on the total repulsive potential function to obtain the total virtual repulsive force of the target package.
[0318] It should be noted that, in the embodiments of this application, if the above methods are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of software products. These software products are stored in a storage medium and include several instructions to cause an electronic device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.
[0319] This application also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program that can run on the processor, and the processor executes the computer program to implement the above-described method.
[0320] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-described method. The computer-readable storage medium can be transient or non-transient.
[0321] This application also provides a computer program product, including a computer program or instructions, which, when executed by a processor, implement some or all of the steps in the above-described method. This computer program product can be implemented specifically through hardware, software, or a combination thereof.
[0322] In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0323] It should be noted that, Figure 7 This is a hardware entity diagram of an electronic device provided in an embodiment of this application, such as... Figure 7 As shown, the hardware entity of the electronic device 700 includes: a processor 701, a communication interface 702, and a memory 703, wherein:
[0324] The processor 701 typically controls the overall operation of the electronic device 700.
[0325] The communication interface 702 enables the electronic device 700 to communicate with other terminals or servers via a network.
[0326] The memory 703 is configured to store instructions and applications executable by the processor 701, and can also cache data to be processed or already processed (e.g., image data, audio data, voice communication data, and video communication data) in the processor 701 and various modules in the electronic device 700. It can be implemented using flash memory or RAM. Data transfer between the processor 701, the communication interface 702, and the memory 703 can be performed via bus 704.
[0327] For example, the electronic device can be an industrial control computer.
[0328] It should be noted that the descriptions of the storage medium and device embodiments above are similar to the descriptions of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.
[0329] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above steps / processes do not imply a sequential order of execution; the execution order of each step / process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above embodiments of this application are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0330] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0331] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0332] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0333] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0334] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory, magnetic disks, or optical disks.
[0335] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0336] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A method for controlling the separation of packages, characterized in that, The method includes: Obtain the position coordinates of the target package on the conveyor belt matrix, and the exit reference position of the target package on the conveyor belt matrix; wherein, the conveyor belt matrix includes multiple parallel conveyor belts; Based on the first distance between the location coordinates and the exit reference position and the gravitational potential gain coefficient, the virtual gravity of the target package relative to the exit reference position is determined; The total virtual repulsion of the target package is determined based on the second distance between the target package and one or more other packages in the conveyor belt matrix and the repulsion potential gain coefficient. Based on the virtual gravity and the total virtual repulsion, the target running speed of one or more conveyor belts covered by the target package is determined, so as to control the one or more conveyor belts to run at the target running speed to achieve package separation; The step of determining the target operating speed of one or more conveyor belts covered by the target package based on the virtual gravity and the total virtual repulsion includes: Based on the virtual attraction and the total virtual repulsion, determine the virtual resultant force of the target package; Based on the mapping relationship between the virtual combined force and the running speed, the running speed of the target package is determined; Based on the running speed of the target package, determine the target running speed of one or more conveyor belts covered by the target package.
2. The method according to claim 1, characterized in that, Determining the running speed of the target package based on the mapping relationship between the virtual resultant force and the running speed includes: Based on the virtual combined force and the preset proportional coefficient, the first velocity of the target package is determined; The running speed of the target package is determined based on the first speed and the preset maximum speed of the conveyor belt matrix.
3. The method according to claim 1, characterized in that, The operating speed of the target package includes both horizontal and vertical operating speeds; determining the target operating speed of one or more conveyor belts covered by the target package based on its operating speed includes: Determine the horizontal centerline corresponding to the target package; Based on the horizontal centerline, determine one or more first conveyor belts located above the horizontal centerline that are covered by the target package, and determine one or more second conveyor belts located below the horizontal centerline that are covered by the target package; Based on the horizontal operating speed, the vertical operating speed, and the speed mapping coefficient, the target operating speed of the first conveyor belt and the target operating speed of the second conveyor belt are determined.
4. The method according to any one of claims 1 to 3, characterized in that, The step of determining the virtual gravity of the target package relative to the exit reference position based on the first distance between the position coordinates and the exit reference position and the gravitational potential gain coefficient includes: Based on the gravitational potential gain coefficient and the first distance between the position coordinates and the exit reference position, the gravitational potential function of the target package is constructed; A negative gradient operation is performed on the gravitational potential function to determine the virtual gravity of the target package relative to the exit reference position.
5. The method according to any one of claims 1 to 3, characterized in that, The determination of the total virtual repulsion of the target package based on the centroid distance and repulsion potential gain coefficient between the target package and one or more other packages in the conveyor belt matrix includes: For the first package, a threshold for the object distance between the target package and the first package is determined based on the size of the target package, the size of the first package, and a preset distance; wherein, the first package is any one of the other packages; When the centroid distance between the target package and the first package is less than or equal to the object spacing threshold, a repulsive potential function of the target package relative to the first package is constructed based on the centroid distance, the repulsive potential gain coefficient, and the object spacing threshold. The total virtual repulsion force of the target package is determined based on the repulsion potential functions constructed for the other packages respectively.
6. The method according to claim 5, characterized in that, The determination of the total virtual repulsion force of the target package based on the repulsion potential functions constructed for the other packages includes: The total repulsive potential function is determined by vector summation of each of the repulsive potential functions. By performing a negative gradient operation on the total repulsive potential function, the total virtual repulsive force of the target package is obtained.
7. A package separation control device, characterized in that, The device includes: An acquisition module is used to acquire the position coordinates of the target package on the conveyor belt matrix, and the exit reference position of the target package on the conveyor belt matrix; wherein, the conveyor belt matrix includes multiple parallel conveyor belts; The first determining module is used to determine the virtual gravity of the target package relative to the exit reference position based on the first distance between the position coordinates and the exit reference position and the gravitational potential gain coefficient. The second determining module is used to determine the total virtual repulsion of the target package based on the second distance between the target package and one or more other packages in the conveyor belt matrix and the repulsion potential gain coefficient; The third determining module is used to determine the target running speed of one or more conveyor belts covered by the target package based on the virtual gravity and the total virtual repulsion, so as to control the one or more conveyor belts to run at the target running speed to achieve package separation; The third determining module is specifically used to determine the virtual resultant force of the target package based on the virtual attraction and the total virtual repulsion; determine the running speed of the target package based on the mapping relationship between the virtual resultant force and the running speed; and determine the target running speed of one or more conveyor belts covered by the target package based on the running speed of the target package.
8. An electronic device comprising a processor and a memory, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Parcel stack removing method and system on stack removing device
CN120646507A
Kinematic modeling strategy and path planning method for material conveying platform
WO2023087863A1