Route planning device, route planning method, and program

The route planning device addresses scalability issues in multi-agent path planning by calculating homotopy classes as blade group elements, using a homotopy-augmented graph and Dehornoy order, enabling efficient generation of diverse solutions.

JP7882434B2Active Publication Date: 2026-06-30OMRON CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
OMRON CORP
Filing Date
2024-04-18
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing multi-agent path planning methods fail to scale effectively due to the exponential increase in generators and relations with the number of agents, leading to a lack of scalability and a high risk of converging to local optima when considering homotopy classes.

Method used

A route planning device that calculates the homotopy class of paths as elements of the blade group, using a homotopy-augmented graph to consider homotopy classes, and employs a Dehornoy order or Dynnikov coordinates to determine the identity of braid words, enabling efficient path planning for multiple agents.

Benefits of technology

The method allows for the generation of numerous solutions with different homotopy classes, avoiding local optima and ensuring scalability, even when the number of agents increases, by efficiently calculating and managing homotopy classes during the search process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007882434000003
    Figure 0007882434000003
  • Figure 0007882434000004
    Figure 0007882434000004
  • Figure 0007882434000005
    Figure 0007882434000005
Patent Text Reader

Abstract

This route planning device is for planning routes of a plurality of agents, and is characterized by comprising: an information acquisition unit for acquiring a start state and a goal state of each of the plurality of agents; and a homotopy class calculation unit for calculating a homotopy class of a route from the start state of the plurality of agents to the state after movement.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to route planning, and more particularly to route planning techniques for multi-agent systems that take homotopy classes into consideration. [Background technology]

[0002] Generally, a homotopy class is obtained by dividing a set of various curves connecting two points in a given space by the equivalence relation that they are "continuously deformable with respect to each other." In multi-agent path planning, the homotopy class of a solution can be considered by viewing the solution as a curve in a configuration space.

[0003] In path planning, considering homotopy classes is important from several perspectives, and is particularly useful in finding the global optimal path. In path planning, it is common practice to obtain a rough solution by searching on a simplified space such as a grid map, and then optimize the solution by considering agent kinematics and other factors. In this case, since path deformation due to solution optimization does not change the homotopy class of the solution, if there are few homotopy classes belonging to the solution obtained through the search, there is a high risk of converging to a local optimum. Therefore, generating many solutions belonging to different homotopy classes during the search stage increases the likelihood of obtaining a more appropriate final solution.

[0004] Non-Patent Document 1 proposes a path planning framework using a homotopy augmented graph for path planning that considers general homotopy. The vertices of the homotopy augmented graph are pairs of points in the configuration space and elements of the blade group representing the homotopy class. Non-Patent Document 1 proposes a specific method for generating a representation of the blade group representing the homotopy class and a sequence of generators (also called blade words) that represent elements of the blade group for multi-agent path planning on a plane. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] Bhattacharya, S.; and Ghrist, R. 2018. Path homotopy invariants and their application to optimal trajectory planning. Annals of Mathematics and Artificial Intelligence, 84: 139-160.<URL: https: / / arxiv.org / abs / 1710.02871> [Non-Patent Document 2] Dehornoy, P. 1997. A fast method for comparing braids. Advances in Mathematics, 125(2): 200-235.<URL: https: / / www.sciencedirect.com / science / article / pii / S0001870897916054> [Overview of the project] [Problems that the invention aims to solve]

[0006] An element of a braid group representing a homotopy class can be represented by multiple different braid words, and determining the identity of these braid words is called the word problem. Non-Patent Literature 1 solves the word problem using Dehn's algorithm. However, as the authors themselves admit, there is no guarantee that Dehn's algorithm will work correctly for the homotopy group representation in Non-Patent Literature 1, and in fact it does not work correctly when the number of agents is four or more. Furthermore, using the representation employed in the method of Non-Patent Literature 1 results in an exponential increase in the number of generators and relations with respect to the number of agents, leading to a lack of scalability.

[0007] This disclosure aims to provide a novel and useful technique that enables the search for solutions to multi-agent path planning problems while considering homotopy classes. [Means for solving the problem]

[0008] One aspect of the present disclosure is a route planning device for performing route planning for a plurality of agents, comprising: an information acquisition unit that acquires the start state and goal state of each of the plurality of agents; and the start state of the plurality of agents Move The path planning device is characterized by comprising a homotopy class calculation unit that calculates the homotopy class of the path to the state after the movement.

[0009] By calculating the homotopy class of a path in this way, path planning that takes homotopy classes into account becomes possible. In path planning, it is common to first find a rough solution in a simplified state space and then optimize that rough solution. Since the homotopy class of a solution does not change during optimization, it is useful to obtain a large number of solutions with different homotopy classes through exploration in order to avoid falling into a local optimum. Because path searching is performed while considering homotopy classes, even if paths reach the same destination, they are treated as different paths if their homotopy classes are different, making it possible to obtain a large number of solutions with different homotopy classes.

[0010] In this embodiment, the homotopy class calculation unit may calculate the homotopy class as an element of the blade group, which is the fundamental group of the configuration space of the anonymous path plan.

[0011] In this embodiment, the system further includes an identity determination unit for determining the identity of multiple nodes in a path search, wherein the identity determination unit may determine the identity of a homotopy class at a first node and a homotopy class at a second node by comparing the sequence of generators (braid words) represented by elements of the braid group corresponding to the homotopy class using a predetermined order relation. Here, the predetermined order relation is, for example, an order relation based on the Dehornoy order.

[0012] The origins of a Blade group can be represented by multiple different sequences of generators (Blade language), but based on the order relationship described above, the identity of these sequences of generators can be determined.

[0013] Another aspect of this disclosure is a route planning device for planning the paths of multiple agents, comprising: an information acquisition unit that acquires the start state and goal state of each of the multiple agents; and a device that searches for a path from the start state to the goal state of the multiple agents. route It comprises a search unit, a state transition unit, a homotopy class calculation unit, and an identity determination unit.

[0014] The state transition unit determines the transition from the current state of the multiple agents and determines the state after the transition. The state of an agent is, for example, the agent's position, but is not limited to this and may be other parameters other than position (e.g., velocity, direction, etc.).

[0015] The homotopy class calculation unit calculates the homotopy class of the state transitions (paths) from the start state to the state determined by the state transition unit. The state and homotopy class of each agent constitute a node in the configuration space. The identity determination unit determines whether the node after a state transition (post-transition node) is identical to any existing node. Specifically, the identity determination unit determines whether there is an existing node with the same agent state and homotopy class as the agent state and homotopy class of the post-transition node. In pathfinding, multiple paths from the start state to the goal state are explored, and it is necessary to determine whether the node after a state transition is an existing node or a new node. The pathfinding unit performs pathfinding while considering whether the post-transition node is identical to any existing node.

[0016] In node identity determination, homotopy class identity is determined by obtaining a sequence of generators (blade words) representing the elements of the blade group that represent the homotopy class, and applying a predetermined order relation to this sequence of generators. That is, the identity determination unit determines the identity of the homotopy class between the transitioned node and any of the existing nodes by comparing the sequence of generators representing the elements of the blade group corresponding to the homotopy class using a predetermined order relation. The predetermined order relation may be, for example, a Dehornoy order or an order relation based thereon.

[0017] According to the embodiments of this disclosure, pathfinding that takes homotopy classes into consideration is possible, and even if the agent states are the same, if the homotopy classes of the paths are different, they are treated as different nodes, thus enabling the generation of a large number of solutions belonging to different homotopy classes. According to the embodiments of this disclosure, for example, it is possible to generate solutions belonging to a predetermined number of homotopy classes.

[0018] Furthermore, according to the embodiments of this disclosure, the homotopy class of the solution can be efficiently calculated and managed during the search. This algorithm can operate in a realistic time even when the number of agents increases.

[0019] The path planning in the embodiments of this disclosure may be a path planning method for the movement of multiple agents on a plane. Alternatively, the path planning in the embodiments of this disclosure may be a path search method using a grid map in which the plane is divided into grids. In a path planning method for movement on a plane, the state of an agent may be the position of the agent.

[0020] In this embodiment of the disclosure, the homotopy class calculator may calculate the homotopy class of a solution as an element of the blade group, which is the fundamental group of the configuration space of the anonymous path plan. An anonymous path plan is a path plan in which the start state and goal state do not correspond, and any agent may reach any goal state. The entire homotopy class of solutions to non-anonymous path plans corresponds to an element of the pure blade group, while the entire homotopy class of solutions to anonymous path plans corresponds to an element of the blade group. Since the blade group is computationally easier to handle than the pure blade group, in this embodiment of the disclosure, the homotopy class of a non-anonymous multi-agent path plan may be calculated as a solution to a broader anonymous multi-agent path plan. Note that since the homotopy class contains information about the start and goal, solutions belonging to the same homotopy class as a solution to a non-anonymous problem are solutions to non-anonymous problems, so solutions to non-anonymous problems and non-anonymous solutions are not confused.

[0021] In embodiments of this disclosure, the homotopy class calculation unit may calculate a sequence of origins (blade words) representing the blade source based on the exchange of positions in a predetermined axial direction accompanying the movement of multiple agents. The predetermined axial direction is, for example, the X-axis direction in a plane, but may also be based on a direction other than the X-axis.

[0022] In an embodiment of this disclosure, the identity determination unit may manage the homotopy classes of existing nodes using a binary search tree and determine the identity of the homotopy class of the transitioned node with the homotopy class of any existing node by searching the binary search tree. For example, a balanced binary search tree can be used as the binary search tree. Using a binary search tree makes the calculation of identity determination of the generator sequence (braid language) more efficient.

[0023] In an embodiment of this disclosure, the route search unit outputs a plurality of routes in a grid map, and the route planning device may further include an optimization unit that optimizes the routes output by the route search unit in a map with higher accuracy than the grid map. The optimization unit routeThe optimization unit optimizes the solution obtained by the search unit. Although the homotopy class of the solution does not change during the optimization process, the solution sought by the search unit contains many solutions of different homotopy classes. Therefore, the optimization unit can output a solution that is close to the global optimal solution without falling into a local optimum.

[0024] In any embodiment of this disclosure, the Route planning device The above route The system may further include a transmitting unit that transmits the homotopy class of at least one path determined by the search unit to the plurality of agents. The at least one path determined by the path search unit may be the optimal solution determined by the search unit, or it may be the optimal solution after optimization by the optimization unit. The transmitting unit may transmit to the agents the original source sequence (blade language) of the blade group corresponding to the homotopy class, or it may assign an identifier to each homotopy class in advance and transmit the identifier of the homotopy class to be notified to the agents. By being informed of the homotopy class of a path, the agents can find the path belonging to that homotopy class. In other words, cooperation among multiple agents becomes possible. Even if each agent is not centrally controlled due to communication constraints, the homotopy class can be compactly represented as an element of the blade group, and can be transmitted to each agent with a small amount of communication. Therefore, Route planning device By transmitting the efficient homotopy class calculated by the system to the agents, efficient cooperation among multiple agents becomes possible with less communication.

[0025] Another aspect of the present disclosure is a route planning device for planning routes for a plurality of agents, comprising: an information acquisition unit that acquires the start state and goal state of each of the plurality of agents; a route search unit that searches for a route from the start state to the goal state of the plurality of agents; and a transmission unit that transmits the homotopy class of at least one route determined by the route search unit to the plurality of agents. According to this aspect, as described above, efficient coordination of a plurality of agents becomes possible with a small amount of communication.

[0026] This disclosure comprises at least a portion of the above means. Route planning device This disclosure can be understood as such. This disclosure can also be understood as a method comprising at least a part of the above processing, or as a program for implementing such a method, or as a recording medium on which such program is non-temporarily recorded. Furthermore, this disclosure includes apparatus or methods in which each of the above means and processing is combined with each other as much as possible. [Effects of the Invention]

[0027] According to this disclosure, solutions for multi-agent path planning can be explored while considering homotopy classes. [Brief explanation of the drawing]

[0028] [Figure 1] A diagram showing an overview of the route plan related to this disclosure. [Figure 2] A diagram showing the hardware configuration of the route planning device related to this disclosure. [Figure 3] A diagram showing the functional configuration of the route planning device related to this disclosure. [Figure 4] A diagram illustrating the overall outline of the route plan related to this disclosure. [Figure 5] A diagram illustrating the method for calculating the elements (Blade words) of the Blade group representing the homotopy class related to this disclosure. [Figure 6] This diagram shows a flowchart illustrating the flow of the pathfinding process in this disclosure. [Figure 7] A figure showing pseudocode illustrating an example implementation of the pathfinding process in this disclosure. [Figure 8] A diagram illustrating the effects of route planning based on this disclosure. [Figure 9] A diagram illustrating the effects of route planning based on this disclosure. [Figure 10] A diagram illustrating the execution time of the route planning method described in this disclosure. [Figure 11] A diagram illustrating the transmission of homotopy classes in this disclosure. [Modes for carrying out the invention]

[0029] <Examples of application> First, an example of a path planning device to which this disclosure is applied will be described. In a multi-agent path planning scenario on a plane, the path planning device searches for a solution while calculating the homotopy class of the solution as an element of the blade group. The path planning device considers a space in which, in addition to the configuration space in a normal multi-agent path planning scenario, elements of the blade group are also added to the elements of the configuration space (in other words, a universal covering space of the configuration space). By performing path searching within this space, it becomes possible to perform path searching that takes into account the homotopy class of the solution.

[0030] The path planning device described herein uses a homotopy-augmented graph, which consists of nodes containing a set of agent positions at each time step and elements of a blade group representing the homotopy class of the agent's movement path from the initial state to that time step.

[0031] Figure 1 is a diagram illustrating the outline of the path planning in this disclosure. One node contains the position 111 of each agent at the target time step and an element 112 of the blade group representing the homotopy class of the path up to that point. Now consider agent B moving as indicated by the arrow. The node after the move contains the position 121 of the agent after the move (next time step) and an element 122 of the blade group representing the homotopy class of the path up to that point, including agent B's move. Here, the element of the blade group representing the homotopy class is represented as a sequence of generators of the blade group. The sequence of generators is also called a blade word or word.

[0032] Route planning deviceThe system then performs an identity check 131 between the moved node and an existing node. Nodes being identical means that the agent's position is the same and the homotopy class of the paths is the same. If the moved node is the same as any of the existing nodes, the information of that node is updated (132). Updating the node's information is the process of updating the minimum cost to that node (if necessary). On the other hand, if the moved node is not the same as any of the existing nodes, that node is added as a new node (133). The newly added node will be used in subsequent iterative searches.

[0033] This disclosure Route planning device According to this method, even if the agent's position is the same, states with different homotopy classes along the path are treated as different nodes, thus allowing for the acquisition of numerous solutions with different homotopy classes.

[0034] Furthermore, regarding this disclosure Route planning device In calculating homotopy classes, the system does not distinguish between agents. That is, Route planning device This method computes the homotopy class of a path as the homotopy class of the solution to an anonymous pathing program. The homotopy class of the solution to an unanonymous pathing program corresponds to an element of the pure blade group, and the homotopy class of the solution to an anonymous pathing program corresponds to an element of the blade group. The blade group is easier to handle computationally than the pure blade group. Route planning device This aims to improve scalability by calculating the homotopy class of the solution to a multi-agent path plan as the solution to a broader anonymous multi-agent path plan. Furthermore, the original word representations of the blade group are not unique, and determining the identity of different words is not necessarily trivial. Route planning device This method efficiently determines word identity by targeting a group of blades and using ordering relationships based on the Dehornoy order.

[0035] <Structure> Figure 2 schematically shows an example of the hardware configuration of the route planning device 100 according to this embodiment. As shown in Figure 2, the route planning device 100 according to this embodiment is a computer (information processing device) in which a control unit 201, a storage unit 202, an input device 205, an output device 206, a communication interface 207, and a drive 208 are electrically connected.

[0036] The control unit 201 includes hardware processors such as a CPU (Central Processing Unit), RAM (Random Access Memory), and ROM (Read Only Memory), and is configured to perform information processing based on programs and various data. The control unit 201 (CPU) is an example of processor resources.

[0037] The storage unit 202 is an example of a memory resource and is composed of, for example, a hard disk drive, a solid-state drive, etc. In this embodiment, the storage unit 202 stores various information such as a route planning program 203 and configuration information 204.

[0038] The route planning program 203 is a program that causes the route planning device 100 to perform information processing for multi-agent route planning. The route planning program 203 includes a series of instructions for said information processing. The configuration information 204 is configuration information for when multi-agent route planning is performed.

[0039] The input device 205 is, for example, a device for inputting data such as a mouse or keyboard. The output device 206 is, for example, a device for outputting data such as a display or speaker. The operator can operate the route planning device 100 by using the input device 205 and the output device 206. The input device 205 and the output device 206 may be integrated into a single unit, such as a touch panel display.

[0040] The communication interface 207 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, etc., and is an interface for wired or wireless communication over a network. The routing device 100 can communicate data with other computers via the communication interface 207.

[0041] Drive 208 is, for example, a CD drive, a DVD drive, etc., and is a drive device for reading various information such as programs stored in the storage medium 209. At least one of the above route planning program 203 and setting information 204 may be stored in the storage medium 209.

[0042] The storage medium 209 is a medium that stores information such as stored programs by electrical, magnetic, optical, mechanical, or chemical means so that computers and other devices, machines, etc., can read the stored information such as programs. The route planning device 100 may obtain at least one of the route planning program 203 and the setting information 204 from this storage medium 209.

[0043] In Figure 2, a disk-type storage medium such as a CD or DVD is shown as an example of a storage medium 209. However, the type of storage medium 209 is not limited to disk type; it may be a non-disk type. Examples of non-disk type storage media include semiconductor memory such as flash memory. The type of drive 208 may be appropriately selected according to the type of storage medium 209.

[0044] Regarding the specific hardware configuration of the route planning device 100, components can be omitted, replaced, and added as appropriate depending on the embodiment. For example, the control unit 201 may include multiple hardware processors. The hardware processors may consist of a microprocessor, FPGA (field-programmable gate array), DSP (digital signal processor), etc. The storage unit 202 may consist of RAM and ROM included in the control unit 201. At least one of the input device 205, output device 206, communication interface 207, and drive 208 may be omitted. The route planning device 100 may consist of multiple computers. In this case, the hardware configuration of each computer may or may not be the same. Furthermore, the route planning device 100 may be an information processing device designed specifically for the services provided, as well as a general-purpose server device, a general-purpose PC (personal computer), an industrial PC, etc.

[0045] Figure 3 shows the functional configuration of the route planning device 100 according to this embodiment. As shown in Figure 3, the route planning device 100 comprises a setting information acquisition unit 310, a route search unit 320, an optimization unit 330, and a transmission unit 340. The route search unit 320 includes, as its sub-function units, a state transition unit 321, a homotopy class calculation unit 322, a node information update unit 323, and an identity determination unit 324. Each of these function units is realized by the control unit 201 executing the route planning program 203.

[0046] The configuration information acquisition unit 310 acquires various configuration information 204, such as the start and goal positions of each agent, the area in which the agent can move, and the movement cost. The path search unit 320 finds multiple solutions by searching on a simplified grid map of the space. The optimization unit 330 obtains the final solution by optimizing the solutions obtained by the path search unit 320. The transmission unit 340 transmits the homotopy class of the solution obtained by the path search unit 320 or the optimization unit 330 to the agent 150.

[0047] Figures 4(A) to 4(C) illustrate the overview of the processing performed by the route planning device 100. Figure 4(A) shows an example of the setting information acquired by the setting information acquisition unit 310, specifically the start and goal positions of each agent. In Figure 4(A), "s i " represents the starting position of the i-th agent, and "g i '' represents the goal position of the i-th agent. Figure 4(B) shows the rough solution obtained by the path search unit 320. Figure 4(C) shows the solution obtained by the optimization unit 330. The optimization unit 330 optimizes each of the rough solutions obtained by the path search unit 320 by performing path deformation, taking into account the agent's kinematics and other factors. The path planning device 100 outputs one or more solutions with the lowest movement cost from among the multiple solutions obtained in this way as the final solution.

[0048] In the optimization process described above, the homotopy class of the path remains invariant. Therefore, to avoid falling into a local optimum, it is important to find many solutions with different homotopy classes during the path search. The following describes techniques for obtaining many solutions with different homotopy classes.

[0049] Pathfinding that considers homotopy classes can be understood as pathfinding in a homotopy-enhanced graph. A homotopy-enhanced graph is a graph in which elements of a blade group representing the homotopy class of the path from the starting state to the given node are added to each node (or vertex) of a grid map that discretizes the environment. In other words, in the path planning according to this embodiment, pathfinding is performed in a space that includes not only the position of each agent but also elements of the blade group of the path as elements.

[0050] The pathfinding unit 320, in its pathfinding operations, considers movement from a target node to the next node in the homotopy enhancement graph. If the movement cost to the next node is smaller than other pre-calculated paths, it updates the shortest path to that next node. By performing such movements on the graph starting from the initial node, the path to the destination node is determined.

[0051] The state transition unit 321 determines what state transition (i.e., agent movement) to perform from the currently processed node (hereinafter also referred to as the target node) and the destination node after the transition. The destination node is one of the nodes to which the edges extending from the target node are connected. If multiple edges extend from the target node, one edge is selected. However, edges that do not satisfy the constraints, such as those resulting in collisions between agents, do not need to be selected. If the destination node is a node corresponding to the goal state, the pathfinding unit 320 outputs this transition to the optimization unit 330 as one of the paths (solutions) to reach the goal state. If the destination node is not a node corresponding to the goal state, the pathfinding unit 320 outputs this transition Node information update unit 323 to The output is generated, and the node information update unit 323 updates the optimal path and transition cost to the next node.

[0052] The homotopy class calculation unit 322 calculates the homotopy class after the state transition determined by the state transition unit 321. Since the node before the state transition, i.e., the target node, contains the homotopy class up to that point, the homotopy class calculation unit 332 only needs to determine the change in the homotopy class related to the current movement.

[0053] A homotopy class can be represented as an element of a blade group, and an element of a blade group can be represented as a sequence of its generators. As described above, in calculating the homotopy class in this embodiment, the homotopy class is calculated as the solution of a non-anonymous path plan that does not distinguish between agents. Specifically, in calculating the homotopy class, agents are distinguished based on their arrangement along a predetermined axis (e.g., the X-axis), and it is determined that the homotopy class has changed when the positions along the predetermined axis are swapped.

[0054] Changes in the homotopy class are represented by the generators of the blade group corresponding to changes in positional relationships. Generator σ irepresents that the $i$-th agent and the $(i + 1)$-th agent swap positions counterclockwise. Also, the generator $\sigma$ i -1 is the generator $\sigma$ i and its inverse, representing that the $i$-th agent and the $(i + 1)$-th agent swap positions clockwise. Here, "swap positions" means that the order along a predetermined axis (e.g., the X-axis) is swapped. The homotopy class of the paths of multiple agents is represented as a sequence of generators.

[0055] Referring to FIGS. 5(A) and 5(B), a method for calculating the elements of the braid group representing the homotopy class will be specifically described. Here, for simplicity of explanation, the case where the number of agents is 3 is taken, but the calculation method is the same regardless of the number of agents. In the following, the expression "the $i$-th agent" is used, which represents the agent whose order along a predetermined axis (e.g., the X-axis) is the $i$-th at the time of consideration.

[0056] FIG. 5(A) shows an example of the movement paths of agents from arrangement 501 to arrangement 505. Arrangement 501 represents the arrangement of agents in the initial state. In this state, since no agent movement has occurred yet, the braid word representing the element of the braid group representing the homotopy class is empty (denoted as $\varepsilon$). Arrangement 502 is the next state of arrangement 501. Along with the movement of the 3rd agent, the arrangements of the 2nd and 3rd agents are swapped clockwise. Therefore, the generator representing this change is $\sigma_2$ -1 and the element of the braid group representing the homotopy class of the path from the initial state is $\sigma_2$ -1 . In FIG. 5, the newly added generators accompanying the state change are underlined. Arrangement 503 is the next state of arrangement 502. The 3rd agent moves, but no agent arrangement swap occurs, so there is no change in the element of the braid group representing the homotopy class, and it remains $\sigma_2$ -1It remains the same. Arrangement 504 is the next state after arrangement 503, and as the first agent moves, the positions of the first agent and the second and third agents are swapped. This swap involves a counterclockwise swap between the first and second agents (σ1) and a clockwise swap between the second agent (note that the first agent becomes the second agent in the first swap) and the third agent (σ2) -1 ) consists of ). Therefore, the generator representing this swap is σ1σ2 -1 Therefore, the element of the blade group representing the homotopy class of the path from the initial state is σ2 -1 σ1σ2 -1 Therefore, Arrangement 505 is the next state after arrangement 504. The first agent moves, but no change in the agent arrangement occurs, so there is no change in the base of the blade group representing the homotopy class σ2 -1 σ1σ2 -1 It remains the same.

[0057] Figure 5(B) shows an example of the agent movement path from arrangement 511 to arrangement 515. Arrangement 511 is the initial agent arrangement and is identical to arrangement 501. Arrangement 512 is the next state after arrangement 511, where the second agent moves, but no swapping of arrangements occurs. Therefore, the blade word representing the element of the blade group representing the homotopy class of the path from the initial state is empty (ε). Arrangement 513 is the next state after arrangement 512, where the first agent moves, and the positions of the first agent and the second and third agents are swapped. This swap is a clockwise swap (σ1) between the first and second agents. -1 This consists of the first agent (note that the first agent becomes the second agent due to the initial swap) and the counterclockwise swap (σ2) of the second agent and the third agent. Therefore, the generator representing this swap is σ1 -1 σ² is the element of the blade group that represents the homotopy class of the path from the initial state, and σ1 is the element of the blade group that represents the homotopy class of the path from the initial state. -1σ2. Arrangement 514 is the next state after arrangement 513. The second agent moves, but no swapping of agent arrangements occurs, so there is no change in the base of the blade group representing the homotopy class, σ1. -1 σ remains at 2. Arrangement 515 is the next state after arrangement 514, and with the movement of the second agent, the arrangements of the first and second agents are swapped clockwise. Therefore, the generator representing this change is σ1. -1 Therefore, the element of the blade group representing the homotopy class of the path from the initial state is σ1 -1 σ2σ1 -1 That is the case. Note that arrangement 515 is identical to arrangement 505.

[0058] As described above, the paths shown in Figure 5(A) and Figure 5(B) have the same agent arrangement in the initial and final states, but they differ in homotopy class.

[0059] In the explanation above, it is assumed that only one agent moves at each time step. However, even when multiple agents move simultaneously, the homotopy class can be calculated by determining the time at which the agents' positions are swapped.

[0060] In the following explanation, the sequence of generators representing the elements of a Blade group will also be referred to as a word, a Blade word, etc.

[0061] The node information update unit 323 updates the information on the minimum transition cost to the next node determined by the state transition unit 321. Specifically, the node information update unit 323 first adds the transition cost associated with the transition determined by the state transition unit 321 to the previous transition costs to determine the transition cost to the next node for the current transition. If the current transition to the next node is smaller than the transition costs for transitions processed so far, the node information update unit 323 updates the minimum transition cost to the next node to that of the current transition. Here, whether the next node is the same as an existing node is determined by the identity determination unit 324.

[0062] The identity determination unit 324 determines whether at least one of two nodes, typically the node after the transition determined by the state transition unit 321 and the existing node, is identical. In this embodiment, each node includes the position of each agent and the homotopy class of the transition to that node. The identity determination of the agent's position is self-evident and therefore will not be explained. In determining the identity of homotopy classes, it is necessary to compare the braid words that represent the homotopy classes. Even if they belong to the same homotopy class or braid group, their braid words are not uniquely determined. Therefore, it is necessary to determine the identity of different braid words.

[0063] In one embodiment, the identity determination unit 324 determines the identity of two Braid words using the Dehornoy order (or an order relationship based on the Dehornoy order).

[0064] Let's explain the Dehornoy order. First, the main generator of a Blade word is the generator of the smallest subscript contained in the Blade word w. A Blade word is reduced if it is an empty sequence or if its main generator is σ i In other words, it appears only in positive values, or σ i -1 That is, the case where it appears only in the negative. It is known that non-empty reduced braid words do not represent the identity element and are represented by some reduced braid word. The Dehornoy order is defined as follows: Two braid words α and β are α -1 α < β is defined as β being expressible by a reduced braid word in which the principal generator appears only when it is positive. A practically fast algorithm for determining the Dehornoy order is known as the handle reduction method (Non-Patent Literature 2).

[0065] Here's a brief explanation of the handle reduction method. First, σ iA handle is σ i e vσ i -e (e ∈ {1, -1}, v is σ i-1 ±1 σ i ±1 This is a form of Blade language that does not include σ. i The handle is σ i+1 It is said to be "permitted" if it does not include a handle. Here, the permitted σ i Let's think about the handlebars. σ i e v1σ i+1 d v2···σ i+1 d v m σ i -e Note that e, d ∈ {1, -1}, and v1, v2, ..., v m-1, v m is, σ i-1 ±1 , σ i ±1 , σ i+1 ±1 It does not include any of the above. This Blade language can be transformed as follows: v1σ i+1 -e σ i d σ i+1 e v2···σ i+1 -e σ i d σ i+1 e v m In this transformation, σ i ±e σ is removed, i+1 d ga σ i+1 -e σ i d σ i+1 eIt is rewritten as follows. Other generators do not change. Handle reduction is performed by repeating until a reduced blade is obtained. The finally obtained reduced blade word represents the same blade as the original blade word.

[0066] In other embodiments, the identity determination unit 324 uses Dynnikov coordinates to determine the identity of two blade words.

[0067] First, consider a space consisting of a set of 2n - 2 integers represented as (a1, ..., a n-1 , b1, ..., b n-1 ). The action of an n - blade on this space can be defined as follows.

Number

[0068] Here, with u = (a1 = 0, ..., a n-1 = 0, b1 = -1, ..., b n-1 = -1), for an element α = σ i1 e1 σ i2 e2 ···σ im em of the blade group, u·α = u·σ i1 e1 σ i2 e2 ···σ im em is called the Dynnikov coordinate of α. Then, when and only when the elements α and β of the blade group are the same, u·α = u·β holds. Therefore, when two elements of the blade group consisting of different blade words are given, for u, the generators of each blade are sequentially applied to obtain the Dynnikov coordinates respectively, and the identity of the two elements α and β of the blade group can be determined by whether the two Dynnikov coordinates are the same. Also, since the Dynnikov coordinates are a set of integers, an order can be introduced into the Dynnikov coordinates.

[0069] The identity determination unit 324 determines the identity of the blade words using the Dehornoy order or Dynnikov coordinates. For example, the identity determination unit 324 stores the blade words of existing nodes in the data format of a balanced binary tree (or other binary search tree). A balanced binary tree is a binary tree that satisfies the condition that the value of the left child node ≤ the value of the parent node ≤ the value of the right child node, and is a tree structure that maintains the height of the tree as small as possible. By storing the blade words of existing nodes in a balanced binary tree, the identity determination unit 324 can efficiently determine (i.e., in the order of O(log(n))) whether a new blade word is identical to an existing blade word.

[0070] The route search unit 320 performs multi-agent route planning while considering the homotopy classes of the routes, using the state transition unit 321, the homotopy class calculation unit 322, the node information update unit 323, and the identity determination unit 324. The route search unit 320 performs, for example, priority route search, A * Algorithms and other tools can be adopted.

[0071] Prioritized pathfinding is an algorithm that determines the paths of agents in order of priority, from highest to lowest. When searching for the path of the nth agent, the paths of n-1 agents are already determined, so the homotopy class formed by these n agents can be computed. To generate solutions belonging to multiple different homotopy classes using prioritized pathfinding, the following can be done: Assume that the paths of n-1 agents have been explored and several solutions belonging to different homotopy classes have been generated. In this case, for each of these solutions, the path of the nth agent is searched while considering the homotopy class of the solution formed by the n agents, and solutions belonging to multiple different homotopy classes are obtained. By repeating this for the number of agents, solutions belonging to multiple different homotopy classes can be generated. The specific procedure for prioritized pathfinding will be explained below with reference to the flowchart.

[0072] A* The algorithm is an algorithm that takes the set of positions of all agents as the state and In order to consider the movement of all agents in the state transition, the extension to the case considering the homotopy class is obvious.

[0073] The optimization unit 330 optimizes the solution output by the path search unit 320, taking into account the kinematics of the agents in a space with higher precision than the grid map. The optimization unit 330 optimizes each of the solutions output by the path search unit 320, and outputs one or more solutions with the minimum movement cost after optimization as the final solution.

[0074] The transmission unit 340 outputs one or more solutions with the minimum movement cost after optimization to the agent 150. The transmission unit 340 may transmit the path itself to the agent 150, or may notify only the homotopy class of the solution to the agent 150. The notification of the homotopy class may be performed by transmitting the blade language, or may be performed by transmitting the ID of the homotopy class (or blade language). The transmission of the blade language may be performed, for example, by transmitting "σ1 -1 σ2σ1 -1 " as data such as "-1, 2, -1". Alternatively, when transmitting the ID of the homotopy class, as shown in Fig. 11(A), the correspondence between the ID and the homotopy class may be defined in advance. Here, HC1, etc. in the figure are specific homotopy classes or blade languages, and this definition is known to each agent in advance. In this case, the homotopy class can be transmitted by simply transmitting a few-bit ID.

[0075] Figure 11(B) shows an example of the flow of calculated homotopy classes among agents (AMRs). In the example in Figure 11(B), each agent notifies the other agents of their homotopy classes, thereby transmitting the homotopy classes to all agents. In the example in Figure 11(B), some of the agents may have the functionality of a route planner and transmit the calculated homotopy classes to other agents. Figure 11(C) is another example, in which a controller (route planner) transmits the homotopy classes to each agent. These communication methods are just examples, and the homotopy classes can be transmitted to each agent by any means of communication.

[0076] The transmission of homotopy classes as described above may be carried out by extending de jure communication standards such as 4G, 5G, and 6G, as well as wireless LAN standards such as IEEE 802.11ac, ZigBee®, Bluetooth®, and DASH7, by storing the homotopy class ID in the header and transmitting it, or by including it in the payload and transmitting it. Furthermore, interface standards between AGVs (automated guided vehicles) and AMRs (autonomous mobile robots) such as VDA5050 may also be extended.

[0077] Even if agent 150 is not centrally controlled due to communication constraints, the homotopy class's Blade language or homotopy class ID can be represented compactly, allowing it to be transmitted to agent 150 using low-bit communication. This method enables efficient cooperation of agent 150 using low-bit communication by efficiently calculating and transmitting the homotopy class of the solution.

[0078] <Processing Flow> Figure 6 is a flowchart showing the route search process performed by the route planning device 100. Route search is the process of finding a solution on a simplified grid map and is mainly performed by the route search unit 320. The route search process shown in Figure 6 is based on a priority route search algorithm, but the present invention is not limited to this algorithm.

[0079] Figure 7 is pseudocode showing one implementation example of the flowchart shown in Figure 6. The pseudocode in Figure 7 is just one implementation example and does not exclude other implementations.

[0080] The pathfinding process will be explained below with reference to Figures 6 and 7.

[0081] In step S601, the setting information acquisition unit 310 receives the input setting information and performs initialization processing. The configuration information includes the start and goal positions of each agent, the size of the grid map, the cost of movement between grids, and various constraints. Specifically, the configuration information acquisition unit 310 acquires a graph G consisting of a set of vertices V of the grid map and a set of edges E connecting each vertex (first line of pseudocode), and sets an extended edge set E' by adding edges connecting the same vertices (second line). The configuration information acquisition unit 310 acquires the start and goal position pairs of each agent (s1, g1),...,(s n , g n The third line obtains the set of solutions, plans, which consists of the paths of the processed agents, and initializes it to an empty set (fourth line).

[0082] In this process, the route is determined for each agent. The loop process S602-S615 (pseudocode lines 5-42) determines the route for one agent.

[0083] In step S602, the route search unit 320 selects one agent for which a route has not yet been determined, i.e., an unprocessed agent (5th line). The selected agent will be referred to as agent i below. The route search unit 320 selects agents in order from highest priority, but the criteria for priority are not particularly limited.

[0084] In step S603, the pathfinding unit 320 creates a node by adding the target agent i to the solution candidates for agents 1 to i-1. Specifically, the pathfinding unit 320 adds the position v = s of agent i to each of the path sets plan obtained for agents 1 to i-1. i Add the node with time step t = 0 and blade language w = ε (empty blade language) to the set of unprocessed nodes Open (line 6).

[0085] Furthermore, the pathfinding unit 320 initializes the processed node set Closed to an empty set (line 7), and calculates the minimum movement cost D[plan, s] for agent i for the added node. i Initialize [, 0, ε] to 0 (lines 8-10), and initialize the new set of solutions, newplans, which includes agent i's path, to an empty set (line 11).

[0086] The loop processing from step S604 onward (lines 12-40) is performed on each of the unprocessed nodes in the set and is repeated until there are no more unprocessed nodes or a sufficient number of solutions are obtained (lines 18-19).

[0087] In step S604, the state transition unit 321 selects one state (target node) to process next from the set of unprocessed nodes, Open (line 13). The state transition unit 321 selects the node with the minimum movement cost from the set of unprocessed nodes, Open, as the target node. The movement cost here is, for example, the sum of the movement cost of the path (plan) from the start position to the goal position for agents 1 to i-1, the movement cost from agent i's start position to the target node, and the estimated movement cost from agent i's target node to the goal position. The estimated movement cost to the goal position is determined heuristically.

[0088] In step S605, the pathfinding unit 320 determines whether agent i has reached the goal location at the selected node (target node) (line 15). At this time, a safety time constraint may be imposed on the time required to reach the goal location. If the goal location has not been reached, the process proceeds to step S606; if the goal location has been reached, the process proceeds to step S613.

[0089] In step S606, the state transition unit 321 determines the destination of the target agent i. The current position of the target agent is position v included in the target node. i Therefore, the destination is basically position v i These are all the destinations of the edges that originate from the vertex v. However, some movements are excluded. Specifically, the state transition unit 321 is vertex v i Select all edges e∈E' originating from (line 22) in order, but exclude edges that collide with agents 1~i-1 in the current timestep (lines 23-25), and also select the destination v. i 'Excludes edges where the starting position of any agent matches (lines 26-29).

[0090] In step S607, the state transition unit 321 calculates a blade word w' representing the homotopy class of the path (line 31). The blade word w' at the moved node is determined based on the rearrangement of the order along a predetermined axis in space (e.g., the X-axis), as described above.

[0091] In step S608, the state transition unit 321 calculates the movement cost d' to the node after the move (line 32). In the pseudocode, the movement cost required to move to an adjacent grid is always set to "1".

[0092] The node after movement is represented as (plan, v', t', w'), where v' is the vertex to which the selected edge e is connected (line 26). t' is the next time step, which is basically the current time step t plus 1. However, if the maximum length of the path included in the path plan of agents 1 to i-1 exceeds the maximum travel time, collisions with agents 1 to i do not need to be considered, so for the sake of processing efficiency, the time step t' can be the maximum travel time (line 30).

[0093] In step S609, the node information update unit 323 updates the moved node (plan, v', t Determine whether ', w') is a new node. Specifically, the node information update unit 323 , move The moved node (plan, v', t', w') is one of the existing nodes, i.e., an unprocessed node. Determine if it matches any node in the Open node set and the Close processed node set. Determined (line 33). Here, the determination of the identity of the path set plan from agent 1 to i-1, the position v of agent i, and the time step t is obvious, but as mentioned above, the blade word w The identity determination is made by the identity determination unit 324 based on the Dehornoy order or Dynnikov coordinates. For example, the identity determination unit 324 uses a balanced binary search to find the blade words of nodes in the unprocessed node set Open and the processed node set Close whose plan, v, and t match. Stored in a tree, moved rear Search this balanced binary search tree for a node whose blade word w' is identical to the node's blade word. Search. If a Blade word identical to 'w' is found in the balanced binary search tree, move... If it is determined that a node identical to the moved node already exists, or if it is not found, it is determined that the moved node is a new node. If the moved node is a new node, the process proceeds to step S610; if the moved node is not a new node, the process proceeds to step S611.

[0094] In step S610, the node information update unit 323 adds the moved node as a new node. Specifically, the node information update unit 323 adds the moved node (plan, v', t', w') to the unprocessed node set Open (line 35). The minimum movement cost of the moved node (plan, v', t', w') is set to d', which was calculated in step S608 (line 34).

[0095] In step S611, the node information update unit 323 updates the information of the moved node. Specifically, the node information update unit 323 determines whether the movement cost d' calculated in step S608 is smaller than the minimum movement cost D[plan, v', t', w'] of the moved node, and if d' is smaller, sets d' as the minimum movement cost (lines 36-38).

[0096] In step S612, it is determined whether processing has been completed for all edges of the node selected in step S604. If there are any unprocessed edges, the process returns to step S606, and the same processing is performed for the destination reached by following the unprocessed edges. If processing is complete for all edges, the process returns to step S604, and the same processing is performed for the next unprocessed node.

[0097] Step S613 is executed when it is determined in step S605 that agent i has reached the goal position. The pathfinding unit 320 adds the current path of agent i to the solution candidates. Specifically, the pathfinding unit 320 reconstructs agent i's path p based on the information of each node currently being sought (line 16), and adds the union of plan and p to the new solution set newplans (line 17).

[0098] In step S614, the pathfinding unit 320 determines whether the required number of solutions have been obtained. The required number can be determined as appropriate according to the system requirements. If the required number of solutions have not been obtained, the process returns to step S604 and the same process is performed for the next unprocessed node. If the required number of solutions have been obtained, the process proceeds to step S615. Once the required number of solutions have been obtained, the new set of solutions, newplans, is substituted into the set of solutions, plans (line 41).

[0099] In step S615, the pathfinding unit 320 determines whether processing has been performed for all agents. If there are any unprocessed agents, the process returns to step S602, and the same processing is performed for the agent with the next highest priority. If all agents have been processed, the pathfinding unit outputs a set of solutions, `plans`, as the final solution. The set `plans` contains the required number of path combinations for all agents 1 through n.

[0100] <Experiment 1> To confirm the effectiveness of the present invention, the following experiment was conducted. First, 100 random instances of a multi-agent path planning problem with 10 agents in a 14x14 grid map were created. In this experiment, neither the start position nor the goal position was located on a boundary grid, and no start or goal positions were adjacent in the horizontal, vertical, or diagonal directions. Furthermore, it was prohibited for multiple agents to be in the same grid, and for one agent to move into a grid that another agent has just left at the same time.

[0101] Under these conditions, multiple solutions were found for each instance using this method and a conventional method that does not consider homotopy classes (prioritized pathfinding). The obtained search solutions were then optimized using the following cost function C and the constraint that the agent's velocity is zero at the start and end points of the path.

number

[0102] Figure 8 shows the experimental results, with the horizontal axis representing the number of search solutions obtained and the vertical axis representing the minimum cost after optimizing the search solutions (average of 100 instances). Graph 801 shows the minimum cost when search solutions are obtained using this method, and Graph 802 shows the minimum cost when search solutions are obtained using a conventional method that does not consider homotopy classes. Graph 803 shows the cost when the optimal solution in the grid map is optimized.

[0103] As can be seen from Figure 8, both this method and the conventional method reduce the minimum cost as the number of search solutions increases. However, when the number of search solutions is the same, this method yields a path with a lower minimum cost than the conventional method. In other words, this method allows for more efficient finding of appropriate solutions.

[0104] The reason this method yields efficient solutions is assumed to be that the search yields solutions belonging to a large number of different homotopy classes. Figure 9 shows a histogram of the number of homotopy classes included in the solutions when 100 solutions are generated using a prioritized path planning method that does not consider homotopy classes, with the priority randomly changed for 100 randomly generated instances on a grid. As can be seen from the figure, conventional methods that do not consider homotopy classes generate fewer than 10 homotopy classes in many cases. With this method, it is possible to obtain solutions that belong to different homotopy classes, and when 100 solutions are generated, 100 solutions belonging to different homotopy classes can be obtained.

[0105] <Experiment 2> An experiment was conducted to evaluate how the execution time of this method changes depending on the number of agents. In this experiment, 10 random instances of a multi-agent path planning problem with 800 agents in a 122x122 grid map were created. In this experiment, the time from the start of the experiment to the completion of path planning for each agent (row 41 in Figure 7) was measured. In this experiment, two methods were used to determine the identity of the Blade language: one using Dynnikov coordinates and the other using the Handle Reduction method (or Dehornoy order), and the results were compared.

[0106] Figure 10 shows the experimental results; graph 1001 shows the results using Dynnikov coordinates, and graph 1002 shows the results using Handle Reduction. The order of computation time when using Dynnikov coordinates is O(n). 2 ) whereas the order when using Handle Reduction is O(n 5 This indicates that, especially in path planning problems with a large number of agents, using Dynnikov coordinates is more efficient in terms of computation time.

[0107] <Other Embodiments> The embodiments described above are merely examples, and this disclosure may be modified as appropriate without departing from its essence.

[0108] For example, the above embodiment relates to multi-agent path planning on a plane, but multi-agent path planning in three-dimensional space route It may be applied to planning. Furthermore, although the above embodiments assume the absence of obstacles, it may also be applied when obstacles are present. In addition, multi-agent path planning is not limited to robot movement, but may be applied, for example, to attitude control of articulated robots.

[0109] Furthermore, in the above embodiment, the path found by the path search unit 320 is optimized by the optimization unit 330, but the optimization unit 330 may be omitted. For example, the path found by the path search unit 320 may be output as the final solution. For example, the homotopy class of any of the paths found by the path search unit 320 may be sent from the transmission unit 340 to the agent.

[0110] <Note> 1. A route planning device (100) that performs route planning for multiple agents, An information acquisition unit (310) acquires the start state and goal state of each of the aforementioned multiple agents, A homotopy class calculation unit (322) calculates the homotopy class of the paths of the plurality of agents from the starting state to the state after movement, A route planning device (100) characterized by comprising the following:

[0111] 2. A route planning device (100) that performs route planning for multiple agents, An information acquisition unit (310) acquires the start state and goal state of each of the aforementioned multiple agents, A path search unit (320) searches for a path from the start state to the goal state of the plurality of agents, Equipped with, The path search unit (320) determines the state of the multiple agents after transition. transition A unit (321), a homotopy class calculation unit (322) that calculates the homotopy class of the path from the start state to the transitioned state of the plurality of agents, and a node (hereinafter referred to as transition) that includes the transitioned state of the plurality of agents and the homotopy class. The system includes an identity determination unit (324) that determines whether the transition node (referred to as the destination node) is the same as any of the previously processed nodes, and performs a path search considering whether the transition node is the same as any of the previously processed nodes. The identity determination unit (324) determines the identity of the homotopy class between the transition node and any of the processed nodes by comparing the sequence of generators representing the elements of the blade group corresponding to the homotopy class using a predetermined ordering relationship. A route planning device characterized by the following features.

[0112] 3. A routing planning method for a computer that performs routing planning for multiple agents, The information acquisition step (S601) involves acquiring the start state and goal state of each of the aforementioned multiple agents, A homotopy class calculation step (S607) for calculating the homotopy class of the paths of the plurality of agents from the starting state to the state after movement, A route planning method characterized by including the following:

[0113] 4. A routing planning method for multiple agents, which is executed by a computer, The information acquisition step (S601) involves acquiring the start state and goal state of each of the aforementioned multiple agents, A search step (S602-S616) for searching for a path from the start state to the goal state of the multiple agents, Includes, The aforementioned search step is, A state determination step (S604) to determine the state of the multiple agents after transition, A homotopy class calculation step (S607) for calculating the homotopy class of the path from the start state to the transitioned state of the plurality of agents, Identity determination step (S609) for determining whether a node (hereinafter referred to as a "post-transition node") containing the state of the plurality of agents after the transition and the homotopy class is identical to any existing node, A pathfinding step (S605, S610, S611) is performed considering whether the transitioned node is identical to any existing node, Equipped with, In the identity determination step, the identity of the homotopy class between the transitioned node and any of the existing nodes is determined by comparing the sequence of generators representing the elements of the blade group corresponding to the homotopy class using a predetermined ordering relationship. A route planning method characterized by the following features. [Explanation of symbols]

[0114] 100: Route planning device 310: Configuration information acquisition unit 320: Route search unit 330: Optimization unit 340: Transmission unit 321: State transition section 322: Homotopi class calculation section 323: Node information update unit 324: Identity determination unit

Claims

1. A route planning device that performs route planning for multiple agents, An information acquisition unit that acquires the start state and goal state of each of the aforementioned multiple agents, A homotopy class calculation unit calculates the homotopy class of the paths of the plurality of agents from the starting state to the state after movement, A route planning device characterized by comprising the following features.

2. The homotopy class calculation unit calculates the homotopy class as an element of the blade group, which is the fundamental group of the configuration space of the anonymous path planning. The route planning device according to feature 1.

3. The homotopy class calculation unit calculates a sequence of generators representing the elements of the blade group based on the exchange of positions in a predetermined axial direction due to the movement of the plurality of agents. The route planning device according to feature 2.

4. The system further includes an identity determination unit that determines the identity of multiple nodes in a path search. The identity determination unit determines the identity of the homotopy class at the first node and the homotopy class at the second node by comparing the sequence of generators represented by the elements of the blade group corresponding to the homotopy class using a predetermined order relationship. The route planning device according to claim 1.

5. The aforementioned predetermined order relationship is based on the Dehornoy order. The route planning device according to claim 4.

6. The system further includes an identity determination unit that determines the identity of multiple nodes in a path search. The identity determination unit determines the identity of the homotopy class at the first node and the homotopy class at the second node by determining whether the set of integers based on the sequence of generators represented by the elements of the blade group corresponding to the homotopy class are identical. The route planning device according to feature 1.

7. The aforementioned set of integers is Dynnikov coordinates. The route planning device according to feature 6.

8. The system further includes a pathfinding unit that uses the identity determination unit to perform pathfinding by considering whether the node being processed is identical to an existing node. The route planning device according to claim 6.

9. The identity determination unit is, The homotopy class in existing nodes is managed using a binary search tree. By searching the binary search tree for the homotopy class of the node after the move, the identity of the homotopy class with any existing node is determined. The route planning device according to feature 6.

10. The aforementioned path plan relates to the movement of the plurality of agents on a plane, The route planning device according to claim 1.

11. The aforementioned route search unit outputs multiple routes in the grid map, The system further includes an optimization unit that optimizes the path output by the path search unit in a space with higher precision than the grid map. The route planning device according to feature 8.

12. The system further includes a transmission unit that transmits the homotopy class of at least one path determined by the pathfinding unit to the plurality of agents. The route planning device according to feature 8.

13. A route planning device that performs route planning for multiple agents, An information acquisition unit that acquires the start state and goal state of each of the aforementioned multiple agents, A path search unit that searches for a path from the start state to the goal state of the plurality of agents, Equipped with, The path search unit comprises a state transition unit that determines the state of the plurality of agents after transition, a homotopy class calculation unit that calculates the homotopy class of the path from the start state to the state after transition for the plurality of agents, and an identity determination unit that determines whether the node containing the state after transition and the homotopy class of the plurality of agents (hereinafter referred to as the post-transition node) is the same as any existing node, and performs path search while considering whether the post-transition node is the same as any existing node. The identity determination unit determines the identity of the homotopy class between the transitioned node and any of the existing nodes by determining whether the set of integers based on the sequence of generators represented by the elements of the blade group corresponding to the homotopy class is the same as the homotopy class between the first node and the homotopy class in the second node. A route planning device characterized by the following features.

14. A route planning device that performs route planning for multiple agents, An information acquisition unit that acquires the start state and goal state of each of the aforementioned multiple agents, A path search unit that searches for a path from the start state to the goal state of the plurality of agents, A transmission unit that transmits the homotopy class of at least one path determined by the route search unit to the plurality of agents, A route planning device equipped with the following features.

15. The transmission of the homotopy class by the transmitting unit to the plurality of agents includes transmitting a sequence of generators representing elements of a blade group corresponding to the homotopy class to the plurality of agents. The route planning device according to feature 14.

16. The transmission of the homotopy class by the transmitting unit to the plurality of agents includes transmitting an identifier pre-assigned to the homotopy class to the plurality of agents. The route planning device according to feature 14.

17. A routing planning method for multiple agents, which is executed by a computer, An information acquisition step to acquire the start state and goal state of each of the aforementioned multiple agents, A homotopy class calculation step for calculating the homotopy class of the paths of the plurality of agents from the starting state to the state after movement, A route planning method characterized by including the following:

18. A routing planning method for multiple agents, which is executed by a computer, An information acquisition step to acquire the start state and goal state of each of the aforementioned multiple agents, A search step for exploring the paths of the multiple agents from the start state to the goal state, Includes, The aforementioned search step is, A state determination step that determines the state of the multiple agents after transition, A homotopy class calculation step for calculating the homotopy class of the paths of the plurality of agents from the start state to the state after the transition, Identity determination step: Determine whether a node (hereinafter referred to as a "post-transition node") containing the state of the plurality of agents after the transition and the homotopy class is identical to any existing node. A pathfinding step that performs pathfinding while considering whether the transitioned node is the same as any of the processed nodes, Equipped with, In the identity determination step, the identity of the homotopy class between the transitioned node and any of the existing nodes is determined by determining whether the set of integers based on the sequence of generators represented by the elements of the blade group corresponding to the homotopy class is the same as the homotopy class between the first node and the homotopy class between the second node. A route planning method characterized by the following features.

19. A routing planning method for multiple agents, which is executed by a computer, An information acquisition step to acquire the start state and goal state of each of the aforementioned multiple agents, A search step for exploring the paths of the multiple agents from the start state to the goal state, A transmission step in which the homotopy class of at least one path obtained in the search step is sent to the plurality of agents, A route planning method characterized by including the following:

20. A program for causing a computer to function as one of the means of a route planning apparatus according to any one of claims 1 to 16.

21. A program for causing a computer to perform each step of the route planning method described in any one of claims 17 to 19.