CN117610899B - Multi-robot task allocation method based on priority - Google Patents
Multi-robot task allocation method based on priority Download PDFInfo
- Publication number
- CN117610899B CN117610899B CN202410095822.6A CN202410095822A CN117610899B CN 117610899 B CN117610899 B CN 117610899B CN 202410095822 A CN202410095822 A CN 202410095822A CN 117610899 B CN117610899 B CN 117610899B
- Authority
- CN
- China
- Prior art keywords
- task
- point
- task point
- robot
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000008569 process Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000004044 response Effects 0.000 abstract description 5
- 230000007613 environmental effect Effects 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 20
- 238000003860 storage Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Educational Administration (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Numerical Control (AREA)
Abstract
A method for task allocation for multiple robots based on priorities, the method comprising: acquiring robot and task information, and ensuring data accuracy and consistency; calculating the overall priority of the task points by taking the front and dependency relationship among the task points into consideration, and dynamically calculating the overall priority in a weight adjustment mode; dividing task points into sets of different grades according to the overall priority from high to low in the task point set dividing stage; and sequentially operating a plurality of sets with different overall priority levels, distributing task points in the sets to the multiple robots, and executing the tasks of the task points. The method is suitable for task point sets with different scales and complexity, has certain dynamic property and intelligence, and ensures that the real-time response mechanism and the environmental adaptability are more reliable and flexible in practical application.
Description
Technical Field
The invention relates to a cooperative work control method of multiple robots, in particular to a task allocation method of multiple robots based on priority.
Background
With the progress of technology and the continuous expansion of the application field of robots, the complexity of the operation scene of the robots is continuously improved, and the tasks executed by the robots are becoming more and more diversified. From simple article handling to complex environmental monitoring and collaborative tasks, robots are increasingly used in a wide range of applications, which results in the need to perform a variety of different types of tasks in the same job scenario. With the expansion of the job scenario, more robots are required to cover a larger area, and as the number of robots increases, the number of tasks to be performed increases, and these tasks usually do not exist in isolation, and may have a dependency relationship of a sequence or have a certain synergistic relationship with each other, which greatly increases the difficulty of task allocation. The complex relationships and diversity between tasks make it difficult to manually manage and optimize task allocation, and as the number of tasks increases, manually allocating tasks not only becomes more time-consuming, but also is difficult to adapt to job scenarios requiring quick response, which is an urgent need for a task allocation method that combines flexibility and quick response.
In current research and practice, particle swarm algorithms, genetic algorithms, and other natural heuristic algorithms, as well as neural network algorithms, are applied to multi-robot task allocation. These algorithms are excellent in solving the task allocation problem of a certain scale and complexity, but as the number of robots and the number of tasks are increased, they face some difficulties in handling the multi-task allocation problem of multiple robots, one of the main problems being a sharp increase in the amount of computation. As robots and tasks increase, the search space for task allocation problems grows exponentially. Traditional natural heuristic algorithms, such as particle swarm algorithms and genetic algorithms, typically require searching in a large solution space, which results in a dramatic increase in computational complexity. The increase in problem size can lead to significant extension of the execution time of the algorithm, making these methods impractical for practical use. In multi-robot tasking, there are many locally optimal solutions that the algorithm may trap into to find globally optimal solutions. Particularly in large-scale problems, algorithms may not effectively jump out of the locally optimal solution due to the limited search space.
Although particle swarm algorithms, genetic algorithms, and other natural heuristics, as well as neural network algorithms, perform well in some contexts, their application is limited by challenges in terms of computational complexity, locally optimal solutions, real-time, and robustness, which are faced by them, for the large-scale, high-complexity problem of multi-robot multi-task allocation. Therefore, there is a need to explore more efficient, simpler task allocation algorithms to meet the increasing demands of robot count and task complexity.
Disclosure of Invention
In order to more efficiently and simply distribute tasks of a multi-robot system and meet the requirements of increasing robot quantity and task complexity, the invention provides a multi-robot task distribution method based on priority, which comprises the following steps:
step 1, acquiring robot information and task point information in a multi-robot system;
step 2, calculating the overall priority of the task points;
Step 3, carrying out set division on the task points according to the overall priority to form task point sets with different overall priority levels;
And 4, sequentially operating a plurality of sets with different overall priority levels according to the order of the overall priority levels from high to low, distributing task points in the sets to multiple robots, and executing the tasks of the task points.
Further, the overall priority rel of each task point is calculated by the following formula:
Wherein A is a prepositive weight coefficient, and A is preferably 1; rel (p) is the overall priority of the calculated p-th task point, when the task point p is the front task point of the task point q, namely, the completion of the task point q depends on the first completion of the task point p, pre (p, q) =1, and when the task point p does not belong to the front task point of the task point q, namely, whether the task point p completes the process which does not affect the task point q, pre (p, q) =0; w (p) is the dynamic weight of the p-th task point.
Further, the dynamic weight determination mode is W (p) =1+α×urgent (p), where α is an adjustment parameter, its value range is [0,1], and urgent (p) is an urgent attribute parameter of the task point p.
Further, the task points in the set are distributed to the multiple robots, and the specific steps include:
(1) Starting point selection: randomly selecting a task point from the set as a starting point, and taking the starting point as a center point of an initial task point set to be worked of the robot;
(2) Distance index calculation and center point update: calculating a distance index between each task point and the current center point, and selecting a task point corresponding to the maximum distance index as a center point of the next task point set to be operated;
(3) Repeating the previous step until the central points of a plurality of task point sets to be worked, except the starting point, which are consistent with the number of the robots are selected;
(4) Based on the central points of the task point sets to be worked, uniformly distributing the task points to the robots by using a clustering algorithm, thereby forming the task point sets to be worked of each robot.
Further, the task points in the set are distributed to the multiple robots, and the specific steps include:
(1) Starting point selection: selecting a task point with the smallest local outlier factor from the set as a center point of the initial task point set;
(2) Distance index calculation and center point update: calculating a distance index between each task point and the current center point, and selecting a task point corresponding to the maximum distance index as a center point of the next task point set to be operated;
(3) Repeating the previous step until the central points of a plurality of task point sets to be worked, the quantity of which is consistent with that of the robot, are selected;
(4) Based on the central points of the task point sets to be worked, uniformly distributing the task points to the robots by using a clustering algorithm, thereby forming the task point sets to be worked of each robot.
Further, the task point operation specifically includes: the robot firstly operates the task point closest to the task point set to be operated, and then sequentially operates according to the subdivision priority of each task point in the set until the number of the task points to be operated is 0
Further, the subdivision priority of the task point is calculated as follows:
where op (p) is the working time of the robot at the p-th task point, tra (p) is the distance or time from the p-1-th task point to the p-th task point, C is a weight coefficient, and C is preferably 1.
Further, wherein the distance index uses euclidean distance.
Further, the distance index is calculated by the following formula:
wherein op (p) is the working time of the robot at the calculated p-th task point, i represents the task point number in the set of task points with the same overall priority, trac (p) is the distance from the p-th task point to the center point of the current task point set, and D is the weight coefficient.
Further, the acquiring the robot information in the step 1 includes: and acquiring the number, the attribute, the position coordinates and the current state information of the robots.
The invention also proposes a computer-readable storage medium, on which a computer program is stored, which computer program is executed by a processor to perform the steps of any of the methods described in the foregoing.
The multi-robot task allocation method based on the priority has remarkable advantages in the aspects of improving task execution efficiency, better coping with task relevance and priority, adapting to large-scale problems and the like, and achieves good effects in practical application.
According to the method, the overall priority of the task points is determined by considering the prepositions and the dependency relations among the task points, and the system more comprehensively understands the relevance among the tasks. The method is helpful for ensuring that the execution sequence of the task points is reasonable, and can better meet the sequence requirement between tasks; the method introduces the concept of the priority of the task points, so that the system can process the execution sequence of the tasks more flexibly. By taking into account the relative priorities of the tasks, the system can more specifically select which tasks to perform, thereby better satisfying the urgency or importance of the tasks. According to the method, the task points are divided into different sets according to the overall priority, so that the system is facilitated to manage and schedule tasks more effectively, and the task points with high overall priority are divided into sets with higher priority, so that the task points are ensured to be executed earlier, and the overall task execution time is reduced; when the task point set is large, an equilibrium allocation strategy is adopted, so that the situation that some robots are idle and other robots are overloaded is avoided, the strategy is helpful for improving the overall efficiency of the system, and the task points are ensured to be executed more uniformly; the method not only pays attention to the dependency relationship of the task, but also gives consideration to the timeliness of the task, so that the execution of the long-duration task and the short-distance task can be balanced better, and the overall operation efficiency is improved; aiming at the situation that the number of task points far exceeds the number of robots, the scheme adopts an equilibrium allocation strategy and carries out subsequent operation according to subdivision priority. The system can better cope with large-scale problems, the computational complexity is reduced, and the practicability of the algorithm is improved.
Drawings
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in the following preferred detail with reference to the accompanying drawings, in which:
FIG. 1 is a flow chart of a task allocation method for multiple robots based on priority according to an embodiment of the present invention;
Fig. 2 is a schematic diagram of task point set partitioning for a robot.
Description of the embodiments
Other advantages and effects of the present invention will become apparent to those skilled in the art from the following disclosure, which describes the embodiments of the present invention with reference to specific examples. The invention may be practiced or carried out in other embodiments that depart from the specific details, and the details of the present description may be modified or varied from the spirit and scope of the present invention. It should be noted that the illustrations provided in the following embodiments merely illustrate the basic idea of the present invention by way of illustration, and the following embodiments and features in the embodiments may be combined with each other without conflict.
Wherein the drawings are for illustrative purposes only and are shown in schematic, non-physical, and not intended to limit the invention; for the purpose of better illustrating embodiments of the invention, certain elements of the drawings may be omitted, enlarged or reduced and do not represent the size of the actual product; it will be appreciated by those skilled in the art that certain well-known structures in the drawings and descriptions thereof may be omitted.
The method of the present invention will be further described with reference to the accompanying drawings and examples. The method of the present invention will be further described with reference to the accompanying drawings and examples. The method of the invention allocates a plurality of task points for each robot, and the task points allocated to a specific robot form a task point set to be operated of the specific robot, and the elements in the task point set to be operated of the robot are the task points allocated to the robot.
As shown in fig. 1, the present embodiment provides a task allocation method for multiple robots based on priority, which specifically includes the steps of:
Step 1, acquiring information of a robot and task points: and acquiring robot information and task point information in the multi-robot system, and integrating the acquired robot information and task point information into a task allocation module of the system.
The robot information may include the number of robots, the relevant attribute of each robot, the current position coordinates, the current state, and may be acquired through a robot management module, a controller, or a sensor network of the system. Acquiring relevant attributes of each robot, such as maximum load, speed, power, etc., is an important consideration for subsequent task allocation and path planning. The current state of each robot is acquired, including whether the robot is idle, whether the robot is executing tasks or not, and the like, so that the task is prevented from being allocated to the robot which is busy, and the system efficiency is improved. The number of robots available in the multi-robot system is denoted as k.
The task point information may be determined statically at system start-up or may be changed dynamically, depending on the dynamics of the task point. The task point information includes the number of task points, the position coordinates of each task point, the current state, and the like, and can be specifically obtained through map information, sensor data, external input, or the like. Knowing the relevant attributes of each task point, such as execution time, urgency, dependencies, etc., helps to take into account the characteristics of different tasks in subsequent task assignments. The current state of each task point is acquired, including whether the task point is allocated to a robot, whether the task point is completed or not, and the like, so that accuracy and instantaneity of task allocation are guaranteed. The number of task points to be assigned is denoted n. It should be noted that if the task points do not interfere with each other and there is no requirement for a sequencing, the task points have the same overall priority level. As shown in fig. 2, three different types of task points are shared in the graph, wherein the task point represented by the triangle delta is a front task of the task point represented by the square delta, that is, the task point represented by the triangle delta needs to be completed first, the task point represented by the square delta can be performed, the task point represented by the square delta is a front task of the task point represented by the circle, that is, the task point represented by the square delta needs to be completed first, and the task point represented by the circle can be performed. In practice, the task point represented by the triangle delta can be an opening or closing operation required to be completed by the robot first, the task point represented by the square ∈s can be an operation required to be completed by the robot for taking and placing the clamp, and the task point represented by the circle o can be an operation required to be completed by the robot for welding, gluing, spraying or the like. Obviously, in actual operation, the number and variety of task points will far exceed those shown in fig. 2.
Further, the acquired data can be verified, and the accuracy and consistency of the data are ensured. And checking whether the number of the robots and the task points are matched, whether the coordinates are in a reasonable range, whether the task attributes meet expectations and the like, so that the accuracy of the robot information and the task point information is ensured, and a reliable basis is provided for subsequent task allocation.
Step 2, calculating the overall priority rel of the task points: according to the prepositions and/or the dependency relations among the task points, the overall priority rel of the task points is calculated through the following formula:
Wherein A is a prepositive weight coefficient for adjusting the weight of the prepositive relation, and A is preferably 1; rel (p) is the overall priority of any p-th task point. When the task point p is a front task point of the task point q, that is, the completion of the task point q depends on the first completion of the task point p, pre (p, q) =1, and when the task point p does not belong to the front task point of the task point q, that is, whether the task point p completes a process that does not affect the task point q, pre (p, q) =0; w (p) is the dynamic weight of the p-th task point, and can be adjusted based on the attribute of the possible task point, for example, for emergency tasks, the influence weight of the task point on the dependent tasks can be increased, and a preferred dynamic weight determination mode is W (p) =1+α×urgent (p), wherein α is an adjustment parameter, the value of α can be [0,1], and urgent (p) is an emergency attribute parameter of the task point p.
In practical application, a real-time response mechanism to the attribute change of the task point can be introduced to dynamically update the overall priority. For example, monitoring of the task point attributes may be in real-time, ensuring that the system is able to quickly adapt to changes in the task point attributes. Therefore, the calculation of the overall priority of the task point is more flexible, the task point can adapt to the change of the task attribute, and the intelligence and the practicability of the system are improved.
Step 3, task point set division: according to the overall priority of each task point, the task points with the same level of overall priority are classified from high to low, and the task points with the same level of overall priority are combined into the same task point set, so that a plurality of task point sets with different overall priority levels are formed.
The method comprises the following steps: sequencing the task points according to the overall priority from high to low, and ensuring that the task points with higher overall priority are arranged in front; setting a threshold value of overall priority, wherein task points with overall priority higher than the threshold value are marked into the same set, and task points with overall priority lower than the threshold value are marked into the next set; in each formed task point set, secondary sequencing can be performed according to the original overall priority, so that the execution sequence of the task points in each set is ensured to be orderly; and iteratively setting a further overall priority threshold in each task point set, traversing the ordered task points, and further splitting the sets according to the iterated further overall priority threshold, thereby forming a plurality of sets with different overall priority levels.
The sorting, the set dividing parameters and the number of sets in the step are adjustable, and can be adjusted according to actual problems and data characteristics. The method is suitable for task point sets with different scales and complexity, can be expanded to a scene of a dynamic task, adapts to the change of the dependency relationship among different task points, and maintains certain dynamic property.
As shown in fig. 2, the task points may form 3 sets with different overall priority levels, and the sets are sequentially a set composed of task points represented by triangle Δ, a set composed of task points represented by square ≡and a set composed of task points represented by circle ≡according to the overall priority.
And 4, sequentially operating a plurality of sets with different overall priority levels according to the order of the overall priority levels from high to low, distributing task points in the sets to multiple robots, and executing the tasks of the task points.
As shown in fig. 2, first, the set of task points represented by the triangle Δ having the highest overall priority level is operated, the task points in the set are allocated to the multi-robots and the task points are executed, then, the task points in the set are allocated to the multi-robots and the task points are executed for the set of task points represented by the square ∈having the next highest overall priority level, and finally, the task points in the set are allocated to the multi-robots and the task points are executed for the set of task points represented by the circle ∈.
The method comprises the steps of distributing task points in a set to multiple robots, and decomposing more sets of task points with the same overall priority, so that balanced task distribution of the multiple robots is realized;
The task points in the collection are distributed to multiple robots, and the specific steps of the preferred method are as follows:
(1) Starting point selection: randomly selecting a task point from the set as a starting point, and taking the starting point as the center point of the initial task point set to be worked of the robot.
(2) Distance index calculation and center point update: and calculating a distance index between each task point and the current center point, and selecting the task point corresponding to the maximum distance index as the center point of the next task point set to be worked. The distance index may be calculated using euclidean distance or using the following formula:
wherein op (p) is the working time of the robot at the calculated p-th task point, i represents the task point number in the set of task points with the same overall priority, trac (p) is the distance from the p-th task point to the center point of the current task point set, and D is the weight coefficient.
(3) And repeating the previous step until the central point of the k task point sets to be worked except the starting point is selected.
(4) Based on the central points of the k task point sets to be worked, uniformly distributing task points to a plurality of robots by using a clustering algorithm, thereby forming the task point sets to be worked of each robot.
The distribution method considers the distribution of task points and the working time, can reduce the collision risk of robots in the multi-robot system, and can calculate the distance index to ensure that the center points of the task point set to be worked are more likely to be scattered in space instead of being concentrated in a certain area. The distribution of the center points of the scattered task point sets to be worked can reduce the aggregation of robots in the same area, so that the probability of collision is reduced.
The task points in the set are distributed to multiple robots, and the specific steps of the alternative method are as follows:
(1) Starting point selection: and selecting the task point with the smallest local outlier factor from the set as the central point of the initial task point set.
(2) Distance index calculation and center point update: and calculating a distance index between each task point and the current center point, and selecting the task point corresponding to the maximum distance index as the center point of the next task point set to be worked. The distance index may be calculated using euclidean distance or using the following formula:
wherein op (p) is the working time of the robot at the calculated p-th task point, i represents the task point number in the set of task points with the same overall priority, trac (p) is the distance from the p-th task point to the center point of the current task point set, and D is the weight coefficient.
(3) And repeating the previous step until the central point of the k task point sets to be worked is selected.
(4) Based on the central points of the k task point sets to be worked, uniformly distributing task points to a plurality of robots by using a clustering algorithm, thereby forming the task point sets to be worked of each robot.
According to the method, the local outlier factors of the task points are considered, the task point with the smallest local outlier factor, namely the task point with the highest density, is taken as the center point of the task point set to be worked, so that the collision performance of the multi-robot system is considered, and meanwhile, the working efficiency of the robot is improved.
The task points in the set are distributed to multiple robots, and the specific steps of the alternative method are as follows:
(1) Starting point selection: and selecting the task point with the smallest local outlier factor from the candidate center set of the task point set to be worked by the robot as the center point of the task point set of the current robot.
(2) And calculating the distance from the task point in the task point set to be allocated to the center point of the task point set of the current robot, and updating the task point set to be worked of the robot, the candidate center set of the task point set to be worked and the task point set to be allocated according to the distance.
If the distance from the task point to the center point of any task point set is smaller than a first larger distance threshold value of the robot, deleting the task point from the candidate center set of the task point set to be worked, otherwise, leaving the task point in the candidate center set, and if the distance from the task point to the center point of any task point set is smaller than a second smaller distance threshold value of the robot, moving the task point from the task point set to be worked into the corresponding task point set to be worked of the robot to be used as a fixed task point in the task point set to be worked, otherwise, leaving the task point in the task point set to be assigned.
(3) Repeating the steps (1) and (2) until the central point of the k task point sets to be worked is selected.
(4) And distributing the task points in the task point set to be distributed to the task point set to be worked of the robot where the center point of the task point set closest to the task point set to be distributed is located according to the distance from each task point in the task point set to be distributed to the center point of each task point set.
(5) And carrying out optimization iteration on each task point set to be worked of each robot by balancing the relative working saturation of each robot, thereby forming each task point set to be worked of each robot.
The task point operation specifically comprises the following steps: the robot firstly performs operation on the task point closest to the task point set to be operated, and then performs operation successively according to the subdivision priority of each task point in the set until the number of the task points to be operated is 0, wherein the subdivision priority pri of the task points is calculated as follows:
Wherein, op (p) is the working time of the robot at the p-th task point, tra (p) is the distance or time from the p-1-th task point to the p-th task point, C is a weight coefficient for adjusting the weight of the distance or time, and C is preferably 1. By the subdivision priority design, the shorter the distance of the task is, the longer the working time is, the more the task is preferentially executed, and therefore the long-working task and the short-distance task are considered.
It should be noted that, the method described in the foregoing embodiment may be applied to dynamic task allocation, and perform real-time adjustment according to the working state, task execution condition and environmental change of the robot, so as to optimize the allocation and execution sequence of task points, so that the system can better adapt to the changing working environment. The method can specifically introduce a real-time monitoring mechanism, and monitor the change of the working environment in real time by means of sensors, environmental data and the like. This may include the addition, removal, change in robot state, or other factors that may affect task execution, triggering dynamic adjustment of the set of task points, which may include repartitioning the set of task points, adding a new set of task points, or merging existing sets to accommodate new work requirements. And after the task points are dynamically adjusted, adjusting the task allocation strategy in real time. The real-time task allocation strategy is introduced, so that the robot can respond to the new task point set in real time, important tasks are processed preferentially, and meanwhile, the work state, the task execution speed and other information of the robot can be monitored in real time by considering the load balancing and the real-time state of the task points.
Therefore, the method of the invention can more flexibly cope with the change of the working environment, maintain the high-efficiency task execution capacity and ensure the real-time dynamic adjustment and distribution of the task points.
The method provided by the invention improves the task execution efficiency, the task points are uniformly distributed to a plurality of robots, and the burden of each robot is reduced, so that the overall task execution efficiency is improved, and the optimization effect is more obvious especially in the scene of uneven task point distribution or higher task dynamic property. The dynamic weight adjustment and the real-time response mechanism enable the system to flexibly adapt to the change of task attributes. For example, when an emergency task occurs, the system can timely adjust the overall priority of the task points, so that the emergency task is ensured to be preferentially processed, and the strain capacity of the system is improved. The collision between robots is effectively reduced, so that the robots can work cooperatively better. The uniform distribution of the task points is beneficial to reducing the mutual obstruction among robots and improving the stability of the whole system. The introduced various parameter settings and mechanisms and the flexibility of set division are used for making the system more robust, the system can adapt to task point sets with different scales and complexity, and the system has better adaptability to the change of the dependency relationship between the task points. By considering aspects of the task through priority calculation, the system more fully considers the task attributes. The comprehensive consideration of the distance and the operation time is hopeful to enable the execution sequence of the tasks to be more in line with the actual situation, and the overall effect of task execution is improved.
The various methods described above, in some embodiments, may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as a storage unit. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device via the ROM and/or the communication unit. When the computer program is loaded into RAM and executed by the CPU, one or more actions or steps of the method described above may be performed. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for performing aspects of the present disclosure. The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
The foregoing is a further detailed description of the application in connection with specific/preferred embodiments, and it is not intended that the application be limited to such description. It will be apparent to those skilled in the art that several alternatives or modifications can be made to the described embodiments without departing from the spirit of the application, and these alternatives or modifications should be considered to be within the scope of the application.
Claims (5)
1. A multi-robot task allocation method based on priority comprises the following steps:
Step 1, acquiring robot information and multi-task point information in a multi-robot cooperation system;
Step 2, calculating the overall priority of the task points according to the dependence and/or the prepositive relation among the task points; wherein, calculate the overall priority of the task point according to the following formula:
,
Wherein A is a prepositive weight coefficient; rel (p) is the overall priority of the calculated p-th task point, when the task point p is the front task point of the task point q, namely, the completion of the task point q depends on the first completion of the task point p, pre (p, q) =1, and when the task point p does not belong to the front task point of the task point q, namely, whether the task point p completes the process which does not affect the task point q, pre (p, q) =0; w (p) is the dynamic weight of the p-th task point;
Step 3, carrying out set division on the task points according to the overall priority to form task point sets with different overall priority levels;
Step 4, sequentially operating a plurality of sets with different overall priority levels according to the order of the overall priority levels from high to low, distributing task points in the sets to multiple robots, and executing the tasks of the task points;
the task points in the set are distributed to the multiple robots, and the specific steps include:
(1) Starting point selection: selecting a task point with the minimum local outlier factor from a candidate center set of a task point set to be worked by the robot as a center point of a task point set of the current robot;
(2) Calculating the distance from a task point in a task point set to be allocated to the center point of a task point set of a current robot, updating the task point set to be allocated of the robot, the set of candidate centers of the task point set to be allocated and the task point set to be allocated according to the distance, deleting the task point from the set of candidate centers of the task point set to be allocated if the distance between the task point and the center point of any task point set is smaller than a larger first distance threshold of the robot, otherwise, leaving the task point in the set of candidate centers, moving the task point from the set of task points to be allocated to the corresponding set of task points to be allocated of the robot if the distance between the task point and the center point of any task point set is smaller than a smaller second distance threshold of the robot, and leaving the task point in the set of task point to be allocated if the distance between the task point and the center point of any task point set is smaller than a smaller second distance threshold of the robot;
(3) Repeating the steps (1) and (2) until the central point of the task point set to be worked, the quantity of which is consistent with that of the robot, is selected;
(4) According to the distances from each task point in the task point set to be allocated to the center point of each task point set, allocating the task points in the task point set to be allocated to the task point set to be operated of the robot where the center point of the task point set closest to the task point set to be allocated is located;
(5) And carrying out optimization iteration on each task point set to be worked of each robot by balancing the relative working saturation of each robot, thereby forming each task point set to be worked of each robot.
2. The priority-based multi-robot task allocation method according to claim 1, wherein the dynamic weight determination method is W (p) =1+α×urgent (p), where α is an adjustment parameter, its value range is [0,1], and urgent (p) is an urgent attribute parameter of the task point p.
3. The priority-based multi-robot task allocation method according to claim 1, wherein the tasks of the task points are specifically: the robot firstly performs operation on the task point closest to the task point set to be operated, and then performs operation successively according to the subdivision priority of each task point in the set until the number of the task points to be operated is 0.
4. A multi-robot task allocation method based on priorities as claimed in claim 3, wherein the subdivision priorities of the task points are calculated as follows:
wherein, op (p) is the working time of the robot at the p-th task point, tra (p) is the distance or time from the p-1-th task point to the p-th task point, and C is the weight coefficient.
5. The priority-based multi-robot task allocation method according to claim 1, wherein the acquiring robot information in step 1 comprises: and acquiring the number, the attribute, the position coordinates and the current state information of the robots.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410095822.6A CN117610899B (en) | 2024-01-24 | 2024-01-24 | Multi-robot task allocation method based on priority |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410095822.6A CN117610899B (en) | 2024-01-24 | 2024-01-24 | Multi-robot task allocation method based on priority |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117610899A CN117610899A (en) | 2024-02-27 |
CN117610899B true CN117610899B (en) | 2024-06-14 |
Family
ID=89958378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410095822.6A Active CN117610899B (en) | 2024-01-24 | 2024-01-24 | Multi-robot task allocation method based on priority |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117610899B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117608258B (en) * | 2024-01-24 | 2024-04-05 | 纳博特南京科技有限公司 | Balanced task allocation method for multiple robots based on LOF algorithm |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113534750A (en) * | 2020-04-15 | 2021-10-22 | 北京旷视机器人技术有限公司 | Job scheduling method, device, system, equipment and medium under intensive storage |
CN114565296A (en) * | 2022-03-03 | 2022-05-31 | 东北大学 | Intelligent running scheduling method and system for rail transit construction line |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306654B (en) * | 2020-10-24 | 2022-09-13 | 西北工业大学 | Man-machine cooperation task allocation method facing mobile crowd sensing |
CN114169748A (en) * | 2021-12-02 | 2022-03-11 | 西安交通大学 | Multi-robot task allocation method, system, device and readable storage medium |
CN114995162B (en) * | 2022-08-01 | 2022-11-08 | 季华实验室 | Task allocation method and device for multiple robots, electronic equipment and storage medium |
CN115454070B (en) * | 2022-09-15 | 2024-04-05 | 安徽工程大学 | K-Means ant colony algorithm multi-robot path planning method |
CN115741703B (en) * | 2022-11-23 | 2024-09-17 | 上海理工大学 | Method suitable for multi-station multi-robot optical measurement point task allocation |
CN116126015B (en) * | 2022-12-19 | 2023-08-01 | 南昌航空大学 | Dynamic environment multi-unmanned aerial vehicle task allocation method based on improved artificial bee colony algorithm |
-
2024
- 2024-01-24 CN CN202410095822.6A patent/CN117610899B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113534750A (en) * | 2020-04-15 | 2021-10-22 | 北京旷视机器人技术有限公司 | Job scheduling method, device, system, equipment and medium under intensive storage |
CN114565296A (en) * | 2022-03-03 | 2022-05-31 | 东北大学 | Intelligent running scheduling method and system for rail transit construction line |
Also Published As
Publication number | Publication date |
---|---|
CN117610899A (en) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ben Alla et al. | A novel task scheduling approach based on dynamic queues and hybrid meta-heuristic algorithms for cloud computing environment | |
CN117610899B (en) | Multi-robot task allocation method based on priority | |
CN108182115B (en) | Virtual machine load balancing method in cloud environment | |
CN110297699B (en) | Scheduling method, scheduler, storage medium and system | |
Akbari Torkestani | A new approach to the job scheduling problem in computational grids | |
CN103246969B (en) | A kind of implementation method of logistics deployment and device | |
CN117608840A (en) | Task processing method and system for comprehensive management of resources of intelligent monitoring system | |
Wu et al. | Adaptive DAG tasks scheduling with deep reinforcement learning | |
Chen et al. | A cluster first strategy for distributed multi-robot task allocation problem with time constraints | |
Zhao et al. | The resource allocation model for multi-process instances based on particle swarm optimization | |
Bilge et al. | Multi-attribute responsive dispatching strategies for automated guided vehicles | |
Eswari et al. | Effective task scheduling for heterogeneous distributed systems using firefly algorithm | |
Wang et al. | Real-time decision support with reinforcement learning for dynamic flowshop scheduling | |
CN116701001B (en) | Target task allocation method and device, electronic equipment and storage medium | |
CN118152084A (en) | Spark cluster multi-job scheduling method in cloud computing environment | |
Zhun et al. | An improved pigeon-inspired optimization algorithm for solving dynamic facility layout problem with uncertain demand | |
WO2024000224A1 (en) | Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices | |
CN113407336B (en) | Full-comparison data distribution method based on tabu search optimization algorithm | |
Lin et al. | Task assignment scheduling by simulated annealing | |
CN112598112B (en) | Resource scheduling method based on graph neural network | |
CN114860417A (en) | Multi-core neural network processor and multi-task allocation scheduling method for processor | |
Belmamoune et al. | Solving a job shop scheduling problem using q-learning algorithm | |
CN112508478A (en) | Flexible logistics distribution task allocation method based on self-organizing automated guided vehicle | |
Gödeke et al. | A Simulative Approach to AMR Fleet Sizing in Decentralized Multi-Robot Task Allocation | |
Liu et al. | DEEP LEARNING FOR INTELLIGENT PRODUCTION SCHEDULING OPTIMIZATION. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |