Multi-robot multi-task scheduling method based on dynamic auction algorithm and application
By adopting a dynamic auction algorithm in the multi -robot task scheduling system, dynamic adjustment of the task distribution scheme, the new task is inserted into the static task queue of the robot, and the efficiency of the task scheduling in the existing technology in the dynamic environment is solved The issues issued have achieved better task execution sequences and shorter total route lengths.
Patent Information
- Application Number
- CN202411946191.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2044-12-27
AI Technical Summary
The existing multi-robot task scheduling algorithms are difficult to effectively adjust the task allocation plan in a dynamic environment, resulting in high cost of robot execution and frequent bends.
Using multi -robot and multi -tasking scheduling method based on dynamic auction algorithms, under the premise of not changing the order of static task execution, dynamically adjust the task allocation scheme, insert the newly added dynamic task into the static task queue of the robot, and ensure that the auction of continuous increase in price increases the auction to ensure that Each task has the best executor.
The task execution sequence with the smallest execution cost is achieved in a dynamic environment, reducing the total route length of robot energy consumption and planning, and improved the efficiency and optimization of multi -robot task scheduling.
Smart Images

Figure CN119378940A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of electronic digital data processing, and in particular to a multi-robot multi-task scheduling method based on a dynamic auction algorithm and its application. Background Art
[0002] Multi-Robot Task Allocation (MRTA) refers to the system assigning tasks to robots directly or after decomposition under specified constraints, ultimately achieving the optimization goal of the system. Task allocation problems include single-task allocation and multi-task allocation; single-task allocation is also called complete allocation, which means that robots and tasks are assigned one to one, and multi-task allocation means that the number of robots is less than the number of tasks, and each robot will receive one or more tasks.
[0003] At present, the research on task allocation algorithm mainly includes methods based on behavioral incentives, methods based on swarm intelligence and methods based on market mechanisms. Although the method based on behavioral incentives has strong adaptive ability, the allocation efficiency is low, and the quality of its solution is related to the selection of relevant thresholds, so it is difficult to guarantee the allocation effect. Although the method based on swarm intelligence has the characteristics of distributed and parallel processing, it is easy to fall into the local optimal solution and has a large communication overhead.
[0004] An auction algorithm is a market mechanism that implements resource allocation through buyer bidding under the guidance of a series of clear rules. Since the auction algorithm allows a robot to be responsible for multiple tasks at the same time, each robot does not need to know the capabilities of other robots in advance, so it can have a higher allocation efficiency. Applying the auction algorithm to the study of multi-robot task scheduling can effectively alleviate the difficulty of scheduling. However, traditional auction algorithms are only suitable for static task allocation. With the addition of new tasks in the collaborative 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 the robot to have a high execution cost and detours.
[0005] For example, a Chinese patent with publication number CN116245257A discloses a multi-robot scheduling method and device, which obtains the road network vector diagram data, robot information and target task information of the inspection area, and performs task assignment on the corresponding robot in the robot information according to the road network vector diagram data and the target task information, combined with the preset assigned position inheritance rule, the preset auction mechanism and the preset task assignment standard, to obtain the task assignment result, and optimizes the task assignment result through the taboo search algorithm to obtain the optimized task assignment result. Based on the optimized task assignment result, the corresponding robot in the robot information starts to perform the task. Although it can reasonably allocate task points and reasonably arrange the order of task execution to improve the execution efficiency of the system, the algorithm belongs to static auction and still has certain limitations. Therefore, dynamic strategies are considered to make task assignment better in dynamic situations. 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 completing the initial static task allocation, although the system will give a task allocation plan that is close to the optimal one, as the state changes during the collaboration process, this plan may lag behind the actual situation. Therefore, the task allocation plan is dynamically adjusted. Under the premise of not changing the execution order of static tasks, the dynamic tasks are reasonably inserted into the robot execution queue, so as to obtain the task execution sequence with the minimum execution cost, make the planned total route shorter, and the robot consumes less energy, thereby realizing reasonable scheduling of the robot.
[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 comprising the following steps:
[0008] 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; the bid here refers to the robot's bid for the task, which is related to the distance the robot performs a task, and is generally expressed as the inverse of the Euclidean distance between any robot's current position and any task position;
[0009] 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;
[0010] 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;
[0011] If multiple robots choose to bid for the same task, the robots that have not obtained the task will bid higher until each robot corresponds to a different task. The purpose of using price increase instead of modifying the bidding task is to allow each task to have the best executor. By continuously increasing the price, it is determined which robot is more suitable for performing the task. The formula of "the current robot's maximum profit - the second largest profit + threshold" is followed. The threshold is used to control the price increase range, and a value that is relatively small relative to the change in the value of the product can be taken.
[0012] S4 deletes the assigned tasks in the static task set T and determines whether all tasks are assigned;
[0013] S5 obtains the dynamic task table, and based on the current task amount of each robot, places the dynamic task simulation into the task queue of each robot one by one, 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 assigned dynamic task 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 that different robots perform the same task, and the task is assigned to the robot that performs the task over a shorter distance.
[0016] Preferably, in S2, each robot Execute the task Estimated cost of satisfy,
[0017]
[0018] in, , , , i and j represent the serial numbers of the robot and the task respectively, For robots Current location, For the task Location, for and obstacle avoidance distance.
[0019] Preferably, in S2, the static task For robots Estimated value of satisfy,
[0020]
[0021] Based on the estimated value, establish a The value matrix.
[0022] Preferably, in S3, the robot The tasks that have the greatest impact The offer is satisfactory.
[0023]
[0024] in, Represents a robot Assigned tasks The initial value obtained, Indicates the task The current price of Represents a robot Assign the task with the next highest reward The initial value obtained, Indicates the task The current price of To add value, it is generally defined as 1 / N;
[0025] That is, here The corresponding meaning is the difference between the highest and second highest benefits plus the sum of the current price and the added value. The "difference between the highest and second highest benefits" represents which robot can maximize the benefit by comparing the tasks assigned to it, the "current price" represents the bid (the high individual), and the "added value" is used to regulate the subsequent quotation update amplitude.
[0026] Preferably, in S4, when the number of remaining unassigned static tasks is greater than the number of robots, S3 is directly repeated; 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.
[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, there is an incomplete allocation problem. By adding new tasks until the number of tasks is equal to the number of robots, the incomplete allocation problem is converted into a complete allocation problem, and the value of the new task is set to 0 and then returned to S3; the purpose of setting the estimated value of the new task to 0 here is to not change the original allocation result. The new task is meaningless to all robots and does not affect the auction result of the robot.
[0028] Preferably, in S5, a dynamic task table is obtained.
[0029] 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.
[0030] When the robot task queue is not empty, each robot quotes for different positions of the queue for inserting the new task, obtains the minimum cost change, and inserts the new task into the position with the smallest change; that is, after adding the task to different positions of robots in different states, compare the updated total execution distances of all robots, and finally assign the new task to the robot with the shortest total execution distance.
[0031] Preferably, the robot with an empty task queue quotes a new task as , For robots Execute new tasks The estimated cost of .
[0032] Preferably, the new task Insert robot A non-empty task queue The minimum cost change in satisfies,
[0033]
[0034] in, For robots The first task in the task queue task.
[0035] Preferably, the total execution distance of each robot after joining the new task satisfies,
[0036]
[0037] in, Represents a robot Execute the original task queue The cost.
[0038] The invention discloses 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 by 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, which constructs a map and obstacles, initializes robots and tasks, and the initial bids of robots for all tasks are 0; matches static tasks to be auctioned for a robot set R, constructs a static task set T, calculates the estimated cost of each robot to perform the task, and the estimated value of the static task to the robot, and establishes a value matrix; based on the value matrix, selects the unassigned tasks with the largest benefits for bidding, and calculates the bids; based on the bids, each task is assigned to the robot with the highest bid, and if multiple robots select the same task for bidding, the robot that has not obtained the task increases the bid until the task is completed. Each robot corresponds to a different task; the assigned tasks are deleted from the task list, and the dynamic task list is obtained after the static task allocation is completed. Based on the current task volume of each robot, the dynamic task simulation is placed into the task queue of each robot one by one, and 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 tasks are deleted from the dynamic task list until the dynamic task list is empty, and the task set of each robot is obtained; it is applied to multi-robot multi-task scheduling that inserts dynamic tasks into the static task queue without changing the static allocation results.
[0040] The beneficial effect of the present invention is that compared with the existing auction algorithm, the present invention improves the auction algorithm by reallocating tasks through the interspersing method without changing the statically allocated task order, and the newly added dynamic tasks are interspersed into the static task queue of the robot. The dynamic tasks do not affect the static task allocation results, and there is no need to reshuffle all tasks, so as to obtain the task execution sequence with the lowest execution cost, the planned total route is shorter, and the robot consumes less energy. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 is a flow chart of the method of the present invention;
[0042] Figure 2 It is an application flow chart in the implementation process of the present invention;
[0043] Figure 3 The figure is a comparison diagram of task allocation algorithm planning routes, wherein (a) is the task allocation algorithm planning route of the traditional auction algorithm, and (b) is the planning route based on the method of the present invention. DETAILED DESCRIPTION
[0044] The present invention is further described in detail below in conjunction with 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, which 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] Each part is explained in detail below in conjunction with specific embodiments.
[0050] (1) Initialization;
[0051] Construct maps and obstacles. Specifically, set the map size, randomly generate obstacles of different sizes on the map, and rasterize the map to determine whether each specific area is a passable area, and prevent the robot from colliding with obstacles or leaving the map;
[0052] Initialize robots and tasks, including the total number of robots , Total number of tasks , configure the robot information and target task information, the robot's initial bid for all tasks is 0, 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 static tasks to be auctioned for the robot set R, build the static task set T, calculate the estimated cost of each robot to perform the task, the estimated value of the static task to the robot, and establish a value matrix;
[0055] Each robot Execute the task Estimated cost of satisfy,
[0056] (1)
[0057] in, , , , For robots Current location, For the task Location, for and obstacle avoidance distance.
[0058] Static tasks For robots Estimated value of satisfy,
[0059] (2)
[0060] Based on the estimated value, establish a The value matrix.
[0061] Based on the value matrix, the unassigned task with the largest benefit is selected for bidding and the bid is calculated; the robot To the task The offer is satisfactory.
[0062] (3)
[0063] in, Represents a robot Assigned tasks The initial value obtained, Indicates the task The current price of Represents a robot Assign the task with the next highest reward The initial value obtained, Indicates the task The current price of To add value;
[0064] Here, Represents a robot Auction Tasks The maximum benefit that can be obtained, For robots Auction Tasks Suboptimal returns available.
[0065] Based on the bids, each task is assigned to the highest bidding robot;
[0066] If multiple robots choose to bid for the same task, an auction conflict will occur. The robots that did not get the task will bid higher (without damaging their own interests) until each robot is assigned a different task.
[0067] Obviously, during the process, each robot needs to update the price of the task using formula (3).
[0068] Delete the assigned tasks in the static task set T, and repeat until the static task set T is empty;
[0069] Specifically, the assigned tasks are deleted from the static task set T, and it is determined whether new static tasks need to be added after each round of auction, and this process is repeated until the static task set T is empty.
[0070] In the case where each round of auction is fully allocated, it is necessary to determine whether the number of static tasks remaining after each round of auction is consistent with the number of robots. By adding new tasks, the incomplete allocation problem is converted into a complete allocation problem to realize the auction process;
[0071] Adding a static task means that when the number of tasks is greater than or equal to the number of robots, , It 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 add new tasks to the static task set until the number of tasks equals the number of robots, and set the estimated value of the new tasks to 0.
[0072] (3) Allocate dynamic tasks while ensuring static tasks;
[0073] Get the dynamic task table, and based on the current task volume of each robot, place the dynamic task simulation into the task queue of each robot one by one;
[0074] Specifically, get the dynamic task table,
[0075] When the robot's task queue is empty, , the new task is directly added to the task queue, and the robot quotes the new task; the robot with an empty task queue quotes the new task
[0076] (4)
[0077] in, For robots Execute new tasks The estimated cost of .
[0078] When the robot task queue is not empty, , then each robot has a new task Insert into different positions of the queue to quote and obtain tasks Insert robot Task Queue The minimum cost change in
[0079] (5)
[0080] in, For robots The first task in the task queue tasks, Indicates the minimum value;
[0081] Insert new tasks at the location with the least amount of change.
[0082] Update the total execution distance of each robot after joining the new task. The total execution distance of each robot after joining the new task satisfies,
[0083] (6)
[0084] in, Represents a robot Execute the original task queue The cost.
[0085] 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 from the dynamic task table;
[0086] Repeat the dynamic task assignment until the dynamic task table is empty to obtain the task set for 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 that inserts dynamic tasks into a static task queue without changing a static allocation result.
[0088] In order to verify the feasibility and effectiveness of the present invention, the same map size and number of target points were used for the experiment. The computer performance parameters used for the simulation were AMD Ryzen 7 4800H with Radeon Graphics-2.90 GHz, the memory size was 16GB and it ran on Window10. The simulation experiment was carried out using python3.7.0 software. In a grid map of 30, the number of robots is set to 3, and they start to perform tasks from the border of the map. The number of initial tasks is 13, and the number of sudden new tasks is 4;
[0089] like Figure 3 (a) shows the route planned by the task allocation algorithm of the traditional auction algorithm, where the white area represents the obstacle-free drivable area, the gray area represents the obstacle, the black area represents the map boundary, the red dots represent the robot, the blue dots represent the initial task, the green dots represent the sudden task, the blue line represents the actual driving path of the robot, and the orange box represents the detour taken by the traditional auction algorithm;
[0090] like Figure 3 (b) shows the route planned by the auction algorithm based on task reordering, where the white area represents the obstacle-free drivable area, the gray area represents the obstacle, the black area represents the map boundary, the red dots represent the robot, the blue dots represent the initial task, the green dots represent the emergency task, and the blue line represents the actual driving path of the robot;
[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. Figure 3 It can be seen from (a) and (b) that 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 its application, on which is stored a multi-robot multi-task scheduling method program based on a dynamic auction algorithm, which implements the multi-robot multi-task scheduling method based on a dynamic auction algorithm when executed by a processor.
[0093] The present invention also relates to a computer device in its application, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the multi-robot multi-task scheduling method based on the dynamic auction algorithm is implemented.
[0094] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0095] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0096] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0097] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0098] Although the preferred embodiments of the present invention have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall 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 equivalents, 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, and based on the current task amount of each robot, places the dynamic task simulation into the task queue of each robot one by one, 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 assigned dynamic task from 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 meets the requirements. , in, Represents a robot Assigned tasks The initial value obtained, Indicates the task The current price of Represents a robot Assign the task with the next highest reward The initial value obtained, Indicates the 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: In S5, the dynamic task table is obtained. 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.
7. The multi-robot multi-task scheduling method based on dynamic auction algorithm according to claim 6, 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 .
8. The multi-robot multi-task scheduling method based on dynamic auction algorithm according to claim 7, characterized in that: New tasks Insert robot A non-empty task queue The minimum cost change in satisfies, , in, For robots The first task in the task queue task.
9. The multi-robot multi-task scheduling method based on dynamic auction algorithm according to claim 8, 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.
10. An application of the multi-robot multi-task scheduling method based on the dynamic auction algorithm according to any one of claims 1 to 9, 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
Distributed task distribution method for multiple unmanned aerial vehicles in uncertain environment
CN110134146A
Warehouse task allocation method based on auction algorithm
CN116596447A
Multi-robot task allocation method and device, equipment and medium
CN116629542A
System and method for auction-based and adaptive multi-threshold multi-agent task allocation
US20180326581A1
Cited By
Employee task dynamic scheduling control method and system based on virtual digital identity
CN120806571B