Heterogeneous multi-robot task scheduling method and system based on multi-level feedback queue

By building a distributed coordination framework and multi-level feedback queues, dynamically adjusting task priorities and robot status, the problem of unreasonable task allocation in multi-robot systems is solved, and efficient task execution and resource optimization are achieved.

CN114691340BActive Publication Date: 2025-09-09INST OF ADVANCED TECH UNIV OF SCI & TECH OF CHINA +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210396825.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-15
Publication Date
2025-09-09
Estimated Expiration
2042-04-15

AI Technical Summary

Technical Problem

In multi-tasking scenarios, unreasonable task allocation in multi-robot systems leads to resource waste, robot interference, and uneven task execution time.

Method used

A heterogeneous multi-robot task scheduling method based on multi-level feedback queues is adopted. By constructing a distributed coordination framework and multi-level feedback queues, task priorities and robot states are dynamically adjusted to achieve reasonable task allocation and synchronization.

Benefits of technology

It improves the task execution efficiency of multi-robot systems in complex task scenarios, avoids resource waste and task starvation, and realizes dynamic adjustment and efficient execution of tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114691340B_ABST
    Figure CN114691340B_ABST
Patent Text Reader

Abstract

The present invention provides a method and system for scheduling heterogeneous multi-robot tasks based on a multi-level feedback queue, comprising: constructing a distributed coordination framework, and achieving information synchronization between the multi-level feedback queue and the robot system based on the constructed distributed coordination framework; dividing the multi-level feedback queue state table into multiple execution task priority levels and distinguishing task statuses, and dynamically changing the task level and task status according to the execution status; scheduling tasks for heterogeneous multi-robots according to the multi-level feedback queue state table, and dynamically changing the robot status information according to the robot execution status. The present invention solves the problem of reasonably scheduling heterogeneous multi-robot tasks under conditions where task times vary greatly and tasks are complex and intensive. The multi-level feedback queue method reduces problems such as unreasonable task allocation and excessive resource requirements for a particular task among heterogeneous multi-robots, thereby improving the reasonable allocation and planning capabilities of robot swarms in complex task scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of multi-robot control, and in particular to a heterogeneous multi-robot task scheduling method and system based on a multi-level feedback queue. Background Art

[0002] In complex and ever-changing multi-task scenarios, such as security, patrolling, and evacuation in uninhabited island security scenarios, or handling, positioning, and disassembly in 3C assembly scenarios, a single robot is limited in what it can accomplish. Collaborative work among multiple heterogeneous robots is one of the best approaches for achieving these complex tasks. Multi-robot systems improve the performance of individual robots through communication, collaboration, and information sharing. For example, individual robot behavior rules are simpler, work times are shorter, effective task scopes are smaller, and work efficiency is lower. This improves the efficiency, robustness, flexibility, and fault tolerance of task execution, while also encompassing distributed decision-making, formation control, area coverage, and related applications. However, task allocation and scheduling among multiple robots require careful consideration. Irrational task allocation and inconsistent group collaboration can lead to resource waste, robot interference, and the inability to execute shorter tasks due to extended execution times. Utilizing multi-level feedback queues to schedule tasks among multiple robots ensures that long tasks are executed without causing shorter tasks to wait for too long. This method can be applied to scenarios where there are many tasks, the task start time cannot be unified, the execution time varies, and a task is complex and can be stopped midway, such as automobile assembly, warehouse storage, etc. It has the advantages of being simple and easy to modify.

[0003] Patent document CN109917705B (application number: 201910138564.4) discloses a multi-task scheduling method, which is applied to a robot, and the robot includes multiple resources; it includes: step S1, obtaining resource scheduling requests for several tasks in sequence; step S2, performing conflict arbitration on the currently obtained resource scheduling request according to a conflict arbitration strategy, so that the current resource scheduling request obtains a scheduling result; step S3, executing the scheduling result corresponding to the current resource scheduling request; step S4, repeating steps S2 to S3 until the scheduling result corresponding to the resource scheduling request of the last task is obtained and executed; step S5, ending. Summary of the Invention

[0004] In view of the defects in the prior art, the purpose of the present invention is to provide a heterogeneous multi-robot task scheduling method and system based on a multi-level feedback queue.

[0005] According to the present invention, a heterogeneous multi-robot task scheduling method based on a multi-level feedback queue is provided, comprising:

[0006] Step S1: construct a distributed coordination framework, and implement information synchronization between multi-level feedback queues and robot systems based on the constructed distributed coordination framework;

[0007] Step S2: Divide the multi-level feedback queue into multiple execution task priority levels and distinguish task statuses, and dynamically change the task level and task status according to the execution status;

[0008] Step S3: Schedule tasks for heterogeneous multi-robots according to the multi-level feedback queue, and dynamically change the robot status information according to the robot execution status.

[0009] Preferably, the step S1 adopts: building a distributed coordination framework based on Zookeeper.

[0010] Preferably, the task execution time specified by each priority queue is different, and the lower the priority, the longer the execution time; if the task is not completed within the time specified by the priority, the unfinished task status is set to unfinished, and the priority of the current task is increased by 1 and added to the next level queue, and the corresponding robot status is modified to idle; if the task is completed within the time specified by the priority, the completed task is added to the Q0 level queue, and the status is modified to execution completed, and the corresponding robot status is changed to idle.

[0011] Preferably, step S2 adopts: each task to be executed needs to be added to the multi-level feedback queue task list, the initial priority of the task is Q1, the task status is not executed, the task identifier is randomly assigned, and the robot identification number is 000.

[0012] Preferably, the step S3 adopts:

[0013] Step S3.1: When the mobile robot is idle and needs to accept a task, the robot operating system sends a search request to the distributed coordination framework. After receiving the search request, the distributed coordination framework allows the robot system to enter the multi-level feedback list of tasks with priority Q1 to search for tasks with a task type that matches the corresponding robot and a task status of unfinished. If the search in the queue with priority Q1 is unsuccessful, the robot system searches for tasks with priority Q2 and an unfinished status, and so on until the search is successful.

[0014] Step S3.2: After the search is successful, the current mobile robot status is changed to working and the task identification number, task priority, and task type are marked. The status information of the current task is changed to executing and marked with the robot identification number. After the modification is completed, the modified table is distributed through the distributed coordination framework and synchronized to other robot systems;

[0015] Step S3.3: During the task execution process, the robot system cyclically checks whether there are new tasks arriving in the high-priority queue. When a new task arrives, a robot that is in motion is randomly selected, and the unfinished task is put back to the end of the queue. The robot then processes the high-priority task.

[0016] Preferably, when the unfinished task is put back to the end of the queue, when the unfinished task in the current queue is run again, the unfinished time slice of the task is allocated.

[0017] Preferably, the robot status information includes: robot identification, robot type, robot status, task identification and task priority;

[0018] The multi-level feedback queue table task information includes task identification, task priority, task type, task status and robot identification.

[0019] Preferably, task management, allocation, and recycling are handled by the robot system, information synchronization between robots, and atomic operations of modifying lists are implemented through the election and distributed exclusive lock functions of the distributed coordination framework.

[0020] According to the present invention, a heterogeneous multi-robot task scheduling system based on a multi-level feedback queue is provided, comprising:

[0021] Module M1: Build a distributed coordination framework and implement multi-level feedback queues and information synchronization between robot systems based on the built distributed coordination framework;

[0022] Module M2: Divides the multi-level feedback queue into multiple execution task priority levels and distinguishes task status, and dynamically changes the task level and task status according to the execution status;

[0023] Module M3: Schedules tasks for heterogeneous multi-robots based on a multi-level feedback queue and dynamically changes robot status information based on the robot's execution status.

[0024] Preferably, the module M1 adopts: building a distributed coordination framework based on Zookeeper;

[0025] Each priority queue has a different task execution time. The lower the priority, the longer the execution time. If a task is not completed within the priority-specified time, the unfinished task status is set to unfinished, and the priority of the current task is increased by 1 and added to the next-level queue. The corresponding robot status is changed to idle. If a task is completed within the priority-specified time, it is added to the Q0 queue and the status is changed to completed. The corresponding robot status is changed to idle.

[0026] The module M2 adopts: each task to be executed needs to be added to the multi-level feedback queue task list, the initial task priority is Q1, the task status is not executed, the task ID is randomly assigned, and the robot ID number is 000;

[0027] The module M3 adopts:

[0028] Module M3.1: When the mobile robot is idle and needs to accept a task, the robot operating system sends a search request to the distributed coordination framework. After receiving the search request, the distributed coordination framework allows the robot system to enter the multi-level feedback list of tasks with priority Q1 to search for tasks with a matching task type and an unfinished task status. If the search in the queue with priority Q1 is unsuccessful, the robot system searches for tasks with priority Q2 and an unfinished task status, and so on until the search is successful.

[0029] Module M3.2: After the search is successful, the current mobile robot status is changed to working and the task identification number, task priority, and task type are marked. The status information of the current task is changed to executing and marked with the robot identification number. After the modification is completed, the modified table is distributed through the distributed coordination framework and synchronized to other robot systems;

[0030] Module M3.3: During the execution of a task, the robot system cyclically checks whether there are new tasks arriving in the high-priority queue. When a new task arrives, a moving robot is randomly selected and the task is placed back to the end of the original queue. The robot then processes the high-priority task. When an unfinished task is placed back to the end of the queue, when the robot runs to an unfinished task in the current queue again, the unfinished time slice of the task is allocated.

[0031] Compared with the prior art, the present invention has the following beneficial effects:

[0032] 1. This invention uses the Zookeeper framework to synchronize information. It performs atomic operations when modifying task information, thus avoiding errors caused by multiple robots modifying a task at the same time. It has the advantage of simple design.

[0033] 2. By referring to the technical features of the multi-level feedback queue algorithm for computer process scheduling, this invention achieves the technical effect of applying it to multi-task scheduling of heterogeneous robots. It can solve the problem of long processes taking up a long time while short tasks are starved when the length and types of tasks are inconsistent.

[0034] 3. The present invention achieves the technical effect of distinguishing and recording different tasks of the robot by adding the task type parameter to the task queue information parameter table and the robot information parameter table;

[0035] 4. The present invention achieves the technical effect of dynamically changing priorities by referring to the technical features of the multi-level feedback queue algorithm for computer process scheduling, so as to meet the demand for priority changes. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Other features, objects and advantages of the present invention will become more apparent upon reading the detailed description of non-limiting embodiments with reference to the following drawings:

[0037] Figure 1 Schematic diagram of a heterogeneous multi-robot task scheduling system based on multi-level feedback queues.

[0038] Figure 2 Flowchart of the heterogeneous multi-robot task scheduling method based on multi-level feedback queues. DETAILED DESCRIPTION

[0039] The present invention will be described in detail below with reference to specific embodiments. The following examples will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those skilled in the art, several changes and improvements can be made without departing from the scope of the present invention. These all fall within the scope of protection of the present invention.

[0040] This invention relates to the field of multi-robot formation control. Specifically, it proposes a heterogeneous multi-robot task scheduling method based on a multi-level feedback queue. The method includes a multi-level feedback queue state table, a distributed coordination framework, and a heterogeneous multi-robot system. The multi-level feedback queue state table divides execution tasks into multiple levels and distinguishes their states, dynamically changing the task level based on the execution status. The distributed coordination framework uses ZooKeeper to synchronize information between robots. The heterogeneous multi-robot system includes at least three types of robots with the same or heterogeneous attributes, each with execution functions such as movement, grasping, or monitoring.

[0041] In the distributed coordination framework, a distributed coordination process for scheduling tasks for heterogeneous multi-robots is based on a multi-level feedback queue state table. By adding tasks to the multi-level feedback queue, the distributed coordination method is used to modify the queue priority of the corresponding task in the task queue and the execution status of the robot itself to achieve reasonable scheduling of tasks.

[0042] For example, in car assembly, robots are required to pick and place different parts or move them to designated locations. A grabbing task is added when a part needs to be grabbed for assembly, and a move task is added when a part needs to be moved to a designated location. Idle robots search the task list for unfinished tasks and complete them, assisting in completing the car assembly process.

[0043] The present invention solves the problem of reasonably scheduling tasks for heterogeneous multi-robots under conditions where task times vary greatly and tasks are complex and intensive. It also reduces problems such as unreasonable task allocation for heterogeneous multi-robots, too many tasks and insufficient number of robots, and too many resources required for a certain task through a multi-level feedback queue method, thereby improving the system's ability to reasonably allocate and plan robot groups in complex task scenarios.

[0044] Example 1

[0045] According to the present invention, a heterogeneous multi-robot task scheduling method based on a multi-level feedback queue is provided. Figure 2 As shown, the method includes: a scheduling method including changing the task status information of the multi-level feedback queue table and changing the status information of the heterogeneous multi-robot. Each mobile robot system stores an identical task multi-level feedback queue table, and schedules tasks to the heterogeneous multi-robots based on searching the feedback queue table;

[0046] Specifically, it includes:

[0047] Step S1: Construct a distributed coordination framework, and implement information synchronization between multi-level feedback queues and robot systems based on the constructed distributed coordination framework; wherein, the distributed coordination framework is constructed based on Zookeeper.

[0048] Step S2: Divide the multi-level feedback queue into multiple execution task priority levels and distinguish task statuses, and dynamically change the task level and task status according to the execution status;

[0049] Specifically, step S2 involves adding each task to be executed to a multi-level feedback queue task list. Initially, the task priority is Q1, the task status is "unexecuted," and the task ID is randomly assigned, with the robot ID being 000. Initially, the robot status is "idle," and the robot ID is a fixed number. The updated task list is synchronized to other robot systems via Zookeeper publishing messages.

[0050]

[0051] Step S3: Schedule tasks for heterogeneous multi-robots according to the multi-level feedback queue, and dynamically change the robot status information according to the robot execution status.

[0052] Specifically, the step S3 adopts:

[0053] Step S3.1: When the mobile robot is in idle state and needs to accept a task, the robot operating system sends a search request to Zookeeper. After receiving the search request, Zookeeper allows the robot system to enter the multi-level feedback list of tasks with priority Q1 to search for tasks of the same type as the corresponding robot and with an unfinished status. If the search in the queue with priority Q1 is unsuccessful, the robot system searches for tasks with priority Q2 and an unfinished status, and so on until the search is successful.

[0054] Step S3.2: After the search is successful, the current mobile robot status is changed to working and the task identification number, task priority, and task type are marked. The status information of the current task is changed to executing and marked with the robot identification number. After the modification is completed, the modified table is distributed through the distributed coordination framework and synchronized to other robot systems;

[0055] Step S3.3: While executing a task, the robot system cyclically checks the high-priority queue for new tasks. When a new task arrives, it randomly selects a robot in motion and places the unfinished task back at the end of the queue, allowing the robot to process the high-priority task. After placing the unfinished task back at the end of the queue, the robot will be assigned the unfinished time slice of the task when it encounters an unfinished task in the current queue. In other words, at any given moment, the process in queue Qi will only be executed if all queues Q1 to Qi-1 are empty.

[0056] Specifically, each priority queue specifies a different task execution time, with lower-priority queues taking longer to execute. If a task is not completed within the specified time, the unfinished task status is set to "incomplete," the current task's priority is incremented by 1, and the robot's status is changed to "idle." If a task is completed within the specified time, it is added to the Q0 queue, its status is changed to "executed," and the robot's status is changed to "idle." After the modification is complete, the modified queue table is synchronized to other robot systems through Zookeeper, the distributed coordination framework. Tasks scheduled for the robot are first searched from the Q1 priority queue. If there are no tasks at this priority, the next priority queue is searched. Tasks of the same priority are queued on a first-come, first-served basis. Processes in the QN queue of the last queue are assigned time slots on a round-robin basis.

[0057] Specifically, the robot status information includes: robot identification, robot type, robot status, task identification, and task priority;

[0058] Robot logo Robot Type Robot Status Task ID Task Priority 007 4 Work 0002 Q1 Robot logo Robot Type Robot Status Task ID Task Priority 005 2 Work 0018 Q1 Robot logo Robot Type Robot Status Task ID Task Priority 023 3 Work 0029 Q2 Robot logo Robot Type Robot Status Task ID Task Priority 012 1 Work 0003 Q2

[0059] The robot status is either working or idle. A robot type value of 1 represents a grasping robot, a type value of 2 represents a mobile robot, a type value of 3 represents a monitoring robot, and a type value of 4 represents a search robot.

[0060] The multi-level feedback queue table task information includes task identification, task priority, task type, task status and robot identification.

[0061] Task ID Task Priority Task Type Task Status Robot logo 0001 Q0 2 Completed 006 0002 Q1 4 Executing 007 0018 Q1 2 Executing 005 0029 Q2 3 Executing 023 0003 Q2 1 Executing 012 0022 Q3 4 Unfinished 023

[0062] The task status is not executed, being executed, and completed. The priority is Q0, Q1, Q2...QN.

[0063] The robot search successfully modifies the status of the task list. The operation is an atomic operation and is not allowed to be interrupted during the execution process. The robot list information synchronization after the successful modification is implemented by Zookeeper.

[0064] The task management, allocation, and recycling are handled by the robot system. Information synchronization between robots and atomic operations of modifying lists are implemented through the election and distributed exclusive lock functions of the distributed coordination framework Zookeeper.

[0065] According to the present invention, a heterogeneous multi-robot task scheduling system based on a multi-level feedback queue is provided. Figure 1 As shown, the method includes: a scheduling method including changing the task status information of the multi-level feedback queue table and changing the status information of the heterogeneous multi-robot. Each mobile robot system stores an identical task multi-level feedback queue table, and schedules tasks to the heterogeneous multi-robots based on searching the feedback queue table;

[0066] Specifically, it includes:

[0067] Module M1: Build a distributed coordination framework, and based on the built distributed coordination framework, realize multi-level feedback queues and information synchronization between robot systems; among them, build a distributed coordination framework based on Zookeeper.

[0068] Module M2: Divides the multi-level feedback queue into multiple execution task priority levels and distinguishes task status, and dynamically changes the task level and task status according to the execution status;

[0069] Specifically, module M2 implements the following: Each task to be executed must be added to the multi-level feedback queue task list. Initially, the task priority is Q1, the task status is "unexecuted", and the task ID is randomly assigned, with the robot ID being 000. Initially, the robot status is idle, and the robot ID is a fixed number. The updated task list is synchronized to other robot systems by publishing messages via Zookeeper.

[0070]

[0071] Module M3: Schedules tasks for heterogeneous multi-robots based on a multi-level feedback queue and dynamically changes robot status information based on the robot's execution status.

[0072] Specifically, the module M3 adopts:

[0073] Module M3.1: When the mobile robot is idle and needs to accept a task, the robot operating system sends a search request to Zookeeper. After receiving the search request, Zookeeper allows the robot system to enter the multi-level feedback list of tasks with priority Q1 to search for tasks of the same type as the corresponding robot and with an unfinished status. If the search in the queue with priority Q1 is unsuccessful, the robot system searches for tasks with priority Q2 and an unfinished status, and so on until the search is successful.

[0074] Module M3.2: After the search is successful, the current mobile robot status is changed to working and the task identification number, task priority, and task type are marked. The status information of the current task is changed to executing and marked with the robot identification number. After the modification is completed, the modified table is distributed through the distributed coordination framework and synchronized to other robot systems;

[0075] Module M3.3: During task execution, the robot system cyclically checks the high-priority queue for new tasks. When a new task arrives, it randomly selects a moving robot and places the unfinished task back at the end of the queue, allowing the robot to process the high-priority task. After placing the unfinished task back at the end of the queue, the next time it encounters an unfinished task in the current queue, it is assigned the unfinished time slice of that task. In other words, at any given moment, the process in queue Qi will only be executed if all queues Q1 to Qi-1 are empty.

[0076] Specifically, each priority queue specifies a different task execution time, with lower-priority queues taking longer to execute. If a task is not completed within the specified time, the unfinished task status is set to "incomplete," the current task's priority is incremented by 1, and the robot's status is changed to "idle." If a task is completed within the specified time, it is added to the Q0 queue, its status is changed to "executed," and the robot's status is changed to "idle." After the modification is complete, the modified queue table is synchronized to other robot systems through Zookeeper, the distributed coordination framework. Tasks scheduled for the robot are first searched from the Q1 priority queue. If there are no tasks at this priority, the next priority queue is searched. Tasks of the same priority are queued on a first-come, first-served basis. Processes in the QN queue of the last queue are assigned time slots on a round-robin basis.

[0077] Specifically, the robot status information includes: robot identification, robot type, robot status, task identification, and task priority;

[0078] Robot logo Robot Type Robot Status Task ID Task Priority 007 4 Work 0002 Q1 Robot logo Robot Type Robot Status Task ID Task Priority 005 2 Work 0018 Q1 Robot logo Robot Type Robot Status Task ID Task Priority 023 3 Work 0029 Q2 Robot logo Robot Type Robot Status Task ID Task Priority 012 1 Work 0003 Q2

[0079] The robot status is either working or idle. A robot type value of 1 represents a grasping robot, a type value of 2 represents a mobile robot, a type value of 3 represents a monitoring robot, and a type value of 4 represents a search robot.

[0080] The multi-level feedback queue table task information includes task identification, task priority, task type, task status and robot identification.

[0081] Task ID Task Priority Task Type Task Status Robot logo 0001 Q0 2 Completed 006 0002 Q1 4 Executing 007 0018 Q1 2 Executing 005 0029 Q2 3 Executing 023 0003 Q2 1 Executing 012 0022 Q3 4 Unfinished 023

[0082] The task status is not executed, being executed, and completed. The priority is Q0, Q1, Q2...QN.

[0083] The robot search successfully modifies the status of the task list. The operation is an atomic operation and is not allowed to be interrupted during the execution process. The robot list information synchronization after the successful modification is implemented by Zookeeper.

[0084] The task management, allocation, and recycling are handled by the robot system. Information synchronization between robots and atomic operations of modifying lists are implemented through the election and distributed exclusive lock functions of the distributed coordination framework Zookeeper.

[0085] Those skilled in the art will appreciate that, in addition to implementing the system, device, and various modules provided by the present invention in purely computer-readable program code, it is entirely possible to implement the same program in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, embedded microcontrollers, and the like by logically programming the method steps. Therefore, the system, device, and various modules provided by the present invention can be considered a hardware component, and the modules included therein for implementing various programs can also be considered structures within the hardware component; the modules for implementing various functions can also be considered both software programs for implementing the method and structures within the hardware component.

[0086] The above describes specific embodiments of the present invention. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art may make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. The embodiments of this application and the features in the embodiments may be combined with each other in any manner unless there is a conflict.

Claims

1. A heterogeneous multi-robot task scheduling method based on multi-level feedback queues, characterized in that: include: Step S1: construct a distributed coordination framework, and implement information synchronization between multi-level feedback queues and robot systems based on the constructed distributed coordination framework; Step S2: Divide the multi-level feedback queue into multiple execution task priority levels and distinguish task statuses, and dynamically change the task level and task status according to the execution status; Step S3: Schedule tasks for heterogeneous multi-robots based on the multi-level feedback queue and dynamically change the robot status information according to the robot execution status; The step S3 adopts: Step S3.1: When the mobile robot is idle and needs to accept a task, the robot operating system sends a search request to the distributed coordination framework. After receiving the search request, the distributed coordination framework allows the robot system to enter the multi-level feedback list of tasks with priority Q1 to search for tasks with a task type that matches the corresponding robot and a task status of unfinished. If the search in the queue with priority Q1 is unsuccessful, the robot system searches for tasks with priority Q2 and an unfinished status, and so on until the search is successful. Step S3.2: After the search is successful, the current mobile robot status is changed to working and the task identification number, task priority, and task type are marked. The status information of the current task is changed to executing and marked with the robot identification number. After the modification is completed, the modified table is distributed through the distributed coordination framework and synchronized to other robot systems; Step S3.3: During the task execution process, the robot system cyclically checks whether there are new tasks arriving in the high-priority queue. When a new task arrives, a robot that is in motion is randomly selected, and the unfinished task is put back to the end of the queue. The robot then processes the high-priority task.

2. The heterogeneous multi-robot task scheduling method based on multi-level feedback queue according to claim 1 is characterized in that: The step S1 adopts: building a distributed coordination framework based on Zookeeper.

3. The heterogeneous multi-robot task scheduling method based on multi-level feedback queue according to claim 1 is characterized in that: Each priority queue has a different task execution time. The lower the priority, the longer the execution time. If the task is not completed within the time specified by the priority, the unfinished task status is set to unfinished, the priority of the current task is increased by 1 and added to the next level queue, and the corresponding robot status is changed to idle; If the task is completed within the time specified by the priority, the completed task will be added to the Q0 queue, and the status will be changed to execution completed, and the corresponding robot status will be changed to idle.

4. The heterogeneous multi-robot task scheduling method based on multi-level feedback queue according to claim 1 is characterized in that: The step S2 adopts: each task to be executed needs to be added to the multi-level feedback queue task list, the initial priority of the task is Q1, the task status is not executed, the task identifier is randomly assigned, and the robot identification number is 000.

5. The heterogeneous multi-robot task scheduling method based on multi-level feedback queue according to claim 1 is characterized in that: When the unfinished task is put back to the end of the queue, when the unfinished task in the current queue is run again, the unfinished time slice of the task is allocated.

6. The heterogeneous multi-robot task scheduling method based on multi-level feedback queue according to claim 1 is characterized in that: The robot status information includes: robot identification, robot type, robot status, task identification and task priority; The task information of the multi-level feedback queue table includes task ID, task priority, task type, task status and robot ID.

7. The heterogeneous multi-robot task scheduling method based on multi-level feedback queue according to claim 1 is characterized in that: Task management, allocation, and recycling are handled by the robot system. Information synchronization between robots and atomic operations to modify lists are achieved through the election and distributed exclusive lock functions of the distributed coordination framework.

8. A heterogeneous multi-robot task scheduling system based on multi-level feedback queues, characterized in that: include: Module M1: Build a distributed coordination framework and implement multi-level feedback queues and information synchronization between robot systems based on the built distributed coordination framework; Module M2: Divides the multi-level feedback queue into multiple execution task priority levels and distinguishes task status, and dynamically changes the task level and task status according to the execution status; Module M3: Schedules tasks for heterogeneous multi-robots based on a multi-level feedback queue and dynamically changes robot status information based on robot execution status; The module M3 adopts: Module M3.1: When the mobile robot is idle and needs to accept a task, the robot operating system sends a search request to the distributed coordination framework. After receiving the search request, the distributed coordination framework allows the robot system to enter the multi-level feedback list of tasks with priority Q1 to search for tasks with a matching task type and an unfinished task status. If the search in the queue with priority Q1 is unsuccessful, the robot system searches for tasks with priority Q2 and an unfinished task status, and so on until the search is successful. Module M3.2: After the search is successful, the current mobile robot status is changed to working and the task identification number, task priority, and task type are marked. The status information of the current task is changed to executing and marked with the robot identification number. After the modification is completed, the modified table is distributed through the distributed coordination framework and synchronized to other robot systems; Module M3.3: During the execution of a task, the robot system cyclically checks whether there are new tasks arriving in the high-priority queue. When a new task arrives, a moving robot is randomly selected and the task is placed back to the end of the original queue. The robot then processes the high-priority task. When an unfinished task is placed back to the end of the queue, when the robot runs to an unfinished task in the current queue again, the unfinished time slice of the task is allocated.

9. The heterogeneous multi-robot task scheduling system based on multi-level feedback queues according to claim 8 is characterized in that: The module M1 adopts: building a distributed coordination framework based on Zookeeper; Each priority queue has a different task execution time. The lower the priority, the longer the execution time. If the task is not completed within the time specified by the priority, the unfinished task status is set to unfinished, the priority of the current task is increased by 1 and added to the next level queue, and the corresponding robot status is changed to idle; If the task is completed within the time specified by the priority, the completed task will be added to the Q0 queue, and the status will be changed to completed, and the corresponding robot status will be changed to idle; The module M2 adopts: each task to be executed needs to be added to the multi-level feedback queue task list, the initial priority of the task is Q1, the task status is not executed, the task ID is randomly assigned, and the robot ID number is 000.

Citation Information

Patent Citations

  • Multi-task scheduling method

    CN109917705A

  • A multi-task scheduling method

    CN109917705B

  • Task management method, device and system, computer storage medium and electronic equipment

    CN111290854A