Route planning device, route planning method, and program
Patent Information
- Application Number
- PCT/JP2024/015423
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-07
- Filing Date
- 2024-04-18
- Publication Date
- 2025-02-13
Smart Images

Figure JP2024015423_13022025_PF_FP_ABST
Abstract
Description
Path planning device, path planning method, and program
[0001] The present disclosure relates to path planning, and more particularly to a path planning technique for multi-agents that takes homotopy classes into consideration.
[0002] In general, a set of various curves connecting two points in a space is divided by the equivalence relation that "they can be continuously transformed into each other," and this is called a homotopy class. In multi-agent path planning, the homotopy class of a solution can be considered by regarding the solution as a curve in the configuration space.
[0003] Considering homotopy classes in path planning is important from several perspectives, and is particularly useful for finding a globally optimal path. In path planning, a common approach is to obtain a rough solution by searching a simplified space such as a grid map, and then optimize the solution by taking into account factors such as the agent's kinematics. In this case, the path deformation resulting from solution optimization does not change the homotopy class of the solution. Therefore, if the solution obtained by search has few homotopy classes, there is a high risk of converging to a local optimum. Therefore, generating a large number of solutions belonging to different homotopy classes during the search phase 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 takes general homotopy into account. The vertices of the homotopy augmented graph are pairs of a point in the configuration space and an element of a braid group representing a homotopy class. Non-Patent Document 1 proposes a specific method for generating a representation of the braid group representing the homotopy class and a generator sequence (also called a braid word) representing the elements of the braid group for multi-agent path planning on a plane.
[0005] 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> 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>
[0006] An element of a braid group representing a homotopy class can be expressed by multiple different braid words, and determining the identity of braid words is called the word problem. Non-Patent Document 1 solves the word problem using Dehn's algorithm. However, as the author himself admits, Dehn's algorithm is not guaranteed to work correctly with the homotopy group representation in Non-Patent Document 1, and in fact does not work correctly when the number of agents is four or more. Furthermore, when using the representation used in the method in Non-Patent Document 1, the number of generators and relational expressions increases exponentially with the number of agents, resulting in a lack of scalability.
[0007] The present disclosure aims to provide a new and useful technique that can search for a solution to multi-agent path planning while taking homotopy classes into consideration.
[0008] One aspect of the present disclosure is a path planning device that plans paths for multiple agents, comprising: an information acquisition unit that acquires a start state and a goal state of each of the multiple agents; and a homotopy class calculation unit that calculates a homotopy class of a path from the start state of the multiple agents to the state after movement.
[0009] Calculating the homotopy class of a route in this way makes it possible to plan a route that takes the homotopy class into account. In route planning, a method is generally used in which a rough solution is found in a simplified state space and then that rough solution is optimized. Since the homotopy class of the solution does not change during optimization, it is useful to search for solutions of many different homotopy classes in order to avoid falling into a local optimum. Since route search takes homotopy class into account, routes with the same destination are treated as different routes if their homotopy classes are different, making it possible to obtain many solutions of different homotopy classes.
[0010] In this aspect, the homotopy class calculation unit may calculate the homotopy class as an element of a braid group that is a fundamental group of a configuration space of an anonymous route plan.
[0011] In this aspect, the system may further include an identity determination unit that determines identity of multiple nodes in the path search, and the identity determination unit may determine identity of the homotopy class of the first node and the homotopy class of the second node by comparing generator sequences (Blade words) representing elements of the Blade groups corresponding to the homotopy classes using a predetermined ordering relationship, where the predetermined ordering relationship is, for example, an ordering relationship based on the Dehorne order.
[0012] An element of a braid group can be expressed by a plurality of different generator sequences (braid words), but based on the above-mentioned ordering relationship, it is possible to determine whether the generator sequences are identical.
[0013] Another aspect of the present disclosure is a path planning device that plans paths for a plurality of agents, the path planning device including: an information acquisition unit that acquires a start state and a goal state of each of the plurality of agents; and a search unit that searches for a path from the start state to the goal state of the plurality of agents. The search unit includes a state transition unit, a homotopy class calculation unit, and an identity determination unit.
[0014] The state transition unit determines a transition from the current state of the agents and a state after the transition. The state of the agents is, for example, the position of the agents, but is not limited to this and may be other parameters (for example, speed, direction, etc.) other than the position.
[0015] The homotopy class calculation unit calculates the homotopy class of the state transition (path) 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 the state transition (post-transition node) is identical to any existing node. Specifically, the identity determination unit determines whether there is an existing node having the same agent state and homotopy class as the agent state and homotopy class at the post-transition node. In the path search, multiple paths from the start state to the goal state are searched for, and it is necessary to determine whether the node after the state transition is an existing node or a new node. The path search unit performs the path search while taking into account whether the post-transition node is identical to any existing node.
[0016] The identity determination of homotopy classes in node identity determination is performed by obtaining a generator sequence (blade word) representing the elements of the braid group representing the homotopy class and applying a predetermined order relation to this generator sequence. That is, the identity determination unit determines the identity of the homotopy class of the post-transition node and any of the existing nodes by comparing the generator sequences representing the elements of the braid group corresponding to the homotopy class using a predetermined order relation. The predetermined order relation may be, for example, the Dehornoy order or an order relation based thereon.
[0017] According to the aspects of the present disclosure, path search is possible taking homotopy classes into consideration, and even if the agent state is the same, if the homotopy class of the path is different, it is treated as a different node, so it is possible to generate a large number of solutions that belong to different homotopy classes. According to the aspects of the present disclosure, for example, it is possible to generate solutions that belong to a predetermined number of homotopy classes.
[0018] Furthermore, aspects of the present disclosure enable efficient calculation and management of homotopy classes of solutions during a search, and the algorithm can operate in a realistic time frame even when the number of agents increases.
[0019] The path planning in the embodiment of the present disclosure may be a path planning for the movement of multiple agents on a plane. Also, the path planning in the embodiment of the present disclosure may be a path search on a grid map in which a plane is divided into grids. In the path planning for the movement on a plane, the state of the agent may be the position of the agent.
[0020] In an aspect of the present disclosure, the homotopy class calculation unit may calculate the homotopy class of the solution as an element of a braid group, which is a fundamental group of the configuration space of the anonymous path plan. Anonymous path plans are path plans in which the start state and the goal state do not correspond, and any agent may reach any goal state. The entire homotopy class of a solution to a non-anonymous path plan corresponds to an element of a pure braid group, while the entire homotopy class of a solution to an anonymous path plan corresponds to an element of a braid group. Because braid groups are computationally easier to handle than pure braid groups, in an aspect of the present disclosure, the homotopy class of a solution to a non-anonymous multi-agent path plan may be calculated as a solution to a broader anonymous multi-agent path plan. Note that because the homotopy class includes information about the start and goal, a solution that belongs to the same homotopy class as a solution to a non-anonymous problem is considered a solution to the non-anonymous problem, and therefore, a solution to a non-anonymous problem is not confused with a non-anonymous solution.
[0021] In an aspect of the present disclosure, the homotopy class calculation unit may calculate a generator sequence (blade word) representing a braid origin based on the change in position of multiple agents in a predetermined axis direction as they move. The predetermined axis direction may be, for example, the X-axis direction on a plane, but may also be a direction other than the X-axis.
[0022] In an aspect of the present disclosure, the identity determination unit may manage homotopy classes of existing nodes using a binary search tree, and determine identity with the homotopy class of any existing node by searching the homotopy class of the post-transition node from the binary search tree. A balanced binary search tree, for example, can be used as the binary search tree. Using a binary search tree can improve the efficiency of calculations for determining identity between generator sequences (Blade words).
[0023] In an aspect of the present disclosure, the route search unit may output multiple 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 on a map with higher accuracy than the grid map. The optimization unit optimizes the solution obtained by the search unit. Although the homotopy class of the solution does not change in the processing by the optimization unit, the solution obtained by the search unit includes solutions of many different homotopy classes, so the optimization unit can output a solution close to a global optimum without falling into a local optimum.
[0024] In an aspect of the present disclosure, the path search device may further include a transmission unit that transmits the homotopy class of at least one path calculated by the search unit to the multiple agents. The at least one path calculated by the path search unit may be an optimal solution calculated by the search unit or an optimal solution after optimization by the optimization unit. The transmission unit may transmit to the agents a generator sequence (braid word) of an element of a braid set corresponding to the homotopy class, or 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 the path, the agents can search for a path belonging to the homotopy class. In other words, cooperation among multiple agents is possible. Even if each agent is not centrally controlled due to communication constraints, the homotopy class can be compactly expressed as an element of a braid set, and therefore can be transmitted to each agent with minimal communication traffic. Therefore, by transmitting the efficient homotopy class calculated by the path search device to the agents, efficient cooperation among multiple agents is possible with minimal communication traffic.
[0025] Another aspect of the present disclosure is a path planning device that plans paths for a plurality of agents, the path planning device including: an information acquisition unit that acquires a start state and a goal state of each of the plurality of agents; a path search unit that searches for a path from the start state to the goal state of the plurality of agents; and a transmission unit that transmits to the plurality of agents a homotopy class of at least one path determined by the path search unit. According to this aspect, as described above, efficient cooperation among a plurality of agents is possible with a small amount of communication.
[0026] The present disclosure can be understood as a route search device including at least some of the above means. The present disclosure can also be understood as a method including at least some of the above processing, or a program for realizing such a method, or a recording medium on which such a program is non-temporarily recorded. Furthermore, the present disclosure includes an apparatus or method in which each of the above means and processing is combined with each other as much as possible.
[0027] According to the present disclosure, solutions to multi-agent path planning can be searched for while taking homotopy classes into account.
[0028] 1 is a diagram showing an overview of path planning according to the present disclosure. FIG. 1 is a diagram showing a hardware configuration of a path planning device according to the present disclosure. FIG. 2 is a diagram showing a functional configuration of a path planning device according to the present disclosure. FIG. 2 is a diagram explaining an overall overview of path planning according to the present disclosure. FIG. 3 is a diagram explaining a method for calculating elements (blade words) of a braid group representing a homotopy class according to the present disclosure. FIG. 4 is a diagram showing a flowchart illustrating the flow of path search processing according to the present disclosure. FIG. 5 is a diagram showing pseudocode illustrating an implementation example of the path search processing according to the present disclosure. FIG. 6 is a diagram explaining the effect of path planning according to the present disclosure. FIG. 7 is a diagram explaining the effect of path planning according to the present disclosure. FIG. 8 is a diagram explaining the execution time of path planning according to the present disclosure. FIG. 9 is a diagram explaining propagation of homotopy classes according to the present disclosure.
[0029] <Application Example> First, an example of a path planning device to which the present disclosure is applied will be described. In multi-agent path planning on a plane, the path planning device searches for a solution while calculating the homotopy class of the solution as an element of a braid group. The path planning device considers the configuration space used in ordinary multi-agent path planning, i.e., a space in which the elements of the braid group are added as elements of the set in addition to the sets of positions of each agent (in other words, a universal covering space of the configuration space). Performing a path search within this space enables a path search that takes into account the homotopy class of the solution.
[0030] The path planning device according to the present disclosure uses a homotopy-augmented graph consisting of nodes containing a set of agent positions at each time step and elements of a braid group representing the homotopy class of the agent's movement path from the initial state to that time step.
[0031] FIG. 1 is a diagram illustrating an overview of path planning in the present disclosure. One node includes the position 111 of each agent at the target time step and a braid element 112 representing the homotopy class of the path up to that point. Consider that agent B moves from this state as indicated by the arrow. The node after the movement includes the position 121 of the agent after the movement (next time step) and a braid element 122 representing the homotopy class of the path up to that point, including agent B's movement. Here, the braid element representing the homotopy class is expressed as a sequence of braid generators. The sequence of generators is also called a braid word or word.
[0032] The path search device performs identity determination 131 between the node after movement and the existing node. Nodes being identical means that the agent positions are the same and the homotopy classes of the paths are the same. If the node after movement is the same as one of the existing nodes, the information of that node is updated (132). Node information update is a process of updating the minimum cost to reach that node (as needed). On the other hand, if the node after movement is not the same as any of the existing nodes, the node is added as a new node (133). The newly added node is used in future repeated search processes.
[0033] According to the path search device of the present disclosure, even if the agent is in the same position, states in which the path homotopy classes are different are treated as different nodes, so that many solutions with different homotopy classes can be obtained.
[0034] The path search device according to the present disclosure does not distinguish between agents when calculating homotopy classes. That is, the path search device calculates the homotopy class of a path as the homotopy class of a solution to an anonymous path plan. The homotopy class of a solution to a non-anonymous path plan corresponds to the elements of a pure braid group, and the homotopy class of a solution to an anonymous path plan corresponds to the elements of a braid group. Braid groups are computationally easier to handle than pure braid groups. The path search device according to the present disclosure improves scalability by calculating the homotopy class of a solution to a multi-agent path plan as a solution to a broader anonymous multi-agent path plan. Furthermore, the word representation of elements in a braid group is not unique, and determining the identity of different words is not necessarily trivial. The path search device according to the present disclosure targets braid groups and uses an ordering relationship based on the Dehorne order to efficiently perform word identity determination.
[0035] 2 schematically shows an example of the hardware configuration of the route planning device 100 according to this embodiment. As shown in Fig. 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 a hardware processor such as a central processing unit (CPU), a random access memory (RAM), and a read-only memory (ROM), and is configured to execute information processing based on programs and various data. The control unit 201 (CPU) is an example of a processor resource.
[0037] The storage unit 202 is an example of a memory resource, and is configured, for example, by a hard disk drive, a solid state drive, etc. In this embodiment, the storage unit 202 stores various types of information such as a route planning program 203, setting information 204, etc.
[0038] The route planning program 203 is a program for causing the route planning device 100 to execute information processing for multi-agent route planning. The route planning program 203 includes a series of instructions for this information processing. The setting information 204 is setting information for executing multi-agent route planning.
[0039] The input device 205 is a device for inputting, for example, a mouse, a keyboard, etc. The output device 206 is a device for outputting, for example, a display, a speaker, etc. An 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 one device, for example, a touch panel display, etc.
[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 performing wired or wireless communication via a network. The route planning device 100 can perform data communication with other computers via the communication interface 207.
[0041] The drive 208 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading various information such as programs stored in a storage medium 209. At least one of the route planning program 203 and the setting information 204 may be stored in the storage medium 209.
[0042] The storage medium 209 is a medium that stores various information such as programs electrically, magnetically, optically, mechanically, or chemically so that the information can be read by a computer or other device, machine, etc. The route planning device 100 may acquire at least one of the route planning program 203 and the setting information 204 from the storage medium 209.
[0043] 2 illustrates a disk-type storage medium such as a CD or DVD as an example of the storage medium 209. However, the type of the storage medium 209 is not limited to a disk type, and may be a type other than a disk. Examples of storage media other than a disk type include semiconductor memories such as flash memories. The type of the drive 208 may be selected appropriately depending on the type of the storage medium 209.
[0044] Note that, with regard to the specific hardware configuration of the path planning device 100, components may be omitted, replaced, or added as appropriate depending on the embodiment. For example, the control unit 201 may include multiple hardware processors. The hardware processor may be configured with a microprocessor, a field-programmable gate array (FPGA), a digital signal processor (DSP), or the like. The storage unit 202 may be configured with RAM and ROM included in the control unit 201. At least one of the input device 205, the output device 206, the communication interface 207, and the drive 208 may be omitted. The path planning device 100 may be configured with multiple computers. In this case, the hardware configurations of the computers may or may not be the same. Furthermore, the path 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 personal computer (PC), an industrial PC, or the like.
[0045] 3 shows the functional configuration of the route planning device 100 according to this embodiment. As shown in FIG. 3, the route planning device 100 includes 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-functional 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 functional units is realized by the control unit 201 executing the route planning program 203.
[0046] The setting information acquisition unit 310 acquires various setting information 204, such as the start position and goal position of each agent, the area in which the agent can move, and movement costs. The path search unit 320 finds multiple solutions by searching on a grid map that simplifies space. The optimization unit 330 obtains a 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] 4A to 4C are diagrams for explaining an outline of the processing by the path planning device 100. FIG. 4A shows the start position and goal position of each agent, which is an example of the setting information acquired by the setting information acquisition unit 310. In FIG. 4A, "s i " represents the starting position of the i-th agent, and "g i " represents the goal position of the i-th agent. FIG. 4(B) shows a rough solution obtained by the path search unit 320. FIG. 4(C) shows a 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 modifying the path while taking into account the kinematics of the agent, etc. The path planning device 100 outputs one or more solutions with the lowest movement cost as the final solution from among the multiple solutions obtained in this manner.
[0048] Here, since the homotopy class of the route remains unchanged in the above optimization process, it is important to find many solutions of different homotopy classes in the route search to avoid falling into a local optimum. Below, we will explain how to obtain many solutions of different homotopy classes.
[0049] Path search that takes homotopy classes into account can be considered as path search in a homotopy augmented graph. A homotopy augmented graph is a graph in which, for each node (or vertex) of a grid map that discretizes the environment, an element of a braid set representing the homotopy class of the path from the starting state to that node is added. In other words, in path planning according to this embodiment, path search is performed in a space that includes not only the positions of each agent but also the elements of the braid set of the path.
[0050] In the path search, the path search unit 320 considers movement from a target node to the next node in the homotopy augmented graph, and if the movement cost to the node after the movement is smaller than other paths that have already been calculated, updates the shortest path to the node after the movement. By performing such movement on the graph from the initial node, the path to the end node is found.
[0051] The state transition unit 321 determines what state transition (i.e., agent movement) to perform from the node currently being processed (hereinafter also referred to as the target node) and the node after the transition. The node after the transition is one of the nodes connected to the edges outgoing from the target node. If multiple edges outgo from the target node, one of the edges is selected. However, edges that do not satisfy constraints, such as those that cause conflicts between agents, do not need to be selected. If the node after the transition corresponds to the goal state, the path search unit 320 outputs this transition to the optimization unit 330 as one of the paths (solutions) leading to the goal state. If the node after the transition does not correspond to the goal state, the path search unit 320 outputs this to the node information update unit 323, and the node information update unit 323 updates the optimal path to the node after the transition and the transition cost.
[0052] The homotopy class calculation unit 322 calculates the homotopy class after the state transition determined by the state transition unit 321. The node before the state transition, i.e., the target node, includes the homotopy class up to that point, so the homotopy class calculation unit 332 only needs to find the change in homotopy class related to the current movement.
[0053] A homotopy class can be expressed as an element of a braid group, and an element of a braid group can be expressed as a sequence of its generators. As described above, in the calculation of homotopy classes in this embodiment, the homotopy class is calculated as a solution to a non-anonymous path plan that does not distinguish between agents. Specifically, in the calculation of homotopy classes, agents are distinguished based on their order along a predetermined axis (e.g., the X-axis), and it is determined that the homotopy class has changed when their positions in the predetermined axis direction are swapped.
[0054] The change in homotopy class is expressed by the generator of the braid group corresponding to the change in the positional relationship. i indicates that the i-th agent and the i+1-th agent exchange positions counterclockwise. i -1 is the generator σ i is the inverse of and represents the i-th agent and the (i+1)-th agent swapping positions clockwise. Note that "swapping positions" here means swapping the order of a given axis (e.g., the X-axis). The homotopy class of the paths of multiple agents is represented as a sequence of generators.
[0055] A method for calculating the element of a braid group representing a homotopy class will be specifically described with reference to Figures 5(A) and 5(B). Here, for simplicity's sake, we will use the case where the number of agents is three, but the calculation method is the same regardless of the number of agents. Below, the expression "i-th agent" will be used, and this refers to the agent that is i-th in the order along a predetermined axis (e.g., the X-axis) at the time of consideration.
[0056] Figure 5(A) shows an example of the movement path of agents from arrangement 501 to arrangement 505. Arrangement 501 represents the arrangement of agents in the initial state. In this state, no agent movement has occurred yet, so the braid word representing the element of the braid group representing the homotopy class is empty (represented as ε). Arrangement 502 is the next state after arrangement 501, and with the movement of the third agent, the arrangements of the second and third agents have been swapped clockwise. Therefore, the generator representing this change is σ2 -1 and the element of the braid group that represents the homotopy class of paths from the initial state is σ 2 -1 In FIG. 5, the newly added generators due to the change in state are underlined. Arrangement 503 is the state after arrangement 502. The third agent moves, but the arrangement of the agents is not changed, so there is no change in the elements of the braid group representing the homotopy class, and σ 2 -1 The arrangement 504 is the next state of the arrangement 503, and as the first agent moves, the positions of the first agent and the second and third agents are swapped. This swapping occurs by a counterclockwise swap (σ 1 ), and the clockwise swap of the second agent (note that the first swap makes the first agent the second agent) and the third agent (σ 2 -1 ) Therefore, the generator that represents this replacement is σ 1 σ 2 -1 and the element of the braid group that represents the homotopy class of paths from the initial state is σ 2 -1 σ 1 σ 2 -1 The arrangement 505 is the next state after the arrangement 504. The first agent moves, but the arrangement of the agents is not changed, so there is no change in the elements of the braid group that represents the homotopy class, and σ 2 -1 σ 1 σ 2 -1 It remains as it is.
[0057] FIG. 5B shows an example of the movement path of agents from configuration 511 to configuration 515. Configuration 511 is the initial agent configuration and is identical to configuration 501. Configuration 512 is the next state after configuration 511, in which the second agent moves but no swapping of the configurations occurs. Therefore, the braid word representing the element of the braid group representing the homotopy class of the path from the initial state is empty (ε). Configuration 513 is the next state after configuration 512, in which the first agent moves and the positions of the first agent are swapped with the second and third agents. This swapping occurs due to a clockwise swapping of the first and second agents (σ 1 -1 ), and the counterclockwise swap of the second agent (note that the first swap makes the first agent the second agent) and the third agent (σ 2 ) Therefore, the generator that represents this replacement is σ 1 -1 σ 2 and the element of the braid group that represents the homotopy class of paths from the initial state is σ 1 -1 σ 2 The arrangement 514 is the next state after the arrangement 513. The second agent moves, but the arrangement of the agents is not changed, so there is no change in the elements of the braid group that represents the homotopy class, and σ 1 -1 σ 2 The arrangement 515 is the next state of the 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 and the element of the braid group that represents the homotopy class of paths from the initial state is σ 1 -1 σ 2 σ 1 -1 Note that the layout 515 is the same as the layout 505.
[0058] As described above, the paths shown in FIG. 5A and the paths shown in FIG. 5B have the same agent placements in the initial and final states, but are different in homotopy class.
[0059] In the above explanation, only one agent moves in each time step. However, even if multiple agents move simultaneously, the homotopy class can be calculated by finding the time when the agent positions are swapped.
[0060] In the following description, a generator sequence that represents an element of a braid group is also referred to as a term, word, braid word, etc.
[0061] The node information update unit 323 updates information on the minimum transition cost to the post-transition 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 transition cost up to that point to determine the transition cost to the post-transition node due to the current transition. If the current transition to the post-transition node is smaller than the transition cost of the transitions processed up to that point, the node information update unit 323 updates the minimum transition cost to the post-transition node to that related to the current transition. Here, the identity determination unit 324 determines whether the post-transition node is the same as an existing node.
[0062] The identity determination unit 324 determines whether two nodes, typically at least one of the node after the transition determined by the state transition unit 321 and an existing node, are the same. In this embodiment, the node includes the position of each agent and the homotopy class of the transition to that node. Determining the identity of agent positions is self-explanatory, so a detailed explanation will be omitted. In determining the identity of homotopy classes, it is necessary to compare braid words representing homotopy classes. Even if they are elements of the same homotopy class or braid group, the braid words cannot be uniquely determined. Therefore, it is necessary to determine the identity of different braid words.
[0063] In one embodiment, the identity determiner 324 uses the Dehornoy order (or an order relation based on the Dehornoy order) to determine the identity of two Blade words.
[0064] Dehornoy ordering is explained. First, the main generator of a braided word is the generator of the smallest index contained in the braided word w. A braided word is said to be reduced if it is either an empty sequence or if its main generator is σ i That is, it appears only in positive, or σ i -1 It is known that a non-empty reduced braid does not represent an identity, but is represented by some reduced braid. The Dehornoy order is defined as follows: Two braids α and β are ordered by α -1 β is defined as α<β when the principal generator is represented by a reduced braided term that appears only in positive numbers. A practically fast algorithm for determining the Dehornoy ordering is known as the handle reduction method (Non-Patent Document 2).
[0065] Here we briefly explain the handle reduction method. First, σ i The handle is σ i e vσ i -e (e ∈ {1, -1}, v is σ i-1 ±1 Also σ i ±1 It is a braided word expressed in the form (braided word not including σ). i The handle is σ i+1 If it does not contain a handle, it is said to be "permitted". Here, the following permitted σ i Consider the handle. σ i e v 1 σ i+1 d v 2 ...σ i+1d v m σ i -e Note that e, d ∈ {1, -1} and v 1 , v 2 , ..., v m-1, v m is σ i-1 ±1 , σ i ±1 , σ i+1 ±1 This braided word can be transformed into: 1 σ i+1 -e σ i d σ i+1 e v 2 ...σ i+1 -e σ i d σ i+1 e v m In this transformation, σ i ±e is removed, and σ i+1 d is σ i+1 -e σ i d σ i+1 e The other generators remain unchanged. Handle reduction is performed by iterating until a reduced braid is obtained. The resulting reduced braid represents the same braid as the original braid.
[0066] In another embodiment, the identity determiner 324 uses Dynnikov coordinates to determine the identity of two Blade words.
[0067] First, (a1, ..., a n-1 , b1, ..., b n-1 Consider the space consisting of 2n-2 sets of integers, denoted as . We can define the action of an n-braid on this space as follows:
[0068] where u=(a1=0, ..., a n-1 =0, b1=-1, ..., b n-1 =-1), and the element α = σ i1 e1 σ i2 e2 ...σ im em For u・α = u・σ i1 e1 σ i2 e2 ...σ im em are called the Dynnikov coordinates of α. Then, u・α = u・β holds if and only if the braid group elements α and β are identical. Therefore, when two braid group elements consisting of different braid words are given, we can determine the identity of the two braid group elements α and β by applying the generators of each braid sequentially to u to obtain their Dynnikov coordinates, and then checking whether the two Dynnikov coordinates are identical. Furthermore, since Dynnikov coordinates are pairs of integers, it is possible to introduce order into Dynnikov coordinates.
[0069] In this way, the identity determination unit 324 determines the identity of the Blade words using Dehorne's 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 following relationship: value of left child node ≦ value of parent node ≦ value of right child node, and is a tree structure that keeps the tree height as small as possible. By storing the Blade words of existing nodes in a balanced binary tree, the identity determination unit 324 can efficiently (i.e., on the order of O(log(n))) determine whether a new Blade word is identical to an existing Blade word.
[0070] The route search unit 320 performs multi-agent route planning while taking into consideration the homotopy class of the route, using a state transition unit 321, a homotopy class calculation unit 322, a node information update unit 323, and an identity determination unit 324. The route search unit 320 performs, for example, prioritized route search, A * Algorithms can be used.
[0071] Prioritized path search is an algorithm that determines routes for agents in descending order of priority. When searching for a route for the nth agent, routes have already been determined for n-1 agents, so the homotopy class of these n agents can be calculated. To generate solutions that belong to multiple different homotopy classes using prioritized path search, the following can be done. Assume that searches have been completed for n-1 agents, and several solutions that belong to different homotopy classes have been generated. Then, for each of these solutions, a route for the nth agent is searched while taking into account the homotopy class of the solutions formed by the n agents, and solutions that belong to multiple different homotopy classes are obtained. By repeating this process as many times as there are agents, solutions that belong to multiple different homotopy classes can be generated. The specific steps for prioritized path search are explained below with reference to a flowchart.
[0072] A * The algorithm is an algorithm that takes the set of positions of all agents into states. Since the movement of all agents is considered in the state transition, it is trivial to extend it to the case where homotopy classes are considered.
[0073] The optimization unit 330 optimizes the solutions output by the path search unit 320, taking into account the kinematics of the agent 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 smallest post-optimization movement cost as final solutions.
[0074] The transmitting unit 340 outputs one or more solutions with the smallest post-optimization travel cost to the agent 150. The transmitting unit 340 may transmit the route itself to the agent 150, or may notify the agent 150 of only the homotopy class of the solution. The homotopy class may be notified by transmitting a braid word, or by transmitting the ID of the homotopy class (or braid word). The braid word may be transmitted, for example, by transmitting "σ1 -1 σ 2 σ 1 -1 " can be transmitted as data such as "-1, 2, -1". Alternatively, when transmitting the ID of a homotopy class, the correspondence between the ID and the homotopy class can be defined in advance, as shown in Figure 11(A). Here, HC1 and the like in the figure are specific homotopy classes or blade words, and each agent knows this definition in advance. In this case, the homotopy class can be communicated by simply transmitting a few bits of ID.
[0075] FIG. 11(B) shows an example of the flow of calculated homotopy classes between agents (AMR). In the example of FIG. 11(B), each agent notifies the other agents of their homotopy classes, thereby transmitting the homotopy classes to all agents. In the example of FIG. 11(B), some of the multiple agents may have the functionality of a path planner and transmit the calculated homotopy classes to other agents. FIG. 11(C) shows another example, in which a controller (path planner) transmits the homotopy classes to each agent. These communication methods are merely examples, and any communication method may be used to transmit the homotopy classes to each agent.
[0076] The homotopy class may be transmitted by extending a communication standard such as 4G, 5G, or 6G, or a wireless LAN such as IEEE 802.11ac, ZigBee (registered trademark), Bluetooth (registered trademark), or DASH7, storing the homotopy class ID in the header or in the payload. Furthermore, an interface standard between an AGV (automated guided vehicle) and an AMR (autonomous mobile robot), such as VDA5050, may be extended.
[0077] Even when agents 150 are not centrally controlled due to communication constraints, the homotopy class braid words or homotopy class IDs can be compactly expressed and can be transmitted to agents 150 using low-bit communication. By using this method, efficient solution homotopy classes can be calculated and transmitted to agents 150, enabling efficient cooperation among agents 150 using low-bit communication.
[0078] <Processing Flow> Fig. 6 is a flowchart showing a route search process performed by the route planning device 100. The route search is a process for finding a solution on a simplified grid map, and is mainly executed by the route search unit 320. The route search process shown in Fig. 6 is a process based on a prioritized route search algorithm, but the present invention is not limited to this algorithm.
[0079] Fig. 7 is a pseudocode showing an example of an implementation of the flowchart shown in Fig. 6. The pseudocode in Fig. 7 is an example of an implementation and does not exclude other implementations.
[0080] The route search process will be described below with reference to FIGS.
[0081] In step S601, the setting information acquisition unit 310 accepts input of setting information and performs initialization processing. The setting information includes the start position and goal position of each agent, the size of the grid map, the movement cost between each grid, various constraints, etc. Specifically, the setting 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 expanded edge set E' by adding edges connecting the same vertices (second line). The setting information acquisition unit 310 acquires the set of start position and goal position of each agent, (s1, g1), ..., (s n , g n ) (line 3). The route search unit 320 initializes a solution set "plans", whose elements are pairs of routes of processed agents, to an empty set (line 4).
[0082] In this process, a route is determined for each agent. A route for one agent is determined by loop processing S602 to S615 (lines 5 to 42 of the pseudo code).
[0083] In step S602, the route search unit 320 selects one agent for which a route has not been determined, i.e., an unprocessed agent (line 5). The selected agent will be referred to as agent i hereinafter. The route search unit 320 selects agents in descending order of priority, but the criteria for priority are not particularly limited.
[0084] In step S603, the route search unit 320 creates a node that adds the target agent i to the solution candidates for agents 1 to i-1. Specifically, the route search unit 320 adds the position v of agent i = s to each of the route plans found for agents 1 to i-1. i At time step t = 0, a node with a braid word w = ε (empty braid word) is added to the unprocessed node set Open (line 6).
[0085] In addition, the route search unit 320 initializes the processed node set Closed to an empty set (line 7), and calculates the minimum travel cost D[plan, s i , 0, ε] is initialized to 0 (lines 8 to 10), and the set of new solutions, newplans, including the route of agent i is initialized to an empty set (line 11).
[0086] The loop processing from step S604 onwards (lines 12 to 40) is performed for each unprocessed node set, and is repeated until there are no more unprocessed nodes or a sufficient number of solutions are obtained (lines 18 to 19).
[0087] In step S604, the state transition unit 321 selects one state (target node) to be processed next from the unprocessed node set Open (line 13). The state transition unit 321 selects the node with the smallest movement cost as the target node from the unprocessed node set Open. The movement cost here is, for example, the sum of the movement cost of the route (plan) from the start position of agent 1 to i-1 to the goal position, the movement cost from the start position of agent i to the target node, and the estimated movement cost from the target node of agent i to the goal position. The estimated movement cost to the goal position is determined heuristically.
[0088] In step S605, the path search unit 320 determines whether agent i has reached the goal position 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 position. If the goal position has not been reached, the process proceeds to step S606; if the goal position 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 location of the target agent is the location v i The destination is basically the position v i However, some movements are excluded. Specifically, the state transition unit 321 i Select all edges e∈E′ from v in turn (line 22), excluding edges that collide with agents 1 to i−1 in the current time step (lines 23 to 25). i Edges where ' matches the starting position of any agent are excluded (lines 26-29).
[0090] In step S607, the state transition unit 321 calculates a braid word w' representing the homotopy class of the path (line 31). The braid word w' at the post-movement node is determined based on the reordering 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 post-movement node (line 32). In the pseudocode, the movement cost required to move to an adjacent grid is always set to "1".
[0092] The post-movement node 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 (longest travel time) of the route included in the route plan of agents 1 to i-1 is exceeded, there is no need to consider collisions with agents 1 to i, so for processing efficiency, time step t' may be the longest travel time (line 30).
[0093] In step S609, the node information update unit 323 determines whether the post-movement node (plan, v', t', w') is a new node. Specifically, the node information update unit 323 determines whether the post-movement node (plan, v', t', w') matches any of the existing nodes, i.e., any of the nodes included in the unprocessed node set Open and the processed node set Close (line 33). Here, it is obvious how to determine the identity of the set plan of the paths of agents 1 to i-1, the position v of agent i, and the time step t. However, as described above, the identity of the blade word w is determined by the identity determination unit 324 based on the Dehornoy order or Dynnikov coordinates. For example, the identity determination unit 324 stores the Blade words of nodes included in the unprocessed node set Open and the processed node set Close that have matching plan, v, and t in a balanced binary search tree, and searches this balanced binary search tree for a node identical to the Blade word w' of the moved node. If a Blade word identical to the Blade word w' is found in the balanced binary search tree, it is determined that a node identical to the moved node exists; if not, it is determined that the moved node is a new node. If the moved node is a new node, processing proceeds to step S610; if the moved node is not a new node, processing 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' calculated in step S608 (line 34).
[0095] In step S611, the node information update unit 323 updates the information of the post-movement 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 post-movement node, and if d' is smaller, sets d' as the minimum movement cost (lines 36 to 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 unprocessed edges, the process returns to step S606, and the same process is performed for the destinations of the unprocessed edges. If processing has been completed for all edges, the process returns to step S604, and the same process is performed for the next unprocessed node.
[0097] Step S613 is a process executed when it is determined in step S605 that agent i has reached the goal position. The path search unit 320 adds the current path of agent i to the solution candidates. Specifically, the path search unit 320 reconstructs the path p of agent i based on the currently obtained information of each node (line 16), and adds the union of plan and p to a new solution set newplans (line 17).
[0098] In step S614, the path search unit 320 determines whether the required number of solutions has been obtained. The required number may be determined appropriately according to the system requirements. If the required number of solutions has not been obtained, the process returns to step S604, and the same process is performed on the next unprocessed node. If the required number of solutions has been obtained, the process proceeds to step S615. Note that once the required number of solutions has been obtained, a new solution set newplans is substituted for the solution set plans (line 41).
[0099] In step S615, the path search unit 320 determines whether all agents have been processed. If there are any unprocessed agents, the process returns to step S602, and the same process is performed on the agent with the next highest priority. If all agents have been processed, the path search unit outputs a solution set "plans" as the final solution. The set "plans" includes the required number of pairs of paths for all agents 1 to n.
[0100] <Experiment 1> In order to confirm the effectiveness of the present invention, the following experiment was conducted. First, 100 instances of a multi-agent path planning problem with 10 agents in a 14x14 grid map were randomly created. In this experiment, neither the start nor the goal positions were located on boundary grids, and no start or goal positions were adjacent to each other horizontally, vertically, or diagonally. In addition, multiple agents were prohibited from being present on the same grid, and another agent was prohibited from moving into a grid that had already been left by another agent at the same time.
[0101] Under these conditions, we obtained multiple solutions for each instance using our method and a conventional method (prioritized path search) that does not consider homotopy classes.The obtained search solutions were then optimized using the following cost function C and the constraint that the agent's velocity must be zero at the start and end points of the path. In the above formula, γ i is the path of agent i, and c cis the penalty coefficient, and r = 0.5 is the collision radius of the agent. The first term of the cost function C represents the cost related to the smoothness of movement, and the second term represents the collision penalty.
[0102] 8 shows the experimental results, with the horizontal axis representing the number of search solutions obtained and the vertical axis representing the minimum cost (average of 100 instances) after optimizing the search solutions. Graph 801 shows the minimum cost when a search solution is obtained using the present method, while graph 802 shows the minimum cost when a search solution is obtained using a conventional method that does not consider homotopy classes. Graph 803 shows the cost when optimizing the optimal solution in the grid map.
[0103] As can be seen from Figure 8, the minimum cost decreases as the number of search solutions increases in both the present method and the conventional method, but when the number of search solutions is the same, the present method obtains a route with a smaller minimum cost than the conventional method. In other words, the present method can more efficiently find an appropriate solution.
[0104] The reason why this method can obtain efficient solutions is believed to be because the search yields solutions belonging to many different homotopy classes. Figure 9 shows a histogram of the number of homotopy classes contained in solutions generated for 100 randomly generated instances on a grid, with the priorities randomly changed using prioritized path planning that does not consider homotopy classes. As can be seen from the figure, conventional methods that do not consider homotopy classes generate only 10 or fewer homotopy classes in many cases. This method can obtain solutions with different homotopy classes, and generating 100 solutions yields solutions of 100 homotopy classes.
[0105] <Experiment 2> We conducted an experiment to evaluate how the execution time of our method changes depending on the number of agents. In this experiment, 10 instances of a multi-agent path planning problem with 800 agents in a 122 x 122 grid map were randomly created. In this experiment, we measured the time from the start of the experiment to the completion of path planning for each agent (line 41 in Figure 7). In this experiment, we used a process using Dynnikov coordinates and a process using the Handle Reduction method (or Dehornoy ordering) to determine the identity of blade words, and compared the results.
[0106] 10 shows the experimental results, where graph 1001 shows the results when Dynnikov coordinates are used, and graph 1002 shows the results when Handle Reduction is used. When Dynnikov coordinates are used, the order of calculation time is O(n 2 ), whereas the order when using Handle Reduction is O(n 5 ) This shows that using Dynnikov coordinates is more effective in terms of calculation time, especially for path planning problems with a large number of agents.
[0107] Other Embodiments The above-described embodiment is merely an example, and the present disclosure can be implemented with appropriate modifications within the scope of the gist thereof.
[0108] For example, the above embodiment relates to multi-agent path planning on a plane, but may also be applied to multi-agent planning in three-dimensional space. Furthermore, the above embodiment assumes that no obstacles exist, but may also be applied to a case where obstacles exist. Furthermore, multi-agent path planning is not limited to robot movement, but may also be applied to, for example, posture control of an articulated robot.
[0109] Furthermore, in the above embodiment, the route determined by the route search unit 320 is optimized by the optimization unit 330, but the optimization unit 330 may be omitted. For example, the route determined by the route search unit 320 may be output as the final solution. For example, the homotopy class of any of the routes determined by the route search unit 320 may be transmitted from the transmission unit 340 to the agent.
[0110] <Notes> 1. A path planning device (100) that plans paths for a plurality of agents, comprising: an information acquisition unit (310) that acquires a start state and a goal state of each of the plurality of agents; and a homotopy class calculation unit (322) that calculates a homotopy class of a path from the start state of the plurality of agents to the state after movement.
[0111] A path planning device (100) for planning paths for a plurality of agents, comprising: an information acquisition unit (310) for acquiring a start state and a goal state of each of the plurality of agents; and a path search unit (320) for searching for a path from the start state to the goal state of the plurality of agents, wherein the path search unit (320) comprises: a state determination unit (321) for determining a post-transition state of the plurality of agents; a homotopy class calculation unit (322) for calculating a homotopy class of a path from the start state to the post-transition state of the plurality of agents; and an identity determination unit (324) for determining whether or not a node including the post-transition state and the homotopy class of the plurality of agents (hereinafter referred to as a post-transition node) is identical to any of the nodes that have already been processed, and performs the path search taking into account whether or not the post-transition node is identical to any of the nodes that have already been processed, the identity determination unit (324) determines the identity of the homotopy classes of the post-transition node and any of the processed nodes by comparing generator sequences representing elements of blade groups corresponding to the homotopy classes using a predetermined order relationship.
[0112] 3. A path planning method executed by a computer for planning paths for a plurality of agents, comprising: an information acquisition step (S601) of acquiring a start state and a goal state of each of the plurality of agents; and a homotopy class calculation step (S607) of calculating a homotopy class of a path from the start state of each of the plurality of agents to the state after movement.
[0113] A path planning method executed by a computer for planning paths for a plurality of agents, comprising: an information acquisition step (S601) for acquiring a start state and a goal state of each of the plurality of agents; and a search step (S602-S616) for searching for a path from the start state to the goal state of the plurality of agents, wherein the search step comprises: a state determination step (S604) for determining a post-transition state of the plurality of agents; a homotopy class calculation step (S607) for calculating a homotopy class of a path from the start state to the post-transition state of the plurality of agents; an identity determination step (S609) for determining whether a node including the post-transition state and the homotopy class of the plurality of agents (hereinafter referred to as a post-transition node) is identical to any existing node; and a path search step (S605, S610, S611) for searching for a path taking into account whether the post-transition node is identical to any existing node. a path planning method characterized in that, in the identity determination step, the identity of the homotopy classes of the post-transition node and any of the existing nodes is determined by comparing generator sequences representing elements of blade groups corresponding to the homotopy classes using a predetermined order relation.
[0114] 100: Route planning device 310: Setting information acquisition unit 320: Route search unit 330: Optimization unit 340: Transmission unit 321: State transition unit 322: Homotopy class calculation unit 323: Node information update unit 324: Identity determination unit
Claims
1. A path planning device that plans paths for a plurality of agents, comprising: an information acquisition unit that acquires a start state and a goal state of each of the plurality of agents; and a homotopy class calculation unit that calculates a homotopy class of a path from the start state to a state after movement of each of the plurality of agents.
2. The route planning device according to claim 1, characterized in that the homotopy class calculation unit calculates the homotopy class as an element of a braid group, which is a fundamental group of a configuration space of anonymous route plans.
3. The path planning device according to claim 2, characterized in that the homotopy class calculation unit calculates a generator sequence representing the elements of the blade group based on the change in position in a predetermined axial direction accompanying the movement of the multiple agents.
4. The route planning device of claim 1, further comprising an identity determination unit that determines the identity of multiple nodes in a route search, wherein 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 generator sequences representing elements of the blade group corresponding to the homotopy classes using a predetermined ordering relationship.
5. The path planning device according to claim 4, wherein the predetermined order relationship is based on a Dehornoy order.
6. The route planning device of claim 1, further comprising an identity determination unit that determines the identity of multiple nodes in route search, wherein the identity determination unit determines the identity of the homotopy class at the first node and the homotopy class at the second node by whether or not pairs of integers based on generator sequences representing the elements of the blade group corresponding to the homotopy classes are identical.
7. The path planning device according to claim 6, wherein the set of integers is Dynnikov coordinates.
8. The route planning device according to claim 6, further comprising a route search section which uses the identity determination section to perform route search taking into consideration whether a node being processed is identical to an existing node.
9. The path planning device described in claim 6, characterized in that the identity determination unit manages the homotopy classes of existing nodes using a binary search tree, and determines the identity with the homotopy class of any of the existing nodes by searching the homotopy class of the node after the movement from the binary search tree.
10. The path planning device according to claim 1, wherein the path plan relates to movement of the plurality of agents on a plane.
11. The route planning device according to claim 8, characterized in that the route search unit outputs a plurality of routes in a grid map, and further comprises an optimization unit that optimizes the routes output by the route search unit in a space with higher accuracy than the grid map.
12. The route planning device according to claim 8, further comprising a transmission unit that transmits the homotopy class of at least one route determined by the route search unit to the plurality of agents.
13. A path planning device that performs path planning for a plurality of agents, comprising: an information acquisition unit that acquires a start state and a goal state of each of the plurality of agents; and a path search unit that searches for a path from the start state to the goal state of the plurality of agents, wherein the path search unit comprises: a state transition unit that determines a post-transition state of the plurality of agents; a homotopy class calculation unit that calculates a homotopy class of a path from the start state to the post-transition state of the plurality of agents; and an identity determination unit that determines whether a node (hereinafter referred to as a post-transition node) including the post-transition state and the homotopy class of the plurality of agents is identical to any existing node, and performs a path search taking into consideration whether the post-transition node is identical to any existing node, and the identity determination unit determines the identity of the homotopy class of the post-transition node and any of the existing nodes by determining whether the homotopy class of the homotopy class of a first node and the homotopy class of a second node are identical.
14. A path planning device that performs path planning for a plurality of agents, comprising: an information acquisition unit that acquires a start state and a goal state of each of the plurality of agents; a path search unit that searches for a path from the start state to the goal state of the plurality of agents; and a transmission unit that transmits a homotopy class of at least one path determined by the path search unit to the plurality of agents.
15. The path planning device according to claim 14, characterized in that the transmission of the homotopy class to the plurality of agents by the transmission unit includes transmitting to the plurality of agents a generator sequence representing an element of a blade group corresponding to the homotopy class.
16. The path planning device according to claim 14, characterized in that the transmission of the homotopy class to the plurality of agents by the transmission unit includes transmitting an identifier that has been pre-assigned to the homotopy class to the plurality of agents.
17. A path planning method executed by a computer for planning paths for a plurality of agents, comprising: an information acquisition step for acquiring a start state and a goal state of each of the plurality of agents; and a homotopy class calculation step for calculating a homotopy class of a path from the start state of each of the plurality of agents to a state after movement.
18. A path planning method executed by a computer for planning paths for a plurality of agents, comprising: an information acquisition step for acquiring a start state and a goal state of each of the plurality of agents; and a search step for searching a path from the start state to the goal state of the plurality of agents, the search step comprising: a state determination step for determining a post-transition state of the plurality of agents; a homotopy class calculation step for calculating a homotopy class of a path from the start state to the post-transition state of the plurality of agents; an identity determination step for determining whether a node (hereinafter referred to as a post-transition node) including the post-transition state and the homotopy class of the plurality of agents is identical to any existing node; and a path search step for performing a path search taking into consideration whether the post-transition node is also identical to any of the processed nodes, a path planning method characterized in that, in the identity determination step, the identity of the homotopy classes of the post-transition node and any of the existing nodes is determined by determining the identity of the homotopy class of the first node and the homotopy class of the second node based on whether or not a set of integers based on a generator sequence representing the elements of a blade group corresponding to the homotopy class are identical.
19. A path planning method executed by a computer for planning paths for a plurality of agents, comprising: an information acquisition step for acquiring a start state and a goal state of each of the plurality of agents; a search step for searching for paths from the start states to the goal states of the plurality of agents; and a transmission step for transmitting the homotopy class of at least one path determined in the search step to the plurality of agents.
20. A program for causing a computer to function as each of the means of a route planning device according to any one of claims 1 to 14.
21. A program for causing a computer to execute each step of the route planning method according to any one of claims 15 to 17.
Citation Information
Patent Citations
System and method of tracking spacecraft trajectory for orbital transfer
JP2020026267A
Information processing apparatus, information processing method, and program
JP2023014555A
Route planning system, route planning method, road map construction device, model generation device and model generation method
JP2023059382A
Cited By
Voice interactive CT robot sickbed cooperation method
CN120740602A