Method and apparatus for multi-agent motion path planning for group awareness
By employing a conflict-based search algorithm and a social force field computation method in a multi-agent system, the path conflict problem in the presence of individual groups is solved, enabling optimized path planning in a dynamic environment. This avoids conflicts between individuals and obstacles or groups, and improves the optimality and integrity of the path.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ROBERT BOSCH GMBH
- Filing Date
- 2021-04-28
- Publication Date
- 2026-07-03
Smart Images

Figure CN113655783B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of motion path planning in multi-agent systems that consider the existence of multiple objects and / or individuals. Background Technology
[0002] Generally, path planning methods for multi-agent systems are distinguished between decoupled path planning and centralized path planning. In decoupled path planning, each agent computes its path by avoiding conflicts. Due to parallel computation, decoupled path planning can be executed relatively quickly, but optimality and even completeness are not always guaranteed.
[0003] In contrast, coupled path planning methods consider the states of all agents to search the entire state space, such as from A-based... * The algorithm is known.
[0004] While most path planning algorithms consider the presence of objects or individuals as obstacles to the path, it is more difficult to consider the presence of groups of individuals, because paths between individuals in a single group should also be avoided. Summary of the Invention
[0005] According to the present invention, a method for motion path planning of multiple agents in a multi-agent system according to claim 1 is provided, as well as a device, agent, and multi-agent system according to other independent claims.
[0006] Further embodiments are indicated in the dependent claims.
[0007] According to the first aspect, a computer-implemented method for planning motion paths for multiple agents is provided, comprising the following steps:
[0008] - Perform conflict-based motion planning for multiple agents, where a conflict-free motion path for each agent is determined based on the movement cost.
[0009] - Determine the pose and velocity of one or more individual objects and one or more groups of objects;
[0010] The movement cost is calculated based on the interaction cost between each agent and one or more objects and / or groups of one or more objects.
[0011] The above method addresses the multi-agent pathfinding problem based on a coupled path planning approach, executed in a central unit that communicates with multiple agents. The central unit obtains all information about the poses of the multiple agents, objects, and groups of objects, and determines the motion paths for all agents. The path planning algorithm implemented in the central unit avoids conflicts between agents, obstacles, objects, individuals, and groups of objects / individuals.
[0012] A common multi-agent path planning algorithm is called Conflict-based search (CBS), as disclosed in G. Sharon et al., “Conflict-based search for optimal multi-agent path finding” (Proceedings of the 26th AAAE Conference on Artificial Intelligence, pp. 563 to 569).
[0013] In particular, conflict-based motion planning may include considering a constraint tree constructed using nodes that define constraints for at least one agent.
[0014] Essentially, conflict-based search is a two-level algorithm. The high-level search is performed within a constraint tree, where nodes contain constraints on time and location for individual agents. At each node in the constraint tree, a low-level search is performed to find a path for all agents under the constraints given by the high-level node. In the high-level algorithm, the constraint tree is searched. Each node in the constraint tree contains the set of constraints imposed on each agent, a single consistent solution, and the total cost of the current solution, which includes a path for each agent that aligns with the set of constraints given for the corresponding node.
[0015] Once a consistent path has been found for each agent using any suitable path-finding algorithm, the found paths must be checked relative to the paths of each other by simulating the agents' movements along their planned paths. If all agents reach their goals without any conflicts—for example, no conflict between two agents—then the node in the constraint tree is declared a target node, and the solution can be returned. However, if a conflict is found for two or more agents during verification, verification stops, and the node is declared a non-target node.
[0016] The key idea behind conflict-based search algorithms is to grow the set of constraints for each agent and find paths consistent with these constraints. If these paths still conflict and are therefore invalid, the conflicts are resolved by adding new constraints. Therefore, high-level tree paths (building a constraint tree) are essentially about finding and adding constraints.
[0017] Given a non-target node in a constraint tree, whose solutions include conflicts, it is known that in any efficient solution, at most one conflicting agent can occupy vertex v at time t. Therefore, at least one constraint of at least one agent must be true. Thus, the algorithm generates two new nodes for the constraint tree, as children of the non-target node, each child node adding one of these constraints to the previous constraint set. For each new constraint tree node, only the low-level search algorithm part is activated for the single agent with the added new constraint. The low-level search is invoked for each individual agent to determine the optimal path consistent with the individual constraints associated with the given node in the same constraint tree (which also includes all constraints from the parent node to the root node).
[0018] Focused search is used to search for the target node in the constraint tree, where the cost of each constraint tree node is determined. In low-level pathfinding algorithms, focused search is applied to find a single, consistent path for the agent, where the cost function depends on the conflict heuristic.
[0019] Any optimal single-agent pathfinding algorithm (low-level algorithm part) can be applied to the low-level algorithm part of conflict-based search. Generally, Multi-Agent Pathfinding (MAPF) is the problem of finding a set of feasible paths for a set of agents with specific individual starting and target poses. Paths unfold along the vertices of a state-space graph. Possible pathfinding algorithms include A... * RRT * BIT * wait.
[0020] Based on the above method, the conflict heuristic should be based on the conflict with the subordinate relationship of the moving object / individual and its group. Therefore, based on the agent sensor, individuals and / or groups of individuals are detected, and the current posture and velocity of the moving object / individual and the group of objects / individuals in the environment in which the agent will move are detected by the sensor system.
[0021] Path planning depends on the interaction costs. While time to the destination is generally an important cost factor for motion planning, in environments with dynamic objects, additional cost factors can be considered, allowing for the minimization of interference from dynamic objects / individuals and / or groups of objects / individuals.
[0022] Therefore, the interaction cost may include agent cost, which depends on at least one of the following: obstacle repulsion cost, which indicates the cost of moving relative to a static obstacle; agent-to-agent interaction cost, which depends on the distance between the agent under consideration and each other agent; and acceleration cost, which indicates the acceleration of the agent under consideration.
[0023] Furthermore, a group of at least two individual objects with a distance less than a given group distance threshold can be detected, wherein the interaction cost can further include a group cost that depends on at least one of the following: a group movement cost that measures how far an individual belonging to the group moves forward to the center of the group, an attraction cost that measures how the agent under consideration is attracted to the center of the group of objects, and a repulsion cost that the agent under consideration repels overlapping with another agent.
[0024] Therefore, an individual-based conflict heuristic based on group and social force-field computation is proposed. The force field is a means of defining the influence on an agent; as the "energy cost" of moving with an opposing force increases or decreases, this influence on the agent increases or decreases the movement cost.
[0025] The force field is based on the attitude and velocity of objects / individuals and groups of objects / individuals. For each object / individual... The force is calculated as
[0026]
[0027] in, For the purpose of force, The repulsive force of the obstacle, For the interaction forces between the considered agent and another agent, For forces involving objects / individual groups, and Let be the acceleration of the agent under consideration.
[0028] Group power It can be expressed as
[0029] ,
[0030] This corresponds to measuring how much force an object / individual belonging to the group moves forward toward the center of the group. This is based on the assumption that people belonging to the group stay as close as possible to each other and interact with one another. This corresponds to the force that attracts the agents under consideration to the center of a group of individuals. This is based on the assumption that members of the group stay as close as possible to each other and interact with one another. This corresponds to the force that the considered agent resists overlapping or conflicting with another agent.
[0031] Force fields are calculated for each detected object / individual and each group of objects / individuals. Once the force fields are calculated, they are used as an additional cost term in the enhanced conflict-based search planning method.
[0032] Adding an additional cost term to the heuristic function allows the existence of individuals to be considered in path planning, which allows agents to move smoothly without conflicts surrounding individuals and groups of individuals. Attached Figure Description
[0033] The embodiments are described in more detail with reference to the accompanying drawings, wherein:
[0034] Figure 1 This schematically illustrates a system with multiple agents targeting a target node in an environment containing individuals and groups of individuals;
[0035] Figure 2 This is a flowchart illustrating methods for considering individuals and groups of individuals in motion path planning algorithms; and
[0036] Figure 3 This is the pseudocode for the high-level algorithm portion of the method illustrated.
[0037] Description of the Implementation Examples
[0038] Figure 1 A multi-agent system 1 with multiple mobile agents 2 is shown, the multiple mobile agents 2 being designed to move within a free space S in an environment E. The free space S is defined as the set of locations on which each agent can typically move or move.
[0039] Free space S can include obstacles, which can be static or dynamic objects. Dynamic obstacles can include objects / individuals. Or a group of objects / individuals G. Objects form a group if the distance between any two objects within the group is less than a given distance.
[0040] A central unit 5 is provided to communicate with each agent 2.
[0041] Each intelligent agent 2 has a sensor system 21 and an actuation system 22. The sensor system 21 can be configured to detect the environment and can also be configured to detect its own attitude (i.e., position and orientation) and velocity. Furthermore, the sensor system 21 can be configured to track objects that are in or moving in free space S. And object group G. This information can be transmitted to central unit 5.
[0042] With the aid of actuation system 22, agents 2 can move along a motion path (trajectory) transmitted to each agent 2 by the central unit. Control is exercised via control unit 23 of each agent 2, communicating with the central unit 5, and movement is achieved according to the instructions of the motion path. Such a sensor system can be based on radar and / or LiDAR sensors, and can use input from other sensor modalities such as monocular, stereo vision, or RGB-D sensors. Readings from these agent sensor systems 21 or global sensors are provided as input to a people / group tracker, which can be a single monolithic component or a separate module communicating with the central unit.
[0043] In the central unit 5, the environment E is observed and the attitude and motion of agents 2 in the environment are located through the global sensor system 52, obtaining the attitude and velocity of each agent 2. Alternatively, the attitude and velocity of agent 2 can be received from agent 2, so that the central unit 5 has available knowledge about the attitude of agent 2 for each computation time step in which the motion path of agent 2 is updated.
[0044] In addition, the central unit 5 has the available target locations for each agent 2.
[0045] With the help of intelligent agent sensor 21 or global sensor system 52, individuals in the environment can be detected. The attitude and velocity of the individual and group of individuals G. The attitude of the individuals and the group of individuals can be determined by the tracking module 51, which obtains sensor data from the intelligent agent sensor system 21 and / or the global sensor system 52, so that the attitude of the individuals is transmitted to the central unit 5. In other embodiments, the central unit 5 may include the tracking module 51 or implement a tracking algorithm.
[0046] Central Unit 5 according to how to combine Figure 2 The flowchart describes in more detail the process of calculating the motion path for each agent 2. This method can be implemented in software or hardware and processed by a processing unit 53 such as a microprocessor, microcontroller, etc. The method is based on an environment map associated with the environment E in which the agent 2 will move. The environment map can indicate the pose of the agent 2 and individual objects. The pose and orientation (position and orientation) of the object group G.
[0047] In step S1, the pose of agent 2 is obtained. This can be performed by a global sensor or agent sensor, and then transmitted to the central unit 5 as described above.
[0048] In step S2, sensor data from the sensor system 21 and the global sensor system 52 of the intelligent agent 2 are also used to obtain individual objects. And / or the attitude and velocity of the object group G, which can be derived from at least one of the agent sensor system 21 or the global sensor system 52.
[0049] In step S3, the social force field is calculated, which is part of the cost function for conflict-based search as described below. The social force field is based on individual objects. The position and velocity of the object group G are calculated, and the force field is calculated for each individual object detected. The following is the calculated force field:
[0050]
[0051] in It is the target force that depends on the distance between the agent and the corresponding object / individual. The obstacle repulsion force depends on the distance to the stationary obstacle. It is the interaction force between two simultaneously occurring agents, which depends on the distance and is specifically considered to grow exponentially. It involves forces belonging to a group of objects, and It is agent A i The acceleration.
[0052] Group power It can be expressed as
[0053]
[0054] This corresponds to measuring how much force an object / individual belonging to the group moves forward toward the center of the group. This is based on the assumption that people belonging to the group stay as close as possible to each other and interact with one another. This corresponds to the force that attracts the considered agents to the center of the group of individuals G. This is based on the assumption that members of the group stay as close as possible to each other and interact with one another. This corresponds to the forces that prevent a considered agent from overlapping or conflicting with another agent. The center of the group of objects is calculated based on the positions of the group of agents.
[0055] Force can correspond to or indicate the cost of the cost function involved in motion path planning.
[0056] Once the force field is calculated, it is used as a cost term in the enhanced conflict-based search planning method performed in step S4.
[0057] In step S4, a multi-agent path planning algorithm is implemented.
[0058] A common multi-agent path planning algorithm is called Conflict-Based Search (CBS). However, for the purposes of this invention, any coupled path planning algorithm for multiple agents can be applied, which avoids conflicts and minimizes the overall agent movement cost.
[0059] Conflict-based search is a two-level algorithm where the high-level search is performed in a constraint tree (CT), where each node of the constraint tree (CT) contains constraints for a single agent regarding time and location. For a given agent A... i Such constraints can be, for example, indicated as tuples (A i (v, t), which defines the intelligent agent A. i At time step t, occupying vertex v is prohibited. At each node in the constraint tree, a low-level search is performed to find a path for all agents under the constraints given by the high-level nodes. In the high-level algorithm part, the constraint tree is searched. Each node in the constraint tree contains a set of constraints imposed on each agent, a single consistent solution, and the total cost of the current solution, which includes a path for each agent that is consistent with the set of constraints given for the corresponding node. The root of the constraint tree contains an empty set of constraints, while successor nodes in the constraint tree inherit the constraints of the current node and add a single new constraint for each agent.
[0060] A target node is defined when the solution for a node is valid, i.e., when there are no conflicts in the set of paths used by all agents. A conflict can be defined as a tuple (A... i A j (v, t), agent A i And agent A j At time t, a node occupies vertex v. If a conflict occurs, the node is declared as a non-target node.
[0061] Furthermore, despite the fact that paths are consistent with the constraints of their individual agents, consistent solutions may still be invalid, thus these paths still contain conflicts.
[0062] The key idea behind conflict-based search algorithms is to grow the set of constraints for each agent and find paths consistent with these constraints. If these paths still conflict and are therefore invalid, the conflicts are resolved by adding new constraints. Therefore, advanced algorithmic paths (building constraint trees) are essentially about finding and adding constraints.
[0063] Given nodes in a constraint tree, a low-level search is invoked for each individual agent to determine the optimal path consistent with the individual constraints associated with the given node in the same constraint tree. Any optimal single-agent pathfinding algorithm (the low-level algorithm part) can be applied to the low-level algorithm part of the conflict-based search. Possible pathfinding algorithms include A...* RRT * BIT * Generally speaking, Multi-Agent Pathfinding (MAPF) is the problem of finding a set of feasible paths for a set of agents with specific individual starting and target poses. Paths are unfolded along the vertices of the state space graph.
[0064] Generally, pathfinding algorithms consider the cost of moving an agent along the considered path. Here, in addition to considering the conventional time cost to the target or the movement cost of a specific agent, a cost defined by the social force field is also considered. The determination of this additional interaction cost is explained below.
[0065] Once a consistent path has been found for each agent by any suitable path-finding algorithm, the found paths must be checked relative to the paths of each other by simulating the agents' movements along their planned paths. If all agents reach their goals without any conflicts—for example, no two agents conflict—the nodes of the constraint tree are declared as target nodes and solutions, and are returned. However, if conflicts are found for two or more agents during verification, verification stops, and the node is declared a non-target node. Given a non-target node of the constraint tree, its solution includes conflicts, and it is known that in any valid solution, at most one conflicting agent can occupy vertex v at time t. Therefore, at least one constraint of at least one agent must be satisfied.
[0066] Therefore, the algorithm generates at least two new nodes for the constraint tree as child nodes of the non-target node, and each child node adds one of these constraints to the previous constraint set. For each constraint tree node, it can be specified that the low-level search algorithm part is activated only for the single agent for which the new constraint has been added.
[0067] Focus search is used to search for the target node in the constraint tree, where the cost of the constraint tree node is determined. In low-level pathfinding algorithms, focus search is applied to find a consistent single path for the agent, where the cost function depends on the conflict heuristic as described above.
[0068] For each agent, we have a single defined goal to achieve. Once all goals (or some agents may have failed to find a goal) have been achieved, we stop building the constraint tree.
[0069] Based on the above methods, the conflict heuristic should be based on potential conflicts with the moving object / individual and its group affiliation.
[0070] Therefore, as mentioned above, conflict-based search algorithms utilize cost terms that depend on the force field. Consider the cost in the environment for each object / individual. Interaction cost considers the sum of all interaction forces exerted by each object / individual and / or group of objects / individuals within the environment. Interaction forces affect movement cost because they are opposite to or consistent with the agent's movement path.
[0071] In step S5, the agent 2 is controlled according to the determined motion path of the selected target node.
[0072] The process is executed cyclically by returning to step S1.
[0073] exist Figure 3 The process for determining the motion path of each agent is described in more detail along with the exemplary pseudocode used for the CBS search algorithm. The multi-agent pathfinding example begins with an unconstrained root node R (line 1) and the solution determined by a low-level path planning algorithm based on root node constraints (line 2). This algorithm could be RRT. * A * BIT * Algorithms, etc. The determined motion path associated with the root node is evaluated by minimizing the cost "R.cost" (line 3).
[0074] The root node is added to the open node list, which includes the tree nodes of the constraint tree to be constructed (line 4). For each entry in the open node list (line 5), perform the following steps:
[0075] Select the best node with the lowest solution cost from the list of open nodes (line 6). The solution for the motion path of each agent is valid for determining whether a conflict has occurred at the best node P (line 7). If no conflict exists (line 8), return node P and its solution to indicate that node P is the target node.
[0076] If a conflict occurs, each agent involved in the conflict triggers the generation of a new node with a set of constraints (line 13), and the identified conflict is added to that set of constraints (line 12). A solution is computed using a low-level algorithm (line 14), so the movement path for each agent can be associated with the corresponding node. Furthermore, the cost of the determined solution is further associated with the corresponding node (line 16).
[0077] The newly generated node is added to the open node list OPEN (line 17).
[0078] The method continues until no conflict can be determined for each node of the constraint tree thus constructed.
Claims
1. A computer-implemented method for planning motion paths for multiple intelligent agents (2), comprising the following steps: - Perform conflict-based motion planning (S4) for multiple agents (2), wherein a conflict-free motion path for each of the multiple agents (2) is determined based on the movement cost. - Identify (S2) one or more individual objects ( The pose and velocity of one or more object groups (G), wherein the object groups are at a distance from each other less than a given group distance threshold; -Depending on each of the plurality of agents (2) and the one or more individual objects ( The movement cost (S3) is calculated based on the interaction costs of the group of objects (G) and / or the groups of one or more objects (G). The interaction cost mentioned therein includes group cost, which depends on at least one of the following: a group movement cost that measures how much an individual belonging to the group (G) moves forward to the center of the group (G), and an attraction cost that measures how the considered agent (2) among the plurality of agents (2) is attracted to the center of the object group (G); The conflict-based motion planning described therein includes a conflict-based search that considers a constraint tree constructed using nodes that define constraints for at least one of the agents (2); and The conflict-based search described therein is a two-level algorithm in which a high-level search is performed in a constraint tree whose nodes include constraints on the agents under consideration in time and location, wherein at each node in the constraint tree, a low-level search is performed to find paths for all multiple agents (2) under the constraints given by the high-level nodes.
2. The method according to claim 1, wherein the interaction cost includes agent cost, the agent cost depending on at least one of the following: obstacle repulsion cost indicating the cost of movement relative to a static obstacle, interaction cost between agents (2) depending on the distance between the agent (2) under consideration and each other agent (2), and acceleration cost indicating the acceleration of the agent (2) under consideration.
3. The method of claim 1, wherein the group cost depends on the exclusion cost of the considered agent (2) excluding overlap with another agent (2).
4. The method according to any one of claims 1 to 3, wherein conflict-based motion planning includes a pathfinding algorithm, which comprises A * RRT * BIT * .
5. The method according to any one of claims 1 to 3, wherein the movement of at least one agent is controlled by a corresponding conflict-free motion path.
6. A device for planning motion paths for multiple intelligent agents (2), said device being configured to perform the following steps: - Perform conflict-based motion planning for multiple agents (2), wherein a conflict-free motion path for each of the multiple agents (2) is determined based on the movement cost. - Identify one or more individual objects ( The pose and velocity of one or more object groups (G), wherein the object groups are at a distance from each other less than a given group distance threshold; -Depending on each of the plurality of agents (2) and the one or more individual objects ( The movement cost is calculated based on the interaction costs of the object group (G) and / or the group of one or more objects. The interaction cost mentioned therein includes group cost, which depends on at least one of the following: a group movement cost that measures how much an individual belonging to the group (G) moves forward to the center of the group (G), and an attraction cost that measures how the considered agent (2) among the plurality of agents (2) is attracted to the center of the object group (G); The conflict-based motion planning described therein includes a conflict-based search that considers a constraint tree constructed using nodes that define constraints for at least one of the agents (2); and The conflict-based search described therein is a two-level algorithm in which a high-level search is performed in a constraint tree whose nodes include constraints on the agents under consideration in time and location, wherein at each node in the constraint tree, a low-level search is performed to find paths for all multiple agents (2) under the constraints given by the high-level nodes.
7. A computer program product comprising a computer-readable medium having computer program code means thereon, which, when loaded, causes a computer to execute the program to perform all the steps of the method according to any one of claims 1 to 5.
8. A machine-readable medium having a program recorded thereon, said program being used to cause a computer to perform the method according to any one of claims 1 to 5.