Route generation device, route generation method, and route generation program

The PA* algorithm in the route generation device and method addresses the challenge of simultaneously searching for multiple routes with different start and goal points, optimizing the search process to efficiently generate the shortest paths by prioritizing meshes closer to the goal points and handling overlaps.

WO2025182305A1PCT designated stage Publication Date: 2025-09-04MITSUBISHI HEAVY IND LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/000380
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-29
Filing Date
2025-01-08
Publication Date
2025-09-04

AI Technical Summary

Technical Problem

Existing route search systems are limited in their ability to efficiently search for multiple routes with different start and goal points simultaneously and in parallel, which is necessary in various industrial applications.

Method used

A route generation device and method that utilizes the Parallel A-Star (PA*) algorithm to search for multiple routes in parallel by dividing the search range into meshes, calculating scores based on actual and estimated costs, and managing open, closed, and no-passage lists to efficiently generate the shortest paths, while considering potential overlaps and interference between routes.

Benefits of technology

Enables the simultaneous and efficient generation of multiple routes with different start and goal points, optimizing the search process to find the shortest paths by prioritizing meshes closer to the goal points and handling overlaps, thus enhancing route planning efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025000380_04092025_PF_FP_ABST
    Figure JP2025000380_04092025_PF_FP_ABST
Patent Text Reader

Abstract

A route generation device (10) is provided with a processing device (13) configured to search for a plurality of routes (R1 to R4) having different start points (S1 to S4) and / or different goal points (G). The processing device is configured to start searching for the plurality of routes simultaneously and to search for routes in parallel while comparing information (S) about the plurality of routes.
Need to check novelty before this filing date? Find Prior Art

Description

Route generation device, route generation method, and route generation program

[0001] The present disclosure relates to a route generation device, a route generation method, and a route generation program.

[0002] Conventionally, systems for searching for optimal routes for moving bodies, including ships and aircraft, are known. For example, the optimal route search system disclosed in Patent Document 1 includes a cost calculation device, a storage device, a route search device, and a display device. The cost calculation device calculates, as prediction data, costs or weights based on at least ship speed, fuel consumption, and sea margin between multiple nodes set from a specific sea area to a destination, based on ship performance data and ocean weather data. The storage device stores the prediction data. The route search device searches for an optimal route from a specific sea area to a destination based on the prediction data stored in the storage device. The display device displays a route map based on the optimal route searched by the route search device.

[0003] Japanese Patent Application Laid-Open No. 2007-057499

[0004] The system disclosed in Patent Document 1 searches for a route between two points. Route search technology is used in various industrial fields. Depending on the industrial field, it is required to efficiently search for multiple routes.

[0005] A route generation device according to one aspect of the present disclosure includes a processing device configured to search for multiple routes that have different start points and / or goal points, and the processing device is configured to simultaneously start searching for the multiple routes and search for the multiple routes in parallel while comparing information on the multiple routes.

[0006] A route generation method according to one aspect of the present disclosure includes simultaneously starting a search for multiple routes having different start points or finish points, and searching for the multiple routes in parallel while comparing information about the multiple routes.

[0007] A route generation program according to one aspect of the present disclosure causes a computer to execute a process of simultaneously starting a search for multiple routes that have at least one different start point and finish point, and a process of searching for the multiple routes in parallel while comparing information about the multiple routes.

[0008] FIG. 1 is a block diagram showing the configuration of a path generation device according to an embodiment. * 2A shows a first stage of the route search, FIG. 2B shows a second stage of the route search, FIG. 2C shows a third stage of the route search, FIG. 2D shows a fourth stage of the route search, FIG. 2E shows a fifth stage of the route search, and FIG. 2F shows a sixth stage of the route search. * FIG. 4 is a flowchart showing an outline of a route search procedure using the PA* algorithm according to an embodiment. FIG. 5A to FIG. 5D are flowcharts showing details of a route search procedure using the PA* algorithm according to an embodiment. * 6A to 6D are maps for explaining an example of a route search using an algorithm, where the map in Fig. 5A shows the initial state of a first route, the map in Fig. 5B shows the initial state of a second route, the map in Fig. 5C shows the initial state of a third route, and the map in Fig. 5D shows the initial state of a fourth route. * 6A shows the progress of a first route search, FIG. 6B shows the progress of a second route search, FIG. 6C shows the progress of a third route search, and FIG. 6D shows the progress of a fourth route search. * 8A to 8D are maps for explaining an example of a route search using an algorithm, where the map in FIG. 7A shows the search progress of a first route, the map in FIG. 7B shows the search progress of a second route, the map in FIG. 7C shows the search progress of a third route, and the map in FIG. 7D shows the search progress of a fourth route. *9A to 9D are maps for explaining an example of a route search using an algorithm, in which the map in FIG. 8A shows the search progress of a first route, the map in FIG. 8B shows the search progress of a second route, the map in FIG. 8C shows the search progress of a third route, and the map in FIG. 8D shows the search progress of a fourth route. * 9A shows the progress of a first route search, FIG. 9B shows the progress of a second route search, FIG. 9C shows the progress of a third route search, and FIG. 9D shows the progress of a fourth route search. * 11A to 11D are maps for explaining an example of a route search using an algorithm, in which the map in FIG. 10A shows the search progress of a first route, the map in FIG. 10B shows the search progress of a second route, the map in FIG. 10C shows the search progress of a third route, and the map in FIG. 10D shows the search progress of a fourth route. * 11A shows the progress of a first route search, FIG. 11B shows the progress of a second route search, FIG. 11C shows the progress of a third route search, and FIG. 11D shows the progress of a fourth route search. * 10 is a map for explaining an example of a route search result using an algorithm.

[0009] The following describes an embodiment of a route generation device, a route generation method, and a route generation program. As shown in FIG. 1, a route generation device 10 includes an input device 11, an output device 12, a processing device 13, and a communication device 14.

[0010] The input device 11 includes, for example, a keyboard and a mouse, and is used to input various types of information. The information is a request or instruction from an operator. The information is, for example, information necessary for generating a route for the mobile object 15, and includes the starting point, destination, departure time from the starting point, arrival time at the destination, a route change command, and a route creation command.

[0011] The mobile object 15 includes an aircraft. The aircraft includes an unpiloted aircraft and an unmanned aircraft. An unmanned aircraft is an aircraft that can be used for aviation purposes with a person on board and has a device that allows it to fly without a pilot on board. An unmanned aircraft is an aircraft that can be used for aviation purposes, but is structurally incapable of being used by a person on board, and can be flown by remote control or automatic piloting.

[0012] The mobile body 15 includes a ship. The ship includes an autonomous ship. An autonomous ship is a ship that can navigate using an automatic control function without humans operating navigation-related equipment. An autonomous ship includes an unmanned ship. An unmanned ship is a ship that does not have a crew on board, and has an autonomous navigation function that allows it to navigate at a predetermined speed along a set route while avoiding obstacles, for example.

[0013] The output device 12 outputs various types of information. The output device 12 includes a display device that displays information visually. Examples of the display device include an electroluminescence display, a liquid crystal display, an LED (Light Emitting Diode) display, and a plasma display. The information includes, for example, route information for the mobile object 15 generated by the processing device 13.

[0014] The processing device 13 has a processing circuit that includes one of the following three components A1, A2, and A3: A1. One or more processors that operate according to a computer program, which is software. The processor includes a CPU (Central Processing Unit) and memory.

[0015] A2: One or more dedicated hardware circuits, such as an application specific integrated circuit, that execute at least some of the various processes. A3: A combination of configurations A1 and A2.

[0016] The memory is a computer-readable medium that stores a program that describes processes or instructions for the computer. In this embodiment, the computer is a CPU. The memory includes a RAM (Random Access Memory) and a ROM (Read Only Memory). The CPU executes the program stored in the memory at a predetermined calculation cycle to perform various controls.

[0017] The processing device 13 has a storage device 13A. The storage device 13A includes an auxiliary storage device such as a hard disk, and stores various programs and data. The CPU of the processing device 13 loads programs from the storage device 13A into memory based on instructions from the input device 11, and executes the programs loaded into memory to realize various functions.

[0018] The programs include a route search program. The route search program is a program based on a route search algorithm. The route search algorithm is an algorithm for generating a route from the departure point to the destination of the mobile object 15. In this embodiment, the route search algorithm is * The Parallel A-Star (PA) algorithm is used. * The algorithm is a type of best-first search, A * The algorithm uses an algorithm that searches for multiple routes simultaneously. The processing device 13 executes a route search program based on information input via the input device 11, thereby calculating the route of the moving object 15. * Algorithm and PA * The details of the algorithm will be described later.

[0019] The communication device 14 can communicate with the mobile object 15 via a relay infrastructure 16. The relay infrastructure 16 includes various communication facilities and communication networks that serve as the foundation for relaying communications between the communication device 14 and the mobile object 15. The communication facilities include, for example, ground stations, which are radio stations installed on the ground, satellite stations, which are radio stations mounted on artificial satellites, and unmanned aircraft stations, which are radio stations mounted on small unmanned aircraft. The communication networks include, for example, the Internet, satellite communication networks, and radio relay networks using small wireless aircraft.

[0020] The communication device 14 exchanges information with the mobile object 15 via the relay infrastructure 16 in accordance with instructions from the processing device 13. The information transmitted by the communication device 14 to the mobile object 15 includes route information generated by the processing device 13 and indicating the route of the mobile object 15. The mobile object 15 receives the route information and moves based on the received route information. The information received by the communication device 14 from the mobile object 15 includes information necessary for the processing device 13 to generate a route for the mobile object 15, such as road closure information for the mobile object 15, weather information, and current location information for the mobile object 15.

[0021] <A * Algorithm> Next, A * The algorithm will be explained below. * In this algorithm, the search range is divided into a specified number of meshes, and meshes with a high score S are searched for first. This makes it possible to generate the shortest path between two points. Meshes are small regions into which the search range is divided. In this embodiment, for the sake of convenience, the search range is assumed to be a square projected onto a two-dimensional plane, and the search range is divided into square meshes in both the vertical and horizontal directions. The position of each mesh is represented by the distance from the origin set in the search range to the mesh. In other words, the position of each mesh can be represented by XY coordinates, where the horizontal direction of the search range is the X axis and the vertical direction is the Y axis.

[0022] As shown in the following formula (1), the score S is the sum of the actual cost C and the estimated cost H. The smaller the value of the score S, the better the score S. S = C + H (1) The actual cost C is the travel distance from the start point to the current point. The actual cost C of the current point iis expressed by the following equation (2).

[0023] C i =C i-1 +α (vertical and horizontal α = 1, diagonal α = √2) ... (2) However, "C i-1 " is the actual cost of the movement source. "α" is the movement cost of each mesh. The movement cost α when moving vertically or horizontally in the search range is "1". The movement cost α when moving diagonally in the search range is "√2".

[0024] The estimated cost H is the shortest distance from the current point to the goal point. The estimated cost H is expressed by the following equation (3): H=√{(x i -x g ) 2 +(y i -y g ) 2} ... (3) However, "x i " is the X coordinate value of the current location. g " is the X coordinate value of the goal point. i " is the Y coordinate value of the current point. g " is the Y coordinate value of the goal point.

[0025] By using the shortest distance from the current point to the goal point as the estimated cost H, the closer you get to the goal point, the smaller the value of the estimated cost H becomes. Therefore, meshes closer to the goal point are searched first. This makes it possible to efficiently generate the shortest route from the start point to the goal point.

[0026] <A * An example of algorithmic search: Next, A *An example of a search using the algorithm will be described. As shown in FIG. 2A, for example, consider a case where the search range is divided into a mesh of 5 rows and 5 columns. The start point and goal point are set in advance. For example, the start point is at coordinates (0,0) and the goal point is at coordinates (3,3). The meshes at coordinates (1,0), (1,2), and (2,2) are no-passage areas. The no-passage meshes are registered in a no-passage list prepared in advance. Since meshes registered in the no-passage list are not searched, a route can be generated that bypasses the no-passage meshes.

[0027] In addition to the no-passage list, an open list and a closed list are also prepared in advance. The open list and the closed list are initially empty. Opens are registered in the open list when a route is searched. Opens are meshes that are candidates for search. Closeds are registered in the closed list when a route is searched. Closeds are meshes that have already been searched. The processing device 13 is responsible for the route search.

[0028] <First Stage> Now, when starting a route search, a starting point is added to the open list. When adding a starting point to the open list, a score S is calculated. As shown in FIG. 2A, the score S of the starting point is "4.24". In addition, the mesh in the open list with the smallest score S value is designated as the "parent". Currently, only the starting point is registered in the open list, so the starting point is the "parent". The "parent" is the mesh that will be the reference mesh for the next mesh to be added to the open list.

[0029] Next, we check whether there are any "children" that are adjacent meshes to the "parent." As shown in Figure 2A, there are two unsearched "children" except for the no-traffic mesh at coordinates (1,0). The "children" are the mesh at coordinates (0,1) and the mesh at coordinates (1,1).

[0030] Therefore, the two "children" are added to the open list, and the scores S of the two "children" are calculated. The score S of the mesh with coordinates (0, 1) is "4.61". The score S of the mesh with coordinates (1, 1) is "4.24". The value of the score S is saved together with the coordinates of the "parent". The coordinates of the current "parent" are the coordinates of the starting point (0, 0). In FIG. 2A, the coordinates of the "parent" are shown at the bottom of each mesh, i.e., below the score S.

[0031] The current "parent" has completed its role of adding adjacent meshes to the open list, and is now added to the closed list. <Second step> Next, as shown in Figure 2B, the mesh with the smallest score S in the current open list is designated as the "parent". Currently, two meshes are registered in the open list. The coordinates of the two meshes are (0,1) and (1,1). Of the two meshes, the mesh with coordinates (1,1) has the smallest score S. Therefore, the mesh with coordinates (1,1) is designated as the new "parent".

[0032] Next, we check whether there are any "children" that are adjacent meshes to the "parent." As shown in Figure 2B, except for the three no-traffic meshes at coordinates (1,0), (1,2), and (2,2), there are three unsearched "children," one "child" in the open list, and one "child" in the closed list.

[0033] The coordinates of the unsearched "children" are coordinates (0,2), coordinates (2,0), and coordinates (2,1). The coordinates of the "child" included in the open list are coordinates (0,1). Therefore, the three unsearched "children" are added to the open list, and the scores S of the three "children" are calculated. The score S of the mesh with coordinates (0,2) is "5.98". The score S of the mesh with coordinates (2,0) is "5.98". The score S of the mesh with coordinates (2,1) is "4.65". The score S value is saved together with the coordinates of the "parent". The coordinates of the current "parent" are coordinates (1,1).

[0034] The coordinates of the "child" included in the closed list are coordinates (0,0). The score S of coordinates (0,0) is "4.24", which is the same as the score S of the current "parent". In other words, the score S of the current "parent" is not smaller than the score S of the "child" included in the closed list. Therefore, the "child" at coordinates (0,0) remains registered in the closed list.

[0035] Once all "children" have been searched, the current "parent" at coordinates (1,1) is added to the closed list. <Third step> Next, the mesh with the smallest score S in the current open list is designated as the "parent". Currently, four meshes are registered in the open list. The coordinates of the four meshes are coordinates (0,1), coordinates (0,2), coordinates (2,0), and coordinates (2,1). Of the four meshes, the mesh at coordinates (0,1) has the smallest score S. Therefore, as shown in Figure 2C, the mesh at coordinates (0,1) is designated as the new "parent".

[0036] Next, we check whether there are any "children" that are adjacent meshes to the "parent." As shown in Figure 2C, except for the two no-traffic meshes at coordinates (1,0) and (1,2), there is one "child" in the open list and two "children" in the closed list.

[0037] The coordinates of the "child" included in the open list are coordinates (0,2). The score S of the mesh with coordinates (0,2) immediately before the mesh with coordinates (0,1) is designated as the new "parent" is "5.98". The score S of the "parent" with coordinates (0,1) is "4.61", which is smaller than the score S of the "child" with coordinates (0,2). Therefore, the score S value of the "child" with coordinates (0,2) and the coordinates of the "parent" are updated. The score S of the "child" with coordinates (0,2) is updated from "5.98" in Figure 2B to "5.16" in Figure 2C. The coordinates of the "parent" of the "child" with coordinates (0,2) are updated from coordinates (1,1) in Figure 2B to coordinates (0,1) in Figure 2C.

[0038] The coordinates of the two "children" included in the closed list are coordinates (0,0) and coordinates (1,1). The score S of the "parent" with coordinates (0,1) is greater than the score S of the two "children" included in the closed list. Therefore, the "child" with coordinates (0,0) and the "child" with coordinates (1,1) remain registered in the closed list.

[0039] Once all "children" have been searched, the current "parent" at coordinates (0, 1) is added to the closed list. <Fourth step> Next, the mesh with the smallest score S in the current open list is designated as the "parent". As shown in Figure 2C, three meshes are currently registered in the open list. The coordinates of the three meshes are coordinates (0, 2), coordinates (2, 0), and coordinates (2, 1). Of the three meshes, the mesh with coordinates (2, 1) has the smallest score S. Therefore, as shown in Figure 2D, the mesh with coordinates (2, 1) is designated as the new "parent".

[0040] Next, we check whether there are any "children" that are adjacent meshes to the "parent." As shown in Figure 2D, except for the three no-traffic meshes at coordinates (1,0), (1,2), and (2,2), there are three unsearched "children," one "child" in the open list, and one "child" in the closed list.

[0041] The coordinates of the unsearched "children" are coordinates (3,0), (3,1), and (3,2). The coordinates of the "child" included in the open list are coordinates (2,0). Therefore, the three unsearched "children" are added to the open list, and the score S is calculated. The score S of the mesh with coordinates (3,0) is "6.82". The score S of the mesh with coordinates (3,1) is "5.41". The score S of the mesh with coordinates (3,2) is "4.82". The value of the score S is saved together with the coordinates of the "parent". The coordinates of the current "parent" are coordinates (2,1).

[0042] The coordinates of the "child" included in the closed list are coordinates (1, 1). The score S of the coordinates (1, 1) is "4.24", which is smaller than the score S of the current "parent". In other words, the score S of the current "parent" is greater than the score S of the "child" included in the closed list. Therefore, the "child" at coordinates (1, 1) remains registered in the closed list.

[0043] Once all "children" have been searched, the current "parent" at coordinates (2,1) is added to the closed list. <Fifth step> Next, the mesh with the smallest score S in the current open list is designated as the "parent". Currently, five meshes are registered in the open list. The coordinates of the five meshes are coordinates (0,2), coordinates (2,0), coordinates (3,0), coordinates (3,1), and coordinates (3,2). Of the five meshes, the mesh with coordinates (3,2) has the smallest score S. Therefore, as shown in Figure 2E, the mesh with coordinates (3,2) is designated as the new "parent".

[0044] Next, we check whether there are any "children" that are adjacent meshes to the "parent." As shown in Figure 2E, except for the no-traffic mesh at coordinates (2, 2), there are two unsearched "children," one "child" in the open list, and one "child" in the closed list.

[0045] The coordinates of the unsearched "children" are coordinates (2, 3) and coordinates (3, 3). The coordinates of the "child" included in the open list are coordinates (3, 1). Therefore, the two unsearched "children" are added to the open list, and the score S is calculated. The score S of the "child" with coordinates (2, 3) is "6.23". The score S of the "child" with coordinates (3, 3) is "4.82". The value of the score S is saved together with the coordinates of the "parent". The coordinates of the current "parent" are coordinates (3, 2).

[0046] The coordinates of the "child" included in the closed list are coordinates (2, 1). The score S of the coordinates (2, 1) is "4.65", which is smaller than the score S of the current "parent". In other words, the score S of the current "parent" is greater than the score S of the "child" included in the closed list. Therefore, the "child" at coordinates (2, 1) remains registered in the closed list.

[0047] Once the search for all "children" has been completed, the current "parent" at coordinates (3, 2) is added to the closed list. <Sixth Step> Next, the mesh with the smallest score S in the current open list is designated as the "parent." Currently, six meshes are registered in the open list. The coordinates of the six meshes are (0, 2), (2, 0), (2, 3), (3, 0), (3, 1), and (3, 2). Of the six meshes, the mesh with coordinates (3, 3) has the smallest score S. Therefore, as shown in FIG. 2F, the mesh with coordinates (3, 3) is designated as the new "parent." The coordinates of the "parent" are the coordinates of the goal point. Therefore, the route search is completed. By tracing the "parents" in order from the goal point, the shortest route R0 from the start point to the goal point is generated.

[0048] In this way, A * The algorithm can generate the shortest path from a single starting point to a single goal point. * In route search using an algorithm, multiple routes cannot be generated simultaneously. The route includes routes from multiple start points to a single goal point, routes from a single start point to multiple goal points, and routes from multiple start points to multiple goal points. Therefore, in this embodiment, PA is used as the route search algorithm. * It employs an algorithm.

[0049] <PA * Overview of the algorithm> Next, PA * The outline of the algorithm is explained below. *The algorithm searches for multiple routes simultaneously and searches for routes in parallel while comparing the information of each route. * In order to search multiple routes in parallel, the algorithm requires the preparation of an independent map for each route. The map is, for example, a two-dimensional map showing the route search range, with an X axis as the horizontal axis and a Y axis as the vertical axis.

[0050] As shown in Fig. 3, the processing device 13 simultaneously searches for multiple routes (steps S51 to S54). In the example of Fig. 3, there are four routes, from the first route R1 to the fourth route. The processing device 13 also determines whether the routes interfere (step S55). Interference occurs when the route itself overlaps with another route. For example, when the first route R1 is considered as the route itself, the second route R2 to the fourth route R4 are the other routes.

[0051] For example, when two routes interfere with each other, the processing device 13 compares the scores S of the overlapping meshes of the two routes and adds the overlapping mesh to the no-passage list of the route with the lower score S, i.e., the route with the higher score S. After this, the processing device 13 performs a search again until the routes overlap again (YES in step S55).

[0052] The processing device 13 ends the search for each route when the routes do not overlap and the coordinates of the "parent" of each route match the coordinates of the goal point (NO in step S55). The processing device 13 determines that the routes overlap when the mesh currently being searched for the route is included in the closed list of another route. This allows the processing device 13 to search for the route itself taking other routes into consideration. PA * The algorithm can generate the shortest path overall regardless of the search order of each path. * In the algorithm, the priority criterion for generating a route is determined not by the search order but by the score S. Therefore, the shortest route overall can be generated for each route.

[0053] <PA * Procedure for route search processing by algorithm> Next, *The procedure for route search processing using the algorithm will now be described in detail. The route includes multiple routes.

[0054] As shown in Fig. 4, when the processing device 13 starts executing the route search process, it first sets initial values ​​(step S101). The setting of the initial values ​​includes setting a start point, a goal point, and a map that is the search range. The number of start points, goal points, and maps is the same as the number of routes to be searched. The initial values ​​are input via the input device 11. The map is divided into meshes with multiple rows and multiple columns. The position of each mesh on the map can be represented by coordinates that combine the position in the row direction and the position in the column direction.

[0055] Next, the processing device 13 creates various lists (step S102). The lists include an open list, a closed list, a comparison list, and a no-passage list. The number of open lists, closed lists, comparison lists, and no-passage lists is the same as the number of routes to be searched. The open list, closed list, and comparison list are initially empty. The open list registers open grids that are search candidates during route search. The closed list registers closed grids that have already been searched during route search. The comparison list registers grids to be compared during route search. The no-passage list registers no-passage grids. The processing device 13 does not search grids registered in the no-passage list.

[0056] Next, the processing device 13 adds the starting point to the open list (step S103) and checks whether the open list is empty (step S104). If the open list is empty (NO in step S104), the processing device 13 cannot generate a route and therefore ends the route search process. If the open list is not empty (YES in step S104), the processing device 13 proceeds to step S105.

[0057] In step S105, the processing device 13 designates the mesh in the open list that has the smallest score S as the reference "parent." At the start of the route search process, only the start point is registered in the open list, so the start point becomes the "parent."

[0058] Next, the processing device 13 determines whether the "parent" and the goal point are the same (step S106). If the parent and the goal point are the same (YES in step S106), the processing device 13 ends the route search process. By tracing the "parents" in order from the goal point, it is possible to generate the shortest route from the start point to the goal point. If the parent and the goal point are not the same (NO in step S106), the processing device 13 proceeds to step S108.

[0059] In step S108, the processing device 13 determines whether a "child" exists. A "child" is a mesh adjacent to a "parent." If a "child" exists (YES in step S108), the processing device 13 determines whether the "child" is included in the open list (step S109). If the "child" is included in the open list (YES in step S109), the processing device 13 proceeds to step S110.

[0060] In step S110, the processing device 13 determines whether the score S of the "parent" is better than the score S of the "child" included in the open list, i.e., whether the value of the score S of the "parent" is smaller than the value of the score S of the "child" included in the open list. If the score S of the "parent" is better than the score S of the "child" included in the open list (YES in step S110), the processing device 13 updates the "parent" and score S of the "child" included in the open list (step S111). Thereafter, the processing device 13 adds the "child" to the comparison list (step S112) and proceeds to the previous step S108.

[0061] If, in step S110, the score S of the "parent" is not better than the score S of the "child" included in the open list (NO in step S110), the processor 13 adds the "child" included in the open list to the comparison list (step S112) and proceeds to step S108. In this case, the "parent" and score S of the "child" are not updated.

[0062] If the "child" is not included in the open list in step S109 (NO in step S109), the processor 13 determines whether the "child" is included in the closed list (step S113). If the "child" is included in the closed list (YES in step S113), the processor 13 proceeds to step S114.

[0063] In step S114, the processing device 13 determines whether the score S of the "parent" is better than the score S of the "child" included in the closed list, i.e., whether the value of the score S of the "parent" is smaller than the value of the score S of the "child" included in the closed list. If the score S of the "parent" is better than the score S of the "child" included in the closed list (YES in step S114), the processing device 13 proceeds to step S115. The smaller the value of the score S, the better the score S.

[0064] In step S115, the processing device 13 updates the "parent" and score S of the "child" included in the closed list. The processing device 13 also deletes the "child" from the closed list and adds the "child" to the open list. After this, the processing device 13 also adds the "child" to the comparison list (step S112), and proceeds to the previous step S108.

[0065] In the previous step S114, when the score S of the "parent" is not better than the score S of the "child" included in the closed list (NO in step S114), the processing device 13 also adds the "child" to the comparison list (step S112) and proceeds to the previous step S108.

[0066] If the "child" is not included in the closed list in step S113 (NO in step S113), the processing device 13 updates the "parent" and score S of the "child" and adds the "child" to the open list (step S116). After that, the processing device 13 also adds the "child" to the comparison list (step S112), and proceeds to step S108.

[0067] If there is no "child" in the previous step S108 (NO in step S108), the processing device 13 designates the mesh with the best score S in the comparison list as the "eldest son" (step S117), and proceeds to step S118. The smaller the value of the score S, the better the score S.

[0068] In step S118, the processor 13 checks whether "eldest son" is included in the closed list of the other path. If "eldest son" is included in the closed list of the other path (YES in step S118), the processor 13 proceeds to step S119.

[0069] In step S119, the processing device 13 checks whether the score S of the own route is worse than the score S of the other route. The score S of the own route is the score S of the "eldest son". The score S of the other route is the score S of the mesh that is included in the closed list of the other route and overlaps with the "eldest son" of the own route. The larger the value of the score S, the worse the score S is.

[0070] If the score S of the route is lower than the score S of the other route (YES in step S119), the processing device 13 adds "eldest son" to the no-passage list (step S120). If "eldest son" is included in the closed list of the route, the processing device 13 deletes "eldest son" from the closed list. After this, the processing device 13 proceeds to the previous step S104.

[0071] When the score S of the route itself is not worse than the score S of the other route in the previous step S119 (NO in step S119), the processing device 13 adds the "parent" to the closed list (step S121) and proceeds to the previous step S104. When the score S of the route itself is not worse than the score S of the other route, the score S of the route itself is better than the score S of the other route.

[0072] If the "eldest son" is not included in the close list of the other route in the previous step S118 (NO in step S118), the processing device 13 adds the "parent" to the close list (step S121) and proceeds to the previous step S104.

[0073] When the "parent" is the same as the goal point, the processing device 13 ends the route search. The processing device 13 generates the shortest route from the start point to the goal point by tracing the "parents" in order from the goal point.

[0074] <PA * An example of algorithmic search> Next, PA * An example of a search using the algorithm will be described below. The search conditions include, for example, the following three conditions B1, B2, and B3.

[0075] B1. The search range is divided into 7 rows and 7 columns of mesh. B2. There are four search routes, from the first route R1 to the fourth route R4. B3. The same mesh is impassable.

[0076] When the processing device 13 starts searching for each route, it first sets initial values. Specifically, this is as follows. <Initial state> As shown in Figures 5A to 5D, maps corresponding to the first route R1, second route R2, third route R3, and fourth route R4 are set. Each map indicates the search range for each route.

[0077] 5A is a route from a first start point S1 to a goal point G. The coordinates of the first start point S1 are, for example, coordinates (0, 0). The coordinates of the goal point G are, for example, coordinates (5, 5).

[0078] The second route R2 shown in FIG. 5B is a route from the second start point S2 to the goal point G. The coordinates of the second start point S2 are, for example, coordinates (2, 2). The coordinates of the goal point G are the same as the coordinates of the goal point G on the first route R1, coordinates (5, 5).

[0079] The third route R3 shown in FIG. 5C is a route from the third start point S3 to the goal point G. The coordinates of the third start point S3 are, for example, coordinates (2, 4). The coordinates of the goal point G are the same coordinates (5, 5) as the goal point G of the first route R1.

[0080] 5D is a route from the fourth start point S4 to the goal point G. The coordinates of the fourth start point S4 are, for example, (0, 6). The coordinates of the goal point G are (5, 5), the same as the coordinates of the goal point G on the first route R1.

[0081] A common no-passing area is set for each map. The coordinates of the no-passing area are, for example, coordinates (2, 3), coordinates (3, 3), coordinates (3, 5), coordinates (4, 2), and coordinates (4, 3). The common no-passing area is indicated by a black mesh on each map. In addition, each map has its own unique no-passing area. The unique no-passing area on each map is indicated by a gray mesh on each map.

[0082] The coordinates of the no-passage areas specific to the map of the first route R1 are the coordinates (2,2) of the second start point S2, the coordinates (2,4) of the third start point S3, and the coordinates (0,6) of the fourth start point S4.

[0083] The coordinates of the no-passage areas specific to the map of the second route R2 are the coordinates (0,0) of the first start point S1, the coordinates (2,4) of the third start point S3, and the coordinates (0,6) of the fourth start point S4.

[0084] The coordinates of the no-passage areas specific to the map of the third route R3 are the coordinates (0,0) of the first start point S1, the coordinates (2,2) of the second start point S2, and the coordinates (0,6) of the fourth start point S4.

[0085] The coordinates of the no-passage areas specific to the map of the fourth route R4 are the coordinates (0,0) of the first start point S1, the coordinates (2,2) of the second start point S2, and the coordinates (2,4) of the third start point S3.

[0086] <Start of Search for All Routes> When the setting of the initial values ​​is completed, the processing device 13 simultaneously starts searching the first route R1, the second route R2, the third route R3, and the fourth route R4.

[0087] As shown in FIGS. 6A to 6D, the processing device 13 * Each route (R1 to R4) is searched according to the algorithm. On each map, the searched route is indicated by a star. However, routes may overlap during the search process. For example, as shown in Figures 6A and 6B, the first route R1 and the second route R2 overlap at coordinates (4, 1). Also, as shown in Figures 6C and 6D, the third route R3 and the fourth route R4 overlap at coordinates (4, 5). When routes overlap, the processing device 13 compares the scores S of the overlapping meshes.

[0088] Specifically, the processing device 13 compares the score S of the mesh at coordinates (4, 1) on the first route R1 with the score S of the mesh at coordinates (4, 1) on the second route R2. The score S of the mesh at coordinates (4, 1) on the first route R1 is "8.53," and the score S of the mesh at coordinates (4, 1) on the second route R2 is "6.53."

[0089] The processing device 13 also compares the score S of the mesh at coordinates (4, 5) on the third route R3 with the score S of the mesh at coordinates (4, 5) on the fourth route R4. The score S of the mesh at coordinates (4, 5) on the third route R3 is "3.41", and the score S of the mesh at coordinates (4, 5) on the fourth route R4 is "5.41".

[0090] 7A and 7B, the processing device 13 updates the no-traffic area of ​​the route with the lower score S, i.e., the higher score S, between the mesh at coordinates (4, 1) on the first route R1 and the mesh at coordinates (4, 1) on the second route R2. The processing device 13 designates the mesh at coordinates (4, 1) on the first route R1 as a no-traffic area. The no-traffic area is designated by adding the target mesh to the no-traffic list.

[0091] 7C and 7D, the processing device 13 updates the no-passage area of ​​the route with the lower score S, i.e., the higher score S, between the mesh at coordinates (4, 5) on the third route R3 and the mesh at coordinates (4, 5) on the fourth route R4. The processing device 13 designates the mesh at coordinates (4, 5) on the fourth route R4 as a no-passage area. After this, the processing device 13 performs route search again until the routes overlap again.

[0092] 7A and 7B, as a result of performing another search, the first route R1 and the second route R2 now overlap at coordinates (5, 2). The processing device 13 compares the score S of the mesh at coordinates (5, 2) on the first route R1 with the score S of the mesh at coordinates (5, 2) on the second route R2. The score S of the mesh at coordinates (5, 2) on the first route R1 is "9.41," and the score S of the mesh at coordinates (5, 2) on the second route R2 is "6.82."

[0093] As shown in Figures 7C and 7D, the search for the third route R3 and the fourth route R4 is progressing without overlapping with other routes. As shown in Figures 8A and 8B, the processing device 13 updates the no-passage area of ​​the route with the lower score S, i.e., the higher score S, between the mesh at coordinates (5, 2) on the first route R1 and the mesh at coordinates (5, 2) on the second route R2. The processing device 13 designates the mesh at coordinates (5, 2) on the first route R1 as a no-passage area. After this, the processing device 13 performs a route search again until the routes overlap again.

[0094] 8A and 8D, as a result of performing another search, the first route R1 and the fourth route R4 now overlap at coordinates (3, 6). The processing device 13 compares the score S of the mesh at coordinates (3, 6) on the first route R1 with the score S of the mesh at coordinates (3, 6) on the fourth route R4. The score S of the mesh at coordinates (3, 6) on the first route R1 is "10.06," and the score S of the mesh at coordinates (3, 6) on the fourth route R4 is "5.24."

[0095] As shown in Figures 8B and 8C, the search for the second route R2 and the third route R3 is progressing without overlapping with other routes. As shown in Figures 9A and 9D, the processing device 13 updates the no-passage area of ​​the route with the lower score S, i.e., the higher score S, between the mesh at coordinates (3, 6) on the first route R1 and the mesh at coordinates (3, 6) on the second route R2. The processing device 13 designates the mesh at coordinates (3, 6) on the first route R1 as a no-passage area. After this, the processing device 13 performs a route search again until the routes overlap again.

[0096] 9A and 9C, a second search results in the first route R1 and the third route R3 overlapping at coordinates (3, 4). The processing device 13 compares the score S of the mesh at coordinates (3, 4) on the first route R1 with the score S of the mesh at coordinates (3, 4) on the third route R3. The score S of the mesh at coordinates (3, 4) on the first route R1 is "10.06," and the score S of the mesh at coordinates (3, 4) on the third route R3 is "3.24."

[0097] As shown in Figures 9B and 9D, the route search for the second route R2 and the fourth route R4 is progressing without overlapping with other routes. As shown in Figures 10A and 10C, the processing device 13 updates the no-passage area for the route with the lower score S, i.e., the higher score S, between the mesh at coordinates (3, 4) on the first route R1 and the mesh at coordinates (3, 4) on the third route R3. The processing device 13 designates the mesh at coordinates (3, 4) on the first route R1 as a no-passage area. After this, the processing device 13 performs a route search again until the routes overlap again.

[0098] 10A and 10B, as a result of performing another search, the first route R1 and the second route R2 now overlap at coordinates (5, 4). The processing device 13 compares the score S of the mesh at coordinates (5, 4) on the first route R1 with the score S of the mesh at coordinates (5, 4) on the second route R2. The score S of the mesh at coordinates (5, 4) on the first route R1 is "11.23," and the score S of the mesh at coordinates (5, 4) on the second route R2 is "6.82."

[0099] As shown in Figures 10C and 10D, the search for the third route R3 and the fourth route R4 is progressing without overlapping with other routes. As shown in Figures 11A and 11B, the processing device 13 updates the no-passage area of ​​the route with the lower score S, i.e., the higher score S, between the mesh at coordinates (5, 4) on the first route R1 and the mesh at coordinates (5, 4) on the second route R2. The processing device 13 designates the mesh at coordinates (5, 4) on the first route R1 as a no-passage area. After this, the processing device 13 performs a route search again until the routes overlap again.

[0100] The processing device 13 ends the route search process when all the "heads" of the first route R1 to the fourth route R4 coincide with the goal point G before the routes overlap again. As shown in FIGS. 11A to 11D, the processing device 13 generates the shortest route from each start point (S1 to S4) to the goal point G by tracing the "parents" in order from the goal point G on the map of each route (R1 to R4). The "parents" are the routes that have been searched for, and are indicated by stars on each map.

[0101] As shown in FIG. 12, each of the routes (R1 to R4) is generated without taking a detour. In addition, each of the routes (R1 to R4) is generated so as not to intersect with each other. * By performing a route search process using the algorithm, multiple globally optimized routes can be derived. Global optimization involves generating an overall shortest route for multiple routes (R1 to R4).

[0102] In addition, just as when generating routes from multiple starting points (S1 to S4) to a single goal point G, it is possible to generate routes from a single starting point to multiple goal points, or routes from multiple starting points to multiple goal points.

[0103] <Effects of the embodiment> According to the present embodiment, the following effects can be obtained. (1) The route generation device 10 includes a processing device 13 configured to search for multiple routes that have different start points and / or different finish points. The processing device 13 starts searching for multiple routes simultaneously and searches for routes in parallel while comparing information on the multiple routes. The information is, for example, a score S. According to this configuration, it is possible to search for a route while taking other routes into consideration. Therefore, multiple routes can be searched for efficiently.

[0104] (2) The processing device 13 divides each of the multiple maps set independently for each route into vertical and horizontal meshes, and prioritizes searching meshes with a small value of the score S calculated for each mesh. The score S is the sum of the actual cost C, which is the travel distance from the start point to the current point, and the estimated cost H, which is the shortest distance from the current point to the goal point. The processing device 13 searches for routes while comparing the score S for each route. With this configuration, multiple routes can be efficiently searched by searching for routes while comparing the score S for each route.

[0105] (3) When two of the multiple routes overlap, the processing device 13 compares the score S of the overlapping mesh, which is the mesh corresponding to the overlapping portion of one route, with the score S of the overlapping mesh, which is the mesh corresponding to the overlapping portion of the other route. The processing device 13 sets the overlapping mesh of the route with the larger score S as a no-passage area and re-searches for routes until the routes overlap again. With this configuration, by comparing the score S for each route and repeatedly setting no-passage areas and re-searching for routes, it is possible to generate an overall shortest route for multiple routes.

[0106] (4) When the mesh currently being searched for the route is included in the mesh already searched for another route, the processing device 13 determines that the route overlaps with the other route. This configuration makes it possible to search for a route taking other routes into consideration.

[0107] (5) The route generation device 10 includes a communication device 14 configured to be able to communicate with the mobile body 15. The route is a travel route of the mobile body 15. The processing device 13 generates a travel route of the mobile body and transmits route information indicating the generated travel route to the mobile body 15 via the communication device 14. With this configuration, the mobile body 15 can travel on the route generated by the route generation device 10.

[0108] (6) The processing device 13 generates multiple routes corresponding to each of the multiple moving bodies 15, and transmits information indicating the generated routes to each moving body 15 via the communication device 14. Each moving body 15 moves along the route generated by the processing device 13. This allows each moving body 15 to move without crossing each other. In other words, collisions between the moving bodies 15 can be avoided.

[0109] (7) A globally optimized route can be derived at the preliminary planning stage. Global optimization means optimizing multiple routes as a whole, rather than optimizing only a portion of the multiple routes. Global optimization includes generating the shortest overall route for multiple routes. This makes it possible to prevent unnecessary turns or long detours of the mobile unit 15. This, in turn, reduces the fuel consumption of the mobile unit 15.

[0110] (8) Even if a sudden course change occurs, it is possible to instantly search for an optimal route from the course change point, taking into account the routes of other moving bodies 15. <Other Embodiments> Note that this embodiment may be modified and implemented as follows.

[0111] The processing device 13 may generate a restart point when the routes overlap, and start a re-search from that restart point. The processing device 13 compares the scores S of the overlapping meshes of the two routes, and sets the search restart point for the route that was not prioritized, i.e., the route with the lowest score S. The processing device 13 may, for example, set a point that is "1 / 2" or "1 / 3" of the route length from the start point to the overlapping mesh as the search restart point. After this, the processing device 13 starts a re-search from the restart point. Compared to re-searching from the start point, the re-search range is narrowed, and the search time can be shortened.

[0112] The score S may be weighted by distance. For example, the vertical and horizontal distance, i.e., the vertical and horizontal movement cost α, is set to, for example, "2" instead of "1." In this case, vertical and horizontal routes are less likely to be selected, and diagonal routes are selected with priority over vertical and horizontal routes. The score S may also be weighted by parameters other than distance. Examples of parameters include time or fuel amount.

[0113] A time axis may be added to the map used for route search. This reduces constraints on route generation, allowing for more flexible route generation. The processing device 13 determines that there will be no collision even if the routes of the moving objects 15 intersect, based on the speed and current location of the moving objects 15. It is sufficient that multiple moving objects 15 do not exist in the same position at the same time.

[0114] A spatial axis may be added to the map used for route search. This can be applied to generating routes for flying objects such as unmanned aerial vehicles. Even if the routes of the moving objects 15 intersect, the processing device 13 determines that there will be no collision if the route heights are different.

[0115] The route generated by the route generation device 10 is not limited to the route of the moving object 15. For example, the route generation device 10 may generate a piping route or a wiring route. *By executing a route search process using an algorithm, it is possible to efficiently search for the shortest route for multiple pipes or the shortest route for multiple wires. Furthermore, the processing device 13 may generate a piping route or a wiring route and output the generated piping route or wiring route via the output device 12. The output includes displaying the generated piping route or wiring route on the screen of the output device 12. In this way, the piping route or wiring route generated by the route generation device 10 can be visually confirmed via the output device 12.

[0116] In this specification, "at least one of A and B" means "A only, B only, or both A and B." For example, if "A" is interpreted as the starting point and "B" as the finishing point, "multiple routes with at least one different starting point and finishing point" includes the following three cases C1 to C3. However, the starting point and finishing point are different for each of the multiple routes.

[0117] C1. Multiple routes with different starting points only. The finish points of the multiple routes are the same. C2. Multiple routes with different finishing points only. The starting points of the multiple routes are the same. C3. Multiple routes with different starting points and finishing points.

[0118] Case C3 includes, for example, a combination of a first route with a "start point (a1) and a goal point (b1)" and a second route with a "start point (a2) and a goal point (b2)." The first route and the second route have different start points and goal points.

[0119] Case C3 also includes, for example, a combination of a first route with a "start point (a), a goal point (b)" and a second route with a "start point (b), a goal point (a)." The first route and the second route have reversed start points and goal points, and the start points and goal points are different.

[0120] <Additional Notes> The route generation device described in this embodiment can be understood, for example, as follows: 1. A route generation device (10) according to a first aspect includes a processing device (13) configured to search for multiple routes each having a different start point and / or a different finish point. The processing device (13) is configured to simultaneously start searching for the multiple routes and to search for the routes in parallel while comparing information on the multiple routes.

[0121] According to the route generation device of the first aspect, it is possible to search for a route taking other routes into consideration. Therefore, multiple routes can be searched efficiently. 2. The route generation device (10) of the second aspect is the route generation device (10) of the first aspect, wherein the processing device (13) divides each of multiple maps set independently for each route into vertical and horizontal meshes and preferentially searches the meshes with the smallest score value calculated for each mesh. The score is the sum of the actual cost, which is the travel distance from the start point to the current point, and the estimated cost, which is the shortest distance from the current point to the goal point. The processing device (13) is configured to search for the route while comparing the score for each route.

[0122] According to the route generation device of the second aspect, by searching for routes while comparing the scores for each route, it is possible to efficiently search for multiple routes. 3. The route generation device (10) of the third aspect is the route generation device (10) of the second aspect, wherein, when two of the routes overlap such that they have an overlapping portion, the processing device (13) compares the score of the overlapping mesh that is the mesh corresponding to the overlapping portion of one of the routes with the score of the overlapping mesh that is the mesh corresponding to the overlapping portion of the other of the routes, sets the overlapping mesh of the route with the larger score value as a no-passage area, and re-searches for the routes until the routes overlap again.

[0123] According to the route generation device (10) of the third aspect, the overall shortest route can be generated for multiple routes by repeatedly setting no-passage areas and re-searching for routes through comparison of the scores for each route.

[0124] 4. A route generation device (10) according to a fourth aspect is the route generation device (10) according to the third aspect, wherein the processing device (13) is configured to determine that the route and the other route overlap when the mesh currently being searched for the route is included in the mesh that has been searched for of the other route.

[0125] According to the route generation device (10) of the fourth aspect, it is possible to search for a route taking other routes into consideration. 5. The route generation device (10) of the fifth aspect is the route generation device (10) of any one of the first to fourth aspects, further comprising a communication device (14) configured to be able to communicate with a mobile body (15). The route is a movement route of the mobile body (15). The processing device (13) is configured to generate a movement route of the mobile body and transmit route information indicating the generated movement route to the mobile body (15) via the communication device (14).

[0126] According to the path generation device (10) of the fifth aspect, a mobile object can move on a path generated by the path generation device. 6. The path generation device (10) of the sixth aspect is the path generation device (10) of any one of the first to fourth aspects, further comprising an output device (12) configured to display various information. The path is a piping path or a wiring path. The processing device (13) is configured to generate the piping path or the wiring path and display the generated piping path or the wiring path on the output device (12).

[0127] According to the route generation device (10) of the sixth aspect, the piping route or wiring route generated by the route generation device can be confirmed via an output device. 7. A route generation method of the seventh aspect includes simultaneously starting a search for multiple routes having different start points or goal points, and searching for the multiple routes in parallel while comparing information on the multiple routes.

[0128] According to the route generation method of the seventh aspect, it is possible to search for a route taking other routes into consideration. Therefore, multiple routes can be searched for efficiently. 8. A route generation program of the eighth aspect causes a computer to execute a process of simultaneously starting a search for multiple routes that have at least one different start point or goal point, and a process of searching for the multiple routes in parallel while comparing information on the multiple routes.

[0129] According to the route generation program of the eighth aspect, it is possible to search for a route while taking other routes into consideration, thereby making it possible to efficiently search for a plurality of routes.

Claims

1. A route generation device comprising a processing device configured to search for multiple routes each having a different start point and / or finish point, wherein the processing device is configured to simultaneously start searching for the multiple routes and to search for the routes in parallel while comparing information on the multiple routes.

2. The route generation device according to claim 1, wherein the processing device is configured to divide each of a plurality of maps set independently for each route into vertical and horizontal meshes, and to preferentially search the meshes having the smallest score value calculated for each mesh, the score being the sum of the actual cost, which is the distance traveled from the start point to the current point, and the estimated cost, which is the shortest distance from the current point to the goal point, and the processing device is configured to search for the route while comparing the score for each route.

3. The route generation device of claim 2, wherein the processing device is configured, when two of the routes overlap such that they have overlapping portions, to compare the score of the overlapping mesh that is the mesh corresponding to the overlapping portion of one of the routes with the score of the overlapping mesh that is the mesh corresponding to the overlapping portion of the other of the routes, set the overlapping mesh of the route with the larger score value as a no-passage area, and re-search the routes until the routes overlap again.

4. The route generation device according to claim 3, wherein the processing device is configured to determine that the route and the other route overlap when the mesh currently being searched for the route is included in a mesh that has already been searched for another route.

5. A route generation device as described in any one of claims 1 to 4, further comprising a communication device configured to be able to communicate with a mobile body, wherein the route is a travel route of the mobile body, and the processing device is configured to generate a travel route of the mobile body and transmit route information indicating the generated travel route to the mobile body via the communication device.

6. A route generation device according to any one of claims 1 to 4, further comprising an output device configured to display various information, wherein the route is a piping route or a wiring route, and the processing device is configured to generate the piping route or the wiring route and display the generated piping route or the wiring route on the output device.

7. A route generation method including: simultaneously starting a search for a plurality of routes each having a different start point or finish point; and searching for the plurality of routes in parallel while comparing information on the plurality of routes.

8. A route generation program that causes a computer to execute the following processes: a process of simultaneously starting a search for multiple routes that have different start points or goal points; and a process of searching for the multiple routes in parallel while comparing information on the multiple routes.

Citation Information

Patent Citations

  • Optimal course search system

    JP2007057499A

  • Information processing apparatus, information processing system, moving path determination method, and program

    JP2018129000A

  • Information processing device, information processing method, and program

    WO2023063149A1

  • Information processing device, information processing method, and program

    WO2023136047A1