A multi-robot task allocation method based on distributed optimization

By transforming the multi-robot task allocation problem into a saddle point problem model and combining it with optimistic gradient ascent and descent or hypergradient algorithms, the generality and complexity issues of existing algorithms are solved, achieving efficient solution of non-convex task allocation problems and fast convergence of optimal integer solutions.

CN119378903BActive Publication Date: 2025-12-16BEIJING INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411503168.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-12-16
Estimated Expiration
2044-10-25

AI Technical Summary

Technical Problem

Existing distributed task allocation algorithms are only applicable to linear cost functions or strongly convex objective functions, and the update process involves solving sub-optimization problems, resulting in poor generality and complexity of the algorithms.

Method used

The multi-robot task allocation problem model is transformed into a saddle point problem model. By combining the optimistic gradient ascent and descent algorithm or the super gradient algorithm, a distributed task allocation algorithm is established through the interaction and iterative update of state variables between robots, thus avoiding the solution of sub-optimization problems.

Benefits of technology

It expands the applicability of the algorithm, reduces computational complexity, and can quickly converge to the optimal integer solution of the task allocation problem.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119378903B_ABST
    Figure CN119378903B_ABST
Patent Text Reader

Abstract

The application discloses a kind of multi-robot task allocation methods based on distributed optimization, it is related to control and information technology field.The application combines saddle point dynamics with optimistic gradient ascent descent algorithm or super-gradient algorithm to establish the distributed task allocation algorithm of multi-robot system, can solve non-convex task allocation problem, and the application range of algorithm is wider.And the distributed task allocation algorithm established by the application is a kind of completely distributed algorithm, and it is not related to the solution of sub-optimization problem, and only through simple algebraic operation to update state, with lower computational complexity, it can guarantee that the system state of all robots converges to the optimal integer solution of task allocation problem quickly.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of control and information technology, and particularly relates to a multi-robot task allocation method based on distributed optimization. BACKGROUND

[0002] In the past few decades, the multi-robot task allocation problem has been widely concerned due to its wide application in environmental detection, warehouse logistics, transportation, disaster relief and the like. Generally, the global task of the multi-robot task allocation problem is usually decomposed into multiple sub-tasks, which are executed by multiple robots simultaneously, and each robot has a different cost function for the task, which is private information only available to itself. The goal of all robots is to cooperatively find an optimal allocation scheme that can complete all tasks while optimizing the global cost which is the total sum of all task costs.

[0003] At present, there are related distributed task allocation algorithms for the multi-robot task allocation problem. However, the existing distributed task allocation algorithms are only applicable to linear cost functions or strongly convex objective functions, and the update process involves the solution of a sub-optimization problem, resulting in poor generality and complexity of the algorithm.

[0004] Therefore, the prior art still needs to be improved and developed. SUMMARY

[0005] The technical problem solved by the present application is to provide a multi-robot task allocation method based on distributed optimization in order to solve the problem that the existing distributed task allocation algorithm is only applicable to linear cost functions or strongly convex objective functions, and the update process involves the solution of a sub-optimization problem, resulting in poor generality and complexity of the algorithm.

[0006] The technical solution adopted by the present application to solve the problem is as follows:

[0007] In a first aspect, the present application provides a multi-robot task allocation method based on distributed optimization, which comprises:

[0008] A multi-robot task allocation problem model is established through the network topology structure of a multi-robot system, and the multi-robot task allocation problem model is converted into a corresponding saddle point problem model;

[0009] A target distributed task allocation algorithm is established based on an optimistic gradient ascent-descent algorithm or a super-gradient algorithm through the saddle point problem model, wherein the target distributed task allocation algorithm sets four state variables for each robot, including local decision variables of the robot;

[0010] The target distributed task allocation algorithm is used to make each robot interact with neighbor robots in part state variables, and to iteratively update the four local state variables through the interacted part state variables until a preset optimization target is reached.

[0011] The optimal task allocation strategy of the multi-robot system is determined according to the optimization result.

[0012] In an embodiment, the multi-robot task allocation problem model is established through the network topology of the multi-robot system, comprising:

[0013] A weighted undirected graph corresponding to the network topology of the multi-robot system is established in advance;

[0014] The multi-robot task allocation problem model is established through the weighted undirected graph, the local decision variable of each robot, the inequality constraint, the equality constraint, and the binary constraint, wherein the inequality constraint is used to reflect that all tasks are completed by the robots together, the equality constraint is used to reflect that each robot at most performs one task, and the binary constraint is used to reflect that the local decision variable of each robot is determined by one of the binary variables, and the local decision variable is used to reflect the task allocation state.

[0015] In an embodiment, the multi-robot task allocation problem model is converted into a corresponding saddle point problem model, comprising:

[0016] The binary constraint is replaced by a box constraint to obtain a relaxed multi-robot task allocation problem model, wherein the box constraint is used to reflect that the local decision variable of each robot is determined by a closed interval composed of binary variables;

[0017] The relaxed multi-robot task allocation problem model is converted into a corresponding dual problem model;

[0018] The dual problem model is converted into a corresponding saddle point problem model.

[0019] In an embodiment, the target distributed task allocation algorithm is a distributed task allocation algorithm based on an optimistic gradient ascent-descent algorithm, and the target distributed task allocation algorithm is used to make each robot interact with neighbor robots in part state variables, and to iteratively update the four local state variables through the interacted part state variables until a preset optimization target is reached, comprising:

[0020] Two state variables of a neighbor robot are received, and the four local state variables are iteratively updated according to the received two state variables to obtain the four iteratively updated local state variables;

[0021] broadcasting the two state variables after local iteration to neighbor robots, wherein the two state variables received from the neighbor robots and the two state variables broadcast from the local are of the same type;

[0022] determining whether the preset optimization target is reached, if not, continuing to receive the two state variables of the neighbor robots, and iteratively updating the four state variables of the local according to the received two state variables to obtain the four state variables after local iteration, until the preset optimization target is reached.

[0023] In an embodiment, the iterative update calculation formula of the distributed task allocation algorithm based on the optimistic gradient ascent-descent algorithm is:

[0024]

[0025] wherein, is the four state variables of the set robot i, and is the two state variables participating in interaction; x i represents the local decision variable of the robot i, λ i and μ i represent the local multiplier variable of the corresponding dual problem model of the robot i, y i represents the Lagrange multiplier corresponding to the robot i; i represents the i th robot, j represents the j th robot, represents the neighbor set; k represents the iteration number; f i (x i ) is a local cost function available only to the robot i; represents a projection operator, which projects onto the set Ω, Ω = [0, 1] m represents the Cartesian product of m boxes [0, 1], m represents the number of tasks, N represents the number of robots, and N > m; represents an m-dimensional non-negative Euclidean space; α represents the step size of gradient descent, which is a tunable parameter; l m represents an m-dimensional column vector with all components equal to 1; T represents transposition.

[0026] In an embodiment, the target distributed task allocation algorithm is a distributed task allocation algorithm based on a super-gradient algorithm, and each robot interacts with neighbor robots through part of the state variables, and iteratively updates the four state variables of the local through the part of the state variables, until a preset optimization target is reached, which comprises:

[0027] receiving the two state variables of the neighbor robots, and iteratively updating the four state variables of the local according to the received two state variables to an intermediate iteration point to obtain the four state variables after half-step iteration of the local;

[0028] broadcasting the two state variables after the local half-step iteration to the neighbor robots, wherein the state variable categories received from the neighbor robots and broadcasted from the local are the same;

[0029] receiving the two state variables after the half-step iteration of the neighbor robots, and iteratively updating the four state variables of the local to the next iteration point according to the received two state variables, to obtain the four state variables after the local full-step iteration;

[0030] broadcasting the two state variables after the local full-step iteration to the neighbor robots;

[0031] determining whether the preset optimization target is reached, and if not, continuing to perform the steps of receiving the two state variables of the neighbor robots, and iteratively updating the four state variables of the local to the intermediate iteration point according to the received two state variables, until the preset optimization target is reached.

[0032] In an embodiment, the half-step iteration update calculation formula corresponding to the distributed task allocation algorithm based on the super-gradient algorithm is:

[0033]

[0034] wherein, is the four state variables of the set robot i, and is the two state variables participating in the interaction; x i represents the local decision variable of the robot i, λ i and μ i represent the local multiplier variable of the corresponding dual problem model of the robot i, y i represents the Lagrange multiplier corresponding to the robot i; i represents the i th robot, j represents the j th robot, represents the neighbor set; k represents the iteration number; f i (x i ) is a local cost function available only to the robot i; represents a projection operator, which projects onto the set Ω, Ω = [0, 1] m represents the Cartesian product of m boxes [0, 1], m represents the number of tasks, N represents the number of robots, and N > m; represents an m-dimensional non-negative Euclidean space; α represents the step size of gradient descent, which is an adjustable parameter; l m represents an m-dimensional column vector with all components equal to 1; T represents transposition.

[0035] In an embodiment, the full-step iteration update calculation formula corresponding to the distributed task allocation algorithm based on the super-gradient algorithm is:

[0036]

[0037] wherein, are four state variables that the set robot i has, and are two state variables participating in the interaction; x i represents the local decision variable of the robot i, λ i and μ i represent the local multiplier variable of the robot i corresponding to the dual problem model, y i represents the Lagrange multiplier corresponding to the robot i; i represents the i th robot, j represents the j th robot, represents a neighbor set; k represents the number of iterations; f i (x i ) is a local cost function available only to the robot i; represents a projection operator, projected onto the set Ω, Ω = [0, 1] m represents the Cartesian product of m boxes [0, 1], m represents the number of tasks, N represents the number of robots, and N > m; represents an m-dimensional non-negative Euclidean space; α represents the step size of gradient descent, which is an adjustable parameter; 1 m represents an m-dimensional column vector with all components equal to 1; T represents transposition.

[0038] In an embodiment, the method further comprises:

[0039] When the preset optimization target is reached, for each robot, if the local decision variable of the robot meets the preset requirement, the local decision variable of the robot is disturbed by a random value to solve the inconsistency of the linear objective function.

[0040] In an embodiment, the preset optimization target is that the gap from the target converges to a preset threshold, or the number of iterations reaches a preset number.

[0041] Advantages of the present application: The embodiment of the present application combines the saddle point dynamics with the optimistic gradient ascent and descent algorithm or the super gradient algorithm to establish a distributed task allocation algorithm for a multi-robot system, which can solve the non-convex task allocation problem, and the algorithm has a wider application range. Moreover, the distributed task allocation algorithm established by the present application is a completely distributed algorithm, which does not involve solving the sub-optimization problem, but only updates the state through simple algebraic operations, has a low computational complexity, and can ensure that the system state of all robots converges quickly to the optimal integer solution of the task allocation problem. BRIEF DESCRIPTION OF DRAWINGS

[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor.

[0043] Figure 1 is a flowchart of a multi-robot task allocation method based on distributed optimization provided by the embodiments of the present application.

[0044] Figure 2 is a construction flowchart of a distributed task allocation algorithm provided by the embodiments of the present application.

[0045] Figure 3 is a convergence trajectory schematic diagram under a linear objective function and a cyclic graph network topology provided by the embodiments of the present application.

[0046] Figure 4 is a convergence trajectory schematic diagram under a linear objective function and a complete graph network topology provided by the embodiments of the present application.

[0047] Figure 5 is a convergence trajectory schematic diagram under a fractional-exponential objective function and a cyclic graph network topology provided by the embodiments of the present application.

[0048] Figure 6 is a convergence trajectory schematic diagram of an algorithm under a quadratic function and a cyclic graph provided by the embodiments of the present application.

[0049] Figure 7 is a convergence trajectory schematic diagram of OGDA-TAP (a distributed task allocation algorithm based on an optimistic gradient ascent-descent algorithm) under a special linear function provided by the embodiments of the present application.

[0050] Figure 8 is a convergence trajectory schematic diagram of EG-TAP (a distributed task allocation algorithm based on a super-gradient algorithm) under a special linear function provided by the embodiments of the present application. DETAILED DESCRIPTION

[0051] The present application discloses a multi-robot task allocation method based on distributed optimization. In order to make the purpose, technical scheme and effect of the present application more clear and explicit, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and not to limit the present application.

[0052] In view of the above defects of the prior art, the present application provides a multi-robot task allocation method based on distributed optimization, which combines saddle point dynamics with an optimistic gradient ascent-descent algorithm or a super-gradient algorithm to establish a distributed task allocation algorithm for a multi-robot system, can solve non-convex task allocation problems, and has a wider application range. Moreover, the distributed task allocation algorithm established by the present application is a fully distributed algorithm, does not involve solving sub-optimization problems, and only updates the state through simple algebraic operations, has a low computational complexity, and can ensure that the system state of all robots quickly converges to the optimal integer solution of the task allocation problem.

[0053] As shown in Figure 1 , the method specifically comprises:

[0054] Step S100, a multi-robot task allocation problem model is established through a network topology structure of a multi-robot system, and the multi-robot task allocation problem model is converted into a corresponding saddle point problem model.

[0055] Specifically, the robot in the embodiment refers to a machine device that automatically performs work, and the method in the embodiment is mainly applied to a multi-robot system, and each robot cooperatively completes a specified number of tasks. The network topology structure of the multi-robot system can reflect the network communication topological relationship of each robot, and the robots realize system cooperative control by using a communication network. The multi-robot task allocation problem mainly seeks an optimal allocation scheme that minimizes the sum of local cost functions of each robot and completes all tasks under the condition of meeting constraints. The embodiment considers that there is a non-convex task allocation problem, and therefore, through saddle point dynamics, the established multi-robot task allocation problem model is converted into a corresponding saddle point problem model, so as to obtain an optimal solution of the problem.

[0056] In an implementation manner, the multi-robot task allocation problem model is established through the network topology structure of the multi-robot system, comprising:

[0057] A weighted undirected graph corresponding to the network topology structure of the multi-robot system is established in advance;

[0058] The multi-robot task allocation problem model is established through the weighted undirected graph, local decision variables of each robot, inequality constraints, equality constraints, and binary constraints, wherein the inequality constraints are used to reflect that all tasks are completed by each robot, the equality constraints are used to reflect that each robot at most performs one task, and the binary constraints are used to reflect that the local decision variables of each robot are determined by one of binary variables, and the local decision variables are used to reflect a task allocation state.

[0059] Specifically, the embodiment first establishes a multi-robot network topology, and uses a weighted undirected graph to represent the multi-robot system network communication topology relationship. Then, through the weighted undirected graph, a multi-robot task allocation problem model is established, which includes local decision variables of each robot, inequality constraints, equality constraints and binary constraints. The multi-robot allocation problem considered in the embodiment not only has linear equality constraints, but also includes coupled inequality constraints and binary set constraints, and is suitable for more task allocation scenarios.

[0060] For example, the network communication topology relationship of the multi-robot system is represented by a weighted undirected graph g=(V, E), where V={1, 2, …, N} represents a node set, represents an edge set. represents an adjacency matrix of the graph G, where a ij >0 if edge (i, j) ∈ E, otherwise a ij =0. The Laplacian matrix of the graph G is defined as L=[l ij ], where and l ij =-a ij ,i≠j. Then the multi-robot task allocation problem is described. The system of N robots is allocated to perform m tasks and N>m, and each robot can only perform one task. The multi-robot task allocation problem is to seek the best allocation by the multi-robot system collaboration in order to perform all tasks while minimizing the global cost function, which is specifically expressed as:

[0061]

[0062] where x is the local decision variable of all robots i, represents an m-dimensional Euclidean space, x i,l represents the lth component belonging to the binary set {0, 1}; if the robot i is allocated to perform the lth task, x i,l =1, otherwise x i,l =0; the total decision variable is f i (x i ) is a local cost function available only to robot i; 1 m represents an m-dimensional column vector with all components equal to 1, T m represents a set of tasks {1, 2, …, m}. The inequality constraint indicates that all m tasks are performed by N robots, and the equality constraint indicates that each robot only performs one task.

[0063] It should be noted that, since x iThe binary constraint is replaced by a box constraint to obtain a relaxed multi-robot task allocation problem model, wherein the box constraint is used to reflect that the local decision variable of each robot is determined by a closed interval composed of binary variables.

[0064] In an implementation manner, the multi-robot task allocation problem model is converted into a corresponding saddle point problem model, comprising:

[0065] The binary constraint is replaced by a box constraint to obtain a relaxed multi-robot task allocation problem model, wherein the box constraint is used to reflect that the local decision variable of each robot is determined by a closed interval composed of binary variables.

[0066] The relaxed multi-robot task allocation problem model is converted into a corresponding dual problem model.

[0067] The dual problem model is converted into a corresponding saddle point problem model.

[0068] Specifically, in order to facilitate solving, the embodiment needs to relax the multi-robot task allocation problem. Since the above multi-robot task allocation problem is a non-convex problem, the problem relaxation can be realized by replacing the binary constraint with a box constraint. Then, through the Lagrange function of the relaxed multi-robot task allocation problem model, a corresponding dual problem model is established. Then, by introducing a consistency constraint, an updated dual problem model is established in combination with the dual problem model, wherein the two variables contained in the updated dual problem model will be used as state variables of the robot set in the embodiment subsequently. Then, through the augmented Lagrange function of the updated dual problem model, a three-element augmented Lagrange dual problem model is established, wherein the three-element augmented Lagrange dual problem model contains a new variable in addition to the above two variables, and the variable will also be used as a state variable of the robot set in the embodiment subsequently. Finally, through the updated dual problem model and the three-element augmented Lagrange dual problem model, a final four-element saddle point problem model is established, wherein the four-element saddle point problem model contains a local decision variable of a robot in addition to the above three variables, and the variable will also be used as a state variable of the robot set in the embodiment subsequently. It should be noted that the saddle point problem model established in the embodiment is a convex-concave function, and the solving process of the multi-robot task allocation problem model is equivalent to finding the saddle point of the saddle point problem model.

[0069] For example, for the above non-convex problem, i.e., formula (1), the problem is relaxed by replacing the binary constraint {0, 1} with a box constraint [0, 1] as follows:

[0070]

[0071] The relaxed problem, i.e. equation (2) is a convex optimization problem. In the case of a linear objective function , denotes an m-dimensional row vector of the cost components of robot i for the task, the optimal solution sets of equation (1) and equation (2) are defined as and satisfy the relation It should be noted that for some special linear objective functions, the optimal solution of equation (2) does not belong to the binary set {0, 1}, i.e. there may be inconsistency.

[0072] The Lagrangian function of equation (2) is:

[0073]

[0074] where, and are dual variables, μ c denotes the Lagrangian multiplier of the inequality constraint in equation (2), λ i denotes the Lagrangian multiplier of the equality constraint in equation (2), denotes the m-dimensional non-negative Euclidean space.

[0075] Let λ = [λ1,..., λ N ] T , the following dual problem is constructed:

[0076]

[0077] where, g i denotes the dual function of equation (2), g i (μ c , λ i ) is:

[0078]

[0079] where, Ω = [0, 1] m denotes the Cartesian product of m box constraints [0, 1]. In order to ensure that each g i (μ c , λ i ) has a local multiplier variable λ i and μ i , this embodiment introduces consistency constraints where L is the Laplacian matrix of graph G, I m denotes the m-dimensional identity matrix. The above dual problem, i.e. equation (4) can be described as:

[0080]

[0081] Then the saddle point problem model is constructed. Specifically, the augmented Lagrangian dual problem of formula (6) is expressed as:

[0082]

[0083] Wherein, L1(y, μ, λ) is:

[0084]

[0085] Substitute formula (8) into the definition of g i (μ i ,λ i ), formula (7) can be re-expressed as:

[0086]

[0087] Wherein, L2(x, y, μ, λ) is a convex-concave function, which is convex for the original variable x and the Lagrange multiplier y, and is concave for the dual variable μ, λ. Solving formula (2) is equivalent to finding the saddle point of formula (9).

[0088] Step S200, based on the optimistic gradient ascent descent algorithm or the super gradient algorithm, a target distributed task allocation algorithm is established through the saddle point problem model, wherein the target distributed task allocation algorithm sets four state variables for each robot, including the local decision variable of the robot.

[0089] Step S300, through the target distributed task allocation algorithm, each robot interacts with neighbor robots for part of the state variables, and iteratively updates the four local state variables through the part of the state variables, until a preset optimization target is reached.

[0090] Step S400, the optimal task allocation strategy of the multi-robot system is determined through the optimization result.

[0091] Specifically, the embodiment provides two methods to construct the target distributed task allocation algorithm, one is to combine the saddle point problem model with the optimistic gradient ascent descent algorithm (OGDA algorithm), and the other is to combine the saddle point problem model with the super gradient algorithm (EG algorithm). The optimistic gradient ascent descent algorithm and the super gradient algorithm can effectively deal with convex-concave functions. The target distributed task allocation algorithm sets four state variables for each robot, and each robot only needs to interact with neighbor robots for part of the state variables, and guides all the state variables in the local to iteratively cooperate through the part of the state variables, so as to solve the multi-robot task allocation problem in a distributed manner.

[0092] In an implementation, the target distributed task allocation algorithm is a distributed task allocation algorithm based on an optimistic gradient ascent-descent algorithm, and the target distributed task allocation algorithm is configured to make each robot interact with neighbor robots on partial state variables, and iteratively update the four local state variables by the interacted partial state variables until a preset optimization target is reached, including:

[0093] receiving two state variables of the neighbor robots, and iteratively updating the four local state variables according to the received two state variables to obtain the four iteratively updated local state variables;

[0094] broadcasting the two iteratively updated local state variables to the neighbor robots, wherein the state variables received from the neighbor robots and broadcast from the local are of the same type;

[0095] judging whether the preset optimization target is reached, and if not, continuing to execute the steps of receiving two state variables of the neighbor robots, and iteratively updating the four local state variables according to the received two state variables to obtain the four iteratively updated local state variables until the preset optimization target is reached.

[0096] Specifically, for a constrained saddle point problem min x∈X max y∈Y f(x, y), where is a convex set, f(x, y) is a general convex-concave function, and the optimistic gradient ascent-descent algorithm is one of the effective solutions to the problem. Applying the optimistic gradient ascent-descent algorithm to the saddle point problem model equivalent to the multi-robot task allocation problem obtains the distributed task allocation algorithm based on the optimistic gradient ascent-descent algorithm. The algorithm sets four state variables for each robot, and each robot accepts state from the neighbors to update its optimization variable and then broadcasts the iteratively updated variable to all neighbors, and iterates until the optimization target is reached. The distributed task allocation algorithm finally established in the embodiment is a fully distributed algorithm, and the iteration process does not involve solving a sub-optimization problem, but only updates the state by simple algebraic operations, and has low computational complexity. In addition, the distributed task allocation algorithm finally established in the embodiment can also be set as a discrete-time algorithm, for example, an event-triggered rule is set, so as to avoid continuous communication between robots and reduce communication burden.

[0097] For example, the optimistic gradient ascent-descent algorithm is expressed as:

[0098]

[0099] where x represents the original variable; y represents the Lagrange multiplier; k represents the iteration number; denotes the projection operator, projecting onto the set X; denotes the projection operator, projecting onto the set Y.

[0100] where the formula (10) is applied to the saddle point problem model equivalent to the multi-robot task allocation problem, that is, formula (9), to obtain the distributed task allocation algorithm based on the optimistic gradient ascent-descent algorithm.

[0101] In an implementation manner, the iteration update calculation formula corresponding to the distributed task allocation algorithm based on the optimistic gradient ascent-descent algorithm is:

[0102]

[0103] where, is the four state variables that the set robot i has, and are two state variables participating in interaction; x i denotes the local decision variable of the robot i, λ i and μ i denotes the local multiplier variable of the robot i corresponding to the dual problem model, y i denotes the Lagrange multiplier corresponding to the robot i; i represents the i th robot, j represents the j th robot, denotes the neighbor set; k represents the iteration number; f i (x i ) is a local cost function available only to the robot i; denotes the projection operator, projecting onto the set Ω, Ω = [0, 1] m denotes the Cartesian product of m boxes [0, 1], m represents the number of tasks, N represents the number of robots, and N > m; denotes the m-dimensional non-negative Euclidean space; α represents the step size of gradient descent, which is a adjustable parameter; 1 m denotes an m-dimensional column vector with all components equal to 1; T represents transposition.

[0104] For example, the arrangement process of the distributed task allocation algorithm based on the optimistic gradient ascent-descent algorithm is as follows:

[0105] 1. Each robot i has a vector

[0106] 2. Initialization:

[0107] 3. Loop;

[0108] 4. Each robot i performs in parallel:

[0109] 5. Receive from neighbors

[0110] 6.

[0111] 7.

[0112] 8. Broadcast to neighbors

[0113] 9. k <- k + 1;

[0114] 10. Until a preset optimization goal is reached, the preset optimization goal being that a gap between the target converges to a preset threshold, or a preset number of iterations is reached.

[0115] In another implementation, the target distributed task allocation algorithm is a distributed task allocation algorithm based on a hyper-gradient algorithm, and each robot interacts with neighbor robots through partial state variables, and iteratively updates the four local state variables through the interacted partial state variables until a preset optimization goal is reached, including:

[0116] Receiving two state variables of neighbor robots, and iteratively updating the four local state variables to an intermediate iteration point according to the received two state variables, to obtain the four state variables after a local half-step iteration;

[0117] Broadcasting the two state variables after the local half-step iteration to neighbor robots, wherein the state variables received from the neighbor robots and broadcasted from the local are of the same type;

[0118] Receiving the two state variables after the half-step iteration of the neighbor robots, and iteratively updating the four local state variables to a next iteration point according to the received two state variables, to obtain the four state variables after a local full-step iteration;

[0119] Broadcasting the two state variables after the local full-step iteration to neighbor robots;

[0120] Judging whether the preset optimization goal is reached, and if not, continuing to perform the steps of receiving the two state variables of the neighbor robots, and iteratively updating the four local state variables to the intermediate iteration point according to the received two state variables, until the preset optimization goal is reached.

[0121] Specifically, for a constrained saddle point problem min x∈X max y∈Y f(x, y), where ​​ is convex, f(x, y) is a general convex-concave function, and the supergradient algorithm is one of the effective solutions to the problem. Applying the supergradient algorithm to the saddle point problem model equivalent to the multi-robot task allocation problem, a distributed task allocation algorithm based on the supergradient algorithm is obtained. The algorithm sets four state variables for each robot Each robot accepts the state from the neighbor in iteration The intermediate iteration point is updated first Then the semi-step iteration state is broadcast to all neighbors. Then the state is updated for the next iteration The iteration is updated in a loop until the optimization goal is reached. The distributed task allocation algorithm finally established in this embodiment is a fully distributed algorithm, and the iteration process does not involve the solution of the sub-optimization problem, but only updates the state through simple algebraic operations, with low computational complexity. In addition, the distributed task allocation algorithm finally established in this embodiment can also be set as a discrete-time algorithm, for example, setting an event-triggered rule, so as to avoid continuous communication between robots and reduce communication burden.

[0122] For example, for the constrained saddle point problem min x∈X max y∈Y f(x, y), the supergradient algorithm is represented as:

[0123] Step 1, calculate the intermediate iteration point

[0124]

[0125] Step 2, calculate the next iteration

[0126]

[0127] Applying formula (15) and formula (16) to the saddle point problem model equivalent to the multi-robot task allocation problem, that is, formula (9), the distributed task allocation algorithm based on the supergradient algorithm is obtained.

[0128] In an implementation mode, the semi-step iteration update calculation formula corresponding to the distributed task allocation algorithm based on the supergradient algorithm is (that is, the calculation of the intermediate iteration point):

[0129]

[0130]

[0131] wherein, is the four state variables set for robot i, and two state variables participating in the interaction; x i denotes the local decision variable of robot i, λ i and μ i denotes the local multiplier variable of the dual problem model corresponding to robot i, y i denotes the Lagrange multiplier corresponding to robot i; i denotes the i-th robot, j denotes the j-th robot, denotes the neighbor set; k denotes the iteration number; f i (x i ) is a local cost function available only to robot i; denotes the projection operator, projecting onto the set Ω, Ω = [0, 1] m denotes the Cartesian product of m box constraints [0, 1], m denotes the number of tasks, N denotes the number of robots, and N > m; denotes the m-dimensional non-negative Euclidean space; α denotes the step size of gradient descent, which is a tunable parameter; 1 m denotes an m-dimensional column vector with all components equal to 1; T denotes transposition.

[0132] In an implementation, the distributed task allocation algorithm based on the super-gradient algorithm has an integral step iteration update calculation formula (i.e., calculating the next iteration) as follows:

[0133]

[0134]

[0135] wherein, is the four state variables that robot i has, and two state variables participating in the interaction; x i denotes the local decision variable of robot i, λ i and μ i denotes the local multiplier variable of the dual problem model corresponding to robot i, y i denotes the Lagrange multiplier corresponding to robot i; i denotes the i-th robot, j denotes the j-th robot, denotes the neighbor set; k denotes the iteration number; f i (x i ) is a local cost function available only to robot i; denotes the projection operator, projecting onto the set Ω, Ω = [0, 1] m denotes the Cartesian product of m box constraints [0, 1], m denotes the number of tasks, N denotes the number of robots, and N > m; denotes the m-dimensional non-negative Euclidean space; α denotes the step size of gradient descent, which is a tunable parameter; 1 mdenotes an m-dimensional column vector with all components equal to 1; T denotes the transpose.

[0136] By way of example, a pseudo-code representation of the overall flow of the EG-based distributed task allocation algorithm is as follows:

[0137] 1. Set each robot i to have the vector

[0138] 2. Initialize:

[0139] k > 0;

[0140] 3. Loop;

[0141] 4. Each robot i performs in parallel;

[0142] 5. Step 1: Update the intermediate iteration point

[0143] 6. Receive from neighbors

[0144] 7.

[0145] 8.

[0146] 9. Broadcast to neighbors

[0147] 10. Step 2: Update the next iteration step

[0148] 11. Receive from neighbors

[0149] 12.

[0150] 13.

[0151] 14. Broadcast to neighbors

[0152] 15. k <- k + 1;

[0153] 16. Until a preset optimization goal is reached, the preset optimization goal being that the difference between the target and the result converges to a preset threshold, or the number of iterations reaches a preset number.

[0154] In one implementation, the method further comprises:

[0155] ​​​​When the preset optimization target is reached, for each robot, if the local decision variable of the robot meets the preset requirement, the local decision variable of the robot is disturbed by a random value to solve the inconsistency of the linear objective function.

[0156] Briefly, the embodiment according to the original multi-robot task allocation problem and the relaxed optimization problem, i.e., formula (1) and formula (2), also presets a disturbance algorithm to solve the inconsistency of the linear objective function (such as Figure 2 Specifically, the inconsistency is solved by cyclically disturbing the local decision variable of the robot by a random value, so that some special linear cost functions can also converge to the optimal integer solution.

[0157] For example, the pseudo-code of the overall process of the disturbance-based multi-robot task allocation algorithm is as follows:

[0158] Code step 1: repeat code steps 2-9;

[0159] Code step 2: repeat code step 3;

[0160] Code step 3: execute the distributed task allocation algorithm based on the optimistic gradient ascent-descent algorithm or the distributed task allocation algorithm based on the super-gradient algorithm;

[0161] Code step 4: until the variables x, y, μ, λ reach the preset optimization target;

[0162] Code step 5: loop each robot i:

[0163] Code step 6: if there is an element x i,l ∈(0,1), l∈T m Execute:

[0164] Code step 7: l∈T m wherein, is a random value;

[0165] Code step 8: end the loop;

[0166] Code step 9: until each component x i of the original variable x ij is 0 or 1.

[0167] Technical effects prove:

[0168] The embodiment considers the convergence of the algorithm under different objective functions and different underlying communication topologies. The objective functions of the robots include linear functions nonlinear fractional-exponential objective functions and quadratic objective functions The underlying communication topology includes a cycle graph and a complete graph. Considering that 30 robots cooperatively perform 5 tasks, the evaluation criterion of the algorithm is the relative error of the calculated solution and the optimal solution x is the calculated solution, x * is the optimal solution. Figure 3 and Table 1 show the convergence and specific results of the algorithm under the linear objective function cycle graph, respectively. Figure 3 Specifically reflect the convergence of the algorithm under the linear function cycle graph. Table 1 specifically reflects the numerical values of the algorithm under the linear function cycle graph. Figure 4 and Table 3 show the convergence and specific results of the algorithm under the linear objective function complete graph, respectively. Figure 4 Specifically reflect the convergence of the algorithm under the linear function complete graph. Table 2 specifically reflects the numerical values of the algorithm under the linear function complete graph. Figure 5 and Figure 6 show the convergence of the algorithm under the nonlinear fractional-exponential objective function cycle graph, respectively. Figure 7 and Figure 8 show the convergence of the two algorithms under the special linear function c i = 1 m after introducing the disturbance strategy.

[0169] Table 1. Numerical values of the algorithm under the linear function cycle graph

[0170] Algorithm Calculation time (ms) Number of iterations Handling of inconsistencies MUR-TAP 63358±7121 89±0 Cannot handle MURD-TAP 3908±370 1±0 Cannot handle MURID-TAP 94.5±29.45 72±16 Cannot handle OGDA-TAP 86.11±34.21 95±24 Can handle EG-TAP 21.31±3.02 17±2 Can handle

[0171] Table 2. Numerical values of the algorithm under the linear function complete graph

[0172]

[0173]

[0174] The advantages of the present application are summarized as follows:

[0175] 1. The method proposed in the present application can solve the non-convex task allocation problem with coupled equality constraints, inequality constraints and binary set constraints, and can ensure that the system state of all robots eventually converges to the optimal integer solution of the task allocation problem. The multi-robot task allocation problem considered in the present application not only has linear equality constraints, but also contains coupled inequality constraints and binary set constraints. Compared with equality constraints, coupled inequality constraints are more difficult to solve, and non-convex binary constraints are particularly difficult.

[0176] 2. The method proposed in the present application can be applied to the case where the local cost function of each intelligent agent is only generally convex, and the algorithm is completely distributed. The algorithm only involves simple arithmetic operations, and the communication and calculation complexity is low and independent of the number of robots.

[0177] 3、The method can handle inconsistency phenomenon and ensure that an optimal integer solution of the task allocation problem is calculated.

[0178] Based on the above embodiments, the application can further provide a multi-robot system, which allocates tasks to robots based on the above multi-robot task allocation method based on distributed optimization.

[0179] Based on the above embodiments, the application can further provide a terminal. The terminal includes a processor, a memory, a network interface, and a display screen connected through a system bus. The processor of the terminal is configured to provide computing and control capabilities. The memory of the terminal includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The network interface of the terminal is configured to communicate with external terminals through network connection. The computer program is executed by the processor to implement the multi-robot task allocation method based on distributed optimization. The display screen of the terminal can be a liquid crystal display screen or an electronic ink display screen.

[0180] Those skilled in the art can understand that the above are only part of the structures related to the application scheme, and do not constitute a limitation on the terminal to which the application scheme is applied. The specific terminal can include more or less components than the above, or combine certain components, or have a different component arrangement.

[0181] In an implementation manner, the memory of the terminal stores more than one program, and is configured to execute the more than one program by more than one processor, which includes instructions for performing the multi-robot task allocation method based on distributed optimization.

[0182] Those skilled in the art can understand that all or part of the processes in the above embodiments can be completed by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, it can include the processes of the above embodiments. Any reference to memory, storage, database or other medium used in the embodiments of the application can include non-volatile and / or volatile memory.

[0183] In summary, the application discloses a kind of multi-robot task allocation method based on distributed optimization, method is established through the network topology structure of multi-robot system multi-robot task allocation problem model, and multi-robot task allocation problem model is converted into corresponding saddle point problem model;Through saddle point problem model, based on optimistic gradient rise and fall algorithm or hypergradient algorithm establishes target distributed task allocation algorithm, wherein, target distributed task allocation algorithm sets the local of each robot has four state variables including the local decision variable of the robot;Through target distributed task allocation algorithm, each robot and neighbor robot carry out partial state variable interaction, and the four state variables of local are iteratively updated by the partial state variable of interaction, until reaching preset optimization target;Optimization result determines the best task allocation strategy of multi-robot system.The application combines saddle point dynamics and optimistic gradient rise and fall algorithm or hypergradient algorithm to establish the distributed task allocation algorithm of multi-robot system, can solve non-convex task allocation problem, and algorithm application scope is wider.And the distributed task allocation algorithm established by the application is a kind of completely distributed algorithm, not involving the solution of suboptimization problem, only by simple algebraic operation to update state, and the calculation complexity is lower, can guarantee that the system state of all robots converges to the optimal integer solution of task allocation problem quickly.

[0184] It should be understood that the application is not limited to the above examples, and those skilled in the art can make improvements or changes according to the above description, and all these improvements and changes shall belong to the protection scope of the appended claims of the application.

Claims

1. A multi-robot task allocation method based on distributed optimization, characterized in that, The method includes: A multi-robot task allocation problem model is established based on the network topology of a multi-robot system, and the multi-robot task allocation problem model is transformed into a corresponding saddle point problem model. Using the saddle point problem model, a target distributed task allocation algorithm is established based on the optimistic gradient ascent and descent algorithm or the super gradient algorithm. The target distributed task allocation algorithm sets that each robot has four state variables, including the robot's local decision variables. The target distributed task allocation algorithm enables each robot to interact with its neighboring robots on some state variables, and iteratively updates its four local state variables through the interacting state variables until the preset optimization target is achieved. The optimal task allocation strategy for the multi-robot system is determined based on the optimization results. The iterative update calculation formula corresponding to the distributed task allocation algorithm based on the optimistic gradient ascent and descent algorithm is as follows: ; in, , , , Robots designed It has four state variables. and These are two types of state variables involved in the interaction; Represents robots Local decision variables, and Represents robots The local multiplier variables of the corresponding dual problem model, Represents robots The corresponding Lagrange multipliers; Indicates the first A robot, Indicates the first A robot, Represents a set of neighbors; Indicates the number of iterations; For robots only Available local cost functions; This represents the projection operator, which projects onto the set Ω. express Individual box constraints Cartesian product, Indicates the number of tasks. Indicates the number of robots, and ; Describes an m-dimensional nonnegative Euclidean space; This represents the step size of gradient descent and is an adjustable parameter; Represents an m-dimensional column vector in which all components are equal to 1; This indicates transpose.

2. The multi-robot task allocation method based on distributed optimization according to claim 1, characterized in that, The establishment of a multi-robot task allocation problem model based on the network topology of a multi-robot system includes: A weighted undirected graph corresponding to the network topology of the multi-robot system is pre-established. A multi-robot task allocation problem model is established using the weighted undirected graph, the local decision variables of each robot, inequality constraints, equality constraints, and binary constraints. The inequality constraints reflect that all tasks are completed jointly by all robots, and the equality constraints reflect that each robot executes at most one task. The binary constraints reflect that the local decision variables of each robot are determined by one of the binary variables, and the local decision variables reflect the task allocation state.

3. The multi-robot task allocation method based on distributed optimization according to claim 2, characterized in that, The multi-robot task allocation problem model is transformed into a corresponding saddle point problem model, including: By replacing the binary constraints with box constraints, a relaxed multi-robot task allocation problem model is obtained, wherein the box constraints are used to reflect that the local decision variables of each robot are determined by a closed interval composed of binary variables. The relaxed multi-robot task allocation problem model is transformed into a corresponding dual problem model; The dual problem model is then transformed into the corresponding saddle point problem model.

4. The multi-robot task allocation method based on distributed optimization according to claim 1, characterized in that, The target distributed task allocation algorithm is a distributed task allocation algorithm based on the optimistic gradient ascent and descent algorithm. Through this algorithm, each robot interacts with its neighboring robots on a partial state variable basis, and iteratively updates its four local state variables using these interacted partial state variables until a preset optimization target is achieved. This includes: Receive two state variables from the neighboring robot, and iteratively update the four local state variables based on the received two state variables to obtain the four local iterative state variables. Broadcast two types of state variables after local iteration to the neighboring robot, wherein the state variables received from the neighboring robot and those broadcast locally are of the same category; Determine whether the preset optimization target has been achieved. If not, continue to execute the steps of receiving two state variables from neighboring robots and iteratively updating the four local state variables based on the received two state variables to obtain the four local iterative state variables, until the preset optimization target is achieved.

5. The multi-robot task allocation method based on distributed optimization according to claim 1, characterized in that, The target distributed task allocation algorithm is a distributed task allocation algorithm based on the super gradient algorithm. Through this algorithm, each robot interacts with its neighboring robots on a partial state variable basis, and iteratively updates its four local state variables using these interacted partial state variables until a preset optimization target is achieved. This includes: Receive two state variables from the neighboring robot, and iteratively update the four local state variables to the intermediate iteration point based on the received two state variables to obtain the four local state variables after half a step iteration. Broadcast two types of state variables after the local half-step iteration to the neighboring robot, wherein the state variables received from the neighboring robot and those broadcast locally are of the same category; Receive two state variables from the neighbor robot after half-step iteration, and iteratively update the four local state variables to the next iteration point based on the received two state variables to obtain the four local state variables after full-step iteration. Broadcast the two state variables after the local full-step iteration to the neighboring robot; Determine whether the preset optimization target has been achieved. If not, continue to execute the steps of receiving the two state variables from the neighboring robot and iteratively updating the four local state variables to the intermediate iteration point based on the received two state variables, until the preset optimization target is achieved.

6. The multi-robot task allocation method based on distributed optimization according to claim 5, characterized in that, The half-step iterative update calculation formula corresponding to the distributed task allocation algorithm based on the super gradient algorithm is as follows: ; in, , , , Robots designed It has four state variables. and These are two types of state variables involved in the interaction; Represents robots Local decision variables, and Represents robots The local multiplier variables of the corresponding dual problem model, Represents robots The corresponding Lagrange multipliers; Indicates the first A robot, Indicates the first A robot, Represents a set of neighbors; Indicates the number of iterations; For robots only Available local cost functions; This represents the projection operator, which projects onto the set Ω. express Individual box constraints Cartesian product, Indicates the number of tasks. Indicates the number of robots, and ; Describes an m-dimensional nonnegative Euclidean space; This represents the step size of gradient descent and is an adjustable parameter; Represents an m-dimensional column vector in which all components are equal to 1; This indicates transpose.

7. The multi-robot task allocation method based on distributed optimization according to claim 5, characterized in that, The formula for calculating the full-step iterative update of the distributed task allocation algorithm based on the super gradient algorithm is as follows: ; in, , , , Robots designed It has four state variables. and These are two types of state variables involved in the interaction; Represents robots Local decision variables, and Represents robots The local multiplier variables of the corresponding dual problem model, Represents robots The corresponding Lagrange multipliers; Indicates the first A robot, Indicates the first A robot, Represents a set of neighbors; Indicates the number of iterations; For robots only Available local cost functions; This represents the projection operator, which projects onto the set Ω. express Individual box constraints Cartesian product, Indicates the number of tasks. Indicates the number of robots, and ; Describes an m-dimensional nonnegative Euclidean space; This represents the step size of gradient descent and is an adjustable parameter; Represents an m-dimensional column vector in which all components are equal to 1; This indicates transpose.

8. The multi-robot task allocation method based on distributed optimization according to claim 1, characterized in that, The method further includes: Once the preset optimization objective is achieved, for each robot, if the robot's local decision variables meet the preset requirements, the robot's local decision variables are perturbed by random values ​​to resolve the inconsistency of the linear objective function.

9. The multi-robot task allocation method based on distributed optimization according to claim 1, characterized in that, The preset optimization objective is to reduce the gap with the target to a preset threshold, or to reach a preset number of iterations.

Citation Information

Patent Citations

  • Distributed optimization method of solar energy wireless acquisition system

    CN109345809A

  • Power market real-time pricing method and system for promoting optimal distribution of power resources

    CN117455588A