Parking lot dynamic charging task allocation method and device for multi-robot system

By regional division of parking lots and forming alliances between charging robots, combined with auction mechanisms and consensus decisions, the problem of low task allocation efficiency in multi-robot collaborative control is solved, and more efficient and robust task allocation and completion are achieved.

CN118052401BActive Publication Date: 2025-04-04NANKAI UNIV

Patent Information

Application Number
CN202410181033.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-18
Publication Date
2025-04-04
Estimated Expiration
2044-02-18

AI Technical Summary

Technical Problem

In large parking lots or scenarios where user requests are high, the capability of a single electric vehicle charging robot is insufficient, multiple charging robots need to cooperate to improve task completion efficiency, and the charging needs of users are unpredictable, and an efficient task allocation method is needed to improve the robustness of the system and task completion rate.

Method used

The parking lot is divided into areas based on a predetermined clustering algorithm to form multiple subtask areas, each subtask area corresponds to a subtask. The charging robot selects and joins the alliance where the subtask with the largest utility value is located by calculating the utility value of each subtask, and assigns the task to the corresponding robot through the auction mechanism and consensus decision.

Benefits of technology

It improves the flexibility and task allocation efficiency of multi-robot systems, reduces the centralization of computing load, enhances the system's robustness and dynamic task processing capabilities, and can better respond to dynamic and reassign tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118052401B_ABST
    Figure CN118052401B_ABST
Patent Text Reader

Abstract

The present application provides a method and device for allocating dynamic charging tasks in a parking lot of a multi-robot system, the method comprising: dividing the parking lot into regions based on a predetermined clustering algorithm, each subtask region corresponds to a predetermined subtask, and the charging robots used to complete tasks in the same subtask region are in the same alliance; each charging robot calculates the utility value that can be obtained by executing each subtask; for each charging robot, selects to join the alliance where the subtask with the largest utility value is located, and publishes the first alliance information to the adjacent charging robot; receives the second alliance information published by the adjacent charging robot, and updates the first alliance information based on the second alliance information; when each robot no longer needs to update its own alliance information, determines the corresponding relationship between each robot and each task at the current time, and allocates each task to the corresponding robot. The present application improves the robustness and efficiency of task allocation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of multi-robot collaborative control, and in particular to a method and device for allocating dynamic charging tasks in a parking lot of a multi-robot system. Background Art

[0002] With the rapid development of robots and charging technology, electric vehicle charging robots, as a new type of intelligent charging equipment, can provide a new idea for solving the problem of electric vehicle range anxiety. They have the following advantages: (1) improving the user's charging experience; (2) not being affected by the installation site; (3) solving the problem of oil trucks occupying space. However, in practical applications, the capabilities of a single electric vehicle charging robot are limited. For large parking lots or scenarios with high user request frequencies, multiple charging robots are often required to work together to improve task completion efficiency. In addition, due to the different types and losses of electric vehicle batteries, users' actual needs are often unpredictable or uncertain, which requires an efficient task allocation method to improve the robustness of the system and the completion rate of tasks. Furthermore, since user requests appear randomly and dynamically, this requires the multi-robot system to have good dynamic task processing capabilities.

[0003] At present, the methods for solving the dynamic multi-robot task allocation problem mainly include auction-based and optimization-based methods. The optimization-based method can heuristically model the dynamic task allocation problem and solve the optimal or suboptimal solution of the problem based on performance indicators such as task completion rate, task completion time and cost. However, the optimization-based method often consumes a lot of computing resources and requires complete information in the system, and the efficiency of task allocation is low. Summary of the invention

[0004] The present application provides a method and device for allocating dynamic charging tasks in a parking lot of a multi-robot system, so as to solve the problems in the above-mentioned background technology.

[0005] In a first aspect, the present application provides a method for allocating dynamic charging tasks in a parking lot of a multi-robot system, comprising:

[0006] The parking lot is divided into regions based on a predetermined clustering algorithm to obtain a plurality of subtask regions, each of which corresponds to a predetermined subtask, and charging robots used to complete tasks in the same subtask region are determined to be in the same alliance;

[0007] For each of the subtasks, each charging robot calculates a utility value that can be obtained by performing each of the subtasks;

[0008] For each of the charging robots, select to join the alliance where the subtask with the largest utility value is located, and publish the first alliance information to the adjacent charging robots, wherein the first alliance information includes a first winning bid list, a first bid value list, a first winner list and a first alliance structure, and the first alliance information is the alliance information stored for each of the charging robots;

[0009] Receive second alliance information published by an adjacent charging robot, and update the first alliance information based on the second alliance information, where the second alliance information is alliance information stored by the adjacent charging robot of each charging robot;

[0010] When each robot no longer needs to update its own alliance information, the corresponding relationship between each robot and each task at the current time is determined, and each task is assigned to the corresponding robot.

[0011] Optionally, the set of robots is The task set is Then the i-th (i=1, 2, ..., N) robot can be represented by the following octet:

[0012]

[0013] In the formula, p i Represents robot r i Current location information; refers to the robot i The initial position information is the position information of its charging area; max represents the maximum amount of electricity that the robot can store; θ∈(0,1) is the minimum power threshold of the robot; θ·e max is the minimum power requirement of the robot; ξ is the energy consumption per unit distance of the robot; Represents robot r i The current remaining power. If the current remaining power is lower than the minimum power requirement, the robot will abandon the current task and return to the charging point. rt refers to the length of time the robot stays at the task point after successfully completing the task. v refers to the average moving speed of the robot. Task t j It can be represented by the following five-tuple:

[0014]

[0015] In the formula, p j Represents task t j The location information, μ j and Respectively represent tasks t j The mean and variance of the demand, Indicates the real demand of vehicles to be charged, tt jIndicates the time when the customer requested service.

[0016] Optionally, the predetermined clustering algorithm is an affinity propagation clustering algorithm.

[0017] Optionally, group the tasks Divide into multiple task subsets, namely:

[0018]

[0019] Where K represents the number of subtask areas,

[0020] Optionally, when each robot no longer needs to update its own alliance information, after determining the correspondence between each robot and each task at the current time and assigning each task to the corresponding robot, the method further includes:

[0021] When the charging robot successfully completes the task, checking the remaining power of the robot;

[0022] When the remaining power is greater than a preset minimum power, the robot will wait at the task point for a predetermined period of time.

[0023] Optionally, when each robot no longer needs to update its own alliance information, after determining the correspondence between each robot and each task at the current time and assigning each task to the corresponding robot, the method further includes:

[0024] When the charging robot fails to perform the task, the task is published to other robots in the alliance through auction;

[0025] If no robot in the alliance wins the bid for the task, the robot sends the task to the task coordinator so that the task coordinator reallocates the task as a new task.

[0026] In a second aspect, the present application provides a parking lot dynamic charging task allocation device for a multi-robot system, comprising:

[0027] A division module, used to divide the parking lot into regions based on a predetermined clustering algorithm to obtain a plurality of subtask regions, each of which corresponds to a predetermined subtask, and charging robots that complete tasks in the same subtask region are determined to be in the same alliance;

[0028] A calculation module, configured to calculate, for each of the subtasks, a utility value that can be obtained by each charging robot performing each of the subtasks;

[0029] A selection and publishing module is used for, for each of the charging robots, selecting to join the alliance where the subtask with the largest utility value is located, and publishing first alliance information to adjacent charging robots, wherein the first alliance information includes a first winning bid list, a first bid value list, a first winner list, and a first alliance structure, and the first alliance information is alliance information stored for each of the charging robots;

[0030] A receiving and updating module, configured to receive second alliance information released by an adjacent charging robot, and update the first alliance information based on the second alliance information, wherein the second alliance information is alliance information stored for the adjacent charging robot of each charging robot;

[0031] The allocation module is used to determine the correspondence between each robot and each task at the current time and allocate each task to the corresponding robot when each robot no longer needs to update its own alliance information.

[0032] In a third aspect, an embodiment of the present application provides a computer electronic device, including:

[0033] One or more processors;

[0034] A memory for storing one or more programs;

[0035] When one or more programs are executed by one or more processors, the one or more processors are enabled to execute the method for implementing the above-mentioned first aspect.

[0036] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and the computer program is used to implement the method of the first aspect above.

[0037] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which implements the method of the first aspect when executed by a processor.

[0038] The method for allocating dynamic charging tasks in a parking lot of a multi-robot system provided in an embodiment of the present application first divides the parking lot into multiple different sub-task areas; further, the robots are divided into multiple different alliances based on a consensus auction method, each alliance executes a subset of tasks, and the robots within the alliance have stronger collaboration capabilities. Based on the auction mechanism, a distributed multi-robot system is constructed to improve the flexibility of the multi-robot system and avoid the problem of the centralized multi-robot system relying on the central node. In addition, the consistency of the multi-robot system is ensured through the decision-making and consensus of the auction mechanism. For the prior art, task allocation is performed based on an optimization method, and the optimization method often consumes a large amount of computing resources. Therefore, compared with the prior art, the present application distributes the computing load to each robot, and realizes distributed multi-robot task allocation through mutual communication and coordination. It has better responsiveness to dynamic tasks and reallocated tasks, and improves the robustness and efficiency of task allocation. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0040] Figure 1 An implementation environment architecture diagram of a method for allocating dynamic charging tasks in a parking lot of a multi-robot system provided in an embodiment of the present application;

[0041] Figure 2 A flowchart of a method for allocating dynamic charging tasks in a parking lot for a multi-robot system provided in an embodiment of the present application;

[0042] Figure 3 A flowchart of another method for allocating dynamic charging tasks in a parking lot of a multi-robot system provided in an embodiment of the present application;

[0043] Figure 4 For the auction consensus process;

[0044] Figure 5 For the redistribution process;

[0045] Figure 6 The parking lot distribution map;

[0046] Figure 7 This is the parking lot distribution map after division;

[0047] Figure 8The time span for the four algorithms to complete 100 tasks when the number of robots N∈{20,24,28,32};

[0048] Fig. 9 is the time span for the four algorithms to complete the task when the number of tasks M∈{20,40,80,100};

[0049] Fig.10 It is a 1-edge communication topology diagram;

[0050] Fig.11 It is a 3-edge communication topology diagram;

[0051] Fig.12 It is a 5-edge communication topology diagram;

[0052] Fig.13 It is a 7-edge communication topology diagram;

[0053] Fig.14 This is a full-edge communication topology diagram;

[0054] Fig.15 is the time span corresponding to different connectivity;

[0055] Fig.16 A schematic diagram of the structure of a parking lot dynamic charging task allocation device for a multi-robot system provided in an embodiment of the present application;

[0056] Fig.17 It is a structural diagram of a computer system according to an embodiment of the present application. DETAILED DESCRIPTION

[0057] In order to make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application is clearly and completely described below. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work also belong to the scope of protection of the present application. In addition, it should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other in the absence of conflict. The present application will be described in detail below with reference to the drawings and in combination with the embodiments.

[0058] Figure 1 1 is a diagram of the implementation environment of a method for allocating dynamic charging tasks in a parking lot of a multi-robot system according to an embodiment of the present application. Figure 1 As shown, the implementation environment architecture includes: an electric vehicle, an on-board terminal, a task coordinator, multiple charging robots and multiple charging devices.

[0059] Among them, electric vehicles are vehicles to be charged, usually in multiple numbers.

[0060] Among them, the vehicle-mounted terminal is a terminal installed in the electric vehicle, which is used to obtain the current power status of the electric vehicle and display it so that the driver can know the current power status of the electric vehicle in real time.

[0061] Furthermore, the vehicle-mounted terminal is also used to communicate with the task coordinator so as to send a charging request to the task coordinator.

[0062] Among them, the task coordinator is used to receive charging requests sent by the vehicle terminal, generate charging tasks, and then publish the charging tasks to each charging robot at a regular interval.

[0063] Multiple charging robots communicate with the task coordinator to obtain the current charging task, and multiple charging robots can also communicate with each other to exchange information with each other.

[0064] Furthermore, the multiple charging robots also have a moving function so as to move to the side of the vehicle to be charged and charge the vehicle to be charged.

[0065] Among them, multiple charging devices are used to charge multiple charging robots. When the power of the charging robot is used up, the power is replenished through the charging device so that the charging task can be performed again.

[0066] Before describing this application in detail, we first briefly introduce the relevant contents involved in this application:

[0067] There are N homogeneous charging robots in a parking lot. Execute M dynamic uncertain tasks Initially, the maximum energy of each robot is e max , and wait for task requests in its charging area. j After that, the robot i Start executing the task and move to the target point according to the planned path. During the movement, the robot moves r per unit distance. i The energy consumed is ξ; if the robot can complete the task and has sufficient remaining power, it will wait for a period of time at the task point to wait for the arrival of a new task. On the contrary, if the charging robot cannot complete the task, the robot will issue the unfinished task as a new task to other robots and return to its charging area to charge; in order to ensure that the robot has enough energy to return to the charging area to charge after leaving the charging area, the present invention sets the robot r i The minimum energy threshold is θ (satisfying θ∈(0,1)). When the robot’s energy is lower than θ·e maxWhen the robot gives up the current task and immediately returns to the charging area to replenish energy, the robot r i It can be represented by the following octet:

[0068]

[0069] Among them, p i Represents robot r i Current location information; refers to the robot i The initial location information is the location information of its charging area; Represents robot r i The current remaining energy; rt refers to the waiting time at the task point after the robot completes the task, and v refers to the average moving speed of the robot. In addition, considering the uncertainty of parking lot customer requests, the present invention uses random variables to describe customer needs. Then, task t j It can be represented by the following five-tuple:

[0070]

[0071] Among them, p j Represents task t j The location information, μ j and Respectively represent tasks t j The mean and variance of the demand, Indicates the real needs of customers (which can only be known after the robot moves to the target point), tt j Indicates the time when the customer requested service.

[0072] In order to calculate the risk value of the robot completing the task, the present invention quantitatively evaluates the robot r based on the conditional risk value theory. i Complete the task j Risk ij :

[0073]

[0074] Among them, d j Represents task t j The demand is a random variable that obeys a certain probability distribution; Indicates d j The maximum value of Represents robot r i Can be used to perform tasks j The energy is calculated as follows:

[0075]

[0076] Among them, D(pi ,p j ) indicates robot r i Move to task t j The path length;

[0077] Represents the task requirement d j Exceeding the robot's available energy The difference is calculated as:

[0078]

[0079] When the task requires j Exceeds the robot's available energy When , formula (3) can be written in the following integral form:

[0080]

[0081] Where P j (·) represents the random variable d j The probability density function of .

[0082] Considering the constraints that each task can only be assigned to one robot, each robot can only perform one task at a time, and the robot's energy is limited, the multi-robot charging task allocation problem in the parking lot can be described as the following optimization problem:

[0083]

[0084]

[0085]

[0086]

[0087] Among them, x ij ∈{0,1} is a binary decision variable, x ij =1 indicates robot r i Execute Task j , otherwise, it will not be executed; Constraint (8) means that each task can only be assigned to one robot; Constraint (9) means that each robot can only perform one task at a time; Constraint (10) means that the robot's energy must meet the minimum threshold; u ij refers to the robot i Execute Task j The utility that can be obtained is calculated as follows:

[0088] u ij = reward(r i ,tj )-cost ij (11)

[0089] Among them, reward(r i ,t j ) refers to the robot r i Execute Task j Available benefits; cost ij Represents the cost of the robot completing the task.

[0090] The present invention intends to solve the above-mentioned optimization problem based on the method of alliance game and auction mechanism, wherein the alliance game particularly involves hedonic game. Hedonic game is a cooperative alliance game algorithm proposed by Dreze and Greenberg in 1980. Its core idea is that the player's decision-making should not only take into account the maximization of his own utility, but also the maximization of the overall utility of the alliance, thereby promoting win-win cooperation. However, the application of hedonic game in the field of multi-robots is mainly aimed at cooperative scenarios such as multi-robot-single task. Constrained by the capabilities of robots and task characteristics, the multi-robot parking charging task scenario belongs to the single robot-single task scenario (each robot can only perform one task, and one task can only be assigned to one robot). Therefore, how to apply the idea of ​​hedonic game to the multi-robot parking lot charging task scenario to improve the efficiency and success rate of task completion is a key issue. To this end, the present invention proposes solutions from the following aspects.

[0091] Figure 2 It is a flow chart of a method for allocating dynamic charging tasks in a parking lot of a multi-robot system according to an embodiment of the present application. Figure 2 The method shown can be Figure 1 The charging robot in Figure 2 As shown, the method includes the following steps: step 201-step 205:

[0092] Step 201, the parking lot is divided into areas based on a predetermined clustering algorithm to obtain a plurality of subtask areas, each of which corresponds to a predetermined subtask, and charging robots that complete tasks in the same subtask area are determined to be in the same alliance.

[0093] Optionally, the predetermined clustering algorithm may be an affinity propagation (AP) clustering algorithm. Of course, other clustering algorithms may also be used, which is not limited in the embodiments of the present application.

[0094] In a fixed time period, it is assumed that the vehicles to be charged corresponding to each area of ​​the parking lot are fixed, so the charging requests of the vehicles to be charged are also fixed. Therefore, after the parking lot is divided into areas, not only the parking lot is divided into multiple areas, but also the task set of charging tasks is divided into multiple sub-task sets, reducing the complexity of task allocation.

[0095] The subtasks included in each subtask area may be one task or multiple tasks. The tasks in the subtask area are also the charging tasks corresponding to the vehicles to be charged in the subtask area.

[0096] In addition, it should be noted that the area division can be completed by any charging robot, and of course it can also be completed by the task coordinator. The area division is the same and known information for each robot.

[0097] Tasks can be grouped into subtask areas according to which each task belongs. Divide into multiple subsets

[0098]

[0099] Where K represents the number of subtask areas, The present invention assumes that robots that perform tasks in the same task area belong to the same alliance, so the number of robot alliances is K.

[0100] Step 202: For each of the subtasks, each charging robot calculates a utility value that can be obtained by executing each of the subtasks.

[0101] Hedonic coalition games can be played with tuples Indicates that is a set of robots, v represents the coalition characteristic function and satisfies For the Alliance v(S k ) represents the overall benefit of the alliance. Considering the uncertainty of the task, the present invention designs the characteristic function v as follows

[0102]

[0103] in, Indicates that a subset of tasks have been completed All tasks can get rewards; risk ij Represents robot r i Complete the task j The conditional risk value of the alliance increases with the increase of the conditional risk value. Furthermore, according to the principle of fair distribution, the individual benefits that the robot can obtain by completing the task are as follows:

[0104] reward(r i,t j )=v(S k ) / |S k | (14)

[0105] Among them, r i ∈S k , Furthermore, the individual utility (11) can be rewritten as follows

[0106] u ij (S k )=v(S k ) / |S k |-cost ij (15)

[0107] Among them, u ij (S k ) represents r i Join AllianceS k And execute the task t j The utility available.

[0108] Step 203: For each of the charging robots, select to join the alliance where the subtask with the largest utility value is located, and publish the first alliance information to the adjacent charging robots, where the first alliance information includes the first winning bid list, the first bid value list, the first winner list and the first alliance structure.

[0109] The first alliance information is alliance information stored for each of the charging robots.

[0110] Among them, the winning list is a list of tasks corresponding to the charging robot that has published alliance information. The list lists all tasks to be completed, but marks one task that the charging robot needs to complete. For example, the task that needs to be completed is marked as 1, and other tasks are marked as 0.

[0111] Among them, the value list lists all the tasks to be completed, that is, the utility value that the charging robot can obtain after completing each task.

[0112] Among them, the winner list lists all the tasks to be completed and the robots that complete each task, that is, the correspondence between the identifiers of all the tasks to be completed and the identifiers of the charging robots.

[0113] Among them, the alliance structure is the number of alliances at the current time and the charging robots included in each alliance.

[0114] Step 204: Receive second alliance information published by an adjacent charging robot, and update the first alliance information based on the second alliance information.

[0115] The second alliance information is the alliance information stored for the adjacent charging robots of each charging robot. The further contents of the second alliance information are similar to those of the first alliance information and will not be described in detail here.

[0116] At the very beginning after each task is released, since each task has not yet matched the corresponding charging robot, each alliance is an empty alliance. When each charging robot selects its preferred alliance, the alliance structure begins to change. Furthermore, each charging robot publishes alliance information to adjacent charging robots and receives alliance information published by adjacent charging robots. When the same task is assigned to two different charging robots, the charging robot with a larger utility value is selected to perform the task. Therefore, the charging robots constantly choose to join or exit a certain alliance, and finally reach equilibrium and obtain a stable alliance structure.

[0117] Optionally, the equilibrium reached by the alliance may be a Nash equilibrium. For information on the Nash equilibrium, reference may be made to the relevant prior art, which will not be described in detail in this application.

[0118] Step 205: When each robot no longer needs to update its own alliance information, the corresponding relationship between each robot and each task at the current time is determined, and each task is assigned to the corresponding robot.

[0119] The goal of the hedonic game is for players (the charging robot in this application) to continuously choose to join or exit a certain alliance based on the current alliance structure information and the preference relationship for the alliance, and finally reach a Nash equilibrium and obtain a stable alliance structure. In a multi-robot system, especially a distributed multi-robot system, how to ensure stable communication between robots is a key issue in the application of hedonic games in multi-robot systems. In order to solve this problem, the present invention adopts a selfish preference order to represent the robot's preference relationship for tasks and alliances, and adopts an auction mechanism to achieve decision-making and consensus among multiple robots. If the robot r i The currently selected task is t m , there exists a task t l (Currently executing task t l The robot is r j ),satisfy and Then for task t l and t m , robot i More preference for task selection l And join the alliance Right now Where I(t l ) represents task t l The number of the subtask set to which it belongs is Let the M-dimensional vector xlisti ∈{0,1} M Represents robot r i The winning list of xlist ij =1 indicates robot r i Winning bid task j ; M-dimensional vector Represents robot r i A list of scalar values, where ylist ij The robot stores the task t j The maximum value of (using the utility value to label the robot's task); M-dimensional vector Represents robot r i A list of utilities, where utility ij Denotes the robot selection task t j And join the alliance The utility value of Represents robot r i The winner list, where winlist ij Represents the winning task t j Robot;cs i Represents robot r i The alliance structure information is stored locally. The auction consensus is divided into two stages: decision-making and consensus. In the decision-making stage, the robot r i (i=1,2,...,N) First, determine whether there is a winning task according to the winning list; if there is no winning task, robot r i Calculate the utility of executing each task i , select the task with the greatest preference and join the alliance to which it belongs in is an indicator function, which is 1 if its argument is true, otherwise 0; further, according to the selected task and alliance, update its label list ylist i 、Winner list winlist i and alliance structure cs i , and the decision information <ylist i ,winlist i ,cs i >Publish to neighboring robots. In the consensus phase, the robot will accept the decision information published by the neighboring robot, and update its bid value list, winner list, bid winning list and alliance structure according to the decision information of the neighboring robot. Each robot repeats the decision and consensus phase multiple times, and finally reaches a task consensus and forms a stable alliance partition. The overall process is as follows: Figure 4 shown.

[0120] The method for allocating dynamic charging tasks in a parking lot of a multi-robot system provided in an embodiment of the present application first divides the parking lot into multiple different sub-task areas; further, the robots are divided into multiple different alliances based on a consensus auction method, each alliance executes a subset of tasks, and the robots within the alliance have stronger collaboration capabilities. Based on the auction mechanism, a distributed multi-robot system is constructed to improve the flexibility of the multi-robot system and avoid the problem of the centralized multi-robot system relying on the central node. In addition, the consistency of the multi-robot system is ensured through the decision-making and consensus of the auction mechanism. For the prior art, task allocation is performed based on an optimization method, and the optimization method often consumes a large amount of computing resources. Therefore, compared with the prior art, the present application distributes the computing load to each robot, and realizes distributed multi-robot task allocation through mutual communication and coordination. It has better responsiveness to dynamic tasks and reallocated tasks, and improves the robustness and efficiency of task allocation.

[0121] Due to the uncertainty of the amount of power required for the charging task and the limited amount of power that the mobile robot can carry, the charging robot may or may not complete the current charging task. Figure 3 and Figure 5 After step 205, the method further includes steps 206 and 207:

[0122] Step 206: After the charging robot successfully completes the task, check the remaining power of the robot.

[0123] Among them, the robot successfully completes the task when it moves to the task point and, after interacting with the user, determines whether the robot's available energy meets the user's needs. If so, it means success; if not, the robot will fail to perform the task.

[0124] Step 207: When the remaining power is greater than the preset minimum power, the robot stays at the task point for a predetermined period of time, waiting for a request for a new task.

[0125] When the robot wins a new task during the waiting process, it directly goes to the new task point to perform the task; if it does not win a new task within the predetermined time period, it returns to the charging area to charge.

[0126] Reducing the number of times the charging robot moves not only improves the efficiency of task completion, but also reduces the robot's power consumption, thereby achieving the goal of saving energy.

[0127] Alternatively, see Figure 3 and Figure 5 After step 205, the method further includes steps 208 and 209:

[0128] Step 208: When the charging robot fails to execute the task, the task is published to other robots in the alliance through auction.

[0129] Among them, failure to execute the task means that the remaining power of the robot does not meet the user's needs (that is, the power is lower than the user's needs). At this time, the robot will charge all the remaining available power (the remaining available power refers to the current remaining power of the robot minus the minimum power requirement to ensure that the robot will return safely) to the user. At this time, the user's needs still cannot be met, and this demand will be sent as a new task to other robots in the alliance, or to the task coordinator.

[0130] Since robots in the same alliance have higher collaboration, unfinished tasks can be released to the charging robots in the alliance first.

[0131] Step 209: If no robot in the alliance wins the bid for the task, the robot sends the task to the task coordinator so that the task coordinator reallocates the task as a new task.

[0132] Of course, if a robot in the alliance wins the bid for the task, the robot that wins the bid will complete the task. The "alliance first, then the whole" reallocation mechanism improves the efficiency of task completion.

[0133] In addition, it should be noted that the task coordinator issues a charging task once every predetermined time interval, that is, within the predetermined time interval, the task coordinator receives the charging request sent by the vehicle to be charged, and when the predetermined time interval is reached, the task coordinator issues the charging request received within the predetermined time interval to the charging robot. Thus, each charging robot repeats the process of steps 201 to 209 once every predetermined time interval to respond to the task issued by the task coordinator.

[0134] When the task allocation is completed, path planning can be carried out, that is, planning the path for the winning robot to move from the current position to the task point. When the path planning is completed, the charging robot arrives at the task point according to the planned path to perform the task.

[0135] Optionally, the present application uses the A* algorithm to calculate the shortest path between the winning robot and the task point. The shortest path enables the robot to quickly reach the task, thereby reducing the energy cost and time cost consumed during the robot's movement, and using more power to perform the task.

[0136] In addition, there may be dynamically uncertain moving obstacles in the parking lot, such as moving vehicles. The present invention uses a dynamic window method to perform real-time local path planning so that the robot can avoid obstacles during movement and ensure the safety of the robot.

[0137] In this embodiment, the Figure 6 The parking lot distribution diagram shown in the figure is used to verify the effectiveness of the multi-robot parking lot charging task allocation method proposed in the present invention. The parking lot size is 66.0m×47.6m, and the number of parking spaces in the parking lot is 106. In order to simulate the real task scenario, the present invention sets the user request time interval to follow the uniform distribution, that is, △t~U(5,16), and the number of users requesting tasks each time follows the uniform distribution n~U(1,13). The distribution of user demand has 6 types as shown in Table 1 below, and the maximum user demand is 100kW·h. In addition, the specific parameters of the robot are shown in Table 2 below.

[0138] Table 1 Distribution of different types of user needs

[0139]

[0140] Table 2 Specific parameters of the robot

[0141]

[0142]

[0143] Considering that the robot can learn the specific requirements of the task after arriving at the task point and that the unfinished tasks in the reallocation process can be added as new tasks to the next round of auction, this embodiment is designed to complete the alliance task All tasks in the game can earn you rewards for

[0144]

[0145] in,

[0146]

[0147] In order to reduce the complexity of the task, this embodiment first uses the AP algorithm to Figure 6 The parking lot distribution map shown in the figure is clustered and the inverse of the path length between parking spaces is used as the similarity judgment. After clustering, the parking lot can be divided into 7 sub-areas as follows: Figure 7 As shown, the task set Divided into 7 subtask sets.

[0148] In order to verify the effectiveness of the Coalition Game-Based Auction Algorithm (CGBAA) proposed in the present invention under different robot numbers, this embodiment sets the number of robots N∈{20, 24, 28, 32} and randomly generates M=100 tasks. By comparing the traditional consensus-based auction distributed algorithm (CBAA), the Hungarian centralized algorithm, and the Gurobi linear programming solver-based centralized algorithm, the experiment is repeated ten times. The time span for completing 100 tasks is as follows: Figure 8 The average time span of tasks is shown in Table 3, and the task reallocation rate is shown in Table 4.

[0149] Table 3 Average time span for completing tasks

[0150]

[0151] Table 4 Task reallocation rate (%)

[0152]

[0153]

[0154] from Figure 8 As can be seen from Table 3, compared with the centralized Hungarian and Gurobi algorithms, the CGBAA algorithm proposed in the present invention has a longer time span to complete tasks, because the centralized algorithm can find the optimal or suboptimal task allocation method through global information. However, the centralized method relies on the calculation of the central node and has high requirements on the computing power of the central node. In addition, compared with the traditional CBAA distributed algorithm, the CGBAA algorithm proposed in the present invention has a shorter time span to complete tasks, which can effectively improve the efficiency of task completion. The time to complete 100 tasks is reduced by about 10% compared with CBAA.

[0155] In addition, from the task reallocation rate provided in Table 4, it can be seen that due to the use of conditional risk value theory to quantify the uncertainty of task requirements, the reallocation rate of the CGBAA algorithm that completes 100 tasks is lower than that of CBAA, Hungarian and Gurobi, which shows that the CGBAA algorithm can effectively reduce the impact of task requirement uncertainty on task allocation results.

[0156] To further verify the scalability of the CGBAA algorithm, this example sets the number of robots N = 32 and randomly generates M∈{20,40,80,100} tasks. The CBAA, CGBAA, Hungarian, and Gurobi algorithms are compared. The experiment is repeated ten times. The time span to complete all tasks is as follows: Fig. 9 As shown. Fig. 9 It can be seen that when the number of tasks M = 20 or M = 40, the time span for the CGBAA algorithm to complete all tasks is the shortest. This is because the CGBAA algorithm can effectively reduce the impact of task uncertainty on the allocation results; when the number of tasks M = 80 or M = 100, compared with the traditional distributed algorithm CBAA, the CGBAA algorithm still has good allocation capabilities.

[0157] In order to further verify the performance of the CGBAA algorithm under different communication topologies, this embodiment adopts Figure 10-Figure 14 The five different communication topologies shown in the figure verify the performance of 24 robots completing 100 random tasks. Fig.10 It is a network structure with a connectivity of 1. It is the simplest communication graph that ensures cooperation between robots. Fig.14 It means that each robot can communicate with other robots. It is a fully connected communication graph. The experimental results are as follows Fig.15 As shown. Fig.15 It can be seen that even in a 1-edge communication structure, the multi-robot system using the CGBAA algorithm can still complete all tasks, but when the connectivity is low, the multi-robot system is less robust to communication failures, which will result in a longer task completion time. As the connectivity increases, the multi-robot system will be more robust to communication errors and more efficient in completing tasks, but at the same time the network structure will become more complex, with higher requirements for communication bandwidth and higher communication costs. Therefore, how to balance communication costs and control performance requires considering the available resources in practical applications.

[0158] Fig.16 1 is a block diagram of a parking lot dynamic charging task allocation device for a multi-robot system according to an embodiment of the present application, and the device is configured in the charging robot. Fig.16 As shown, the device comprises:

[0159] A division module 401 is used to divide the parking lot into regions based on a predetermined clustering algorithm to obtain a plurality of subtask regions, each of which corresponds to a predetermined subtask, and charging robots that complete tasks in the same subtask region are determined to be in the same alliance;

[0160] A calculation module 402 is used for each charging robot to calculate the utility value that can be obtained by executing each subtask;

[0161] A selection and publishing module 403 is used for, for each of the charging robots, selecting to join the alliance where the subtask with the largest utility value is located, and publishing first alliance information to adjacent charging robots, wherein the first alliance information includes a first winning bid list, a first bid value list, a first winner list, and a first alliance structure, and the first alliance information is alliance information stored for each of the charging robots;

[0162] A receiving and updating module 404 is configured to receive second alliance information released by an adjacent charging robot, and update the first alliance information based on the second alliance information, where the first alliance information is alliance information stored for each of the charging robots;

[0163] The determination allocation module 405 is used to determine the correspondence between each robot and each task at the current time and allocate each task to the corresponding robot when each robot no longer needs to update its own alliance information.

[0164] Optionally, the set of robots is The task set is Then the i-th (i=1, 2, ..., N) robot can be represented by the following octet:

[0165]

[0166] In the formula, p i Represents robot r i Current location information; refers to the robot i The initial position information is the position information of its charging area; max represents the maximum amount of electricity that the robot can store; θ∈(0,1) is the minimum power threshold of the robot; θ·e max is the minimum power requirement of the robot; ξ is the energy consumption per unit distance of the robot; Represents robot r i The current remaining power. If the current remaining power is lower than the minimum power requirement, the robot will abandon the current task and return to the charging point. rt refers to the predetermined waiting time at the task point after the robot successfully completes the task and the remaining power is greater than the minimum power requirement. v refers to the average moving speed of the robot. Task t j It can be represented by the following five-tuple:

[0167]

[0168] In the formula, p j Represents task t j The location information, μ j and Respectively represent tasks t j The mean and variance of the demand, Indicates the real demand of vehicles to be charged, tt j Indicates the time when the customer requested service.

[0169] Optionally, the predetermined clustering algorithm is an affinity propagation clustering algorithm.

[0170] Optionally, group the tasks Divide into multiple task subsets, namely:

[0171]

[0172] Where K represents the number of subtask areas,

[0173] Optionally, the determining allocation module 405 is further configured to:

[0174] When the charging robot successfully completes the task, checking the remaining power of the robot;

[0175] When the remaining power is greater than the preset minimum power, the robot will stay at the task point for a predetermined period of time, waiting for a request for a new task.

[0176] Optionally, the determining allocation module 405 is further configured to:

[0177] When the charging robot fails to perform the task, the task is published to other robots in the alliance through auction;

[0178] If no robot in the alliance wins the bid for the task, the robot sends the task to the task coordinator so that the task coordinator reallocates the task as a new task.

[0179] In addition, it should be noted that for the relevant contents in the device embodiment, please refer to the method embodiment and will not be repeated here.

[0180] Fig.17 5 is a schematic diagram of the structure of an electronic device or computer system 500 shown in an embodiment of the present application, wherein the computer system includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage portion into a random access memory (RAM) 503. Various programs and data required for system operation are also stored in RAM 503. CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0181] The following components are connected to the I / O interface 505: an input section 506 including a keyboard, a mouse, etc.; an output section 507 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 508 including a hard disk, etc.; and a communication section 509 including a network interface card such as a LAN card, a modem, etc. The communication section 509 performs communication processing via a network such as the Internet. A drive is also connected to the I / O interface 505 as needed. A removable medium 511, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 510 as needed, so that a computer program read therefrom is installed into the storage section 508 as needed.

[0182] In particular, the processes described in the flowcharts of the embodiments of the present application can be implemented as computer software programs. For example, the method embodiments of the present application include a computer program product, which includes a computer program carried on a computer readable medium, and the computer program includes program code for executing the method shown in the flowchart.

[0183] As another aspect, the present application further provides a computer-readable medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by an electronic device, the electronic device implements the method described in the embodiment of the present application.

[0184] It should be noted that the computer-readable medium shown in the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two.

[0185] The units involved in the embodiments described in the present application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not constitute limitations on the units themselves in some cases. The units or modules described may also be set in a processor. The names of these units or modules do not constitute limitations on the units or modules themselves in some cases.

[0186] In addition, it should be noted that the scope of this application includes feasible technical solutions formed by specific combinations of the above-mentioned technical features, and should also cover other feasible technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned application concept.

[0187] Finally, it should be noted that all contents not described in the technical solution of this application can be implemented using existing technologies. In addition, the above embodiments are only used to illustrate the technical solution of this application, rather than to limit it; although the application is described in detail with reference to the above embodiments, ordinary technicians in this field should understand that they can still modify the technical solutions recorded in the above embodiments, or replace some or all of the technical features therein with equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A method for allocating dynamic charging tasks in a parking lot of a multi-robot system, characterized in that: include: The parking lot is divided into regions based on a predetermined clustering algorithm to obtain a plurality of subtask regions, each of which corresponds to a predetermined subtask, and charging robots used to complete tasks in the same subtask region are determined to be in the same alliance; For each of the subtasks, each charging robot calculates a utility value that can be obtained by performing each of the subtasks; For each of the charging robots, select to join the alliance where the subtask with the largest utility value is located, and publish the first alliance information to the adjacent charging robots, wherein the first alliance information includes a first winning bid list, a first bid value list, a first winner list and a first alliance structure, and the first alliance information is the alliance information stored for each of the charging robots; Receive second alliance information published by an adjacent charging robot, and update the first alliance information based on the second alliance information, where the second alliance information is alliance information stored by the adjacent charging robot of each charging robot; When each robot no longer needs to update its alliance information, determine the corresponding relationship between each robot and each task at the current time, and assign each task to the corresponding robot; The set of robots is R = {r1, r2, ..., r N }, the task set is T = {t1, t2, ..., t M }, then the i-th (i=1,2,...,N) robot can be represented by the following octet: In the formula, p i Represents robot r i Current location information; refers to the robot i The initial position information is the position information of its charging area; max represents the maximum amount of electricity that the robot can store; θ∈(0,1) is the minimum power threshold of the robot; θ·e max is the minimum power requirement of the robot; ξ is the energy consumption of the robot moving a unit distance; Represents robot r i The current remaining power. If the current remaining power is lower than the minimum power requirement, the robot will abandon the current task and return to the charging point. rt refers to the length of time the robot stays at the task point after successfully completing the task and the remaining power is greater than the minimum power requirement. v refers to the average moving speed of the robot. Task t j It is represented by the following five-tuple: In the formula, p j Represents task t j The location information, μ j and Respectively represent tasks t j The mean and variance of demand, Indicates the real demand of vehicles to be charged, tt j Indicates the time when the customer requested the service; Wherein, the predetermined clustering algorithm is an affinity propagation clustering algorithm; Among them, the task set T is divided into multiple task subsets, namely: T=T1∪T2…∪T K Where K represents the number of subtask areas, T k ∈2 T (k=1,2,...,K).

2. The method for allocating dynamic charging tasks in a parking lot of a multi-robot system according to claim 1, characterized in that: When each robot no longer needs to update its own alliance information, after determining the correspondence between each robot and each task at the current time and assigning each task to the corresponding robot, the method further includes: When the charging robot successfully completes the task, checking the remaining power of the robot; When the remaining power is greater than the preset minimum power, the robot will stay at the task point for a predetermined period of time, waiting for a request for a new task.

3. The parking lot dynamic charging task allocation method of a multi-robot system according to any one of claims 1 or 2, characterized in that: When each robot no longer needs to update its own alliance information, after determining the correspondence between each robot and each task at the current time and assigning each task to the corresponding robot, the method further includes: When the charging robot fails to perform the task, the task is published to other robots in the alliance through auction; If no robot in the alliance wins the bid for the task, the robot sends the task to the task coordinator so that the task coordinator reallocates the task as a new task.

4. A parking lot dynamic charging task allocation device for a multi-robot system, characterized in that: include: A division module, used to divide the parking lot into regions based on a predetermined clustering algorithm to obtain a plurality of subtask regions, each of which corresponds to a predetermined subtask, and charging robots that complete tasks in the same subtask region are determined to be in the same alliance; A calculation module, configured to calculate, for each of the subtasks, a utility value that can be obtained by each charging robot performing each of the subtasks; A selection and publishing module is used for, for each of the charging robots, selecting to join the alliance where the subtask with the largest utility value is located, and publishing first alliance information to adjacent charging robots, wherein the first alliance information includes a first winning bid list, a first bid value list, a first winner list, and a first alliance structure, and the first alliance information is alliance information stored for each of the charging robots; A receiving and updating module, configured to receive second alliance information released by an adjacent charging robot, and update the first alliance information based on the second alliance information, wherein the second alliance information is alliance information stored for the adjacent charging robot of each charging robot; The allocation module is used to determine the corresponding relationship between each robot and each task at the current time and allocate each task to the corresponding robot when each robot no longer needs to update its own alliance information; The set of robots is R = {r1, r2, ..., r N }, the task set is T = {t1, t2, ..., t M }, then the i-th (i=1,2,...,N) robot can be represented by the following octet: In the formula, p i Represents robot r i Current location information; refers to the robot i The initial position information is the position information of its charging area; max represents the maximum amount of electricity that the robot can store; θ∈(0,1) is the minimum power threshold of the robot; θ·e max is the minimum power requirement of the robot; ξ is the energy consumption of the robot moving a unit distance; Represents robot r i The current remaining power. If the current remaining power is lower than the minimum power requirement, the robot will abandon the current task and return to the charging point. rt refers to the length of time the robot stays at the task point after successfully completing the task and the remaining power is greater than the minimum power requirement. v refers to the average moving speed of the robot. Task t j It is represented by the following five-tuple: In the formula, p j Represents task t j The location information, μ j and Respectively represent tasks t j The mean and variance of demand, Indicates the real demand of vehicles to be charged, tt j Indicates the time when the customer requested the service; Wherein, the predetermined clustering algorithm is an affinity propagation clustering algorithm; Among them, the task set T is divided into multiple task subsets, namely: T=T1∪T2…∪T K Where K represents the number of subtask areas, T k ∈2 T (k=1,2,...,K).

5. A computer electronic device, characterized in that: The device comprises: One or more processors; A memory for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 3.

6. A computer-readable storage medium, characterized in that: A computer program is stored thereon, the computer program being used to: When the computer program is executed by a processor, the method according to any one of claims 1 to 3 is implemented.

7. A computer program product, characterized in that The invention comprises a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Large-scale unmanned aerial vehicle distributed task allocation method based on alliance formation game

    CN116090342A

  • Static and dynamic combined millimeter wave beam resource allocation and optimization method

    WO2022121985A1

Cited By

  • Inspection robot autonomous charging dynamic control system

    CN120810873A

  • An autonomous charging dynamic control system for a patrol robot

    CN120810873B