A Multi-Robot Multi-Task Scheduling Method and Application Based on Dynamic Auction Algorithm
By using dynamic auction algorithms in the multi-robot task scheduling system, dynamically adjusting the task allocation plan and inserting dynamic tasks into the robot execution queue, solving the problem of difficult timely adjustment of task allocation plan in the existing technology, and achieving the effect of the smallest cost of robot execution and the shortest route.
Patent Information
- Application Number
- CN202411946191.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2044-12-27
AI Technical Summary
When facing a dynamically changing task environment, existing multi-robot task scheduling algorithms are difficult to adjust the task allocation plan in time, resulting in high cost of robot execution and bends.
A multi-robot multi-task scheduling method based on a dynamic auction algorithm is adopted. After completing the initial static task allocation, the task allocation plan is dynamically adjusted and the dynamic tasks are reasonably inserted into the robot execution queue to obtain the task execution sequence with the least execution cost.
Without changing the order of static tasks execution, the task execution sequence with the lowest cost of robot execution, the shortest route and the lowest energy consumption is realized, which improves the efficiency and optimization of multi-robot task scheduling.
Smart Images

Figure CN119378940B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of electrical digital data processing, and particularly relates to a multi-robot multi-task scheduling method and application based on a dynamic auction algorithm. Background Art
[0002] Multi-Robot Task Allocation (MRTA) refers to that under specified constraint conditions, the system directly or after decomposition allocates tasks to robots for execution, and finally realizes the optimization goal of the system. The task allocation problem includes single-task allocation and multi-task allocation; single-task allocation is also called complete allocation, which means that robots and tasks are allocated one-to-one, and multi-task allocation means that the number of robots is less than the number of tasks, and each robot will obtain one or more tasks.
[0003] At present, the research on task allocation algorithms mainly includes methods based on behavioral incentives, swarm intelligence methods, and methods based on market mechanisms. Although the method based on behavioral incentives has relatively strong adaptability, its allocation efficiency is low, and the quality of its solution is related to the selection of relevant thresholds. Therefore, it is difficult to ensure the allocation effect. Although the swarm intelligence method has the characteristics of distributed and parallel processing, it is easy to fall into local optimal solutions and has a large communication overhead.
[0004] The auction algorithm refers to a market mechanism that realizes resource allocation through the way of buyer bidding under a series of clear rules. Since the auction algorithm allows a robot to be responsible for multiple tasks at the same time and each robot does not need to know the capabilities of other robots in advance, it can have a relatively high allocation efficiency. Applying the auction algorithm to the research of multi-robot task scheduling problems can effectively alleviate the difficulties of scheduling. However, the traditional auction algorithm is only applicable to static task allocation. With the addition of new tasks during the cooperation process, this solution may lag behind the actual situation. Therefore, it is necessary to dynamically adjust the task allocation plan to adapt to environmental changes and prevent unreasonable random addition of new tasks to the execution queue, which may cause robots to have a large execution cost and detour phenomenon.
[0005] As disclosed in the Chinese patent with the publication number CN116245257A, a multi-robot scheduling method and device are provided. It obtains the road network vector map data, robot information, and target task information of the inspection area. According to the road network vector map data and the target task information, combined with the preset allocated position inheritance rule, the preset auction mechanism, and the preset task allocation standard, it allocates tasks to the corresponding robots in the robot information to obtain a task allocation result. Through the tabu search algorithm, it optimizes the task allocation result to obtain an optimized task allocation result. Based on the optimized task allocation result, the corresponding robots in the robot information start to execute tasks. Although it can reasonably allocate task points and also reasonably arrange the task execution order to improve the system execution efficiency, this algorithm belongs to static auction and still has certain limitations. Therefore, a dynamic strategy is considered to make the task allocation better in the dynamic situation. Summary of the Invention
[0006] To solve the above technical problems, the present invention provides a multi-robot multi-task scheduling method and application based on a dynamic auction algorithm. After the initial static task allocation is completed, although the system will give a task allocation plan close to the optimal one, with the state changes during the collaboration process, this plan may lag behind the actual situation. Therefore, the task allocation plan is dynamically adjusted. Without changing the static task execution order, the dynamic tasks are reasonably inserted into the robot execution queue to obtain a task execution sequence with the minimum execution cost, making the planned total route shorter and the robot energy consumption smaller, realizing the reasonable scheduling of robots.
[0007] The technical solution adopted by the present invention is a multi-robot multi-task scheduling method based on a dynamic auction algorithm. The method includes the following steps:
[0008] S1 Construct an obstacle map and rasterize it, initialize the robots and tasks, configure the robot information and target task information, and the initial bid of each robot for all tasks is 0; the bid here refers to the bid of the robot for the task, which is related to the distance of the robot to execute a certain task. Generally, it is expressed as the reciprocal of the Euclidean distance between the current position of any robot and the position of any task;
[0009] S2 Match the static tasks to be auctioned for the robot set R, construct a static task set T, calculate the estimated cost of each robot to execute the task and the estimated value of the static task for the robot, and establish a value matrix;
[0010] S3 Based on the value matrix, select the unallocated task with the maximum profit for bidding and calculate the bid; based on the bid, each task is allocated to the robot with the highest bid;
[0011] If multiple robots select the same task for bidding, the robots that do not obtain the task will increase their bids until each robot corresponds to a different task. The purpose of increasing the bid instead of modifying the bid task here is to ensure that each task has the optimal executor. By continuously increasing the bid, it can be determined which robot is more suitable for executing the task, following the formula "the maximum benefit of the current robot - the second-largest benefit + threshold". The threshold is used to regulate the amplitude of the bid increase and can take a value with a relatively small change range compared to the value change of the commodity.
[0012] S4 Deletes the assigned tasks in the static task set T and determines whether all tasks have been assigned.
[0013] S5 Obtains the dynamic task table. Based on the current task volume of each robot, the dynamic tasks are successively simulated and placed into the task queue of each robot. The total execution distance of each robot after adding the new task is updated. The current dynamic task is assigned to the robot with the shortest total execution distance, and its task queue is updated. The assigned dynamic task is deleted from the dynamic task table.
[0014] S6 If the dynamic task table is not empty, repeat S5; otherwise, obtain the task set of each robot.
[0015] It should be noted that the "auction" and "bid" in the present invention actually refer to the total distance of different robots executing the same task, and the task is assigned to the robot with a shorter execution distance.
[0016] Preferably, in S2, each robot executing the task has an estimated cost satisfying
[0017]
[0018] where , , , using i and j to represent the serial numbers of the robot and the task respectively, is the current position of robot , is the position where task is located, is and 's obstacle avoidance distance.
[0019] Preferably, in S2, the estimated value of the static task for robot satisfies
[0020]
[0021] Based on the estimated value, establish a value matrix.
[0022] Preferably, in S3, the robot quotes for the task with the maximum benefit satisfies
[0023]
[0024] wherein, represents the initial value obtained by the robot assigned to the task obtained, represents the current price of the task ; represents the robot assigned to the task with the second - largest benefit obtained the initial value, represents the current price of the task ; is the added value, generally defined as 1 / N;
[0025] That is, here corresponds to the meaning that the difference between the highest benefit and the second - highest benefit plus the sum of the current price and the added value, where "the difference between the highest benefit and the second - highest benefit" represents which robot the task should be assigned to for maximum benefit through comparison, "the current price" represents the bid (of the higher - bidding individual), and "the added value" is used to regulate the subsequent bid update range.
[0026] Preferably, in S4, when the number of remaining unassigned static tasks is greater than the number of robots, directly repeat S3; when the number of remaining unassigned static tasks is less than the number of robots and not zero, add new tasks until the number of remaining tasks is equal to the number of robots, and the estimated value of the new tasks is all 0, then return to S3.
[0027] In the present invention, if there are unassigned tasks and the number of tasks is less than or equal to the number of robots, that is, there is an incomplete assignment problem. By adding new tasks until the number of tasks is equal to the number of robots, the incomplete assignment problem is converted into a complete assignment problem, and the value of the new tasks is set to 0 and then return to S3; the purpose of setting the estimated value of the new tasks to 0 here is not to change the original assignment result. The new tasks are meaningless to all robots and do not affect the auction result of the robots.
[0028] Preferably, in S5, obtain the dynamic task list,
[0029] When the task queue of the robot is empty, regardless of the position where the new task is inserted, the robot directly quotes for the new task,
[0030] When the robot task queue is not empty, each robot quotes for inserting the new task at different positions in the queue, obtains the minimum cost change amount, and inserts the new task at the position with the minimum change amount; that is, after adding the task to different positions of robots in different states, compare the total execution distances of all robots after update, and finally assign the new task to the robot with the shortest total execution distance.
[0031] Preferably, the quote of a robot with an empty task queue for the new task is , which is the estimated cost for the robot to execute the new task.
[0032] Preferably, when inserting the new task into the non-empty task queue of the robot , the minimum cost change amount satisfies
[0033]
[0034] where is the th task in the task queue of the robot
[0035] Preferably, the total execution distance of each robot after adding the new task satisfies
[0036]
[0037] where represents the cost for the robot to execute the original task queue.
[0038] An application of a multi-robot multi-task scheduling method based on a dynamic auction algorithm, which is applied to multi-robot multi-task scheduling for inserting dynamic tasks into a static task queue without changing the static allocation result.
[0039] The present invention provides a multi-robot multi-task scheduling method and application based on a dynamic auction algorithm, constructs a map and obstacles, initializes robots and tasks, and the initial bid of each robot for all tasks is 0; matches the set of robots R with the static tasks to be auctioned, constructs a static task set T, calculates the estimated cost of each robot to execute the tasks and the estimated value of the static tasks for the robots, and establishes a value matrix; based on the value matrix, selects the unallocated task with the maximum profit for bidding and calculates the bid price; based on the bid price, each task is assigned to the robot with the highest bid. If multiple robots choose the same task for bidding, the robots that do not obtain the task increase their bids for auction until each robot corresponds to a different task; deletes the allocated tasks from the task list, obtains a dynamic task list after completing the static task allocation, based on the current task volume of each robot, sequentially simulates the dynamic tasks into the task queue of each robot, updates the total execution distance of each robot after adding the new task, assigns the current dynamic task to the robot with the shortest total execution distance and updates its task queue, and deletes the allocated dynamic tasks from the dynamic task list until the dynamic task list is empty, obtaining the task set of each robot; is applied to the multi-robot multi-task scheduling that inserts dynamic tasks into the static task queue without changing the static allocation result.
[0040] The beneficial effect of the present invention is that, compared with the existing auction algorithms, the present invention improves the auction algorithm by means of a reallocation method through an interspersed method without changing the order of statically allocated tasks, inserts the newly added dynamic tasks into the static task queue of the robots, the dynamic tasks do not affect the static task allocation result, and there is no need to re-shuffle and allocate all tasks, thereby obtaining a task execution sequence with the minimum execution cost, planning a shorter total route, and less energy consumption of the robots. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 is the flowchart of the method of the present invention;
[0042] Figure 2 is the application flowchart in the implementation process of the present invention;
[0043] Figure 3 is the comparison diagram of the planned routes of the task allocation algorithms, where (a) is the planned route of the task allocation algorithm of the traditional auction algorithm, and (b) is the planned route based on the method of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0044] The following further describes the present invention in detail with reference to the embodiments, but the protection scope of the present invention is not limited thereto.
[0045] The present invention relates to a multi-robot multi-task scheduling method based on a dynamic auction algorithm, and the method includes three parts:
[0046] (1) Initialization;
[0047] (2) Construct a value system for multi-robot scheduling for static tasks, and allocate static tasks based on the value system;
[0048] (3) Allocate dynamic tasks while ensuring static tasks.
[0049] The following elaborates on each part in combination with specific embodiments.
[0050] (1) Initialization;
[0051] Construct a map and obstacles. Specifically, set the map size, randomly generate obstacles of different sizes on the map, rasterize the map, and then determine whether each specific area is a passable area, and prevent the robot from colliding with obstacles or going out of the map;
[0052] Initialize the robots and tasks, including the total number of robots and the total number of tasks , configure the robot information and target task information, the initial bid of each robot for all tasks is 0, and set the added value .
[0053] (2) Construct a value system for multi-robot scheduling for static tasks, and allocate static tasks based on the value system;
[0054] Match the set of robots R with the static tasks to be auctioned, construct a static task set T, calculate the estimated cost of each robot to execute the task and the estimated value of the static task to the robot, and establish a value matrix;
[0055] The estimated cost for each robot to execute the task satisfies
[0056] (1)
[0057] where , , , is the current position of robot , is the position of task , is and the obstacle avoidance distance.
[0058] The estimated value of the static task to the robot satisfies
[0059] (2)
[0060] Based on the estimated value, establish a value matrix.
[0061] Based on the value matrix, select the unassigned task with the largest return for bidding and calculate the bid price; the robot for the task the bid price satisfies
[0062] (3)
[0063] Wherein, represents the initial value obtained by the robot assigned to the task represents the current price of the task represents the initial value obtained by the robot assigned to the task with the second largest return represents the current price of the task is the added value;
[0064] Here, represents the maximum return that the robot can obtain by bidding for the task is the robot can obtain by bidding for the task
[0065] Based on the bid price, each task is assigned to the robot with the highest bid;
[0066] If multiple robots choose the same task for bidding, that is, an auction conflict occurs. The robots that do not obtain the task (without harming their own interests) increase their bids until each robot corresponds to a different task;
[0067] Obviously, during the process, each robot needs to update the price of the task according to Equation (3).
[0068] Delete the assigned tasks in the static task set T and repeat until the static task set T is empty;
[0069] Specifically, delete the assigned tasks in the static task set T, judge whether new static tasks need to be added after each round of auction, and repeat until the static task set T is empty.
[0070] For the case where each round of auction is fully allocated, it is necessary to determine whether the number of remaining static tasks after each round of auction is the same as the number of robots. By adding new tasks, the incomplete allocation problem is converted into a complete allocation problem to implement the auction process;
[0071] The newly added static tasks refer to the situation where the number of tasks is greater than or equal to the number of robots, , which means taking the length of the set and directly entering the next round of auction, repeating the above process; when the number of tasks is less than the number of robots, , then new tasks are added to the static task set until the number of tasks is equal to the number of robots, and the estimated value of the new tasks is set to 0.
[0072] (3) Under the condition of ensuring static tasks, allocate dynamic tasks;
[0073] Obtain the dynamic task table, and based on the current task volume of each robot, simulate and place the dynamic tasks into the task queue of each robot one by one;
[0074] Specifically, obtain the dynamic task table,
[0075] When the task queue of the robot is empty, , then directly add the new task to the task queue, and the robot quotes for the new task; the quote of the robot with an empty task queue for the new task is
[0076] (4)
[0077] Among them, is the estimated cost for the robot to execute the new task .
[0078] When the task queue of the robot is not empty, , then each robot quotes for different positions where the new task is inserted into the queue, and obtains the minimum cost change amount for the task inserted into the robot task queue .
[0079] (5)
[0080] Among them, is the th task in the robot task queue, indicating the minimum value;
[0081] Insert the new task into the position with the smallest change amount.
[0082] Update the total execution distance of each robot after adding a new task. The total execution distance of each robot after adding a new task satisfies
[0083] (6)
[0084] where represents the cost of robot executing the original task queue of.
[0085] Assign the current dynamic task to the robot with the shortest total execution distance and update its task queue. Delete the assigned dynamic task from the dynamic task table;
[0086] Repeat the assignment of dynamic tasks until the dynamic task table is empty to obtain the task set of each robot.
[0087] The present invention also relates to an application of a multi-robot multi-task scheduling method based on a dynamic auction algorithm, which is applied to multi-robot multi-task scheduling for interspersing dynamic tasks into a static task queue without changing the static allocation result.
[0088] To verify the feasibility and effectiveness of the present invention, experiments were carried out using maps and target point numbers of the same size. The computer performance parameters for simulation were AMD Ryzen 7 4800H with Radeon Graphics - 2.90 GHz, and the memory size was 16GB running on Window10. The simulation experiment was carried out using the python3.7.0 software. In a 30 × 30 grid map, the number of robots was set to 3. Starting from the boundary of the map to execute tasks, the initial number of tasks was 13, and the number of sudden new tasks was 4;
[0089] As Figure 3 shown in (a), it is the task assignment algorithm planning route of the traditional auction algorithm. Among them, the white area represents the obstacle-free drivable area, the gray area represents obstacles, the black area represents the map boundary, the red dots represent robots, the blue dots represent initial tasks, the green dots represent sudden tasks, the blue lines represent the actual driving paths of robots, and the orange boxes represent the extra paths taken by the traditional auction algorithm;
[0090] As Figure 3 shown in (b), it is the planning route of the auction algorithm based on task reordering. Among them, the white area represents the obstacle-free drivable area, the gray area represents obstacles, the black area represents the map boundary, the red dots represent robots, the blue dots represent initial tasks, the green dots represent sudden tasks, and the blue lines represent the actual driving paths of robots;
[0091] The experimental results show that under the same conditions, the total length of the route planned by the auction algorithm based on task reordering is shorter. Therefore, as can be seen from Figure 3 sub - figures (a) and (b), the method of the present invention is superior to the multi - robot task allocation method of the traditional auction algorithm.
[0092] The present invention also relates to a computer - readable storage medium in application, on which a program for the multi - robot multi - task scheduling method based on the dynamic auction algorithm is stored. When the program is executed by a processor, the above - mentioned multi - robot multi - task scheduling method based on the dynamic auction algorithm is implemented.
[0093] The present invention also relates to a computer device in application, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the above - mentioned multi - robot multi - task scheduling method based on the dynamic auction algorithm is implemented.
[0094] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer - usable storage media (including but not limited to disk memory, CD - ROM, optical memory, etc.) containing computer - usable program code.
[0095] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram can be implemented by computer program instructions, and the combination of flows and / or blocks in the flowchart and / or block diagram can also be implemented. These computer program instructions can be provided to the processor of a general - purpose computer, a special - purpose computer, an embedded processor, or other programmable data - processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data - processing devices generate means for implementing the specified functions in Figure 1 one or more of the flows or multiple flows and / or blocks Figure 1 one or more of the blocks or multiple blocks.
[0096] These computer program instructions can also be stored in a computer - readable memory that can direct a computer or other programmable data - processing device to work in a specific manner, so that the instructions stored in the computer - readable memory generate a manufactured article including instruction means, and the instruction means implements the specified functions in Figure 1 one or more of the flows or multiple flows and / or blocks Figure 1 one or more of the blocks or multiple blocks.
[0097] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus, so that a series of operation steps are executed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions for implementing the functions specified in one process or a plurality of processes and / or blocks Figure 1 one process or a plurality of processes and / or blocks Figure 1 steps for implementing the functions specified in one block or a plurality of blocks.
[0098] Although the preferred embodiments of the present invention have been described, additional changes and modifications can be made by those skilled in the art once they learn of the basic inventive concept. Therefore, the appended claims are intended to be construed to cover the preferred embodiments as well as all changes and modifications falling within the scope of the present invention.
[0099] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention is also intended to include these modifications and variations.
Claims
1. A multi-robot multi-task scheduling method based on a dynamic auction algorithm, characterized in that: The method comprises the following steps: S1 builds an obstacle map and rasterizes it, initializes the robot and tasks, configures robot information and target task information, and the robot's initial bid for all tasks is 0; S2 matches the static tasks to be auctioned for the robot set R, constructs the static task set T, calculates the estimated cost of each robot to perform the task, the estimated value of the static task to the robot, and establishes a value matrix; S3 selects the unassigned tasks with the largest benefits for bidding based on the value matrix and calculates the bids; based on the bids, each task is assigned to the robot with the highest bid; If multiple robots choose to bid for the same task, the robots that have not received the task will bid higher until each robot is assigned a different task; S4 deletes the assigned tasks in the static task set T and determines whether all tasks are assigned; S5 obtains the dynamic task table, When the robot's task queue is empty, the robot will directly quote the new task without considering the position where the new task is inserted. When the robot task queue is not empty, each robot quotes different positions for inserting new tasks into the queue, obtains the minimum cost change, and inserts the new task into the position with the smallest change; Insert robot A non-empty task queue The minimum cost change in satisfies, , in, For robots The first task in the task queue tasks; Update the total execution distance of each robot after joining the new task, assign the current dynamic task to the robot with the shortest total execution distance and update its task queue, and delete the assigned dynamic task in the dynamic task table; S6: If the dynamic task table is not empty, repeat S5; otherwise, obtain the task set of each robot.
2. The multi-robot multi-task scheduling method based on the dynamic auction algorithm according to claim 1, characterized in that: In S2, each robot Execute the task Estimated cost of satisfy, , in, , , , For robots Current location, For the task Location, for and obstacle avoidance distance.
3. The multi-robot multi-task scheduling method based on the dynamic auction algorithm according to claim 2 is characterized in that: In S2, static tasks For robots Estimated value of satisfy, , Based on the estimated value, establish a The value matrix.
4. The multi-robot multi-task scheduling method based on dynamic auction algorithm according to claim 2, characterized in that: In S3, robots The tasks that have the greatest impact The offer is satisfactory. , in, Represents a robot Assigned tasks The initial value obtained, Representation Task The current price of Represents a robot Assign the task with the next highest reward The initial value obtained, Representation Task The current price of To add value; .
5. The multi-robot multi-task scheduling method based on dynamic auction algorithm according to claim 1, characterized in that: In S4, when the number of remaining unassigned static tasks is greater than the number of robots, S3 is repeated directly; when the number of remaining unassigned static tasks is less than the number of robots and is not 0, new tasks are added until the number of remaining tasks reaches If the number of tasks is equal to the number of robots and the estimated value of the new tasks is 0, return to S3.
6. The multi-robot multi-task scheduling method based on dynamic auction algorithm according to claim 1, characterized in that: The robot with an empty task queue offers a price for a new task: , For robots Execute new tasks The estimated cost of .
7. The multi-robot multi-task scheduling method based on dynamic auction algorithm according to claim 6, characterized in that: The total execution distance of each robot after joining the new task meets the requirement. , in, Represents a robot Execute the original task queue The cost.
8. An application of the multi-robot multi-task scheduling method based on the dynamic auction algorithm according to any one of claims 1 to 7, characterized in that: It is applied to multi-robot multi-task scheduling by inserting dynamic tasks into the static task queue without changing the static allocation results.
Citation Information
Patent Citations
Multi-robot scheduling method and device
CN116245257A
Warehouse task allocation method based on auction algorithm
CN116596447A