CN114089755B - Multi-robot task allocation method based on consistency packet algorithm - Google Patents

Multi-robot task allocation method based on consistency packet algorithm Download PDF

Info

Publication number
CN114089755B
CN114089755B CN202111352698.XA CN202111352698A CN114089755B CN 114089755 B CN114089755 B CN 114089755B CN 202111352698 A CN202111352698 A CN 202111352698A CN 114089755 B CN114089755 B CN 114089755B
Authority
CN
China
Prior art keywords
task
robot
area
robots
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111352698.XA
Other languages
Chinese (zh)
Other versions
CN114089755A (en
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.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
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 Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN202111352698.XA priority Critical patent/CN114089755B/en
Publication of CN114089755A publication Critical patent/CN114089755A/en
Application granted granted Critical
Publication of CN114089755B publication Critical patent/CN114089755B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling

Abstract

The invention belongs to the field of multi-robot cooperative control, and provides a multi-robot task allocation method based on a consistency packet algorithm. Meanwhile, the task allocation problem is realized in a layered mode, namely, robots are allocated to each task area, and then tasks are allocated to the robots in each task area. In addition, considering the condition that single tasks and double tasks coexist in the intelligent warehousing system, in practice, the double tasks need to be completed by cooperation of a plurality of robots. Further, a certain priority relation exists between different tasks, and priorities in different areas serve as influencing factors of task allocation. The extended CBBA algorithm adopted by the invention has high success rate and higher task income when the obtained task allocation result is actually executed.

Description

Multi-robot task allocation method based on consistency packet algorithm
Technical Field
The invention belongs to the field of cooperative control of multiple robots, and particularly relates to a multi-robot task allocation method based on a consistency packet algorithm.
Background
In recent years, with the development of intelligent warehousing technology, the effect of mutually cooperating multiple robots to complete tasks presents a difficult advantage relative to a single robot body, and becomes a vital component in an intelligent warehousing system. Therefore, multi-robot systems are receiving increasing attention for practical application potential. The task allocation is a very critical combination optimization problem in the intelligent warehousing system, and the goal is to reasonably allocate the tasks to the warehousing robots on the premise of considering complex constraint conditions, so that the system performance is effectively improved, and the task allocation is usually realized by reducing the total execution time or the total distance of executing the tasks.
The task allocation quality directly determines the task completion efficiency and cost of the warehousing system, and research strategies about warehousing robots mainly focus on distributed methods, including a consistency algorithm, an auction algorithm, a consistency package algorithm and the like, and have been widely applied to various fields of social life. Such methods, while widely used, still have problems, such as consistency algorithms requiring robots to converge on a consistent situational awareness, may require a significant amount of time and often require the transmission of large amounts of data, which may lead to significant delays; the auction algorithm must somehow communicate the bids for each robot to the auctioneer, limiting the network topologies that can be used; the consistency bag algorithm (CBBA algorithm) mainly considers the application scenario where a single task is executed by one agent, and has a limitation in the scenario where multiple agents are required to cooperatively execute a complex task.
As warehousing systems continue to increase in complexity, systems become larger in size, and there may be numerous and remote picking subregions. Tasks that require multiple robots to cooperatively complete may also exist in each area, and priorities may also exist between different tasks. In order to solve the problem of optimizing the warehousing system under complex constraint, the probability of failure in allocation is increased by adopting a traditional task allocation mode, the real-time requirement cannot be met, and more reasonable solutions are difficult to obtain.
Disclosure of Invention
In order to overcome the defects of the prior art, the invention provides a multi-robot task allocation method based on a consistency packet algorithm, which utilizes a hierarchical extended CBBA algorithm and aims to construct the distributed storage robot scheduling system so as to efficiently realize the allocation of tasks in multiple robots.
The technical proposal of the invention
A multi-robot task allocation method based on a consistency packet algorithm comprises the following steps:
step 1: consider that picking tasks in a warehouse system are distributed in N a In the individual sub-areas, the task area labels are gathered asThe robot set involved in picking is +.>All robots are classified into two types. Totally N T The individual tasks need to be sorted, and the task label set is +.>The task area contains N t The tasks with different priorities are classified into a single task type and a double task type. Wherein, the storage robot I epsilon I can execute L at most i Tasks, task area M E M needs L at most a The number of robots needed for picking and executing task J E J is num j
The optimal objective function expression for the task allocation problem is as follows:
wherein x is mi And x ij Representing a task allocation decision variable consisting of 0, 1 variables, x mi =1 indicates that robot i is assigned to task area m, x ij =1 indicates that task j is assigned to robot i. C (C) ij Performing benefits for the task of robot i, vector p i An ordered sequence of tasks for robot i is shown.
Task allocation in each task area also needs to take into account the priority of the task: v (V) j =C j /dur j Wherein C j And dur j The value and execution time of task j, respectively. And selecting the task with the largest product of the priority and the bidding function as the optimal task of the corresponding robot for distribution. A viable solution to the task allocation problem needs to satisfy both the optimization objective function and this constraint relationship.
Assume that task j has an earliest start time of t min_start At the latest the start time is t max_start . The new bid function considering the complex constraint is expressed as:
wherein C is j0 A fixed benefit value representing the execution of task j;and->Respectively represent the start time and the end time of the task j, lambda j V is a time discounting factor i And f i Respectively representing the speed and the fuel consumption per unit time of the robot i, D ij Is the distance from robot i to task j.
Step 2: in the task distribution process, the warehousing robot, the task area and the task all need to store and update some data information structures, and the method specifically comprises the following steps:
the data information structure that each warehousing robot needs to maintain includes:
(1) Task Bundle set (Bundle): task packageRepresents the set of tasks assigned to robot i, |b i The I represents the length of the task package, where the tasks are arranged in the order of joining the packages.
(2) Execution Path list (Path): execution path listRepresents a list of tasks to be performed assigned to robot i, |p i And the I represents the length of the list, and the tasks in the list are arranged according to the execution sequence of the robot plan.
(3) Execution Time set (Time):t in ∈R + representing a robot execution path list p according to a task i Time to arrival at each task.
(4) Winner matrix (Winning Uavs): winning robot matrix Z is N u ×N T A dimension matrix, the elements in the matrix storing the winner numbers of all tasks currently, where Z ij =k means that robot i considers robot k to be the winner of task j. The number Sum of non-negative elements in the j-th column of the matrix Z j Indicating the total number of robots assigned to task j.
(5) Winning bid matrix (wining Bids): winning bid matrix byThe rows of the matrix represent all robot identifications, and the columns of the matrix represent different tasks. The elements are in one-to-one correspondence with the matrix Z, representing the winner's bid for the winning mission. Wherein Y is ij =0 means that robot i considers task j to have no winner.
(6) Timestamp sets (Time Stamps):s in ∈R + the vector represents the time of the last information exchange between the robot i and the adjacent robot, and is an important index of the conflict resolution stage.
Each task area needs to store and update the following data information structure:
(1) Robot bag set (Bundle):|b m the I represents the length of the bundle, contains all the robot sets assigned to the task area m, and the robots are arranged in the order of joining the bundles.
(2) Winning area matrix (wining Uavs): matrix Z A Is N a ×N u A dimension matrix, the elements in the matrix storing winning zone numbers of all current robots, whereinThe representation task area m considers task area n to be the winner of robot i.
(3) Winning area bid matrix (wining Bids): from the following componentsThe rows of the matrix represent all task area identifications and the columns of the matrix represent different robots. Each element and matrix Z A One-to-one correspondence indicates the bidding of the winning robot by the winning task area. Wherein->Indicating that task area m considers robot i to have no winner.
(4) Timestamp sets (Time Stamps):the vector represents the time of the last information exchange between the task area m and the adjacent task area, and is an important index of the conflict resolution stage.
The tasks comprise a single task and a double task, and the data information structures required to be maintained are respectively as follows:
(1) Single task: multi-robot bag setRepresenting a set of multiple robots assigned to task j, wherein +.>A robot that is beaten.
(2) Double-tasking: double robot bag setRepresenting a set of dual robots assigned to task j, where only two robots can be stored in a package at a time.
The position of all robots I e I is known as (x i ,y i ,z i ) Speed and fuel consumption per unit time are v i And f i . The position (x) of all tasks J e J j ,y j ,z j ) Time windowDiscount factor lambda j Are known. And knowing the specific task T contained by all task areas m.epsilon.M m . The total profit value obtained by the robot i performing the assigned task is denoted +.>In order to ensure the task allocation efficiency, the task allocation of the warehousing robots is realized in a layered mode, namely, all the warehousing robots are allocated to each task area, and then specific tasks in the task areas are allocated to the warehousing robots. The following steps describe the allocation process in detail.
Step 3: and distributing the warehousing robots among the task areas. The robot allocation of the task area is divided into three steps of task area parameter generation, robot package construction and area conflict resolution. The specific allocation flow for the task area M epsilon M is as follows:
(1) According to the task list T in the task area m m And generating task area parameters. Specifically including the location (x m ,y m ,z m ) Time windowDiscount factor lambda m Value C m And a fixed value C m0 . Wherein->And->Respectively T m Is->And->Minimum value->Minimum value corresponds to lambda of task j And (x) j ,y j ,z j ) I.e. as a task areaλ m And (x) m ,y m ,z m ),C m Is T m All C in (3) j Average value of the sum, C m0 Then is T m All C in (3) j0 And (5) accumulating the average value of the sums.
(2) The task area m is configured as a robot bag. For robot i not in the task area m bundle,sequentially calculating the benefit value C assigned to the mission region m mi The method comprises the steps of carrying out a first treatment on the surface of the Will benefit value C mi Corresponding +.>Comparing if for the same robot C mi Is greater than->Then set bid flag +.>OtherwiseSelect->Robot corresponding to maximum value of (2), bundle added to task m +.>Updating matrix Z simultaneously A Sum matrix Y A
(3) And carrying out conflict resolution between task areas. After the task area M epsilon M receives the sharing information of the task area n epsilon M, the data information structure updating action rule is as follows:
updating: will beThe value of +.>Will->The value of +.>Resetting: will->Reset to-1, ">Reset to-1
Leaving:and->Does not make any changes
The two steps of robot bag construction of the task area and conflict solution between areas are iterated repeatedly until all robots are distributed, and a robot set obtained by distributing the task area m is expressed as R m
Step 4: and constructing a task package set by all the storage robots in the task area. The task package set construction flow of the warehousing robot i in the task area m is as follows:
(1) Cycling through the robot set R in the task area m m Taking out robots i epsilon R in sequence m If |b i |<L i Turning to the step (2), otherwise traversing the next robot;
(2) For task list T in task area m m Consider an execution path list p i Not yet contain tasks and new tasks add p i Two conditions of the likelihood of each position in the database. Then, all the tasks j E T meeting the conditions are fetched m The sequential computing tasks j are inserted at p i Edge benefit value obtained at position n:
if C is present at this time ij The value is larger than 0, the step (3) is switched to, otherwise, the step (1) is returned to;
(3) Considering that each task j in the task area m has priority V j Selecting C with the largest product max =C ij ×V j Task j corresponding to > 0. If num is j =1, the task is of single task type, turning to step (4); if num is j The task is of a double-task type and is converted into the step (5);
(4) Single task case: will benefit value C ij Y corresponding to the current winning bid matrix ij Comparing if the benefit value C is for the same task ij Greater than Y ij Setting an auction flag h ij =1 go to step (6), otherwise h ij =0 to step (7).
(5) Double-task case: if num j >Sum j H is then ij =1 go to step (6); if num j =Sum j And C ij A minimum bid value larger than the current task j is h ij =1 go to step (6); if the two conditions are not satisfied, the robot i gives up the task j, namely h ij =0 to step (7).
(6) The best task is denoted as J i =argmax j C max ×h ij Task J i In the execution path list p i The best position in (a) is expressed asMeanwhile, updating a data information structure corresponding to the robot i:
(7) Robotic i bid C for task j ij Resetting to be-1, and returning to the step (2).
(8) When in the task area mRobot set R m After the traversal is completed, the process jumps to step 5.
Step 5: and carrying out conflict resolution between the storage robots in the task area. Synchronous communication mechanism is adopted among all robots in the task area m, and the warehousing robot i epsilon R m Receiving k epsilon R of storage robot m And carrying out conflict resolution after sharing information.
In the conflict resolution stage, after one interaction is completed between robots, the time stamp information and the time stamp s are updated i The updated formula of (c) is as follows:
wherein g ik =1 means that there is a communication link between robots i and k, otherwise g ik =0. Each node has a self-connecting edge, g ii =1。τ r Is the message reception time. The specific conflict resolution flow is as follows:
(1) Cycling through all conflicting tasks T in task area m m The conflicting tasks j epsilon T are sequentially fetched m . If num is j =1, the conflicting task is of single task type, turning to step (2); if num is j The conflict task is of a double-task type and is converted into the step (3);
(2) Single task case: robot i directly takes one of three possible actions according to the received allocation information, and then proceeds to step (6):
updating: y is set to kj Is assigned to Y ij Will Z kj Is assigned to Z ij
Resetting: y is set to ij Reset to-1, Z ij Reset to-1
Leaving: y is Y ij And Z ij Does not make any changes
(3) Double-task case: consider another robot q.epsilon.R m The specific conflict resolution may be divided into two parts. The first part updates the self-stored information of the robot i to be the latest, and the step (4) is performed. The second part adjusts its own information for robot i,turning to the step (5).
(4) Robot i compares its bidding information with robot k, s kq >s iq Indicating that robot k has assigned an information update. The robot i stores the latest data and can confirm that the stored information is the latest.
(5) Setting that sender k thinks that robot q performs conflicting task j, while receiver i thinks that robot q does not perform this task, and satisfies i not equal to q and s kq >s iq Two conditions. If num j >Sum j Then update Y ij =Y kj ,Z ij =Z kj . If num j =Sum j And Y is qj Minimum bid value greater than current task jY is then rj =-1,Z rj =-1,Y ij =Y kj ,Z ij =Z kj
(6) Robot i updates timestamp information s i Returning to the step (1).
(7) When conflicting task set T in task area m m After the traversal is completed, the step 4 is skipped.
The two steps of task package construction of the robots and conflict solution among the robots are iterated repeatedly until the interior of each task area converges to a conflict-free task allocation result, and therefore multi-area-based hierarchical task allocation is achieved.
The beneficial effects of the invention are as follows: firstly, complex constraints such as robot speed, task time window constraint, arrival time and travel cost loss are comprehensively considered, and a new bidding function is designed. Meanwhile, the task allocation problem is realized in a layered mode, namely, robots are allocated to each task area, and then tasks are allocated to the robots in each task area. In addition, considering the condition that single tasks and double tasks coexist in the intelligent warehousing system, in practice, the double tasks need to be completed by cooperation of a plurality of robots. Further, a certain priority relation exists between different tasks, and priorities in different areas serve as influencing factors of task allocation. The extended CBBA algorithm adopted by the invention has high success rate and higher task income when the obtained task allocation result is actually executed.
Drawings
FIG. 1 is a general flow chart of the allocation of picking tasks by the warehousing robot of the invention.
Fig. 2 is a flowchart of a specific allocation process in the present invention.
Fig. 3 is a graph of allocation results using a hierarchical based extended CBBA algorithm in accordance with the present invention.
Fig. 4 is a task allocation timing diagram employing a hierarchical-based extended CBBA algorithm in accordance with the present invention.
Fig. 5 is a graph of the allocation results using the basic CBBA algorithm.
Detailed Description
The following describes embodiments of the present invention in further detail with reference to the drawings and technical schemes.
As shown in fig. 1, a multi-robot task allocation method based on a consistency packet algorithm comprises the following steps: step 1: consider that picking tasks in a warehouse system are distributed in N a Sub-region, task region label set asThe robot set involved in picking is +.>All robots are classified into two types. Totally N T The individual tasks need to be sorted, and the task label set is +.>The task area contains N t The tasks with different priorities are classified into a single task type and a double task type. Wherein, the storage robot I epsilon I can execute L at most i Tasks, task area M E M needs L at most a The number of robots needed for picking and executing task J E J is num j
The optimal objective function expression for the task allocation problem is as follows:
wherein x is mi And x ij Representing a task allocation decision variable consisting of 0, 1 variables, x mi =1 indicates that robot i is assigned to task area m, x ij =1 indicates that task j is assigned to robot i. C (C) ij Performing benefits for the task of robot i, vector p i An ordered sequence of tasks for robot i is shown.
Task allocation in each task area also needs to take into account the priority of the task: v (V) j =C j /dur j Wherein C j And dur j The value and execution time of task j, respectively. And selecting the task with the largest product of the priority and the bidding function as the optimal task of the corresponding robot for distribution. A viable solution to the task allocation problem needs to satisfy both the optimization objective function and this constraint relationship.
Assume that task j has an earliest start time of t min_start At the latest the start time is t max_start . The new bid function considering the complex constraint is expressed as:
wherein C is j0 A fixed benefit value representing the execution of task j;and->Respectively represent the start time and the end time of the task j, lambda j V is a time discounting factor i And f i Respectively representing the speed and the fuel consumption per unit time of the robot i, D ij Is the distance from robot i to task j.
Step 2: in the task distribution process, the warehousing robot, the task area and the task all need to store and update some data information structures, and the method specifically comprises the following steps:
the data information structure that each warehousing robot needs to maintain includes:
(1) Task Bundle set (Bundle): task packageRepresents the set of tasks assigned to robot i, |b i The I represents the length of the task package, where the tasks are arranged in the order of joining the packages.
(2) Execution Path list (Path): execution path listRepresents a list of tasks to be performed assigned to robot i, |p i And the I represents the length of the list, and the tasks in the list are arranged according to the execution sequence of the robot plan.
(3) Execution Time set (Time):t in ∈R + representing a robot execution path list p according to a task i Time to arrival at each task.
(4) Winner matrix (Winning Uavs): winning robot matrix Z is N u ×N T A dimension matrix, the elements in the matrix storing the winner numbers of all tasks currently, where Z ij =k means that robot i considers robot k to be the winner of task j. The number Sum of non-negative elements in the j-th column of the matrix Z j Indicating the total number of robots assigned to task j.
(5) Winning bid matrix (wining Bids): winning bid matrix byThe rows of the matrix represent all robot identifications, and the columns of the matrix represent different tasks. The elements are in one-to-one correspondence with the matrix Z, representing the winner's bid for the winning mission. Wherein Y is ij =0 means that robot i believes the taskj has no winner.
(6) Timestamp sets (Time Stamps):s in ∈R + the vector represents the time of the last information exchange between the robot i and the adjacent robot, and is an important index of the conflict resolution stage.
Each task area needs to store and update the following data information structure:
(1) Robot bag set (Bundle):|b m the I represents the length of the bundle, contains all the robot sets assigned to the task area m, and the robots are arranged in the order of joining the bundles.
(2) Winning area matrix (wining Uavs): matrix Z A Is N a ×N u A dimension matrix, the elements in the matrix storing winning zone numbers of all current robots, whereinThe representation task area m considers task area n to be the winner of robot i.
(3) Winning area bid matrix (wining Bids): from the following componentsThe rows of the matrix represent all task area identifications and the columns of the matrix represent different robots. Each element and matrix Z A One-to-one correspondence indicates the bidding of the winning robot by the winning task area. Wherein->Indicating that task area m considers robot i to have no winner.
(4) Timestamp sets (Time Stamps):representing task area m and adjacent task area mostThe time of the last information exchange, the vector is an important indicator of the conflict resolution stage.
The tasks comprise a single task and a double task, and the data information structures required to be maintained are respectively as follows:
(1) Single task: multi-robot bag setRepresenting a set of multiple robots assigned to task j, wherein +.>A robot that is beaten.
(2) Double-tasking: double robot bag setRepresenting a set of dual robots assigned to task j, where only two robots can be stored in a package at a time.
The position of all robots I e I is known as (x i ,y i ,z i ) Speed and fuel consumption per unit time are v i And f i . The position (x) of all tasks J e J j ,y j ,z j ) Time windowDiscount factor lambda j Are known. And knowing the specific task T contained by all task areas m.epsilon.M m . The total profit value obtained by the robot i performing the assigned task is denoted +.>In order to ensure the task allocation efficiency, the task allocation of the warehouse robot is realized in a layered manner, namely, all robots are allocated to each task area, then specific tasks in the task areas are allocated to the robots, and a specific allocation flow is shown in fig. 2. The following steps will specifically describe the allocation process.
Step 3: and distributing the warehousing robots among the task areas. The robot allocation of the task area is divided into three steps of task area parameter generation, robot package construction and area conflict resolution. The specific allocation flow for the task area M epsilon M is as follows:
(1) According to the task list T in the task area m m And generating task area parameters. Specifically including the location (x m ,y m ,z m ) Time windowDiscount factor lambda m Value C m And a fixed value C m0 . Wherein->And->Respectively T m Is->And->Minimum value->Minimum value corresponds to lambda of task j And (x) j ,y j ,z j ) I.e. lambda of the task area m And (x) m ,y m ,z m ),C m Is T m All C in (3) j Average value of the sum, C m0 Then is T m All C in (3) j0 And (5) accumulating the average value of the sums.
(2) The task area m is configured as a robot bag. For robot i not in the task area m bundle,sequentially calculating the benefit value C assigned to the mission region m mi The method comprises the steps of carrying out a first treatment on the surface of the Will benefit value C mi Corresponding +.>Comparing if for the same robot C mi Is greater than->Then set bid flag +.>OtherwiseSelect->Robot corresponding to maximum value of (2), bundle added to task m +.>Updating matrix Z simultaneously A Sum matrix Y A
(3) And carrying out conflict resolution between task areas. After the task area M epsilon M receives the sharing information of the task area n epsilon M, the data information structure updating action rule is as follows:
updating: will beThe value of +.>Will->The value of +.>Resetting: will->Reset to-1, ">Reset to-1
Leaving:and->Does not make any changes
The two steps of robot bag construction of the task area and conflict solution between areas are iterated repeatedly, as shown in fig. 2, until all robots are distributed, and a robot set obtained by distributing the task area m is expressed as R m
Step 4: and constructing a task package set by all the storage robots in the task area. The task package set construction flow of the warehousing robot i in the task area m is as follows:
(1) Cycling through the robot set R in the task area m m Taking out robots i epsilon R in sequence m If |b i |<L i Turning to the step (2), otherwise traversing the next robot;
(2) For task list T in task area m m Consider an execution path list p i Not yet contain tasks and new tasks add p i Two conditions of the likelihood of each position in the database. Then, all the tasks j E T meeting the conditions are fetched m The sequential computing tasks j are inserted at p i Edge benefit value obtained at position n:
if C is present at this time ij The value is larger than 0, the step (3) is switched to, otherwise, the step (1) is returned to;
(3) Considering that each task j in the task area m has priority V j Selecting C with the largest product max =C ij ×V j Task j corresponding to > 0. If num is j =1, the task is of single task type, turning to step (4); if num is j The task is of a double-task type and is converted into the step (5);
(4) Single task case: will benefit value C ij Y corresponding to the current winning bid matrix ij Comparing if the benefit value C is for the same task ij Greater than Y ij Setting an auction flag h ij =1 go to step (6), otherwise h ij =0 to step (7).
(5) Double-task case: if num j >Sum j H is then ij =1 go to step (6); if num j =Sum j And C ij A minimum bid value larger than the current task j is h ij =1 go to step (6); if the two conditions are not satisfied, the robot i gives up the task j, namely h ij =0 to step (7).
(6) The best task is denoted as J i =argmax j C max ×h ij Task J i In the execution path list p i The best position in (a) is expressed asMeanwhile, updating a data information structure corresponding to the robot i:
(7) Robotic i bid C for task j ij Resetting to be-1, and returning to the step (2).
(8) Robot set R in task area m m After the traversal is completed, the process jumps to step 5.
Step 5: and carrying out conflict resolution between the storage robots in the task area. Synchronous communication mechanism is adopted among all robots in the task area m, and the warehousing robot i epsilon R m Receiving k epsilon R of storage robot m And carrying out conflict resolution after sharing information.
In the conflict resolution stage, after one interaction is completed between robots, the time stamp information and the time stamp s are updated i The updated formula of (c) is as follows:
wherein g ik =1 means that there is a communication link between robots i and k, otherwise g ik =0. Each node has a self-connecting edge, g ii =1。τ r Is the message reception time. The specific conflict resolution flow is as follows:
(1) Cycling through all conflicting tasks T in task area m m The conflicting tasks j epsilon T are sequentially fetched m . If num is j =1, the conflicting task is of single task type, turning to step (2); if num is j The conflict task is of a double-task type and is converted into the step (3);
(2) Single task case: robot i directly takes one of three possible actions according to the received allocation information, and then proceeds to step (6):
updating: y is set to kj Is assigned to Y ij Will Z kj Is assigned to Z ij
Resetting: y is set to ij Reset to-1, Z ij Reset to-1
Leaving: y is Y ij And Z ij Does not make any changes
(3) Double-task case: consider another robot q.epsilon.R m The specific conflict resolution may be divided into two parts. The first part updates the self-stored information of the robot i to be the latest, and the step (4) is performed. The second part adjusts the information of the robot i and goes to the step (5).
(4) Robot i compares its bidding information with robot k, s kq >s iq Indicating that robot k has assigned an information update. The robot i stores the latest data and can confirm that the stored information is the latest.
(5) Setting that sender k thinks that robot q performs conflicting task j, while receiver i thinks that robot q does not perform this task, and satisfies i not equal to q and s kq >s iq Two conditions. If num j >Sum j Then update Y ij =Y kj ,Z ij =Z kj . If num j =Sum j And Y is qj Minimum bid value greater than current task jY is then rj =-1,Z rj =-1,Y ij =Y kj ,Z ij =Z kj
(6) Robot i updates timestamp information s i Returning to the step (1).
(7) When conflicting task set T in task area m m After the traversal is completed, the step 4 is skipped.
The two steps of task package construction of the robot and conflict solution among robots are iterated repeatedly, as shown in fig. 2, until the interior of each task area converges to a conflict-free task allocation result, and therefore multi-area-based hierarchical task allocation is achieved.
Examples:
system simulation environment: interl 2.8GHz,8GB memory PC, windows10 operating system, python3.6 version, pyCharm integrated development environment.
The invention adopts a three-dimensional map model, the height is known, and the coordinate system is a plane coordinate system. Assuming 10 stocker robots, a total of 20 picking tasks in the 4 task areas (A, B, C, D) need to be picked. Initial state information of the warehouse robot and the picking task in the simulation is shown in tables 1 and 2. Wherein the robots participating in picking are divided into two types, the maximum task number which can be allocated to a single robot is 10, and the maximum number of robots can be allocated to a single task area. The tasks to be picked are also classified into two types: single task (1 robot is required), double task (2 robots are required).
Table 1 robot parameter settings
TABLE 2 task parameter settings
Table 3 describes the parameters and allocation results for the respective task areas. In step 3, each task area is based on the internal task list T m Generating self parameters, and realizing that all the storage robots are distributed to each task area, namely completing the distribution of the first layer.
TABLE 3 task area parameters
FIG. 3 is a final tasking result of an example of the present invention. In the figure, A0-A9 represent storage robots, gray planes represent storage robots divided into 4 task areas, and T0-T19 represent picking tasks. It can be seen that 10 stocker robots can be allocated to each task area and converge to a collision-free task allocation inside each task area. Task area a: a0- > T0- > T4; a1→t8→t12→t13; a8→t0→t8→t4;
task area B: a2- > T9- > T5- > T1; a4→t17→t19; a9- > T5- > T1- > T14- > T18 task area C: a6→t2→t6→t10→t15; a7- > T2- > T6;
task area D: a3→t7→t16→t3; a5→t7→t3→t11;
FIG. 4 is a task allocation timing diagram of an example of the present invention. In the figure, the different types of blocks represent different tasks, the start and end positions of the blocks represent the start and end times assigned to the current task, and the length represents the duration of the current task. From the figure, it is clear that the time periods for 10 robots to perform the respective tasks do not conflict with each other.
Fig. 5 is a result of task allocation using basic CBBA under the same condition. At this time, the task allocation is performed in the whole selection area, and the warehousing robot executes the corresponding picking task according to the allocation result. Comparing fig. 3 and 5, it can be seen that the task allocation using the hierarchical based extended CBBA algorithm results in higher total profits and less algorithm run time.
In summary, the invention provides a hierarchical-based extended CBBA algorithm for task allocation of multiple robots, aiming at the problems of task scheduling in the existing intelligent warehousing system. The algorithm comprehensively considers a plurality of factors such as a plurality of picking subareas, complex environmental constraints and the like, and adopts a two-layer task allocation mode, namely, the robots are allocated to each task area firstly, and then the tasks are allocated to the robots in each task area. The reliability and success rate of task allocation are effectively improved, and the method has important significance for improving the performance of the intelligent warehousing system.
The above description is only of the preferred embodiments of the present invention and is not intended to limit the present invention, but various modifications and variations can be made to the present invention by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (1)

1. A multi-robot task allocation method based on a consistency packet algorithm is characterized by comprising the following steps:
step 1: consider that picking tasks in a warehouse system are distributed in N a In the individual sub-areas, the task area labels are gathered asThe robot set involved in picking is +.>All robots are classified into two types; totally N T The individual tasks need to be sorted, and the task label set is +.>The task area contains N t The tasks with different priorities are divided into a single task type and a double task type; wherein the method comprises the steps ofThe storage robot I epsilon I can execute L at most i Tasks, task area M E M needs L at most a The number of robots needed for picking and executing task J E J is num j
The optimal objective function expression for the task allocation problem is as follows:
wherein x is mi And x ij Representing a task allocation decision variable consisting of 0, 1 variables, x mi =1 indicates that robot i is assigned to task area m, x ij =1 indicates that task j is assigned to robot i; c (C) ij Performing benefits for the task of robot i, vector p i Representing an ordered task sequence of robot i;
task allocation in each task area also needs to take into account the priority of the task: v (V) j =C j /dur j Wherein C j And dur j The value and the execution time of the task j are respectively; selecting the task with the largest product of the priority and the bidding function as the optimal task of the corresponding robot for distribution; the feasible solution of the task allocation problem needs to meet the optimization objective function and the constraint relation at the same time;
assume that task j has an earliest start time of t min_start At the latest the start time is t max_start The method comprises the steps of carrying out a first treatment on the surface of the The new bid function considering the complex constraint is expressed as:
wherein C is j0 A fixed benefit value representing the execution of task j;and->Respectively represent the start time and the end time of the task j, lambda j V is a time discounting factor i And f i Respectively representing the speed and the fuel consumption per unit time of the robot i, D ij Distance from robot i to task j;
step 2: in the task distribution process, the warehousing robot, the task area and the task all need to store and update some data information structures, and the method specifically comprises the following steps:
the data information structure that each warehousing robot needs to maintain includes:
(1) Task bundle set: task packageRepresents the set of tasks assigned to robot i, |b i The I represents the length of a task package, wherein the tasks are arranged according to the sequence of adding the package;
(2) Execution path list: execution path listRepresents a list of tasks to be performed assigned to robot i, |p i The I represents the length of the list, and the tasks in the list are arranged according to the execution sequence of the robot plan;
(3) Execution time set:t in ∈R + representing a robot execution path list p according to a task i Time to reach each task;
(4) Winner matrix: winning robot matrix Z is N u ×N T A dimension matrix, the elements in the matrix storing the winner numbers of all tasks currently, where Z ij =k means that robot i considers robot k to be the winner of task j; the number Sum of non-negative elements in the j-th column of the matrix Z j Representing the total number of robots assigned to task j;
(5) Winning bid matrix: winning bid matrix byThe rows of the matrix represent all robot identifications, and the columns of the matrix represent different tasks; each element corresponds to the matrix Z one by one and represents the bid of a winner on a winning task; wherein Y is ij =0 means that robot i considers task j to have no winner;
(6) Timestamp set:s in ∈R + the time of the last information exchange between the robot i and the adjacent robot is represented, and the vector is an important index of a conflict resolution stage;
each task area needs to store and update the following data information structure:
(1) Robot bag set:|b m the I represents the length of the bundle package, comprises all robot sets distributed to the task area m, and the robots are arranged according to the sequence of adding the package;
(2) Winning area matrix: matrix Z A Is N a ×N u A dimension matrix, the elements in the matrix storing winning zone numbers of all current robots, whereinIndicating that task area m considers task area n to be the winner of robot i;
(3) Winning zone bid matrix: from the following componentsRepresenting, rows of the matrix represent all task area identifications, and columns of the matrix represent different robots; each element and matrix Z A One-to-one correspondence, representing the bidding of the winning task area on the winning robot; wherein->Indicating that task area m considers robot i to have no winner;
(4) Timestamp set: the time of the latest information exchange between the task area m and the adjacent task area is represented, and the vector is an important index of a conflict resolution stage;
the tasks comprise a single task and a double task, and the data information structures required to be maintained are respectively as follows:
(1) Single task: multi-robot bag setRepresenting a set of multiple robots assigned to task j, wherein +.>A robot that is beaten;
(2) Double-tasking: double robot bag setRepresenting a set of dual robots assigned to task j, where only two robots can be stored at a time in a package;
the position of all robots I e I is known as (x i ,y i ,z i ) Speed and fuel consumption per unit time are v i And f i The method comprises the steps of carrying out a first treatment on the surface of the The position (x) of all tasks J e J j ,y j ,z j ) Time windowDiscount factor lambda j Are known; and knowing the specific task T contained by all task areas m.epsilon.M m The method comprises the steps of carrying out a first treatment on the surface of the The total profit value obtained by the robot i performing the assigned task is denoted +.>In order to ensure the efficiency of task allocation, the task allocation of the warehousing robots is realized in a layered mode, namely, all the warehousing robots are allocated to each task area, and then specific tasks in the task areas are allocated to the warehousing robots;
step 3: distributing storage robots among the task areas; the robot allocation of the task area is divided into three steps of task area parameter generation, robot packet construction and area conflict resolution; the specific allocation flow for the task area M epsilon M is as follows:
(1) According to the task list T in the task area m m Generating task area parameters, including in particular the position (x m ,y m ,z m ) Time windowDiscount factor lambda m Value C m And a fixed value C m0 The method comprises the steps of carrying out a first treatment on the surface of the Wherein->
Andrespectively T m Is->And->Minimum value->Minimum value corresponds to lambda of task j And (x) j ,y j ,z j ) I.e. lambda of the task area m And (x) m ,y m ,z m ),C m Is T m All C in (3) j Average value of the sum, C m0 Then is T m All C in (3) j0 An average value of the accumulated sums;
(2) Carrying out robot bag construction on the task area m; for robot i not in the task area m bundle,sequentially calculating the benefit value C assigned to the mission region m mi The method comprises the steps of carrying out a first treatment on the surface of the Will benefit value C mi Corresponding +.>Comparing if for the same robot C mi Is greater than->Then set bid flag +.>Otherwise->SelectingRobot corresponding to maximum value of (2), bundle added to task m +.>Updating matrix Z simultaneously A Sum matrix Y A
(3) Conflict resolution is carried out between task areas; after the task area M epsilon M receives the sharing information of the task area n epsilon M, the data information structure updating action rule is as follows:
updating: will beThe value of +.>Will->The value of +.>
Resetting: will beReset to-1, ">Resetting to-1;
leaving:and->No change is made;
the two steps of robot bag construction of the task area and conflict solution between areas are iterated repeatedly until all robots are distributed, and a robot set obtained by distributing the task area m is expressed as R m
Step 4: constructing a task package set by all storage robots in the task area; the task package set construction flow of the warehousing robot i in the task area m is as follows:
(1) Cycling through the robot set R in the task area m m Taking out robots i epsilon R in sequence m If |b i |<L i Turning to the step (2), otherwise traversing the next robot;
(2) For task list T in task area m m Consider an execution path list p i Not yet contain tasks and new tasks add p i Two conditions of the likelihood of each position in the database; then, all the tasks j E meeting the conditions are fetchedT m The sequential computing tasks j are inserted at p i Edge benefit value obtained at position n:
if C is present at this time ij The value is larger than 0, the step (3) is switched to, otherwise, the step (1) is returned to;
(3) Considering that each task j in the task area m has priority V j Selecting C with the largest product max =C ij ×V j Task j corresponding to > 0; if num is j =1, the task is of single task type, turning to step (4); if num is j The task is of a double-task type and is converted into the step (5);
(4) Single task case: will benefit value C ij Y corresponding to the current winning bid matrix ij Comparing if the benefit value C is for the same task ij Greater than Y ij Setting an auction flag h ij =1 go to step (6), otherwise h ij =0 to step (7);
(5) Double-task case: if num j >Sum j H is then ij =1 go to step (6); if num j =Sum j And C ij A minimum bid value larger than the current task j is h ij =1 go to step (6); if the two conditions are not satisfied, the robot i gives up the task j, namely h ij =0 to step (7);
(6) The best task is denoted as J i =argmax j C max ×h ij Task J i In the execution path list p i The best position in (a) is expressed asMeanwhile, updating a data information structure corresponding to the robot i:
(7) Robotic i bid C for task j ij Resetting to be-1, and returning to the step (2);
(8) Robot set R in task area m m After the traversing is finished, jumping to the step (5);
step 5: conflict resolution is carried out among the storage robots in the task area; synchronous communication mechanism is adopted among all robots in the task area m, and the warehousing robot i epsilon R m Receiving k epsilon R of storage robot m After sharing information, carrying out conflict resolution;
in the conflict resolution stage, after one interaction is completed between robots, the time stamp information and the time stamp s are updated i The updated formula of (c) is as follows:
wherein g ik =1 means that there is a communication link between robots i and k, otherwise g ik =0; each node has a self-connecting edge, g ii =1;τ r Is the message reception time; the specific conflict resolution flow is as follows:
(1) Cycling through all conflicting tasks T in task area m m The conflicting tasks j epsilon T are sequentially fetched m The method comprises the steps of carrying out a first treatment on the surface of the If num is j =1, the conflicting task is of single task type, turning to step (2); if num is j The conflict task is of a double-task type and is converted into the step (3);
(2) Single task case: robot i directly takes one of three possible actions according to the received allocation information, and then proceeds to step (6):
updating: y is set to kj Is assigned to Y ij Will Z kj Is assigned to Z ij
Resetting: y is set to ij Reset to-1, Z ij Resetting to-1;
leaving: y is Y ij And Z ij No change is made;
(3) Double-task case: taking into account the otherRobot q epsilon R m The specific conflict resolution is divided into two parts: the first part updates the self-stored information of the robot i to be the latest, and the step (4) is performed; the second part is that the robot i adjusts own information and the step (5) is converted;
(4) Robot i compares its bidding information with robot k, s kq >s iq Indicating that robot k distributes information update; the robot i stores the latest data and confirms that the stored information is the latest at present;
(5) Setting that sender k thinks that robot q performs conflicting task j, while receiver i thinks that robot q does not perform this task, and satisfies i not equal to q and s kq >s iq Two conditions; if num j >Sum j Then update Y ij =Y kj ,Z ij =Z kj The method comprises the steps of carrying out a first treatment on the surface of the If num j =Sum j And Y is qj Minimum bid value greater than current task jY is then rj =-1,Z rj =-1,Y ij =Y kj ,Z ij =Z kj
(6) Robot i updates timestamp information s i Returning to the step (1);
(7) When conflicting task set T in task area m m After the traversing is finished, jumping back to the step (4);
the two steps of task package construction of the robots and conflict solution among the robots are iterated repeatedly until the interior of each task area converges to a conflict-free task allocation result, and therefore multi-area-based hierarchical task allocation is achieved.
CN202111352698.XA 2021-11-16 2021-11-16 Multi-robot task allocation method based on consistency packet algorithm Active CN114089755B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111352698.XA CN114089755B (en) 2021-11-16 2021-11-16 Multi-robot task allocation method based on consistency packet algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111352698.XA CN114089755B (en) 2021-11-16 2021-11-16 Multi-robot task allocation method based on consistency packet algorithm

Publications (2)

Publication Number Publication Date
CN114089755A CN114089755A (en) 2022-02-25
CN114089755B true CN114089755B (en) 2024-02-02

Family

ID=80300809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111352698.XA Active CN114089755B (en) 2021-11-16 2021-11-16 Multi-robot task allocation method based on consistency packet algorithm

Country Status (1)

Country Link
CN (1) CN114089755B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115660386A (en) * 2022-12-13 2023-01-31 北京云迹科技股份有限公司 Robot scheduling reward method and device, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033536A (en) * 2010-12-22 2011-04-27 大连理工大学 Scheduling, organization and cooperation system and method for multi-robot system
CN105069530A (en) * 2015-08-13 2015-11-18 肇庆学院 Multi-robot task allocation method based on multi-objective optimization
CN107895225A (en) * 2017-11-01 2018-04-10 北京邮电大学 A kind of cooperation type method for allocating tasks of multi-Agent Lothrus apterus
CN109886574A (en) * 2019-02-20 2019-06-14 哈尔滨工程大学 A kind of multi-robot Task Allocation based on improvement threshold method
CN110070235A (en) * 2019-05-01 2019-07-30 湖南大学 A kind of flexible dispatching method of multiple mobile robot
EP3685968A1 (en) * 2019-01-22 2020-07-29 Bayerische Motoren Werke Aktiengesellschaft Robot motion planning in manufacturing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202146189A (en) * 2020-01-22 2021-12-16 美商即時機器人股份有限公司 Configuration of robots in multi-robot operational environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033536A (en) * 2010-12-22 2011-04-27 大连理工大学 Scheduling, organization and cooperation system and method for multi-robot system
CN105069530A (en) * 2015-08-13 2015-11-18 肇庆学院 Multi-robot task allocation method based on multi-objective optimization
CN107895225A (en) * 2017-11-01 2018-04-10 北京邮电大学 A kind of cooperation type method for allocating tasks of multi-Agent Lothrus apterus
EP3685968A1 (en) * 2019-01-22 2020-07-29 Bayerische Motoren Werke Aktiengesellschaft Robot motion planning in manufacturing
CN109886574A (en) * 2019-02-20 2019-06-14 哈尔滨工程大学 A kind of multi-robot Task Allocation based on improvement threshold method
CN110070235A (en) * 2019-05-01 2019-07-30 湖南大学 A kind of flexible dispatching method of multiple mobile robot

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于分布式拍卖算法的多无人机分组任务分配;许可 等;信息与控制;第47卷(第03期);341-346 *

Also Published As

Publication number Publication date
CN114089755A (en) 2022-02-25

Similar Documents

Publication Publication Date Title
LU503043B1 (en) Smart city dynamic cold-chain logistics scheduling method based on ant colony optimization algorithm
US5295065A (en) Resource-lot association coordinator
CN106802553B (en) A kind of railway locomotive operation control system hybrid tasks scheduling method based on intensified learning
CN110222005A (en) Data processing system and its method for isomery framework
CN109409773B (en) Dynamic planning method for earth observation resources based on contract network mechanism
CN105974891B (en) A kind of mold production process self-adaptation control method based on dynamic billboard
CN114089755B (en) Multi-robot task allocation method based on consistency packet algorithm
CN112633654A (en) Multi-unmanned aerial vehicle task allocation method based on improved cluster expansion consistency bundle algorithm
CN114154819A (en) Task similarity-based multi-AGV distributed scheduling method and system
Bozanta et al. Courier routing and assignment for food delivery service using reinforcement learning
CN111798097B (en) Autonomous mobile robot task allocation processing method based on market mechanism
WO2024077819A1 (en) Age-of-information optimized scheduling method for multi-sensor multi-server industrial internet of things
CN109144749A (en) A method of it is communicated between realizing multiprocessor using processor
CN112836974A (en) DQN and MCTS based box-to-box inter-zone multi-field bridge dynamic scheduling method
Hu et al. FlowTime: Dynamic scheduling of deadline-aware workflows and ad-hoc jobs
Xu et al. Living with artificial intelligence: A paradigm shift toward future network traffic control
Aslan Mathematical model and a variable neighborhood search algorithm for mixed-model robotic two-sided assembly line balancing problems with sequence-dependent setup times
Chen et al. A cluster first strategy for distributed multi-robot task allocation problem with time constraints
CN107423810B (en) Job shop scheduling method and system based on camel group algorithm
Leong et al. A multi-agent algorithm for vehicle routing problem with time window
Chen et al. Nectar-an agent-based dynamic task allocation algorithm in the UAV swarm
CN109886574B (en) Multi-robot task allocation method based on improved threshold method
Zhang et al. Distributed task allocation with critical tasks and limited capacity
CN102646057B (en) Compound event responding method and system facing to real-time sensing environment
Yang et al. A resource-constrained distributed task allocation method based on a two-stage coalition formation methodology for multi-UAVs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant