Multi-robot-based speed dynamic task allocation method, device and equipment
By constructing a distance-cost matrix and real-time speed information, combined with iterative optimization algorithms and pheromone mechanisms, tasks are dynamically allocated to multi-robot systems, solving the problem of uneven task allocation, achieving precise matching between robot capabilities and task load, and improving system efficiency.
Patent Information
- Application Number
- CN202511797311.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-02
- Publication Date
- 2026-02-13
AI Technical Summary
Existing multi-robot systems neglect the performance differences of individual robots when allocating tasks, resulting in uneven task distribution. Some robots complete tasks ahead of schedule and then become idle, leading to a decrease in system resource utilization and an extension of the overall task completion time.
By constructing a distance-cost matrix and acquiring robot speed information in real time, each robot is assigned a node to be visited in proportion to its speed. An iterative optimization algorithm is used to generate a node visit sequence. The next node to be visited is selected based on pheromone concentration and path distance, and a running path is generated so that all robots can complete the task simultaneously.
This achieves uniform task distribution, ensuring that the workload of each robot is precisely matched with its physical execution capabilities. It avoids the problem of mismatch between task load and actual processing capacity caused by ignoring individual performance differences, thus improving task completion efficiency.
Smart Images

Figure CN121523337A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, and in particular to a method, apparatus, and device for dynamic speed allocation of tasks based on multiple robots. Background Technology
[0002] With the continuous advancement of communication technology and airborne computing capabilities, collaborative operation of multi-robot systems has established a solid technical foundation and is gradually becoming a research hotspot in the field of intelligent robotics. Compared with single-robot operation modes, multi-robot systems can theoretically significantly improve operational efficiency and possess stronger system fault tolerance.
[0003] However, existing multi-robot task allocation methods are usually based on the homogeneity assumption, distributing tasks evenly among robots while ignoring the individual performance differences that exist among robots in actual operations. This performance difference leads to significant workload unevenness in actual execution, with some robots completing their assigned tasks ahead of time and entering an idle state, while other robots still need to continue working. This results in a decrease in system resource utilization and directly prolongs the overall task completion time.
[0004] Therefore, achieving a balanced task allocation has become a key challenge in improving the collaborative efficiency of multi-robot systems. Summary of the Invention
[0005] Therefore, it is necessary to provide a method, apparatus, and device for dynamic task allocation based on the speed of multiple robots, which can improve the uniformity of task allocation, in order to address the above-mentioned technical problems.
[0006] Firstly, this application provides a method for dynamic task allocation based on the speed of multiple robots, including:
[0007] Based on the pre-constructed distance cost matrix and the real-time current speed information of each robot, a node to be visited is assigned to each robot; the number of nodes to be visited is proportional to the current speed information of each robot.
[0008] For each robot, multiple nodes to be visited are iteratively optimized to obtain a node visit sequence. In each iteration, node selection is performed based on the accumulated pheromone concentration of visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node. After the node selection is completed, the pheromone concentration is updated.
[0009] The system generates a running path based on the node access sequence and controls each robot to execute node access tasks based on the running path, so that all robots can complete the node access tasks simultaneously in the shortest possible time.
[0010] Secondly, this application also provides a multi-robot speed dynamic task allocation device, comprising:
[0011] The allocation module is used to allocate nodes to be visited for each robot based on a pre-built distance cost matrix and the real-time current speed information of each robot; wherein the number of nodes to be visited is proportional to the current speed information of each robot.
[0012] The processing module is used to perform iterative optimization processing on multiple nodes to be visited for each robot to obtain a node access sequence. In each iteration, node selection is performed based on the accumulated pheromone concentration of the visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node, and the pheromone concentration is updated after the node selection is completed.
[0013] The control module is used to generate a running path based on the node access sequence and control each robot to execute the node access task based on the running path, so that all robots can complete the node access task simultaneously in the shortest possible time.
[0014] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0015] Based on the pre-constructed distance cost matrix and the real-time current speed information of each robot, a node to be visited is assigned to each robot; the number of nodes to be visited is proportional to the current speed information of each robot.
[0016] For each robot, multiple nodes to be visited are iteratively optimized to obtain a node visit sequence. In each iteration, node selection is performed based on the accumulated pheromone concentration of visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node. After the node selection is completed, the pheromone concentration is updated.
[0017] The system generates a running path based on the node access sequence and controls each robot to execute node access tasks based on the running path, so that all robots can complete the node access tasks simultaneously in the shortest possible time.
[0018] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0019] Based on the pre-constructed distance cost matrix and the real-time current speed information of each robot, a node to be visited is assigned to each robot; the number of nodes to be visited is proportional to the current speed information of each robot.
[0020] For each robot, multiple nodes to be visited are iteratively optimized to obtain a node visit sequence. In each iteration, node selection is performed based on the accumulated pheromone concentration of visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node. After the node selection is completed, the pheromone concentration is updated.
[0021] The system generates a running path based on the node access sequence and controls each robot to execute node access tasks based on the running path, so that all robots can complete the node access tasks simultaneously in the shortest possible time.
[0022] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:
[0023] Based on the pre-constructed distance cost matrix and the real-time current speed information of each robot, a node to be visited is assigned to each robot; the number of nodes to be visited is proportional to the current speed information of each robot.
[0024] For each robot, multiple nodes to be visited are iteratively optimized to obtain a node visit sequence. In each iteration, node selection is performed based on the accumulated pheromone concentration of visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node. After the node selection is completed, the pheromone concentration is updated.
[0025] The system generates a running path based on the node access sequence and controls each robot to execute node access tasks based on the running path, so that all robots can complete the node access tasks simultaneously in the shortest possible time.
[0026] The aforementioned method, apparatus, and device for dynamic speed allocation of multiple robots first allocate nodes to be visited for each robot based on a pre-constructed distance-cost matrix and the real-time acquired current speed information of each robot; wherein the number of nodes to be visited is proportional to the current speed information of each robot; next, for each robot, multiple nodes to be visited are iteratively optimized to obtain a node access sequence; wherein, in each iteration, node selection is performed based on the accumulated pheromone concentration of visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next access node, and the pheromone concentration is updated after the node selection is completed; finally, a running path is generated based on the node access sequence, and each robot is controlled to execute the node access task based on the running path, so that all robots complete the node access task simultaneously in the shortest possible time. In this method, the current speed information of each robot is obtained in real time, and a number of nodes to be visited are allocated to each robot in proportion to its speed. This allows the faster robot to automatically take on more task nodes. This mechanism of allocating tasks according to capabilities ensures that the actual workload of each robot is precisely matched with its physical execution capability. This fundamentally avoids the problem of mismatch between the workload and actual processing capability caused by ignoring individual performance differences in traditional methods, thereby improving the uniformity of task allocation. Attached Figure Description
[0027] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0028] Figure 1 This is an internal structural diagram of a computer device in one embodiment;
[0029] Figure 2 This is a flowchart illustrating a method for dynamically allocating tasks based on the speed of multiple robots in one embodiment;
[0030] Figure 3 This is a flowchart illustrating a multi-robot speed-based dynamic task allocation method in another embodiment;
[0031] Figure 4 This is a flowchart illustrating a multi-robot speed-based dynamic task allocation method in another embodiment;
[0032] Figure 5 This is a flowchart illustrating a multi-robot speed-based dynamic task allocation method in another embodiment;
[0033] Figure 6 This is a flowchart illustrating a multi-robot speed-based dynamic task allocation method in another embodiment;
[0034] Figure 7 This is a diagram illustrating the overall architecture and workflow of a multi-robot collaborative task allocation system based on ant colony optimization algorithm in one embodiment.
[0035] Figure 8 This is a schematic diagram of a grid map in one embodiment;
[0036] Figure 9 This is a diagram showing the positional relationships between the robots in one embodiment;
[0037] Figure 10 This is a schematic diagram of task allocation in one embodiment;
[0038] Figure 11 This is a structural block diagram of a multi-robot speed dynamic task allocation device in one embodiment. Detailed Implementation
[0039] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0040] With the continuous improvement of communication capabilities and onboard computer performance, multi-robot collaborative task execution has become technically feasible and is gradually becoming a research hotspot in this field. Compared with single-robot operations, multi-robot collaboration can significantly improve overall work efficiency and provide stronger fault tolerance due to its system redundancy. However, current mainstream multi-robot task allocation algorithms still have several obvious drawbacks: First, task allocation is often based on the ideal assumption that the robots are of the same model, ignoring the real-time performance differences of each robot due to factors such as hardware wear and tear and power status. This results in the inability to achieve synchronous completion of the originally evenly distributed tasks, leading to uneven task distribution. Second, the system has poor anti-interference capabilities. Once a robot malfunctions, experiences speed fluctuations, or even stops working during task execution, other robots usually cannot dynamically take over the remaining tasks after adopting a static allocation scheme, resulting in task interruption or delay. Finally, due to the lack of flexibility in the above allocation mechanism, the overall system's work efficiency is forced to depend on the slowest robot. The system must wait for the slowest robot to complete its work before the entire task ends, resulting in excessively long overall time consumption and low efficiency. Based on this, this application proposes a multi-robot speed-based dynamic task allocation method to solve the above problems.
[0041] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 1 As shown, the computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores relevant data related to the dynamic speed allocation task process based on multiple robots. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a method for dynamic speed allocation tasks based on multiple robots.
[0042] Those skilled in the art will understand that Figure 1 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0043] In one exemplary embodiment, such as Figure 2 As shown, a method for dynamic speed allocation of tasks based on multiple robots is provided, which can be applied to... Figure 1 Taking the server in the example, the explanation includes the following steps 201 to 203. Wherein:
[0044] Step 201: Based on the pre-constructed distance cost matrix and the real-time acquired current speed information of each robot, assign a node to be visited to each robot.
[0045] The number of nodes to be accessed is proportional to the current speed information of each robot.
[0046] A distance-cost matrix is a data structure used to quantify the difficulty of moving between nodes, typically existing as a two-dimensional array or table. Each element represents the distance between two nodes, which can be the actual spatial length or a measure of combined costs such as time and energy consumption. In path planning, this matrix is used to quickly query the path cost between any two points.
[0047] Current speed information refers to the robot's movement speed, which is collected and reported in real time at a specific moment by the robot's built-in sensors (such as encoders, inertial measurement units, etc.) or an external positioning system. It reflects the robot's current actual movement capability.
[0048] Iterative optimization is a computational method that gradually approaches the optimal solution through repeated trials and corrections. In this method, the algorithm performs multiple rounds of computation. In each round, a new solution is generated based on the results of the previous round and specific optimization rules (such as simulating the pheromone mechanism of ant colonies), and its quality is judged by an evaluation function (such as total path length). After multiple iterations, the algorithm's solution tends to stabilize and reach its optimum.
[0049] Pheromones are a virtual substance concentration designed to mimic the foraging behavior of ants in nature. In the algorithm, it is abstracted as a numerical value stored on the path, used to record the frequency and quality of the path being searched. The more times a path is selected, or the shorter it is proven to be (higher quality), the more pheromone concentration accumulates on it, thus attracting more "selections" in subsequent iterations, forming a positive feedback mechanism that guides the algorithm to converge to the optimal path.
[0050] In this embodiment of the application, the server assigns a node to be visited to each robot based on a pre-constructed distance cost matrix and the real-time current speed information of each robot, wherein the number of nodes to be visited is proportional to the current speed information of each robot.
[0051] In another embodiment, the server first obtains the real-time speed of all robots. Assuming robot A's speed is 1.2 m / s and robot B's speed is 0.8 m / s, the total speed is 2 m / s. After normalization, robot A's speed accounts for 60% and robot B's for 40%. If there are a total of 50 nodes to be accessed in the current task area, the server will allocate 30 nodes to robot A (50 * 60%) and 20 nodes to robot B (50 * 40%), thus achieving dynamic load balancing based on speed.
[0052] Step 202: For each robot, iterative optimization is performed on multiple nodes to be visited to obtain a node access sequence; wherein, in each iteration, node selection is performed based on the accumulated pheromone concentration of the visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node, and the pheromone concentration is updated after the node selection is completed.
[0053] The node access sequence refers to an ordered list of nodes that a robot needs to visit sequentially. It defines the robot's task execution order, starting from the starting node and visiting nodes one by one in the order of the sequence until all assigned nodes have been visited. This sequence is the direct output of the path planning algorithm and serves as the action guide for controlling the robot's movement.
[0054] In this embodiment of the application, for each robot, the server performs iterative optimization processing on the multiple nodes to be visited assigned to it to obtain a node access sequence. In each iteration, the algorithm performs node selection processing based on the accumulated pheromone concentration of the visited nodes and the path distance between the current visited node and the remaining nodes to be visited, in order to determine the next visited node, and updates the pheromone concentration on the path after the selection is completed.
[0055] In another embodiment, the server uses an ant colony algorithm to plan the path for each robot. Assume robot A is planning the visit sequence of its 10 nodes. During the iteration, when the robot is at node 3, it needs to select the next target from the remaining 7 nodes. For example, although node 4 is slightly farther away, its path has a high pheromone concentration, so its probability of being selected is still high. After this iteration generates a complete visit sequence, the algorithm updates the path pheromone based on the total length of the sequence: the shorter the total path, the greater the pheromone increment obtained by the traversed path segments. Simultaneously, pheromones on all paths globally will evaporate in a certain proportion to avoid the algorithm prematurely falling into local optima.
[0056] Step 203: Generate a running path based on the node access sequence, and control each robot to execute the node access task based on the running path, so that all robots can complete the node access task simultaneously in the shortest possible time.
[0057] The running path is the physical manifestation of the node access sequence. It is not merely a list of node orders, but also includes the specific trajectories connecting these nodes. This path needs to take into account factors such as obstacles, channel width, and robot kinematic constraints in the actual environment, so that the robot can move safely and efficiently from one node to another according to the sequence.
[0058] In this embodiment, the server calculates the specific running path of each robot based on the node access sequence generated for each robot, and controls each robot to perform node access tasks based on this running path. The goal is to enable all robots to complete their respective tasks simultaneously in the shortest possible time.
[0059] In another embodiment, the server ensures that the path is continuous and collision-free when generating the execution path. For example, for the node access sequence of robot A [warehouse, node 5, node 2, node 8], the server plans a smooth trajectory starting from the warehouse and passing through nodes 5, 2, and 8 in sequence. The server then sends this execution path to the execution controller of robot A. Simultaneously, the server continuously monitors the task progress of all robots. Its core optimization goal is to ensure that the robot with the heaviest workload (i.e., the robot assigned the most nodes) can also complete its work efficiently, thereby minimizing the completion time of the entire task group and making the task completion times of all robots as close as possible, achieving simultaneous completion.
[0060] In the aforementioned multi-robot speed dynamic allocation task method, firstly, based on a pre-constructed distance cost matrix and the real-time acquired current speed information of each robot, nodes to be visited are allocated to each robot; the number of nodes to be visited is proportional to the current speed information of each robot. Next, for each robot, multiple nodes to be visited are iteratively optimized to obtain a node access sequence. In each iteration, node selection is performed based on the accumulated pheromone concentration of visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node, and the pheromone concentration is updated after node selection is completed. Finally, a running path is generated based on the node access sequence, and each robot is controlled to execute the node access task based on the running path, so that all robots can complete the node access task simultaneously in the shortest possible time. In this method, the current speed information of each robot is obtained in real time, and a number of nodes to be visited are allocated to each robot in proportion to its speed. This allows the faster robot to automatically take on more task nodes. This mechanism of allocating tasks according to capabilities ensures that the actual workload of each robot is precisely matched with its physical execution capability. This fundamentally avoids the problem of mismatch between the workload and actual processing capability caused by ignoring individual performance differences in traditional methods, thereby improving the uniformity of task allocation.
[0061] In one exemplary embodiment, such as Figure 3 As shown, the above-mentioned "node selection process based on the accumulated pheromone concentration of visited nodes and the path distance between the currently visited node and the remaining nodes to be visited, to obtain the next visited node" includes steps 301 to 302. Wherein:
[0062] Step 301: Based on the pheromone concentration and path distance, determine the transition probability of the robot from the current visited node to each of the remaining unvisited nodes.
[0063] In this algorithm, pheromone concentration is a virtual substance introduced to mimic the foraging behavior of ants. In each iteration, after the robot selects a path, it "leaves" pheromones on that path. The concentration of pheromones represents the historical selection history of that path and the quality of the solutions; the more times a path is selected, or the higher the quality of the complete solution (total path) formed by that path, the higher its pheromone concentration. In subsequent iterations, the algorithm prioritizes paths with high pheromone concentrations, creating a positive feedback mechanism.
[0064] Path distance refers to the cost of moving between two specific nodes. This cost is most commonly represented by Euclidean distance, which is the straight-line length between two points in space. However, in practical applications, it can also be a more comprehensive cost metric, taking into account factors such as road conditions, difficulty of travel, or estimated travel time. In path planning algorithms, it is a core indicator for measuring the direct cost of a path.
[0065] The transition probability is a quantified value ranging from 0 to 1, used to precisely describe the likelihood and attractiveness of selecting a candidate node as the next destination from the current node. Its calculation combines historical experience along the path (pheromone concentration) and direct costs (path distance), and is a key basis for the algorithm to make a balanced decision between utilizing known paths and exploring new paths.
[0066] In this embodiment, the server determines the probability of the robot moving from the current access node to each of the remaining unaccessed nodes based on the pheromone concentration and the path distance.
[0067] In another embodiment, the server uses a specific probability formula for calculation. This formula states that the transition probability is directly proportional to the alpha power of the pheromone concentration and inversely proportional to the beta power of the path distance. Here, α and β are adjustable parameters, representing the importance of pheromone and path distance, respectively. For example, when the α value is set larger, the algorithm tends to follow historical experience; while when the β value is larger, the algorithm tends to select nodes with shorter distances. The specific probability of each candidate node being selected is obtained by dividing the (pheromone^α / distance^β) value of each candidate node by the sum of these values for all candidate nodes.
[0068] Step 302: Select the next node to be visited from the remaining nodes to be visited based on the transition probability.
[0069] The remaining unvisited nodes refer to the set of all nodes already assigned to a robot that have not yet been included in the current access sequence during the iterative process of planning a path for that robot. This set gradually shrinks as the iteration progresses; each time a node is selected, it is removed from the "remaining" set and added to the determined access sequence.
[0070] In this embodiment of the application, the server selects the next node to be accessed from the remaining nodes to be accessed based on the calculated transition probability.
[0071] In another embodiment, the server assigns a selection interval to each of the remaining nodes to be visited based on its transition probability (the higher the probability, the larger the interval). The algorithm then generates a random number between 0 and 1; the node whose interval this random number falls into is selected as the next target for access. This method ensures that high-probability nodes have a greater chance of being selected while also providing opportunities for low-probability nodes to be explored, effectively reducing the risk of prematurely getting trapped in local optima.
[0072] In one exemplary embodiment, such as Figure 4 As shown, the above-mentioned "updating pheromone concentration" includes steps 401 to 403. Wherein:
[0073] Step 401: Volatilize the pheromone concentration according to the preset evaporation rate to obtain the pheromone concentration after evaporation.
[0074] The preset evaporation rate is a constant factor between 0 and 1, used to simulate the evaporation process of pheromones over time in nature. The main purpose of introducing the evaporation rate is to prevent pheromones from accumulating indefinitely, which could cause the algorithm to prematurely fall into local optima. By evaporating a certain proportion of global pheromones in each iteration, the pheromone concentration on poorer paths can be reduced, creating opportunities for the algorithm to explore new and potentially better paths, thus maintaining a balance between exploration and utilization.
[0075] Evaporation processing refers to a mathematical operation that uses a preset evaporation rate to reduce the pheromone concentration on all paths globally in a single step. The standard formula is: New pheromone = Original pheromone × (1 - Evaporation rate). For example, if the evaporation rate is set to 0.3, then after each iteration, the pheromone concentration on all paths will remain at 70% of its original level. This is a global step performed before the incremental pheromone update.
[0076] In this embodiment of the application, the server performs evaporation processing on the pheromone concentration along all paths according to a preset evaporation rate to obtain the pheromone concentration after evaporation.
[0077] In another embodiment, the server sets the evaporation rate to 0.5. At the start of each iteration, it first multiplies the pheromone concentration on all path segments (e.g., all possible connections from node A to node B, node B to node C, etc.) by (1-0.5)=0.5. This indicates that regardless of the historical performance of these path segments, their pheromone concentration will be halved in the current iteration, thereby weakening the absolute influence of past experience and reserving space for exploring new paths.
[0078] Step 402: Determine the pheromone increment based on the nodes visited by the robot in the current iteration; the pheromone increment is inversely proportional to the length between the current visited node and the next visited node.
[0079] The pheromone increment refers to the amount of pheromone that needs to be added to a specific path in a single iteration. This increment is not fixed; it is directly related to the quality of the path solution generated in this iteration. Generally, the higher the quality of the path solution (e.g., the shorter the total length), the greater the pheromone increment obtained by each path segment it contains, thereby strengthening the high-quality path and guiding subsequent iterations to converge towards a better direction.
[0080] In the current iteration, the visited nodes specifically refer to the set of all nodes that have been sequentially visited during the path planning process of this iteration. This sequence constitutes a complete path, which is the direct basis for calculating the result of this iteration and updating pheromones. The algorithm determines how to reward (i.e., increase pheromones) each segment of the path based on the quality of this complete path.
[0081] In this embodiment of the application, the server determines the pheromone increment based on the complete access sequence generated by the robot in the current iteration, and the increment is inversely proportional to the length of each path segment that constitutes the sequence.
[0082] In another embodiment, the calculation of the pheromone increment is more specific. The server first calculates the total length of the entire path generated in this iteration. Then, for each specific segment in the path (such as from the current access node to the next access node), its pheromone increment value is determined by a constant Q divided by the length of the segment itself. That is, for a path segment of length D, its pheromone increment = Q / D. Thus, in the entire path, the shorter the path segment, the higher the pheromone reward per unit length, making it more attractive in future iterations.
[0083] Step 403: The pheromone increment is superimposed with the pheromone concentration after evaporation, and the superimposed pheromone concentration is used to replace the accumulated pheromone concentration of the visited nodes.
[0084] In this embodiment of the application, the server superimposes the calculated pheromone increment with the pheromone concentration after evaporation treatment, and updates and replaces the original pheromone concentration value with the superimposed result.
[0085] In another embodiment, the update process is performed segment by segment. Assume that for the path segment connecting nodes X and Y, the pheromone concentration after evaporation is T1. Simultaneously, in this iteration, a robot happens to traverse the X->Y path, and the calculated pheromone increment for this segment is ΔT. Then, the final updated pheromone concentration for this path segment is T2 = T1 + ΔT. The server performs this operation for all path segments, thus completing a comprehensive update of the pheromone matrix for this round, providing new decision-making basis for the next iteration.
[0086] In one exemplary embodiment, such as Figure 5 As shown, the above-mentioned "assigning nodes to be visited to each robot based on the pre-constructed distance cost matrix and the real-time acquired current speed information of each robot" includes steps 501 to 502. Wherein:
[0087] Step 501: Normalize the current speed information of all robots and determine the proportion of each robot's current speed information in the sum of all robot speeds.
[0088] Normalization is a data preprocessing method that aims to scale a set of values to a uniform, comparable scale while preserving their relative relationships. In this method, it specifically refers to the process of converting the speed values of each robot into their proportion of the total speed, such that the sum of the speed proportions of all robots is 1, thereby transforming the absolute speed values into relative weights that can be used for fair allocation.
[0089] Speed percentage is a value between 0 and 1, representing the share of a single robot's speed in the total speed of all robots.
[0090] The total number of nodes refers to the total number of points that need to be accessed by all robots within the entire task area. These points are typically determined by dividing the task area into a grid or by directly specifying key locations, representing the spatial distribution of the tasks to be completed.
[0091] In this embodiment of the application, the server normalizes the current speed information of all robots and determines the proportion of each robot's current speed information in the sum of all robot speeds.
[0092] In another embodiment, the server first collects the real-time speeds of each robot. Assuming there are three robots with speeds of V1 = 1.0 m / s, V2 = 1.5 m / s, and V3 = 0.5 m / s, the server then calculates the total speed S = 1.0 + 1.5 + 0.5 = 3.0 m / s. Next, through normalization, the server calculates the speed percentage of each robot: Robot 1's percentage P1 = 1.0 / 3.0 ≈ 33.3%, Robot 2's percentage P2 = 1.5 / 3.0 = 50.0%, and Robot 3's percentage P3 = 0.5 / 3.0 ≈ 16.7%. These percentages accurately reflect the relative mobility of each robot within the team.
[0093] Step 502: Determine the nodes to be visited for each robot based on the product of the percentage and the total number of nodes in the distance cost matrix.
[0094] In this embodiment of the application, the server determines the number of nodes to be accessed for each robot based on the product of the calculated speed percentage and the total number of nodes in the distance cost matrix.
[0095] In another embodiment, continuing the previous example, assume the total number of nodes N in the task area is 60. The server calculates the number of nodes to be allocated to each robot by multiplying the speed percentage of each robot by the total number of nodes: Robot 1 allocation = 33.3% × 60 ≈ 20 nodes; Robot 2 allocation = 50.0% × 60 = 30 nodes; Robot 3 allocation = 16.7% × 60 ≈ 10 nodes. Finally, the server randomly selects or allocates a corresponding number of nodes to be accessed for each robot from the total node pool, thereby completing the initial task allocation.
[0096] In one exemplary embodiment, the method further includes:
[0097] During the generation of the node access sequence, if the current speed information of any robot changes, the nodes to be accessed are dynamically reassigned to each robot to obtain the updated nodes to be accessed. Correspondingly, for each robot, the node access sequence is obtained by iterative optimization of multiple nodes to be accessed, including: for each robot, the updated node access sequence is obtained by iterative optimization of multiple updated nodes to be accessed.
[0098] In this embodiment of the application, during the process of generating the node access sequence, if the server detects that the current speed information of any robot has changed, it immediately reassigns nodes to be accessed to all robots dynamically to obtain updated nodes to be accessed; correspondingly, for each robot, the server re-executes iterative optimization processing based on its updated set of nodes to be accessed, thereby generating an updated node access sequence.
[0099] In another embodiment, a practical application scenario is given: Initially, robot A runs at a speed of 1.2 m / s and is assigned 30 nodes; robot B runs at a speed of 0.8 m / s and is assigned 20 nodes. During task execution, robot B accelerates to 1.0 m / s due to sufficient battery power. Upon detecting this speed change, the server immediately triggers a global reassignment. Assuming the total number of nodes remains 50, the server recalculates the speed ratio and assigns 28 and 22 updated nodes to be accessed to robots A and B, respectively. Subsequently, the server interrupts the original path planning process and immediately re-runs the path planning algorithm for each robot based on these two new node sets, generating two updated node access sequences that better match the current robot's capabilities, and sends them to the robots for execution, thereby maintaining the highest work efficiency at all times.
[0100] In one exemplary embodiment, such as Figure 6 As shown, the process of constructing the distance cost matrix includes steps 601 to 603. Wherein:
[0101] Step 601: Divide the task area corresponding to the running path into a uniform grid, and determine the geometric center of each uniform grid as the node to be visited.
[0102] A uniform grid refers to a set of identical, regular cells formed by dividing the entire task area at fixed intervals in both the horizontal and vertical directions. This division method ensures that the task area is evenly covered, with each grid representing a basic work unit. This makes task allocation and path planning regular and systematic, forming the basis for building a digital environment model.
[0103] The geometric center refers to the center point of a regular geometric shape (such as a rectangle or square) on a plane, that is, the intersection of its two diagonals. In this method, it specifically refers to the center point of each uniform grid, which is selected as the actual target point in path planning. Choosing the geometric center as the node ensures that the robot basically covers the entire grid area when visiting the grid, while making the calculation of the node position simple and clear.
[0104] In this embodiment of the application, the server divides the task area corresponding to the running path into a uniform grid and determines the geometric center of each uniform grid as the node to be accessed.
[0105] In another embodiment, assume the task area is a rectangular area 100 meters long and 50 meters wide. The server can set the grid size to 5 meters × 5 meters, thus dividing the area into 20 (length) × 10 (width) uniform grids, for a total of 200 grids. The server then calculates the geometric center coordinates of each grid; for example, the geometric center coordinates of the first grid in the lower left corner are (2.5, 2.5), the geometric center of its adjacent grid to the right is (7.5, 2.5), and so on. These 200 geometric center points are then officially determined as the nodes that all robots need to access.
[0106] Step 602: Determine the initial position of each robot in the distance cost matrix.
[0107] The initial position refers to the actual physical coordinates of each robot in the working environment when the server begins task allocation and path planning. This positional information is the starting point for path planning and is crucial for calculating the initial distance from the robot to each node to be visited, directly affecting the rationality and efficiency of the final generated path sequence.
[0108] In this embodiment of the application, the server determines the initial position of each robot in the distance cost matrix.
[0109] In another embodiment, the server obtains the initial coordinates of the three robots in real time: robot 1 is located at (1.2, 3.8), robot 2 is located at (48.5, 1.5), and robot 3 is located at (95.0, 45.2). The server uses these coordinates as the corresponding position nodes of the robots in the distance-cost matrix, and uses them to calculate the Euclidean distance of each robot to all nodes to be visited (i.e., the grid center point).
[0110] Step 603: Establish a distance cost matrix containing distance information between virtual warehouse nodes, all robots, and all nodes to be visited; wherein, the distance cost matrix is used to determine the path distance between the currently visited node and the remaining nodes to be visited in path planning, and the distance cost matrix meets the preset distance cost constraints; the virtual warehouse node is configured as the start or end point of the running path to form a closed-loop path including robots, nodes to be visited, and virtual warehouse nodes.
[0111] The distance cost constraint is a set of predefined rules used to define the feasibility or cost value of movement between specific nodes in the distance cost matrix. These constraints force or prohibit the algorithm's path selection behavior by setting the cost of certain path segments to maximum or minimum values, thereby ensuring that the generated paths conform to actual operational logic and requirements, such as forming closed loops or avoiding invalid movements. Specifically, the distance cost constraint in the distance cost matrix includes setting the distance cost from the node to be visited to the virtual warehouse node to a minimum value to ensure the movement path forms a closed loop from the node to be visited to the virtual warehouse; and setting the distance costs of paths from the virtual warehouse node to the node to be visited, from the node to the robot, from the robot to the virtual warehouse node, from the robot to the robot, and between virtual warehouse nodes to a maximum value to prevent the generation of invalid paths.
[0112] In this embodiment, the server establishes a distance cost matrix containing distance information between virtual warehouse nodes, all robots, and all nodes to be accessed. This matrix is used to determine path distances in path planning and meets preset distance cost constraints. Virtual warehouse nodes are configured as the start or end point of the running path to form a closed-loop path.
[0113] In another embodiment, when constructing the distance cost matrix, the server assigns a unique index number to the virtual warehouse node, all robot nodes, and all nodes to be visited. After calculating the Euclidean distances between all nodes, the server applies specific constraints: for example, it forces the distance of all paths from nodes to be visited to the virtual warehouse node to a minimum value, which allows the user to return to the warehouse after visiting all nodes, thus forming a closed loop; at the same time, it sets the distance of those paths that are not allowed to proceed (such as from one robot node directly to another, or from the virtual warehouse directly to a node) to a maximum value, thereby prohibiting these invalid or illogical movements at the algorithm level.
[0114] In one exemplary embodiment, the method further includes:
[0115] In scenario one, if multiple robots are set to stop at the same location, the cost of the path segment from the virtual warehouse node to the robot will be included in the total cost.
[0116] In path planning algorithms, path segment cost refers to the quantified value of the cost incurred in moving from one node to another. This cost is usually represented by the Euclidean distance between the two points, but in more complex models, it can also include factors such as time, energy consumption, or terrain difficulty.
[0117] Total cost is a comprehensive metric used in path planning to evaluate the merits of a complete path solution. It typically refers to the sum of the costs of all path segments traversed by the path. The goal of algorithm optimization is to find the path sequence that covers all necessary nodes and has the lowest total cost.
[0118] Stopping at the same location is a task requirement that all robots, after completing their respective node access tasks, must move and converge at the same designated physical location. This location is typically a warehouse or charging station in the real-world area represented by the virtual warehouse node. This requirement affects the definition of the path's endpoint and the calculation of the total cost.
[0119] Stopping at the last node to be visited is another task requirement. It allows or specifies that the robot should stop in place after visiting the last node assigned to it, without having to move to a unified rendezvous point. This setting is suitable for scenarios where the robot does not need to be retrieved after the task is completed, saving the robot's empty-running costs and time after completing the task.
[0120] In this embodiment of the application, if multiple robots are set to stop at the same location, the cost of the path segment from the virtual warehouse node to the robot is included in the total cost.
[0121] In another embodiment, a warehouse inventory scenario is presented, requiring three robots to return to a central charging station after completing their tasks. During path planning, the algorithm plans a complete path for each robot as follows: starting from a virtual warehouse node, visiting all nodes assigned to it, and finally returning to the virtual warehouse node. When calculating the total cost of this complete path, the algorithm also includes the distance of the final segment, "returning to the virtual warehouse from the last node." The goal of this optimization is to find a sequence that minimizes the total distance of the entire process from "departure → visiting all nodes → returning to the warehouse," ensuring that the robots efficiently complete their tasks and return to the designated rendezvous point.
[0122] Scenario 2: If the robot is set to stop at the last node to be visited, then the path cost between the virtual warehouse node and the robot is ignored.
[0123] In this embodiment of the application, if the robot is set to stop at the last node to be visited, the path segment cost between the virtual warehouse node and the robot is ignored.
[0124] In another embodiment, a disinfection task is given for an area. After completing the task, the robot can remain at the last position to wait. When planning the path for this scenario, the algorithm plans only one path sequence for the robot: starting from the virtual warehouse node, it sequentially visits all nodes assigned to it. The path ends when the last node to be visited is calculated. When calculating the total cost, the algorithm only accumulates the cost of all path segments from the starting point to the last node, completely disregarding any potential cost of traveling from the last node to the virtual warehouse. This optimized path sequence aims to complete the visit to all work points with the shortest possible travel distance, regardless of the ending position.
[0125] This application's embodiment of the multi-robot speed dynamic task allocation method simulates the foraging behavior of ants in nature: ants start from their nest, visiting each node sequentially without repetition, and finally reaching their destination, completing one iteration. During their journey, ants release pheromones along their path, which evaporate over time. Subsequent ants tend to choose paths with higher pheromone concentrations. Since the total amount of pheromones is limited, the shorter the path, the higher the pheromone concentration per unit length. After multiple iterations, the pheromone concentration accumulated on shorter paths will be significantly higher than on longer paths, thus guiding the ant colony to find the optimal path. The operational logic flowchart is as follows: Figure 7 As shown in the flowchart, this diagram illustrates the overall architecture and workflow of a multi-robot collaborative task allocation system based on the ant colony optimization algorithm. It mainly consists of three interconnected core modules: map preprocessing, node allocation, and access sequence iteration.
[0126] First, the map preprocessing module performs structured processing on the environmental information. This module sequentially executes five key steps: building a grid map, extracting grid nodes, updating the robot's position, constructing a virtual warehouse, and finally establishing a distance-cost matrix.
[0127] Next, the node allocation module begins operation, performing dynamic task planning based on the output of the map preprocessing module. This module first executes "robot speed statistics," collecting and analyzing the real-time speed information of all robots in the team; then it enters the "robot node allocation" stage, dynamically calculating and allocating the number of nodes that each robot needs to access based on its speed ratio, thereby achieving performance-based load balancing and ensuring that high-speed robots can handle more tasks.
[0128] Finally, the access sequence iteration module, as the core of the algorithm, performs independent path planning optimization in parallel for each robot. For example... Figure 7As shown, for robots 1, 2, and up to X, each robot follows the same optimization loop: First, the total number of tasks for the robot is determined through the "node number limit" step; then, in the "node selection" step, the ant colony algorithm is used to select the next node to be visited by combining pheromone concentration and path distance; next, the pheromone concentration is updated dynamically through the "pheromone concentration update" step; finally, the list of nodes to be visited is refreshed through the "unselected node update" step. These four steps are iterated repeatedly until all assigned nodes of the robot have been visited. It is worth noting that the processing flow of robots 2 to X is completely consistent with that of robot 1, demonstrating the scalability and parallel processing capabilities of the system.
[0129] The speed dynamic allocation task based on multiple robots in this application embodiment comprises three core modules: map preprocessing, node allocation, and access order iteration. These three modules work together to achieve dynamic task allocation and path planning for the multi-robot system.
[0130] The map preprocessing module is responsible for preprocessing the data in the working environment, laying the foundation for subsequent task allocation. This module consists of five key steps:
[0131] First, a grid map is created, dividing the task area into uniform square grids. Next, the geometric center of each grid is extracted as the node to be visited. Figure 8 The initial positions of each robot on the map are represented by dots. Then, the robot positions are updated to determine the initial positions of each robot on the map, which are represented by diamonds.
[0132] To describe the positional relationships between robots and ensure closed-loop paths between each robot and nodes, a virtual warehouse needs to be constructed, with all robots at the same distance from the virtual warehouse. For example... Figure 9 As shown, when the robots start from different positions, the robot-node-virtual warehouse form the robot's movement path, where the lines connecting the last node to the virtual warehouse and the virtual warehouse to the robot are dashed lines. When multiple robots need to stop at the same position, the dashed line portion is included in the path calculation; when multiple robots stop at the last node, the dashed line portion is not included in the calculation. This allows the method proposed in this patent to flexibly adjust the stopping position of the robot after completing the task.
[0133] To describe the distance relationships between nodes, a distance cost matrix needs to be established. The goal of the ant colony optimization algorithm is to enable each robot to complete its task simultaneously and in the shortest possible time. Therefore, the distance cost matrix is needed to ensure that each robot finds the shortest path to complete its assigned task. The distance cost matrix contains three types of elements: virtual warehouse, robots, and nodes. Assume there is one virtual warehouse... Taiwan robot, If there are nodes, then the distance cost matrix for:
[0134]
[0135] In This represents the distance cost matrix between the virtual warehouse and each robot. This represents the distance cost matrix between the robot and each node. This represents the distance-cost matrix between nodes. All elements are maximum values The matrix. When selecting the destination path, since there is only one virtual warehouse, to ensure that no paths are generated from virtual warehouse to virtual warehouse, the distance cost between virtual warehouses is set to the maximum value. To ensure that the virtual warehouse always chooses the robot as the destination for the next path segment, the distance cost from the virtual warehouse to the node is set to a maximum value. To ensure the robot always chooses a node as the endpoint for its next path segment, the distance cost from the robot to the virtual warehouse is designed to be maximized. To ensure that no paths are generated from robot to robot, the distance cost between virtual warehouses is set to a maximum value. To form a closed loop of robot-node-virtual warehouse, the distance from node to virtual warehouse is set to a minimum value of 0. To ensure that no path from node to robot is generated, the distance from node to robot is set to a maximum value. .
[0136] To quantify the spatial relationships between nodes, a distance cost matrix Ctotal is established. This matrix contains three types of elements: virtual warehouses, robots, and nodes. Specific constraints are used to ensure path rationality: the path costs between virtual warehouses, virtual warehouses to nodes, robots to virtual warehouses, robots to robots, and nodes to robots are set to a maximum value m to prevent the generation of invalid paths; at the same time, the path cost from a node to a virtual warehouse is set to a minimum value of 0 to promote the formation of a complete closed-loop path.
[0137] The node allocation module dynamically allocates tasks based on the differences in the movement speeds of each robot to achieve the goal of minimizing the completion time. This module includes two algorithmic steps:
[0138] The node allocation module's function is to distribute different numbers of nodes according to the different movement speeds of each robot, minimizing the time required to visit all nodes. The node allocation module includes two algorithmic steps: robot speed statistics and node allocation for each robot.
[0139] The number of robots is Each robot's speed statistics module collects the current speed of each robot. The nodes are sorted by speed, with robot 1 having the lowest speed and robot X having the highest speed. The total number of nodes is... The robot node allocation module allocates each robot according to its current speed. Allocate the number of nodes that each robot needs to access. :
[0140]
[0141] The role of the access order iteration module is to autonomously select non-repeating nodes based on the number of assigned nodes using the ant colony optimization algorithm, and calculate the shortest order in which each robot visits these nodes, enabling all robots to complete the task of traversing the nodes simultaneously. Each robot in the access order iteration module executes four algorithmic steps: node number limitation, node selection, pheromone concentration update, and update of unselected nodes.
[0142] When robot 1 starts, it first obtains the number of nodes to be accessed from the node allocation module in the node number limit algorithm step.
[0143] The node selection step uses an ant colony optimization algorithm to calculate and select the next node. The probability of ants. In ant colony optimization algorithms, ants Starting from the anthill, visit each node in sequence without repeating any nodes. The path length between nodes is... The ants will release a concentration of [missing information] on each section of their path. The pheromone concentration decreases over time. Since ants taking shorter paths complete more round trips per unit of time, the shorter the path, the higher the pheromone concentration left on it. Ants tend to choose paths with higher pheromone concentrations when starting from the nest. The set of unvisited nodes is... ,but Time Ant Select from node To the node Path probability for:
[0144]
[0145] Completed by the ant colony After one round of iterations between nodes, the pheromone concentration update step updates the changes in pheromone concentration between nodes. In one round of iterations, the pheromone evaporation rate is... From the nodes in the ant colony Go to node The ants have Only, ants The pheromone concentration is Each ant secretes the same concentration of pheromones. After one iteration of time, the pheromone concentration Updated to:
[0146]
[0147] In one iteration, ants The total amount of pheromones is ,node and nodes The path length between them is The pheromone concentration was... It can be quantified as:
[0148]
[0149] After multiple iterations, probability The highest-ranking node is the selected node, which is the node the robot will go to. The unselected node update step removes the selected node from the list of unassigned nodes.
[0150] At this point, the first node selection for robot 1, which has the slowest movement speed, is complete. Repeat the above steps to complete the task allocation for the first node of all robots in the first round. Then, recalculate the speed of each robot and re-sort the speeds so that when robot speeds change, the number of nodes and the node access order can be dynamically redistributed. Once all nodes have been allocated and accessed, the task allocation is complete. The task allocation effect is as follows: Figure 10 As shown.
[0151] Figure 10 In the diagram, grid B represents the task space assigned to robot 1, which has the lowest movement speed; grid C represents the task space assigned to the medium-speed robot; and grid A represents the task space assigned to the high-speed robot. The solid lines in A, B, and C represent the robot's movement paths, and the numbers on the solid lines indicate the order of the paths.
[0152] In one exemplary embodiment, the method further includes:
[0153] Step 1: Divide the task area corresponding to the running path into a uniform grid, and determine the geometric center of each uniform grid as the node to be visited.
[0154] Step 2: Determine the initial position of each robot in the distance cost matrix.
[0155] Step 3: Establish a distance cost matrix that includes distance information between virtual warehouse nodes, all robots, and all nodes to be visited; wherein, the distance cost matrix is used to determine the path distance between the currently visited node and the remaining nodes to be visited in path planning, and the distance cost matrix meets the preset distance cost constraints; the virtual warehouse node is configured as the start or end point of the running path to form a closed-loop path including robots, nodes to be visited, and virtual warehouse nodes.
[0156] Step 4: Normalize the current speed information of all robots and determine the proportion of each robot's current speed information in the sum of all robot speeds.
[0157] Step 5: Determine the nodes to be visited for each robot based on the product of the percentage and the total number of nodes in the distance cost matrix; the number of nodes to be visited is proportional to the current speed information of each robot.
[0158] Step 6: For each robot, perform iterative optimization on multiple nodes to be visited to obtain a node visit sequence; wherein, in each iteration, determine the transition probability of the robot from the current visited node to each remaining node to be visited based on the pheromone concentration and path distance.
[0159] Step 7: Select the next node to be visited from the remaining nodes to be visited based on the transition probability.
[0160] Step 8: Volatilize the pheromone concentration according to the preset evaporation rate to obtain the pheromone concentration after evaporation.
[0161] Step 9: Determine the pheromone increment based on the nodes visited by the robot in the current iteration; the pheromone increment is inversely proportional to the length between the current visited node and the next visited node.
[0162] Step 10: Add the pheromone increment to the pheromone concentration after evaporation, and use the added pheromone concentration to replace the accumulated pheromone concentration of the visited nodes.
[0163] Step 11: Generate a running path based on the node access sequence, and control each robot to execute the node access task based on the running path, so that all robots can complete the node access task simultaneously in the shortest possible time.
[0164] Step 12: During the generation of the node access sequence, if the current speed information of any robot changes, the nodes to be accessed are dynamically reassigned to each robot to obtain the updated nodes to be accessed; correspondingly, for each robot, the node access sequence is obtained by iterative optimization of multiple nodes to be accessed, including: for each robot, the updated node access sequence is obtained by iterative optimization of multiple updated nodes to be accessed.
[0165] It should be noted that if multiple robots are set to stop at the same location, the path segment cost from the virtual warehouse node to the robot will be included in the total cost; if the robot is set to stop at the last node to be visited, the path segment cost from the virtual warehouse node to the robot will be ignored.
[0166] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0167] Based on the same inventive concept, this application also provides a multi-robot speed dynamic allocation task device for implementing the above-mentioned multi-robot speed dynamic allocation task method. The solution provided by this device is similar to the implementation scheme described in the above method. Therefore, the specific limitations of one or more embodiments of the multi-robot speed dynamic allocation task device provided below can be found in the limitations of the multi-robot speed dynamic allocation task method described above, and will not be repeated here.
[0168] In one exemplary embodiment, such as Figure 11 As shown, a multi-robot speed dynamic task allocation device is provided, comprising: an allocation module 701, a processing module 702, and a control module 703, wherein:
[0169] The allocation module 701 is used to allocate nodes to be visited for each robot based on a pre-built distance cost matrix and the real-time current speed information of each robot; wherein the number of nodes to be visited is proportional to the current speed information of each robot.
[0170] The processing module 702 is used to perform iterative optimization processing on multiple nodes to be visited for each robot to obtain a node access sequence. In each iteration, node selection is performed based on the accumulated pheromone concentration of the visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node, and the pheromone concentration is updated after the node selection is completed.
[0171] The control module 703 is used to generate a running path based on the node access sequence and control each robot to execute the node access task based on the running path, so that all robots can complete the node access task simultaneously in the shortest possible time.
[0172] In an exemplary embodiment, the processing module 702 is specifically used to determine the transition probability of the robot from the current access node to each remaining unaccessed node based on the pheromone concentration and path distance; and to select the next access node from the remaining unaccessed nodes based on the transition probability.
[0173] In an exemplary embodiment, the processing module 702 is specifically used to volatilize the pheromone concentration according to a preset volatilization rate to obtain the volatilized pheromone concentration; determine the pheromone increment according to the nodes visited by the robot in the current iteration; the pheromone increment is inversely proportional to the length between the current visited node and the next visited node; the pheromone increment is superimposed with the volatilized pheromone concentration, and the superimposed pheromone concentration is used to replace the accumulated pheromone concentration of the visited nodes.
[0174] In an exemplary embodiment, the allocation module 701 is specifically used to normalize the current speed information of all robots and determine the proportion of the current speed information of each robot in the sum of the speeds of all robots; and determine the nodes to be accessed for each robot based on the product of the proportion and the total number of nodes in the distance cost matrix.
[0175] In an exemplary embodiment, the above-described multi-robot speed dynamic allocation task device is specifically used to, during the process of generating a node access sequence, dynamically reallocate nodes to be accessed for each robot when the current speed information of any robot is detected to have changed, thereby obtaining updated nodes to be accessed; and for each robot, iteratively optimize multiple updated nodes to be accessed to obtain an updated node access sequence.
[0176] In an exemplary embodiment, the aforementioned multi-robot speed-based dynamic task allocation device is specifically used to divide the task area corresponding to the running path into a uniform grid and determine the geometric center of each uniform grid as the node to be visited; determine the initial position of each robot in the distance cost matrix; establish a distance cost matrix containing distance information between virtual warehouse nodes, all robots, and all nodes to be visited; wherein, the distance cost matrix is used to determine the path distance between the current visited node and the remaining nodes to be visited in path planning, and the distance cost matrix meets the preset distance cost constraint conditions; the virtual warehouse node is configured as the start or end point of the running path to form a closed-loop path including robots, nodes to be visited, and virtual warehouse nodes.
[0177] In an exemplary embodiment, the above-described multi-robot speed-based dynamic task allocation device is specifically used to include the path segment cost between the virtual warehouse node and the robot in the total cost if multiple robots are set to stop at the same location; and to ignore the path segment cost between the virtual warehouse node and the robot if the robot is set to stop at the last node to be visited.
[0178] The modules in the aforementioned multi-robot speed dynamic allocation task device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0179] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0180] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0181] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0182] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0183] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0184] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for dynamic speed allocation of tasks based on multiple robots, characterized in that, The method includes: Based on the pre-constructed distance cost matrix and the real-time acquired current speed information of each robot, a node to be visited is assigned to each robot; wherein, the number of nodes to be visited is proportional to the current speed information of each robot. For each robot, an iterative optimization process is performed on multiple nodes to be visited to obtain a node access sequence; wherein, in each iteration, a node selection process is performed based on the accumulated pheromone concentration of the visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node, and the pheromone concentration is updated after the node selection is completed. A running path is generated based on the node access sequence, and each robot is controlled to perform node access tasks based on the running path, so that all robots can complete the node access tasks simultaneously in the shortest possible time.
2. The method according to claim 1, characterized in that, The step of selecting the next node based on the accumulated pheromone concentration of visited nodes and the path distance between the currently visited node and the remaining nodes to be visited includes: Based on the pheromone concentration and the path distance, determine the probability of the robot moving from the current access node to each of the remaining unaccessed nodes; Based on the transition probability, the next node to be visited is selected from the remaining nodes to be visited.
3. The method according to claim 1, characterized in that, Updating the pheromone concentration includes: The pheromone concentration is volatilized according to a preset volatilization rate to obtain the volatilized pheromone concentration. The pheromone increment is determined based on the nodes visited by the robot in the current iteration; the pheromone increment is inversely proportional to the length between the current visited node and the next visited node; The pheromone increment is superimposed with the pheromone concentration after evaporation, and the superimposed pheromone concentration is used to replace the accumulated pheromone concentration of the visited nodes.
4. The method according to claim 1, characterized in that, The step of assigning a node to be visited to each robot based on a pre-constructed distance cost matrix and the real-time acquired current speed information of each robot includes: The current speed information of all robots is normalized, and the proportion of each robot's current speed information in the sum of all robot speeds is determined. The nodes to be visited for each robot are determined by multiplying the percentage by the total number of nodes in the distance cost matrix.
5. The method according to claim 1, characterized in that, The method further includes: During the generation of the node access sequence, if a change in the current speed information of any robot is detected, the nodes to be accessed are dynamically reassigned to each robot to obtain the updated nodes to be accessed. Correspondingly, for each of the robots, the iterative optimization process for multiple nodes to be visited to obtain a node access sequence includes: For each robot, the updated nodes to be visited are iteratively optimized to obtain the updated node access sequence.
6. The method according to any one of claims 1-5, characterized in that, The process of constructing the distance cost matrix includes: The task area corresponding to the running path is divided into a uniform grid, and the geometric center of each uniform grid is determined as the node to be visited. Determine the initial position of each robot in the distance cost matrix; A distance cost matrix is established, which includes distance information between virtual warehouse nodes, all robots, and all nodes to be visited. The distance cost matrix is used to determine the path distance between the currently visited node and the remaining nodes to be visited in path planning, and the distance cost matrix meets preset distance cost constraints. The virtual warehouse node is configured as the start or end point of the running path to form a closed-loop path including robots, nodes to be visited, and virtual warehouse nodes.
7. The method according to claim 6, characterized in that, The method further includes: If multiple robots are set to stop at the same location, the cost of the path segment from the virtual warehouse node to the robot is included in the total cost. If the robot is set to stop at the last node to be visited, the path segment cost between the virtual warehouse node and the robot is ignored.
8. A task allocation device based on the speed of multiple robots, characterized in that, The device includes: The allocation module is used to allocate nodes to be visited for each robot based on a pre-constructed distance cost matrix and the real-time current speed information of each robot; wherein the number of nodes to be visited is proportional to the current speed information of each robot. The processing module is used to perform iterative optimization processing on multiple nodes to be visited for each robot to obtain a node access sequence; wherein, in each iteration, node selection processing is performed based on the accumulated pheromone concentration of the visited nodes and the path distance between the current visited node and the remaining nodes to be visited to obtain the next visited node, and the pheromone concentration is updated after the node selection is completed. The control module is used to generate a running path based on the node access sequence and control each robot to execute the node access task based on the running path, so that all robots can complete the node access task simultaneously in the shortest possible time.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.