CN115829239A - Multi-robot task allocation method, device, equipment and storage medium - Google Patents

Multi-robot task allocation method, device, equipment and storage medium Download PDF

Info

Publication number
CN115829239A
CN115829239A CN202211434941.7A CN202211434941A CN115829239A CN 115829239 A CN115829239 A CN 115829239A CN 202211434941 A CN202211434941 A CN 202211434941A CN 115829239 A CN115829239 A CN 115829239A
Authority
CN
China
Prior art keywords
task
robot
candidate
distributed
evaluation index
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.)
Pending
Application number
CN202211434941.7A
Other languages
Chinese (zh)
Inventor
戴垂华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Youbihang Technology Co ltd
Ubtech Robotics Corp
Original Assignee
Shenzhen Youbihang Technology Co ltd
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Youbihang Technology Co ltd, Ubtech Robotics Corp filed Critical Shenzhen Youbihang Technology Co ltd
Priority to CN202211434941.7A priority Critical patent/CN115829239A/en
Publication of CN115829239A publication Critical patent/CN115829239A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

The application relates to a multi-robot task allocation method, a multi-robot task allocation device and a storage medium. The method comprises the following steps: the method comprises the steps of calculating the weight of at least one evaluation index corresponding to a task to be distributed, respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, calculating the score value of the at least one candidate robot completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index, and determining a target robot executing the task to be distributed from the at least one candidate robot according to the score value. The method and the device can realize qualitative and quantitative analysis when the task allocation is carried out on multiple robots.

Description

Multi-robot task allocation method, device, equipment and storage medium
Technical Field
The present application relates to the field of robotics, and in particular, to a method, an apparatus, a device, and a storage medium for multi-robot task allocation.
Background
Multi-robot collaboration is one of the extensive research areas in robotics, and a multi-robot system deploys one or more robots in a coordinated manner to perform and complete tasks, task allocation being an important aspect of multi-robot systems.
Multi-robot task assignment is a decision on which robots perform which tasks, thereby achieving assignment goals. At present, in the prior art, a task is allocated to a robot according to a single factor, for example, if a robot is closest to a target location, the task is allocated to the robot, and due to the lack of a qualitative and quantitative global analysis, the actual use scenarios of the allocation mode are few.
Disclosure of Invention
In view of the above, the present application provides a method, an apparatus, a device, and a storage medium for assigning tasks to multiple robots, which are intended to implement a global analysis of qualitative and quantitative operations when assigning tasks to multiple robots, and to increase the usage scenarios of robot assignment methods.
In a first aspect, the present application provides a multi-robot task assignment method, including:
calculating the weight of at least one item of evaluation index corresponding to the task to be distributed;
respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, and calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
and determining a target robot for executing the task to be distributed from the at least one candidate robot according to the scoring value.
In a second aspect, the present application provides a multi-robot task assigning apparatus comprising:
a first calculation module: the weight of at least one evaluation index corresponding to the task to be distributed is calculated;
a second calculation module: the system comprises a task scheduling module, a task scheduling module and a task scheduling module, wherein the task scheduling module is used for respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, and calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
a distribution module: and the target robot is used for determining the target robot for executing the task to be distributed from the at least one candidate robot according to the scoring value.
In a third aspect, the present application provides an electronic device, including a processor, a communication interface, a memory and a communication bus, where the processor, the communication interface, and the memory complete mutual communication through the communication bus;
a memory for storing a computer program;
and the processor is used for realizing the multi-robot task allocation method in any embodiment of the first aspect when executing the program stored in the memory.
In a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored which, when being executed by a processor, carries out the multi-robot task assignment method of any of the embodiments of the first aspect.
Compared with the prior art, the technical scheme provided by the embodiment of the application has the following advantages:
the method comprises the steps of calculating the weight of an evaluation index corresponding to a task to be distributed, calculating the score value of the candidate robot for completing the task to be distributed according to the weight and the predicted value of the evaluation index when the candidate robot completes the task to be distributed, enabling the weight of each evaluation index to directly or indirectly influence the score value, determining a target robot for executing the task to be distributed from the candidate robot according to the score value because the influence degree of each evaluation index on the score value is quantitative and definite, and realizing qualitative and quantitative global analysis when distributing the task to multiple robots.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and, together with the description, serve to explain the principles of the application.
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
FIG. 1 is a schematic flowchart illustrating an embodiment of a multi-robot task assignment method according to the present application;
FIG. 2 is a flowchart illustrating an embodiment of calculating a candidate robot score value according to the present disclosure;
FIG. 3 is a flowchart illustrating an embodiment of the present disclosure for determining whether a current energy value of a candidate robot is greater than a required energy value of a task to be assigned;
FIG. 4 is a schematic flow chart diagram illustrating one embodiment of the present application for determining whether a target robot designated to perform a task to be assigned is present;
FIG. 5 is a flowchart illustrating an embodiment of determining whether a task time limit exists for a task to be allocated according to the present application;
FIG. 6 is a block diagram of a preferred embodiment of the multi-robot task assignment device of the present application;
FIG. 7 is a diagram of an electronic device according to an embodiment of the present application;
the implementation, functional features and advantages of the object of the present application will be further explained with reference to the embodiments, and with reference to the accompanying drawings.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application without making any creative effort belong to the protection scope of the present application.
It should be noted that the descriptions in this application referring to "first", "second", etc. are for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In addition, technical solutions between various embodiments may be combined with each other, but must be realized by a person skilled in the art, and when the technical solutions are contradictory or cannot be realized, such a combination should not be considered to exist, and is not within the protection scope of the present application.
The application provides a multi-robot task allocation method. Referring to fig. 1, a method flow diagram of an embodiment of the multi-robot task assignment method of the present application is shown. The method may be performed by an electronic device, which may be implemented by software and/or hardware. The multi-robot task allocation method comprises the following steps:
step S1: calculating the weight of at least one item of evaluation index corresponding to the task to be distributed;
step S2: respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, and calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
and step S3: and determining a target robot for executing the task to be distributed from the at least one candidate robot according to the scoring value.
In this embodiment, the electronic device is in communication connection with at least one robot, the electronic device may actively allocate a task to any one robot according to factors such as an electric quantity of the robot, a distance between the robot and a task location, and the like, when the electronic device needs to allocate a task, the robot may also actively initiate a request for picking up the task to the electronic device, and the candidate robot is a robot capable of executing the task to be allocated.
The task to be distributed has at least one corresponding evaluation index, and the evaluation index includes but is not limited to task time consumption, task waiting time, task execution time, task energy consumption (namely the percentage of the robot executing the task that needs to consume its own electric quantity), robot energy storage (namely the current electric quantity percentage of the robot), task completion rate, robot travel distance, and historical task completion quality. Because the evaluation indexes are too much, the data processing amount is large and the calculation is complicated, and in the actual use process, several evaluation indexes can be selected from the multiple evaluation indexes to serve as the evaluation indexes to be distributed to the tasks. It is understood that any evaluation index may be selected in practical applications.
Before distributing the task to be distributed to the robot for execution, the method can firstly calculate the weight of at least one evaluation index corresponding to the task to be distributed by using an analytic hierarchy process, wherein the analytic hierarchy process decomposes a decision problem into different hierarchical structures according to the sequence of a general target, sub targets of each layer, an evaluation criterion to a specific backup delivery scheme, then uses a method for solving and judging a characteristic vector of a matrix to obtain the priority weight of each element of each layer to a certain element of the previous layer, and finally uses a method for weighting and hierarchically merges the final weight of each backup scheme to the general target, wherein the final weight with the maximum weight is the optimal scheme.
After the weights of the evaluation indexes are obtained, a predicted value of each evaluation index corresponding to the candidate robot for completing the task to be distributed is obtained, for example, if the task to be distributed is distributed to the candidate robot M, the predicted value of the execution time of the candidate robot M for completing the task to be distributed is 10 minutes, and if the task to be distributed is distributed to the candidate robot N, the predicted value of the execution time of the candidate robot N for completing the task to be distributed is 11 minutes. Each predicted value can be obtained from a multi-robot cooperation system, and the predicted value is obtained through conversion and deduction calculation according to data uploaded by the robot, for example, the predicted value of the task execution time can be obtained through a path planning algorithm (A-x algorithm or dijstra algorithm) according to environment data, robot motion performance data and path planning data of other robots, and a path (including the time when the position, the speed and the angular speed of each point on the path reach the point) required by the robot to complete the task, so that the robot walking time is obtained, and then the predicted value of the task execution time is obtained according to the functional operation time of the robot.
And calculating the score value of the candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index corresponding to the candidate robot for completing the task to be distributed, for example, if the weights of the four indexes of task time consumption, waiting time, task execution time and task energy consumption are all 0.25, respectively multiplying the predicted values of the evaluation indexes by 0.25 and summing to obtain the score value of the candidate robot for completing the task to be distributed.
The score value of the candidate robot for completing the task to be distributed is calculated, and the score value can be calculated by using the following formula:
Figure BDA0003946412570000051
alternatively, the first and second electrodes may be,
Figure BDA0003946412570000052
wherein, J S Indicating that the task to be allocated is a single task,
Figure BDA0003946412570000053
a score value representing completion of the single task by the candidate robot, I represents a set of the evaluation indexes, w i Weight of the i-th evaluation index, e base of the natural logarithm function, and v bi Represents the optimal value of the i-th evaluation index, v, of all robots capable of completing the task to be assigned ri Representing the predicted value of the ith evaluation index when the candidate robot completes the task to be distributed, s representing the index value of the ith evaluation index, R representing the candidate robot, R representing the set of all robots, J c Representing the task set when the task to be distributed is a combined task,
Figure BDA0003946412570000054
a score value representing completion of the combined task by the candidate robot.
After the score value of each candidate robot is obtained, the target robot executing the task to be distributed is selected from the candidate robots according to the score value of each candidate robot, for example, the score values of the tasks to be distributed completed by each candidate robot are sorted, the maximum score value is selected from the sorting result, and the candidate robot corresponding to the maximum score value is used as the target robot executing the task to be distributed.
The method comprises the steps of calculating the weight of an evaluation index corresponding to a task to be distributed, calculating the score value of the candidate robot for completing the task to be distributed according to the weight and the predicted value of the evaluation index when the candidate robot completes the task to be distributed, enabling the weight of each evaluation index to directly or indirectly influence the score value, enabling the influence degree of each evaluation index on the score value to be quantitative and definite, and finally determining a target robot for executing the task to be distributed from the candidate robot according to the score value, so that qualitative and quantitative global analysis is realized when the task distribution is carried out on multiple robots.
In an embodiment, the calculating the weight of the at least one evaluation index corresponding to the task to be allocated includes:
establishing a structural model according to the at least one evaluation index;
establishing a comparison matrix of the criterion layer according to the criterion layer in the structural model;
calculating the consistency ratio of the comparison matrix, and judging whether the consistency ratio is smaller than a preset value;
and if so, calculating the weight of each evaluation index.
The structural model includes a target layer, a criteria layer, a constraint layer, and a solution layer. Wherein, the target layer: and completing the task allocation of multiple robots.
A criterion layer: time consumption of tasks, waiting time, execution time and energy consumption of tasks.
A constraint layer: the electric quantity is enough to execute the task, the task can be completed within the specified time, and the specific robot is assigned to complete the task. The constraint layer is a constraint on task allocation. For example, a task should not be assigned to a robot with insufficient energy to complete the task, if the task is required to be completed within a specified time, the task cannot be assigned to a robot that cannot complete the task within the time limit, and if the task is required to be assigned to a certain robot (or a certain team of robots) to be executed, the task can only be assigned to the robot (or team of robots).
Scheme layer: an alternative robot (or team of robots). The scheme layer can be structurally designed according to actual conditions and comprises a single-layer structure, a double-layer structure and a multi-layer structure. The single-layer structure means that each robot bids for each task (namely, the robot actively initiates a request for getting the task), and the electronic devices evaluate the bids uniformly. The double-layer structure means that a plurality of robots form a queue, a bidding method from bottom to top can be adopted during bidding, an optimal scheme is firstly evaluated in the robot queue according to evaluation indexes, then bidding is carried out on the optimal bidding schemes of the plurality of robot queues to obtain a global optimal scheme, or the bidding method from top to bottom is adopted, for example, which robot queue wins is firstly determined according to the historical task completion quality of the robot queues, and then an optimal executor is selected from the queues. The multi-layer structure refers to a structure in which a single-layer structure and a double-layer structure are mixed.
Then, a comparison matrix is constructed according to the task time consumption, the waiting time, the execution time and the task energy consumption in the criterion layer, and the following table is shown:
task time consumption Waiting time Execution time Task energy consumption
Task time consumption 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
The third row and the second column of the table are 1/2, which indicates that the importance of the waiting time is half of the importance of the time consumed by the task, and so on.
The comparison matrix a is obtained as:
Figure BDA0003946412570000071
the consistency index CI of the comparison matrix is calculated firstly, and then the CI is divided by the RI according to the average random consistency index RI to obtain the consistency ratio CR of the comparison matrix, wherein the average random consistency index RI can be obtained by inquiring a mapping relation table of the preset matrix row number n and the average random consistency index RI according to the row number of the comparison matrix, and if the row number of the comparison matrix is 4, the corresponding RI is 0.89.CI is calculated as
Figure BDA0003946412570000072
λ max For the maximum eigenvalue of the comparison matrix, n represents the number of rows (or columns) of the comparison matrix. The eigenvalues of the comparison matrix can be calculated as 0, 4 from the eigen polynomial, and thus
Figure BDA0003946412570000073
The consistency ratio CR of the comparison matrix is also 0. Since CR is smaller than the preset value (0.1), the comparison matrix passes the consistency check, and if CR is greater than or equal to the preset value, the comparison matrix needs to be corrected.
The mapping relation table of the pre-configured matrix row number n and the average random consistency index RI is as follows:
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
solving for the maximum eigenvalue λ max Linear equation system for = 4:
(4E-A)x=0
Figure BDA0003946412570000081
obtaining a basic solution system:
Figure BDA0003946412570000082
after normalization, the weights of the four evaluation indexes are obtained:
Figure BDA0003946412570000083
that is, in the evaluation index, the weight of the task power consumption is 0.067, the weight of the waiting time is 0.267, the weight of the execution time is 0.133, and the weight of the task power consumption is 0.533.
Fig. 2 is a schematic flow chart illustrating a preferred embodiment of calculating the candidate robot score value according to the present application. The calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index comprises the following steps:
step S21: responding to a task picking request sent by the candidate robot;
step S22: judging whether the current energy value of the candidate robot is larger than the required energy value of the task to be distributed;
step S23: if yes, judging whether a target robot for executing the task to be distributed is appointed;
step S24: if not, judging whether the task to be distributed has task time limit;
step S25: if not, calculating the score value of the candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index.
A user can input a task to be distributed through a human-computer interaction interface of electronic equipment, the electronic equipment issues a bidding announcement of the task to be distributed according to the input of the user, all robots (or robot teams) in communication connection with the electronic equipment can receive the task announcement and then judge whether the robots have the function of executing the task, if a certain sweeping robot does not have the function of polling, if the task to be distributed is a polling task, the sweeping robot cannot bid, and the robots with the function of polling can bid as candidate robots.
After the electronic device issues the task bidding announcement, bidding documents submitted by the candidate robots (or the robot teams) are received within a limited time, and the bidding documents are stored in a pre-created container (such as a vector container). And setting the robot in the received first standard book as a current winner, and calculating the score value Ur of the robot as a current maximum score value Umax.
The electronic equipment responds to a task picking request sent by a new candidate robot, judges whether the current energy value of the candidate robot is larger than the required energy value of a task to be distributed, if so, the candidate robot has enough electric quantity to complete the task, then judges whether the task to be distributed has a target robot appointed to execute the task to be distributed, if not, the task to be distributed is not appointed to be completed by a certain robot, then judges whether a task time limit (namely, whether the task time limit is limited) exists in the task to be distributed, if not, the emergency degree of the task is not high, and at the moment, the evaluation value Ur of the candidate robot for completing the task to be distributed is calculated according to the weight of the evaluation index and the predicted value of the evaluation index when the candidate robot completes the task to be distributed.
And comparing the score value Ur of the candidate robot with the current maximum score value Umax, if the Ur is larger than the Umax, assigning the score value Ur of the candidate robot to the Umax, taking the candidate robot as a current winner, adding 1 to the scored number of the standard books, and if the scored number of the standard books reaches a preset threshold (for example, 10), taking the current winner corresponding to the Umax as a target robot executing the task to be distributed, and completing the task distribution. And if Ur is smaller than Umax, directly adding 1 to the number of the evaluated benchmarks, if the number of the evaluated benchmarks reaches a preset threshold (for example, 10), taking the current winner corresponding to Umax as a target robot for executing the task to be distributed, and if the number of the evaluated benchmarks does not reach the preset threshold, continuously reading a new benchmark, namely responding to requests of picking tasks sent by other candidate robots. It should be noted that a request for a candidate robot to initiate a pick-up task is submitted to the electronic device as a label, and a request for a group of candidate robots as a whole to initiate a pick-up task is also submitted to the electronic device as a label.
Fig. 3 is a flowchart illustrating an embodiment of determining whether the current energy value of the candidate robot is greater than the required energy value of the task to be assigned according to the present application. On the basis of the foregoing embodiment, the determining whether the current energy value of the candidate robot is greater than the required energy value of the task to be allocated further includes:
step S221: when the current energy value of the candidate robot is judged to be smaller than or equal to the required energy value of the task to be distributed, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
step S222: if the score value is larger than the preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
step S223: and if the number of the candidate robots is smaller than or equal to the preset threshold value, responding to the task picking requests sent by the other candidate robots.
When the current energy value of the candidate robot is judged to be less than or equal to the required energy value of the task to be distributed, the electric quantity of the candidate robot is not enough to finish the task, at the moment, the number of the evaluated standard book parts is added with 1, whether the evaluated standard book parts reach a preset threshold (for example, 10) or not is judged, namely whether the number of the candidate robots sending the task picking request is greater than the preset threshold or not is judged, and if the number of the candidate robots is greater than the preset threshold, the candidate robot corresponding to the current maximum evaluation value Umax is taken as a target robot; if the value is less than or equal to the preset threshold value, responding to requests of picking tasks sent by other candidate robots, for example, reading the bidding documents submitted by other robots from the vector container, and reading the bidding documents from the vector container may be sequentially read according to the time sequence of submission of the bidding documents, or may be randomly read from the vector container. It will be appreciated that when a group of candidate robots as a whole initiate a request to pick up a task, the number of robots is noted as 1.
Referring to fig. 4, there is shown a schematic flow chart of another preferred embodiment of the present application for determining whether there is a target robot designated to perform a task to be assigned. On the basis of the above embodiment, the determining whether there is a target robot designated to execute the task to be assigned further includes:
step S231: when judging that a target robot appointed to execute the task to be distributed exists, judging whether the candidate robot is the target robot or not;
step S232: if so, taking the candidate robot as the target robot;
step S233: if not, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
step S234: if the score value is larger than a preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
step S235: and if the candidate robot is smaller than or equal to the preset threshold, responding to the task picking requests sent by other candidate robots.
When judging that a target robot for executing a task to be distributed is appointed, judging whether the candidate robot is the target robot or not, if so, directly taking the candidate robot as the target robot; if not, adding 1 to the evaluated number of the standard books, judging whether the evaluated number of the standard books reaches a preset threshold (for example, 10), namely judging whether the number of candidate robots of the sent picking task request is greater than the preset threshold, and if so, taking the candidate robot corresponding to the current maximum evaluation value Umax as the target robot; if the value is less than or equal to the preset threshold value, responding to requests of picking tasks sent by other candidate robots, for example, reading the bidding documents submitted by other robots from the vector container, and reading the bidding documents from the vector container may be sequentially read according to the time sequence of submission of the bidding documents, or may be randomly read from the vector container.
Fig. 5 is a flowchart illustrating a preferred embodiment of determining whether the task to be allocated has a task time limit according to the present application. On the basis of the foregoing embodiment, the determining whether the task to be allocated has a task time limit further includes:
step S241: when the task time limit of the task to be distributed is judged, judging whether the time consumed for the candidate robot to finish the task to be distributed is less than the task time limit;
if yes, a step of calculating the score value of the candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index is executed, namely step S25 is executed.
Step S242: if not, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
step S243: if the score value is larger than the preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
step S244: and if the number of the candidate robots is smaller than or equal to the preset threshold value, responding to the task picking requests sent by the other candidate robots.
When the task time limit of the task to be distributed is judged, judging whether the time consumed for completing the task to be distributed by the candidate robot is less than the task time limit or not; and if the number of the candidate robots is larger than or equal to the task time limit, calculating the score value of the candidate robots for completing the tasks to be distributed according to the weight of the evaluation indexes and the predicted values of the evaluation indexes corresponding to the candidate robots for completing the tasks to be distributed. If the number of the evaluated bidding documents is less than the task time limit, adding 1 to the evaluated bidding documents, judging whether the evaluated bidding documents reaches a preset threshold (for example, 10), namely judging whether the number of candidate robots sending the task picking request is greater than the preset threshold, and if the evaluated bidding documents is greater than the preset threshold, taking the candidate robot corresponding to the current maximum evaluation value Umax as the target robot; if the value is less than or equal to the preset threshold value, responding to requests of picking tasks sent by other candidate robots, for example, reading the bidding documents submitted by other robots from the vector container, and reading the bidding documents from the vector container may be sequentially read according to the time sequence of submission of the bidding documents, or may be randomly read from the vector container.
Referring to fig. 6, a functional block diagram of the multi-robot task assigning apparatus 100 according to the present application is shown.
The multi-robot task assignment device 100 described herein may be installed in an electronic device. Depending on the implemented functionality, the multi-robot task assignment device 100 may include a first computing module 110, a second computing module 120, and an assignment module 130. A module, which may also be referred to as a unit in this application, refers to a series of computer program segments that can be executed by a processor of an electronic device and that can perform a fixed function, and that are stored in a memory of the electronic device.
In the present embodiment, the functions regarding the respective modules/units are as follows:
the first calculation module 110: the weight of at least one evaluation index corresponding to the task to be distributed is calculated;
the second calculation module 120: the system comprises a task scheduling module, a task scheduling module and a task scheduling module, wherein the task scheduling module is used for respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, and calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
the distribution module 130: and the target robot is used for determining the target robot for executing the task to be distributed from the at least one candidate robot according to the scoring value.
In one embodiment, the calculating the weight of the at least one evaluation index corresponding to the task to be allocated includes:
establishing a structural model according to the at least one evaluation index;
establishing a comparison matrix of the criterion layer according to the criterion layer in the structural model;
calculating the consistency ratio of the comparison matrix, and judging whether the consistency ratio is smaller than a preset value;
and if so, calculating the weight of each evaluation index.
In one embodiment, the calculating a score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index includes:
responding to a task picking request sent by the candidate robot;
judging whether the current energy value of the candidate robot is larger than the required energy value of the task to be distributed;
if yes, judging whether a target robot for executing the task to be distributed is appointed;
if not, judging whether the task to be distributed has task time limit;
and if not, calculating the score value of the candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index.
In one embodiment, the determining whether the current energy value of the candidate robot is greater than the required energy value of the task to be allocated further includes:
when the current energy value of the candidate robot is judged to be smaller than or equal to the required energy value of the task to be distributed, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
if the score value is larger than the preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
and if the candidate robot is smaller than or equal to the preset threshold, responding to the task picking requests sent by other candidate robots.
In one embodiment, the determining whether there is a target robot designated to perform the task to be assigned further comprises:
when judging that a target robot appointed to execute the task to be distributed exists, judging whether the candidate robot is the target robot or not;
if so, taking the candidate robot as the target robot;
if not, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
if the score value is larger than the preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
and if the candidate robot is smaller than or equal to the preset threshold, responding to the task picking requests sent by other candidate robots.
In an embodiment, the determining whether the task to be allocated has a task time limit further includes:
when the task time limit of the task to be distributed is judged, judging whether the time consumed for the candidate robot to finish the task to be distributed is less than the task time limit;
if so, calculating the score value of the candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
if not, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
if the score value is larger than the preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
and if the candidate robot is smaller than or equal to the preset threshold, responding to the task picking requests sent by other candidate robots.
In one embodiment, the calculating the score value of the at least one candidate robot for completing the task to be distributed comprises calculating the score value of the candidate robot for completing the task to be distributed by using the following formula:
Figure BDA0003946412570000141
alternatively, the first and second liquid crystal display panels may be,
Figure BDA0003946412570000142
wherein, J S Indicating that the task to be allocated is a single task,
Figure BDA0003946412570000143
a score value representing completion of the single task by the candidate robot, I represents a set of the evaluation indexes, w i Weight of the i-th evaluation index, e base of the natural logarithm function, and v bi Represents the optimal value of the i-th evaluation index, v, of all robots capable of completing the task to be assigned ri Indicating the ith item when the candidate robot completes the task to be distributedPredicted value of evaluation index, s i Index value representing the ith evaluation index, R represents the candidate robot, R represents the set of all robots, J c Representing the task set when the task to be distributed is a combined task,
Figure BDA0003946412570000144
a score value representing completion of the combined task by the candidate robot.
Fig. 7 is a schematic diagram of the electronic device 1 according to the preferred embodiment of the present application.
The electronic device 1 includes but is not limited to: memory 11, processor 12, display 13 and communication interface 14. The electronic device 1 may be connected to a network via a communication interface 14. The network may be a wireless or wired network such as an Intranet (Intranet), the Internet (Internet), a Global System for Mobile communications (GSM), wideband Code Division Multiple Access (WCDMA), a 4G network, a 5G network, bluetooth (Bluetooth), wi-Fi, or a communication network.
The memory 11 includes at least one type of readable storage medium, including flash memory, hard disks, multimedia cards, card-type memory (e.g., SD or DX memory, etc.), 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 disks, optical disks, etc. In some embodiments, the storage 11 may be an internal storage unit of the electronic device 1, such as a hard disk or a 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, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like equipped with the electronic device 1. Of course, the memory 11 may also comprise both an internal memory unit and an external memory device of the electronic device 1. In this embodiment, the memory 11 is generally used for storing an operating system installed in the electronic device 1 and various computer programs, such as program codes of the multi-robot task assigning program 10. Further, the memory 11 may also be used to temporarily store various types of data that have been output or are to be output.
Processor 12 may be a Central Processing Unit (CPU), controller, microcontroller, microprocessor, or other data Processing chip in some embodiments. The processor 12 is typically used for controlling the overall operation of the electronic device 1, such as performing data interaction or communication related control and processing. In this embodiment, the processor 12 is configured to run the program code stored in the memory 11 or process data, for example, run the program code of the multi-robot task assignment program 10.
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-sensitive liquid crystal display, an Organic Light-Emitting Diode (OLED) touch screen, or the like. The display 13 is used for displaying information processed in the electronic device 1 and for displaying a visual work interface.
The communication interface 14 may optionally comprise a standard wired interface, a wireless interface (e.g. WI-FI interface), the communication interface 14 typically being used for establishing a communication connection between the electronic device 1 and other electronic devices.
FIG. 7 shows only the electronic device 1 with components 11-14 and the multi-robot task assignment program 10, but it should be understood that not all of the shown components are required to be implemented, and that more or fewer components may be implemented instead.
In the above embodiment, the processor 12, when executing the multi-robot task assignment program 10 stored in the memory 11, may implement the following steps:
calculating the weight of at least one item of evaluation index corresponding to the task to be distributed;
respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, and calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
and determining a target robot for executing the task to be distributed from the at least one candidate robot according to the scoring value.
The storage device may be the memory 11 of the electronic device 1, or may be another storage device communicatively connected to the electronic device 1.
For the detailed description of the above steps, please refer to the above description of fig. 6 regarding the functional block diagram of the embodiment of the multi-robot task assigning apparatus 100 and fig. 1 regarding the flowchart of the embodiment of the multi-robot task assigning method.
In addition, the embodiment of the present application also provides a computer-readable storage medium, which may be non-volatile or volatile. The computer readable storage medium may be any one or any combination of hard disks, multimedia cards, SD cards, flash memory cards, SMCs, read Only Memories (ROMs), erasable Programmable Read Only Memories (EPROMs), portable compact disc read only memories (CD-ROMs), USB memories, etc. The computer-readable storage medium includes a storage data area and a storage program area, the storage program area stores a multi-robot task assignment program 10, and the multi-robot task assignment program 10 implements the following operations when executed by a processor:
calculating the weight of at least one item of evaluation index corresponding to the task to be distributed;
respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, and calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
and determining a target robot for executing the task to be distributed from the at least one candidate robot according to the scoring value.
The specific implementation of the computer-readable storage medium of the present application is substantially the same as the specific implementation of the multi-robot task assignment method described above, and will not be described herein again.
It should be noted that the above-mentioned serial numbers of the embodiments of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments. And the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, apparatus, article, or method. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of another identical element in a process, apparatus, article, or method comprising the element.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware simulation platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) as described above and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, an electronic device, or a network device) to execute the method according to the embodiments of the present application.
The above description is only a preferred embodiment of the present application, and not intended to limit the scope of the present application, and all modifications of equivalent structures and equivalent processes, which are made by the contents of the specification and the drawings of the present application, or which are directly or indirectly applied to other related technical fields, are included in the scope of the present application.

Claims (10)

1. A multi-robot task assignment method, the method comprising:
calculating the weight of at least one item of evaluation index corresponding to the task to be distributed;
respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, and calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
and determining a target robot for executing the task to be distributed from the at least one candidate robot according to the scoring value.
2. The multi-robot task assignment method according to claim 1, wherein the calculating of the weight of the at least one evaluation index corresponding to the task to be assigned includes:
establishing a structural model according to the at least one evaluation index;
establishing a comparison matrix of the criterion layer according to the criterion layer in the structural model;
calculating the consistency ratio of the comparison matrix, and judging whether the consistency ratio is smaller than a preset value;
and if so, calculating the weight of each evaluation index.
3. The multi-robot task assignment method according to claim 1, wherein the calculating a score value of the at least one candidate robot for completing the task to be assigned according to the weight of the evaluation index and the predicted value of the evaluation index comprises:
responding to a task picking request sent by the candidate robot;
judging whether the current energy value of the candidate robot is larger than the required energy value of the task to be distributed;
if yes, judging whether a target robot for executing the tasks to be distributed exists or not;
if not, judging whether the task to be distributed has task time limit;
and if not, calculating the score value of the candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index.
4. The multi-robot task assignment method of claim 3, wherein said determining whether the current energy value of the candidate robot is greater than the required energy value of the task to be assigned further comprises:
when the current energy value of the candidate robot is judged to be smaller than or equal to the required energy value of the task to be distributed, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
if the score value is larger than the preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
and if the candidate robot is smaller than or equal to the preset threshold, responding to the task picking requests sent by other candidate robots.
5. The multi-robot task assignment method according to claim 3, wherein the judging whether there is a target robot designated to execute the task to be assigned further comprises:
when judging that a target robot appointed to execute the task to be distributed exists, judging whether the candidate robot is the target robot or not;
if so, taking the candidate robot as the target robot;
if not, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
if the score value is larger than a preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
and if the candidate robot is smaller than or equal to the preset threshold, responding to the task picking requests sent by other candidate robots.
6. The multi-robot task assignment method of claim 3, wherein the determining whether the task to be assigned has a task time limit further comprises:
when the task time limit of the task to be distributed is judged, judging whether the time consumed for the candidate robot to finish the task to be distributed is less than the task time limit;
if so, calculating the score value of the candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
if not, judging whether the number of the robots sending the task picking request is larger than a preset threshold value or not;
if the score value is larger than the preset threshold value, taking the candidate robot corresponding to the current maximum score value as the target robot;
and if the candidate robot is smaller than or equal to the preset threshold, responding to the task picking requests sent by other candidate robots.
7. The multi-robot task assignment method of claim 1, wherein said calculating a score value for the at least one candidate robot to complete the task to be assigned comprises calculating a score value for a candidate robot to complete the task to be assigned using the formula:
Figure FDA0003946412560000031
alternatively, the first and second electrodes may be,
Figure FDA0003946412560000032
wherein, J S Indicating that the task to be allocated is a single task,
Figure FDA0003946412560000033
a score value representing completion of the single task by the candidate robot, I represents a set of the evaluation indexes, w i Weight of the i-th evaluation index, e base of the natural logarithm function, and v bi Represents the optimal value of the i-th evaluation index, v, of all robots capable of completing the task to be assigned ri A predicted value, s, representing the ith evaluation index when the candidate robot completes the task to be distributed i Index value representing the ith evaluation index, R represents the candidate robot, R represents the set of all robots, J c Representing the task set when the task to be distributed is a combined task,
Figure FDA0003946412560000034
a score value representing completion of the combined task by the candidate robot.
8. A multi-robot task assignment device, the device comprising:
a first calculation module: the weight of at least one evaluation index corresponding to the task to be distributed is calculated;
a second calculation module: the system comprises a task scheduling module, a task scheduling module and a task scheduling module, wherein the task scheduling module is used for respectively obtaining the predicted value of each evaluation index when at least one candidate robot completes the task to be distributed, and calculating the score value of the at least one candidate robot for completing the task to be distributed according to the weight of the evaluation index and the predicted value of the evaluation index;
a distribution module: the target robot is used for determining the target robot for executing the task to be distributed from the at least one candidate robot according to the score value.
9. An electronic device is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for realizing mutual communication by the memory through the communication bus;
a memory for storing a computer program;
a processor for implementing the multi-robot task assignment method according to any one of claims 1 to 7 when executing a program stored in a memory.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the multi-robot task assignment method according to any one of claims 1 to 7.
CN202211434941.7A 2022-11-16 2022-11-16 Multi-robot task allocation method, device, equipment and storage medium Pending CN115829239A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211434941.7A CN115829239A (en) 2022-11-16 2022-11-16 Multi-robot task allocation method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211434941.7A CN115829239A (en) 2022-11-16 2022-11-16 Multi-robot task allocation method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115829239A true CN115829239A (en) 2023-03-21

Family

ID=85528517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211434941.7A Pending CN115829239A (en) 2022-11-16 2022-11-16 Multi-robot task allocation method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115829239A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389740A (en) * 2023-11-08 2024-01-12 广东美电国创科技有限公司 Regional safety emergency platform system based on artificial intelligence

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389740A (en) * 2023-11-08 2024-01-12 广东美电国创科技有限公司 Regional safety emergency platform system based on artificial intelligence
CN117389740B (en) * 2023-11-08 2024-03-29 广东美电国创科技有限公司 Regional safety emergency platform system based on artificial intelligence

Similar Documents

Publication Publication Date Title
CN110712206B (en) Multitask allocation method, multitask allocation device, multitask allocation equipment and storage medium of intelligent robot
Simaria et al. A genetic algorithm based approach to the mixed-model assembly line balancing problem of type II
CN104272244A (en) Systems, methods, and computer program products for scheduling processing to achieve space savings
CN115829239A (en) Multi-robot task allocation method, device, equipment and storage medium
CN112783616B (en) Concurrent conflict processing method and device and computer storage medium
CN111047140A (en) Processing method, device and equipment
CN110717684B (en) Task allocation method based on task allocation coordination strategy and particle swarm optimization
WO2023142843A1 (en) Resource management systems and methods thereof
CN114461386A (en) Task allocation method and task allocation device
CN111984392A (en) Task scheduling method and device, electronic equipment and storage medium
CN112749927A (en) Dispatching method of storage robot and related equipment
CN113238873B (en) Method for optimizing and configuring spacecraft resources
CN115129466B (en) Hierarchical scheduling method, system, equipment and medium for cloud computing resources
CN115981843A (en) Task scheduling method and device in cloud-edge cooperative power system and computer equipment
CN112860869B (en) Dialogue method, device and storage medium based on hierarchical reinforcement learning network
CN114662853A (en) Distribution method, equipment, product and medium of transport vehicle
Wang et al. A game theoretic approach for resource allocation based on ant colony optimization in emergency management
CN109409691B (en) Energy collection embedded system operation scheduling method without energy storage unit
CN110826771A (en) Risk analysis method and device for logistics outsourcing and storage medium
CN115619489B (en) Order sorting method and device and computer equipment
CN117745042B (en) Multi-disaster-point emergency material scheduling method, device, medium and equipment
Hai-yu Virtual Machine Allocation in Cloud Computing Environments using Giant Trevally Optimizer
CN113391850B (en) Task scheduling method, device and equipment based on edge cloud cooperation and storage medium
CN118071245A (en) Warehouse location method, device, equipment and storage medium
Chowdhary et al. QoS and reliability aware matched bald eagle task scheduling framework based on IoT-cloud in educational applications

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