Multi-robot task allocation method, device, equipment and storage medium
By calculating the evaluation index weights and predicted values for multi-robot task allocation, the problem of lacking global analysis in existing technologies is solved, and qualitative and quantitative analysis of task allocation in multi-robot systems is realized, thus expanding the application scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN YOUBIXING TECH CO LTD
- Filing Date
- 2022-11-16
- Publication Date
- 2026-04-21
AI Technical Summary
Existing technologies lack qualitative and quantitative global analysis in multi-robot task allocation, resulting in limited application scenarios for allocation methods.
By calculating the evaluation index weights of the tasks to be assigned and the predicted values of the candidate robots in completing the tasks, a score is calculated to achieve a global qualitative and quantitative analysis and determine the target robot.
It enables qualitative and quantitative analysis of task allocation in multi-robot systems, expands the application scenarios of robot allocation methods, and is suitable for machine reinforcement learning modes.
Smart Images

Figure CN115829239B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, and in particular to a method, apparatus, device, and storage medium for multi-robot task allocation. Background Technology
[0002] Multi-robot collaboration is one of the most extensive research areas in robotics. Multi-robot systems deploy one or more robots in a coordinated manner to perform and complete tasks, and task allocation is an important aspect of multi-robot systems.
[0003] Multi-robot task allocation involves deciding which robots perform which tasks to achieve the allocation goal. Currently, existing technologies allocate tasks to robots based on a single factor, such as assigning a task to a robot that is closest to the target location. However, this method lacks qualitative and quantitative global analysis, resulting in limited practical applications. Summary of the Invention
[0004] In view of the above, this application provides a multi-robot task allocation method, apparatus, device and storage medium, the purpose of which is to realize qualitative and quantitative global analysis when allocating tasks to multiple robots, and to increase the application scenarios of robot allocation methods.
[0005] In a first aspect, this application provides a multi-robot task allocation method, the method comprising:
[0006] Calculate the weight of at least one evaluation indicator corresponding to the task to be assigned;
[0007] The predicted values of each evaluation indicator are obtained when at least one candidate robot completes the task to be assigned. Based on the weight of the evaluation indicator and the predicted value of the evaluation indicator, the score value of the at least one candidate robot in completing the task to be assigned is calculated.
[0008] The target robot to perform the assigned task is determined from the at least one candidate robot based on the score.
[0009] Secondly, this application provides a multi-robot task allocation device, which includes:
[0010] First calculation module: used to calculate the weight of at least one evaluation indicator corresponding to the task to be assigned;
[0011] The second calculation module is used to obtain the predicted value of each evaluation indicator when at least one candidate robot completes the task to be assigned, and to calculate the score value of the at least one candidate robot in completing the task to be assigned based on the weight of the evaluation indicator and the predicted value of the evaluation indicator.
[0012] Allocation module: used to determine the target robot to perform the assigned task from the at least one candidate robot based on the score value.
[0013] Thirdly, this application provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;
[0014] Memory, used to store computer programs;
[0015] When the processor executes a program stored in memory, it implements the multi-robot task allocation method described in any embodiment of the first aspect.
[0016] Fourthly, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the multi-robot task allocation method as described in any embodiment of the first aspect.
[0017] The technical solutions provided in this application have the following advantages compared with the prior art:
[0018] This application calculates the weights of evaluation indicators corresponding to the tasks to be assigned, and calculates the score of the candidate robot when it completes the assigned task based on the weights and the predicted values of the evaluation indicators when the candidate robot completes the assigned task. This allows the weight of each evaluation indicator to directly or indirectly affect the score. Since the degree of influence of each evaluation indicator on the score is quantified and clearly defined, the target robot to perform the assigned task is determined from the candidate robots based on the score. This enables a qualitative and quantitative global analysis when assigning tasks to multiple robots. This application can formulate evaluation indicator weights for robot task assignment and establish task assignment models for various robot usage scenarios. This application is also applicable to machine reinforcement learning models and scenarios where task assignment decisions are made by referring to historical data of tasks and robots. Attached Figure Description
[0019] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0020] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 This is a flowchart illustrating an embodiment of the multi-robot task allocation method of this application;
[0022] Figure 2 This is a schematic flowchart of an embodiment of calculating the candidate robot score in this application;
[0023] Figure 3 This is a flowchart illustrating an embodiment of the present application for determining whether the current energy value of a candidate robot is greater than the energy value required for the task to be assigned;
[0024] Figure 4 This is a flowchart illustrating an embodiment of the present application for determining whether a target robot is designated to perform the assigned task;
[0025] Figure 5 This is a flowchart illustrating an embodiment of the present application for determining whether a task to be assigned has a time limit;
[0026] Figure 6 This is a schematic diagram of a preferred embodiment of the multi-robot task allocation device of this application;
[0027] Figure 7 This is a schematic diagram of a preferred embodiment of the electronic device of this application;
[0028] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0029] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.
[0030] It should be noted that the use of terms such as "first" and "second" in this application is for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of those features. Furthermore, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, such a combination of technical solutions should be considered non-existent and not within the scope of protection claimed in this application.
[0031] This application provides a method for multi-robot task allocation. (Refer to...) Figure 1The diagram shown is a flowchart illustrating an embodiment of the multi-robot task allocation method of this application. This method can be executed by an electronic device, which can be implemented in software and / or hardware. The multi-robot task allocation method includes:
[0032] Step S1: Calculate the weight of at least one evaluation indicator corresponding to the task to be assigned;
[0033] Step S2: Obtain the predicted value of each evaluation indicator when at least one candidate robot completes the task to be assigned; calculate the score value of the at least one candidate robot in completing the task to be assigned based on the weight of the evaluation indicator and the predicted value of the evaluation indicator.
[0034] Step S3: Determine the target robot to perform the assigned task from the at least one candidate robot based on the score value.
[0035] In this embodiment, the electronic device is communicatively connected to at least one robot. The electronic device can actively assign tasks to any robot based on factors such as the robot's battery level and the distance between the robot and the task location. When the electronic device needs to assign tasks, the robot can also actively request to receive tasks from the electronic device. Candidate robots refer to robots that can perform the tasks to be assigned.
[0036] Each task to be assigned has at least one corresponding evaluation metric. These metrics include, but are not limited to, task duration, task waiting time, task execution time, task energy consumption (the percentage of the robot's own battery power required to perform the task), robot energy storage (the robot's current battery percentage), task completion rate, robot travel distance, and the quality of historical task completion. Because too many evaluation metrics result in large data processing volumes and cumbersome calculations, in practical applications, several evaluation metrics can be selected from multiple options as the evaluation metrics for task assignment. It is understood that any evaluation metric can be selected in practical applications.
[0037] Before assigning tasks to robots, the weight of at least one evaluation indicator corresponding to the task can be calculated using the Analytic Hierarchy Process (AHP). AHP decomposes the decision problem into different hierarchical structures in the order of overall goal, sub-goals at each level, evaluation criteria, and specific alternative solutions. Then, by solving the eigenvectors of the judgment matrix, the priority weight of each element at each level relative to an element at the previous level is obtained. Finally, the weighted sum method is used to hierarchically merge the final weights of each alternative solution relative to the overall goal. The solution with the largest final weight is the optimal solution. This embodiment uses four evaluation indicators—task time, waiting time, execution time, and task energy consumption—as examples to illustrate this solution.
[0038] After obtaining the weights of the evaluation metrics, the predicted value of each evaluation metric for the candidate robot to complete the assigned task is obtained. For example, if the assigned task is assigned to candidate robot M, the predicted execution time for candidate robot M to complete the assigned task is 10 minutes; if the assigned task is assigned to candidate robot N, the predicted execution time for candidate robot N to complete the assigned task is 11 minutes. Each predicted value can be obtained from the multi-robot collaborative system. The predicted value is obtained by transforming and extrapolating the data uploaded by the robots. For example, the predicted task execution time can be calculated based on environmental data, robot motion performance data, and path planning data of other robots, using a path planning algorithm (A* algorithm or Dijstra algorithm) to calculate the path that the robot needs to walk to complete the task (including the position, speed, angular velocity of each point on the path, and the time to reach that point), thus obtaining the robot's walking time. Then, based on the robot's functional operation time, the predicted value of the task execution time is obtained.
[0039] Based on the weights of the evaluation indicators and the predicted values of the evaluation indicators corresponding to the candidate robots' completion of the assigned tasks, the score of the candidate robots' completion of the assigned tasks is calculated. For example, assuming that the weights of the four indicators—task duration, waiting time, task execution time, and task energy consumption—are all 0.25, the predicted values of each evaluation indicator are multiplied by 0.25 and then summed to obtain the score of the candidate robots' completion of the assigned tasks.
[0040] The score for the candidate robot to complete the assigned task can also be calculated using the following formula:
[0041]
[0042] or,
[0043] Among them, J S This indicates that the task to be assigned is a single task. The score represents the rating of the candidate robot in completing the single task, I represents the set of evaluation indicators, and w i Let represent the weight of the i-th evaluation indicator, e represent the base of the natural logarithm function, and v bi v represents the optimal value of the i-th evaluation metric among all robots capable of completing the assigned task. ri Let represent the predicted value of the i-th evaluation metric when the candidate robot completes the assigned task, s represent the index value of the i-th evaluation metric, r represent the candidate robot, R represent the set of all robots, and J represent the predicted value of the candidate robot. c This refers to the set of tasks when the task to be assigned is a combined task. This represents the score value of the candidate robot in completing the combined task.
[0044] After obtaining the score of each candidate robot, the target robot to perform the assigned task is selected from the candidate robots based on the score of each candidate robot. For example, the score of each candidate robot in completing the assigned task is sorted, and the candidate robot with the highest score is selected from the sorting results as the target robot to perform the assigned task.
[0045] This application calculates the weights of evaluation indicators corresponding to the tasks to be assigned, and calculates the score of the candidate robot when it completes the assigned task based on the weights and the predicted values of the evaluation indicators when the candidate robot completes the assigned task. This ensures that the weight of each evaluation indicator can directly or indirectly affect the score, and the degree of influence of each evaluation indicator on the score is quantified and clearly defined. Finally, the target robot to perform the assigned task is determined from the candidate robots based on the score, thereby achieving a qualitative and quantitative global analysis when assigning tasks to multiple robots. This application can formulate evaluation indicator weights for robot task assignment and establish task assignment models for various robot usage scenarios. This application is also applicable to machine reinforcement learning models and scenarios where task assignment decisions are made by referring to historical data of tasks and robots.
[0046] In one embodiment, calculating the weight of at least one evaluation metric corresponding to the task to be assigned includes:
[0047] Establish a structural model based on at least one of the evaluation indicators;
[0048] Based on the criteria layer in the structural model, establish the comparison matrix of the criteria layer;
[0049] Calculate the consistency ratio of the comparison matrix and determine whether the consistency ratio is less than a preset value;
[0050] If so, calculate the weight of each of the evaluation indicators.
[0051] The structural model includes an objective layer, a criterion layer, a constraint layer, and a solution layer. The objective layer is responsible for task allocation among the multiple robots.
[0052] Criteria layer: Task duration, waiting time, execution time, and task energy consumption.
[0053] Constraint Layer: Sufficient power to perform the task, ability to complete the task within a specified time, and assignment to a specific robot. The constraint layer sets the limits for task allocation. For example, a task should not be assigned to a robot with insufficient power to complete it. If a task must be completed within a specified time, it cannot be assigned to a robot that cannot complete it within that time limit. If a task must be assigned to a specific robot (or robot team), then the task can only be assigned to that robot (or robot team).
[0054] Solution Layer: This layer contains selectable robots (or robot teams). The solution layer can be structured according to specific circumstances, including single-layer, double-layer, and multi-layer structures. A single-layer structure means each robot bids for each task (i.e., the robot actively requests to accept the task), and electronic equipment evaluates the bids uniformly. A double-layer structure involves multiple robots forming queues. Bidding can be done from the bottom up, where the best solution within each queue is evaluated based on criteria, and then the best bids from multiple queues are compared to determine the globally optimal solution. Alternatively, a top-down bidding method can be used, for example, first determining which queue wins based on its historical task completion quality, and then selecting the best executor from that queue. A multi-layer structure is a hybrid of single-layer and double-layer structures.
[0055] Then, a comparison matrix is constructed based on the task consumption time, waiting time, execution time, and task energy consumption in the criterion layer, as shown in the table below:
[0056] Task time Waiting time Execution time Task energy consumption Task time 1 2 4 8 Waiting time 1 / 2 1 2 4 Execution time 1 / 4 1 / 2 1 2 Task energy consumption 1 / 8 1 / 4 1 / 2 1
[0057] The 1 / 2 in the third row and second column of the table indicates that the waiting time is half the importance of the task time. The meanings of the other numbers in the table are similar.
[0058] The comparison matrix A is obtained as follows:
[0059]
[0060] First, calculate the consistency index (CI) of the comparison matrix. Then, based on the average random consistency index (RI), divide CI by RI to obtain the consistency ratio (CR) of the comparison matrix. The average random consistency index (RI) can be obtained by querying a pre-configured mapping table between the number of rows (n) and the average random consistency index (RI) of the comparison matrix. In the above example, the comparison matrix has 4 rows, so the corresponding RI is 0.89. The formula for calculating CI is as follows: λ max Let n be the largest eigenvalue of the comparison matrix, and n represent the number of rows (or columns) of the comparison matrix. Based on the characteristic polynomial, the eigenvalues of the comparison matrix can be calculated as 0, 0, 0, and 4. The consistency ratio CR of the comparison matrix is also 0. Since CR is less than the preset value (0.1), the above comparison matrix passes the consistency test. If it is greater than or equal to the preset value, the comparison matrix needs to be corrected.
[0061] The mapping relationship table between the pre-configured matrix row number n and the average random consistency index RI is as follows:
[0062] n 1 2 3 4 5 6 7 8 9 10 11 12 13 RI 0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56
[0063] Solve the maximum eigenvalue λ max = 4 corresponding linear equations:
[0064] (4E - A)x = 0
[0065]
[0066] Get the fundamental solution system:
[0067]
[0068] After normalization, the weights of the above four evaluation indicators are obtained:
[0069]
[0070] That is, the weight of task time consumption in the above evaluation indicators is 0.533, the weight of waiting time is 0.267, the weight of execution time is 0.133, and the weight of task energy consumption is 0.067.
[0071] See Figure 2 shown, which is a schematic flowchart of a preferred embodiment for calculating the scoring value of candidate robots in this application. According to the weights of the evaluation indicators and the predicted values of the evaluation indicators, calculating the scoring value of the at least one candidate robot for completing the to-be-allocated task includes:
[0072] [[ID=4o]]Step S21: Respond to the task receiving request sent by the candidate robot;
[0073] Step S22: Determine whether the current energy value of the candidate robot is greater than the required energy value of the to-be-allocated task;
[0074] Step S23: If so, determine whether there is a target robot designated to execute the to-be-allocated task;
[0075] Step S24: If not, determine whether the to-be-allocated task has a task time limit;
[0076] Step S25: If not, calculate the scoring value of the candidate robot for completing the to-be-allocated task according to the weights of the evaluation indicators and the predicted values of the evaluation indicators.
[0077] The user can input the task to be assigned through the human - machine interaction interface of the electronic device. The electronic device issues a bidding announcement for the task to be assigned, and all robots (or robot teams) communicatively connected to the electronic device can receive this task announcement. Then, it is determined whether the robot has the function to execute this task. Suppose a floor - cleaning robot does not have the function of patrol inspection. If the task to be assigned is a patrol inspection task, this floor - cleaning robot cannot place a bid. Robots with the function of patrol inspection, however, can place a bid as candidate robots.
[0078] After the electronic device issues the task bidding announcement, within the specified time limit, it receives the bidding documents submitted by the candidate robots (or robot teams) and stores the bidding documents in a pre - created container (e.g., a vector container). Set the robot in the first received bidding document as the current winner, and calculate the scoring value Ur of this robot as the current maximum scoring value Umax.
[0079] The electronic device responds to the task - claiming request sent by a new candidate robot, and determines whether the current energy value of this candidate robot is greater than the required energy value of the task to be assigned. If it is greater, it means that this candidate robot has enough power to complete this task. Then, it is determined whether there is a target robot specified to execute the task to be assigned for the task to be assigned. If not, it means that the task to be assigned has not been specified to be completed by a certain robot. Then, it is determined whether there is a task time limit for the task to be assigned (i.e., whether the task time is limited). If there is no task time limit, it means that the urgency of this task is not high. At this time, according to the weights of the evaluation indicators and the predicted values of the evaluation indicators when this candidate robot completes the task to be assigned, calculate the scoring value Ur of this candidate robot for completing the task to be assigned.
[0080] Compare the scoring value Ur of this candidate robot with the current maximum scoring value Umax. If Ur is greater than Umax, then assign the scoring value Ur of this candidate robot to Umax. This candidate robot is used as the current winner, and increment the number of evaluated bidding documents by 1. If the number of evaluated bidding documents reaches the preset threshold (e.g., 10), use the current winner corresponding to Umax as the target robot to execute the task to be assigned, and the task assignment is completed. If Ur is less than Umax, directly increment the number of evaluated bidding documents by 1. If the number of evaluated bidding documents reaches the preset threshold (e.g., 10), use the current winner corresponding to Umax as the target robot to execute the task to be assigned. If the number of evaluated bidding documents has not reached the preset threshold, continue to read new bidding documents, that is, respond to the task - claiming requests sent by the remaining candidate robots. It should be noted that a candidate robot initiating a task - claiming request submits one bidding document to the electronic device, and a group of candidate robots initiating a task - claiming request as a whole also submits one bidding document to the electronic device.
[0081] See Figure 3 As shown, it is a schematic flowchart of an embodiment for the present application to determine whether the current energy value of a candidate robot is greater than the required energy value of a task to be assigned. Based on the above embodiment, determining whether the current energy value of the candidate robot is greater than the required energy value of the task to be assigned further includes:
[0082] Step S221: When it is determined that the current energy value of the candidate robot is less than or equal to the required energy value of the task to be assigned, determine whether the number of robots sending task receiving requests is greater than a preset threshold;
[0083] Step S222: If it is greater than the preset threshold, use the candidate robot corresponding to the current maximum score value as the target robot;
[0084] Step S223: If it is less than or equal to the preset threshold, respond to the task receiving requests sent by the remaining candidate robots.
[0085] When it is determined that the current energy value of the candidate robot is less than or equal to the required energy value of the task to be assigned, it means that the power of this candidate robot is not sufficient to complete the task. At this time, increment the number of bid documents that have been evaluated by 1, and determine whether the number of bid documents that have been evaluated has reached the preset threshold (for example, 10), that is, determine whether the number of candidate robots sending task receiving requests is greater than the preset threshold. If it is greater than the preset threshold, use the candidate robot corresponding to the current maximum score value Umax as the target robot; if it is less than or equal to the preset threshold, respond to the requests of the remaining candidate robots to receive tasks. For example, read the bid documents submitted by the remaining robots from the vector container. Reading the bid documents from the vector container can be done in the order of the time when the bid documents were submitted, or randomly read the bid documents from the vector container. It can be understood that when a group of candidate robots发起 a request to receive tasks as a whole, the number of robots is recorded as 1.
[0086] Refer to Figure 4 As shown, it is a schematic flowchart of another preferred embodiment for the present application to determine whether there is a target robot designated to execute the task to be assigned. Based on the above embodiment, determining whether there is a target robot designated to execute the task to be assigned further includes:
[0087] Step S231: When it is determined that there is a target robot designated to execute the task to be assigned, determine whether the candidate robot is the target robot;
[0088] Step S232: If so, use the candidate robot as the target robot;
[0089] Step S233: If not, determine whether the number of robots sending task receiving requests is greater than a preset threshold;
[0090] Step S234: If it is greater than the preset threshold, use the candidate robot corresponding to the current maximum score value as the target robot;
[0091] Step S235: If it is less than or equal to the preset threshold, respond to the task receiving requests sent by the remaining candidate robots.
[0092] When it is determined that there is a target robot designated to execute the task to be assigned, determine whether the candidate robot is the target robot. If so, directly use the candidate robot as the target robot; if not, increment the number of bid documents that have been evaluated by 1, and determine whether the number of bid documents that have been evaluated has reached the preset threshold (for example, 10), that is, determine whether the number of candidate robots sending task receiving requests is greater than the preset threshold. If it is greater than the preset threshold, use the candidate robot corresponding to the current maximum score value Umax as the target robot; if it is less than or equal to the preset threshold, respond to the task receiving requests sent by the remaining candidate robots. For example, read the bid documents submitted by the remaining robots from the vector container. The bid documents can be read from the vector container in the order of submission time of the bid documents, or the bid documents can be randomly read from the vector container.
[0093] Ref Figure 5 As shown, it is a flowchart of a preferred embodiment for the present application to determine whether the task to be assigned has a task time limit. Based on the above embodiments, determining whether the task to be assigned has a task time limit further includes:
[0094] Step S241: When it is determined that the task to be assigned has a task time limit, determine whether the time taken for the candidate robot to complete the task to be assigned is less than the task time limit;
[0095] If so, execute the step of calculating the score value of the candidate robot to complete the task to be assigned according to the weight of the evaluation index and the predicted value of the evaluation index, that is, execute Step S25.
[0096] Step S242: If not, determine whether the number of robots sending task receiving requests is greater than the preset threshold;
[0097] Step S243: If it is greater than the preset threshold, use the candidate robot corresponding to the current maximum score value as the target robot;
[0098] Step S244: If it is less than or equal to the preset threshold, respond to the task receiving requests sent by the remaining candidate robots.
[0099] When it is determined that there is a time limit for the task to be assigned, it is determined whether the time taken for the candidate robot to complete the task is less than the time limit. If it is greater than or equal to the time limit, the step of calculating the score of the candidate robot in completing the task is executed based on the weight of the evaluation index and the predicted value of the evaluation index corresponding to the completion of the task by the candidate robot. If it is less than the time limit, the number of evaluated bids is incremented by 1, and it is determined whether the number of evaluated bids has reached a preset threshold (e.g., 10), that is, whether the number of candidate robots that have sent task-receiving requests is greater than the preset threshold. If it is greater than the preset threshold, the candidate robot corresponding to the current maximum score value Umax is selected as the target robot. If it is less than or equal to the preset threshold, the task-receiving requests sent by other candidate robots are responded to. For example, the bids submitted by other robots are read from the vector container. The bids can be read sequentially according to the submission time of the bids, or the bids can be read randomly from the vector container.
[0100] Reference Figure 6 The diagram shown is a functional module schematic of the multi-robot task allocation device 100 of this application.
[0101] The multi-robot task allocation device 100 described in this application can be installed in an electronic device. Depending on the functions implemented, the multi-robot task allocation device 100 may include a first calculation module 110, a second calculation module 120, and an allocation module 130. The module described in this application can also be called a unit, which refers to a series of computer program segments that can be executed by the processor of an electronic device and can perform a fixed function, and which are stored in the memory of the electronic device.
[0102] In this embodiment, the functions of each module / unit are as follows:
[0103] First calculation module 110: used to calculate the weight of at least one evaluation indicator corresponding to the task to be assigned;
[0104] The second calculation module 120 is used to obtain the predicted value of each evaluation indicator when at least one candidate robot completes the task to be assigned, and to calculate the score value of the at least one candidate robot in completing the task to be assigned based on the weight of the evaluation indicator and the predicted value of the evaluation indicator.
[0105] Allocation module 130: used to determine the target robot to perform the assigned task from the at least one candidate robot based on the score value.
[0106] In one embodiment, calculating the weight of at least one evaluation metric corresponding to the task to be assigned includes:
[0107] Establish a structural model based on at least one of the evaluation indicators;
[0108] Based on the criteria layer in the structural model, establish the comparison matrix of the criteria layer;
[0109] Calculate the consistency ratio of the comparison matrix and determine whether the consistency ratio is less than a preset value;
[0110] If so, calculate the weight of each of the evaluation indicators.
[0111] In one embodiment, calculating the score for the completion of the assigned task by the at least one candidate robot based on the weight of the evaluation index and the predicted value of the evaluation index includes:
[0112] Respond to the task request sent by the candidate robot;
[0113] Determine whether the current energy value of the candidate robot is greater than the energy value required for the task to be assigned;
[0114] If so, determine whether there exists a target robot designated to perform the assigned task;
[0115] If not, determine whether the task to be assigned has a time limit;
[0116] If not, calculate the score for the candidate robot to complete the assigned task based on the weight of the evaluation index and the predicted value of the evaluation index.
[0117] In one embodiment, determining whether the current energy value of the candidate robot is greater than the energy value required for the task to be assigned further includes:
[0118] When it is determined that the current energy value of the candidate robot is less than or equal to the energy value required for the task to be assigned, it is determined whether the number of robots sending task-accepting requests is greater than a preset threshold.
[0119] If the score is greater than a preset threshold, the candidate robot corresponding to the current maximum score will be selected as the target robot.
[0120] If the value is less than or equal to the preset threshold, respond to the task-receiving requests sent by the other candidate robots.
[0121] In one embodiment, determining whether there exists a target robot designated to perform the assigned task further includes:
[0122] When it is determined that there is a target robot designated to perform the task to be assigned, it is determined whether the candidate robot is the target robot;
[0123] If so, the candidate robot shall be used as the target robot;
[0124] If not, determine whether the number of robots sending task claim requests exceeds a preset threshold;
[0125] If the score is greater than a preset threshold, the candidate robot corresponding to the current maximum score will be selected as the target robot.
[0126] If the value is less than or equal to the preset threshold, respond to the task-receiving requests sent by the other candidate robots.
[0127] In one embodiment, determining whether the task to be assigned has a time limit further includes:
[0128] When it is determined that the task to be assigned has a time limit, it is determined whether the time taken for the candidate robot to complete the task to be assigned is less than the time limit.
[0129] If so, proceed with the step of calculating the score of the candidate robot in completing the assigned task based on the weight of the evaluation index and the predicted value of the evaluation index;
[0130] If not, determine whether the number of robots sending task claim requests exceeds a preset threshold;
[0131] If the score is greater than a preset threshold, the candidate robot corresponding to the current maximum score will be selected as the target robot.
[0132] If the value is less than or equal to the preset threshold, respond to the task-receiving requests sent by the other candidate robots.
[0133] In one embodiment, calculating the score of the at least one candidate robot in completing the assigned task includes calculating the score of the candidate robot in completing the assigned task using the following formula:
[0134]
[0135] or,
[0136] Among them, J S This indicates that the task to be assigned is a single task. The score represents the rating of the candidate robot in completing the single task, I represents the set of evaluation indicators, and w i Let represent the weight of the i-th evaluation indicator, e represent the base of the natural logarithm function, and v bi v represents the optimal value of the i-th evaluation metric among all robots capable of completing the assigned task. ri s represents the predicted value of the i-th evaluation metric when the candidate robot completes the assigned task. i Let J represent the index value of the i-th evaluation metric, r represent the candidate robot, R represent the set of all robots, and J represent the index value of the i-th evaluation metric.c This refers to the set of tasks when the task to be assigned is a combined task. This represents the score value of the candidate robot in completing the combined task.
[0137] Reference Figure 7 The diagram shown is a schematic diagram of a preferred embodiment of the electronic device 1 of this application.
[0138] The electronic device 1 includes, but is not limited to, a memory 11, a processor 12, a display 13, and a communication interface 14. The electronic device 1 can connect to a network via the communication interface 14. The network can be an intranet, the Internet, a Global System for Mobile communication (GSM), a Wideband Code Division Multiple Access (WCDMA) network, a 4G network, a 5G network, Bluetooth, Wi-Fi, a voice communication network, or other wireless or wired networks.
[0139] The memory 11 includes at least one type of readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 11 may be an internal storage unit of the electronic device 1, such as the hard disk or memory of the electronic device 1. In other embodiments, the memory 11 may also be an external storage device of the electronic device 1, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped with the electronic device 1. Of course, the memory 11 may include both the internal storage unit and its external storage device of the electronic device 1. In this embodiment, the memory 11 is typically used to store the operating system and various computer programs installed on the electronic device 1, such as the program code of the multi-robot task assignment program 10. In addition, the memory 11 can also be used to temporarily store various types of data that have been output or will be output.
[0140] In some embodiments, processor 12 may be a central processing unit (CPU), controller, microcontroller, microprocessor, or other data processing chip. Processor 12 is typically used to control the overall operation of the electronic device 1, such as performing data interaction or communication-related control and processing. In this embodiment, processor 12 is used to run program code stored in memory 11 or process data, such as running the program code of the multi-robot task assignment program 10.
[0141] The display 13 may be referred to as a display screen or display unit. In some embodiments, the display 13 may be an LED display, a liquid crystal display, a touch liquid crystal display, or an organic light-emitting diode (OLED) touch screen, etc. The display 13 is used to display information processed in the electronic device 1 and to display a visual working interface.
[0142] The communication interface 14 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface), which is typically used to establish a communication connection between the electronic device 1 and other electronic devices.
[0143] Figure 7 Only an electronic device 1 with components 11-14 and a multi-robot task assignment program 10 is shown; however, it should be understood that implementation of all the components shown is not required, and more or fewer components may be implemented instead.
[0144] In the above embodiments, when the processor 12 executes the multi-robot task allocation program 10 stored in the memory 11, it can perform the following steps:
[0145] Calculate the weight of at least one evaluation indicator corresponding to the task to be assigned;
[0146] The predicted values of each evaluation indicator are obtained when at least one candidate robot completes the task to be assigned. Based on the weight of the evaluation indicator and the predicted value of the evaluation indicator, the score value of the at least one candidate robot in completing the task to be assigned is calculated.
[0147] The target robot to perform the assigned task is determined from the at least one candidate robot based on the score.
[0148] The storage device can be the memory 11 of the electronic device 1, or it can be other storage devices that are communicatively connected to the electronic device 1.
[0149] For a detailed explanation of the above steps, please refer to the above. Figure 6 Functional block diagram of the embodiment of the multi-robot task allocation device 100 and Figure 1 A flowchart illustrating an embodiment of a multi-robot task allocation method.
[0150] Furthermore, this application embodiment also proposes a computer-readable storage medium, which can be non-volatile or volatile. The computer-readable storage medium can be any one or any combination of several of the following: hard disk, multimedia card, SD card, flash memory card, SMC, read-only memory (ROM), erasable programmable read-only memory (EPROM), portable compact disc read-only memory (CD-ROM), USB memory, etc. The computer-readable storage medium includes a data storage area and a program storage area. The program storage area stores a multi-robot task allocation program 10, which, when executed by a processor, performs the following operations:
[0151] Calculate the weight of at least one evaluation indicator corresponding to the task to be assigned;
[0152] The predicted values of each evaluation indicator are obtained when at least one candidate robot completes the task to be assigned. Based on the weight of the evaluation indicator and the predicted value of the evaluation indicator, the score value of the at least one candidate robot in completing the task to be assigned is calculated.
[0153] The target robot to perform the assigned task is determined from the at least one candidate robot based on the score.
[0154] The specific implementation of the computer-readable storage medium in this application is largely the same as the specific implementation of the multi-robot task allocation method described above, and will not be repeated here.
[0155] It should be noted that the sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, apparatus, article, or method. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, apparatus, article, or method that includes that element.
[0156] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware simulation platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, electronic device, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0157] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A multi-robot task allocation method, characterized in that, The method includes: Calculate the weight of at least one evaluation indicator corresponding to the task to be assigned, wherein the evaluation indicator includes task time, waiting time, execution time and task energy consumption; The predicted values of each evaluation indicator are obtained when at least one candidate robot completes the task to be assigned. Based on the weight of the evaluation indicator and the predicted value of the evaluation indicator, the score value of the at least one candidate robot in completing the task to be assigned is calculated. The target robot to perform the assigned task is determined from the at least one candidate robot based on the score value; The step of calculating the score of the at least one candidate robot in completing the task to be assigned includes calculating the score of the candidate robot in completing the task to be assigned using the following formula: or, in, This indicates that the task to be assigned is a single task. This represents the score of the candidate robot in completing the single task, and I represents the set of evaluation indicators. Let represent the weight of the i-th evaluation indicator, and e represent the base of the natural logarithm function. This represents the optimal value of the i-th evaluation metric among all robots capable of completing the assigned task. This represents the predicted value of the i-th evaluation metric when the candidate robot completes the assigned task. Let represent the index value of the i-th evaluation index, r represent the candidate robot, and R represent the set of all robots. This refers to the set of tasks when the task to be assigned is a combined task. This represents the score value of the candidate robot in completing the combined task.
2. The multi-robot task allocation method as described in claim 1, characterized in that, The calculation of the weight of at least one evaluation indicator corresponding to the task to be assigned includes: Establish a structural model based on at least one of the evaluation indicators; Based on the criteria layer in the structural model, establish the comparison matrix of the criteria layer; Calculate the consistency ratio of the comparison matrix and determine whether the consistency ratio is less than a preset value; If so, calculate the weight of each of the evaluation indicators.
3. The multi-robot task allocation method as described in claim 1, characterized in that, The step of calculating the score for the completion of the assigned task by the at least one candidate robot based on the weight of the evaluation index and the predicted value of the evaluation index includes: Respond to the task request sent by the candidate robot; Determine whether the current energy value of the candidate robot is greater than the energy value required for the task to be assigned; If so, determine whether there exists a target robot designated to perform the assigned task; If not, determine whether the task to be assigned has a time limit; If not, calculate the score for the candidate robot to complete the assigned task based on the weight of the evaluation index and the predicted value of the evaluation index.
4. The multi-robot task allocation method as described in claim 3, characterized in that, The step of determining whether the current energy value of the candidate robot is greater than the energy value required for the task to be assigned further includes: When it is determined that the current energy value of the candidate robot is less than or equal to the energy value required for the task to be assigned, it is determined whether the number of robots sending task-accepting requests is greater than a preset threshold. If the score is greater than a preset threshold, the candidate robot corresponding to the current maximum score will be selected as the target robot. If the value is less than or equal to the preset threshold, respond to the task-receiving requests sent by the other candidate robots.
5. The multi-robot task allocation method as described in claim 3, characterized in that, The determination of whether there is a target robot designated to perform the assigned task further includes: When it is determined that there is a target robot designated to perform the task to be assigned, it is determined whether the candidate robot is the target robot; If so, the candidate robot shall be used as the target robot; If not, determine whether the number of robots sending task claim requests exceeds a preset threshold; If the score is greater than a preset threshold, the candidate robot corresponding to the current maximum score will be selected as the target robot. If the value is less than or equal to the preset threshold, respond to the task-receiving requests sent by the other candidate robots.
6. The multi-robot task allocation method as described in claim 3, characterized in that, The step of determining whether the task to be assigned has a time limit also includes: When it is determined that the task to be assigned has a time limit, it is determined whether the time taken for the candidate robot to complete the task to be assigned is less than the time limit. If so, proceed with the step of calculating the score of the candidate robot in completing the assigned task based on the weight of the evaluation index and the predicted value of the evaluation index; If not, determine whether the number of robots sending task claim requests exceeds a preset threshold; If the score is greater than a preset threshold, the candidate robot corresponding to the current maximum score will be selected as the target robot. If the value is less than or equal to the preset threshold, respond to the task-receiving requests sent by the other candidate robots.
7. A multi-robot task allocation device, characterized in that, The device includes: First calculation module: used to calculate the weight of at least one evaluation indicator corresponding to the task to be assigned, wherein the evaluation indicator includes task time, waiting time, execution time and task energy consumption; The second calculation module is used to obtain the predicted value of each evaluation indicator when at least one candidate robot completes the task to be assigned, and to calculate the score value of the at least one candidate robot in completing the task to be assigned based on the weight of the evaluation indicator and the predicted value of the evaluation indicator. Allocation module: used to determine the target robot to perform the assigned task from the at least one candidate robot based on the score value; The step of calculating the score of the at least one candidate robot in completing the task to be assigned includes calculating the score of the candidate robot in completing the task to be assigned using the following formula: or, in, This indicates that the task to be assigned is a single task. This represents the score of the candidate robot in completing the single task, and I represents the set of evaluation indicators. Let represent the weight of the i-th evaluation indicator, and e represent the base of the natural logarithm function. This represents the optimal value of the i-th evaluation metric among all robots capable of completing the assigned task. This represents the predicted value of the i-th evaluation metric when the candidate robot completes the assigned task. Let represent the index value of the i-th evaluation index, r represent the candidate robot, and R represent the set of all robots. This refers to the set of tasks when the task to be assigned is a combined task. This represents the score value of the candidate robot in completing the combined task.
8. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; The processor, when executing a program stored in memory, implements the multi-robot task allocation method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the multi-robot task allocation method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Agricultural robot computing task cooperation method and system, medium and equipment
CN111445125A
Task allocation method and device and computer readable storage medium
CN112633741A