Route generation system, route generation method, and route generation program

JP2026123437APending Publication Date: 2026-07-30SHARP KK +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SHARP KK
Filing Date
2025-01-17
Publication Date
2026-07-30

AI Technical Summary

Benefits of technology

【0010】 本開示によれば、特定の移動体を優先的に移動させることが可能な最適経路を生成する経路生成システム、経路生成方法、及び経路生成プログラムを提供することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026123437000001_ABST
    Figure 2026123437000001_ABST
Patent Text Reader

Abstract

This invention provides a route generation system, a route generation method, and a route generation program that generate an optimal route that allows for the priority movement of a specific moving object. [Solution] In the travel system 10, the node cost calculation unit 113 calculates the node cost corresponding to each of the multiple nodes, which are waypoints that multiple AGVs can travel through. The optimal route assignment determination unit 211 determines the optimal route assignment from among multiple route assignments, which assign a route to each of the multiple AGVs, based on the sum of the node costs at the multiple nodes. The node cost calculation unit 113 calculates the node costs such that the first node cost when AGV1 passes through a node and AGV2 does not pass through a node is smaller than the second node cost when AGV1 does not pass through a node and AGV2 passes through a node.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a route generation system, a route generation method, and a route generation program for generating routes when multiple moving objects are moving simultaneously. [Background technology]

[0002] A path estimation system is known that estimates the optimal path for each moving object when multiple objects are moving simultaneously. This path estimation system can be applied, for example, to determine the movement path of multiple autonomous guided vehicles (AGVs) traveling autonomously within a logistics warehouse, so that they can reach their respective destinations as quickly as possible without colliding with each other.

[0003] For example, a path estimation system is known that avoids collisions by calculating the overlap cost when selecting paths for multiple moving objects (see Patent Document 1). [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2020-46384 [Overview of the project] [Problems that the invention aims to solve]

[0005] When operating multiple mobile vehicles, there is a need to prioritize the movement of specific vehicles, such as when it is necessary to urgently move a particular vehicle to its destination. However, conventional route generation systems have not taken into consideration the need to prioritize the movement of specific vehicles.

[0006] The purpose of this disclosure is to provide a route generation system, a route generation method, and a route generation program that generate an optimal route that can prioritize the movement of a specific moving object. [Means for solving the problem]

[0007] A route generation system according to one aspect of the present disclosure is a system that generates optimal routes for a plurality of mobile bodies, including a first mobile body and a second mobile body, by determining an optimal route assignment that assigns an optimal route to each of the plurality of mobile bodies. The route generation system comprises a node cost calculation unit that calculates the node cost corresponding to each of a plurality of nodes that are passing points that the plurality of mobile bodies can travel through, and an optimal route assignment determination unit that determines the optimal route assignment from a plurality of route assignments that assign a route to each of the plurality of mobile bodies based on the sum of the node costs at the plurality of nodes. The node cost calculation unit calculates the node cost such that the first node cost when the first mobile body passes through the node and the second mobile body does not pass through the node is smaller than the second node cost when the first mobile body does not pass through the node and the second mobile body passes through the node.

[0008] Another aspect of the present disclosure relates to a route generation method for generating optimal routes for a plurality of mobile bodies, including a first mobile body and a second mobile body, by determining an optimal route assignment that assigns an optimal route to each of the plurality of mobile bodies. In the route generation method, one or more processors perform the following: calculate the node cost corresponding to each of a plurality of nodes that are transit points that the plurality of mobile bodies can travel through; determine the optimal route assignment from a plurality of route assignments that assign a route to each of the plurality of mobile bodies based on the sum of the node costs at the plurality of nodes; and calculate the node costs such that the first node cost when the first mobile body passes through the node and the second mobile body does not pass through the node is smaller than the second node cost when the first mobile body does not pass through the node and the second mobile body passes through the node.

[0009] A route generation program according to another aspect of the present disclosure is a program that generates an optimal route for a plurality of mobile bodies, including a first mobile body and a second mobile body, by determining an optimal route assignment that assigns an optimal route to each of the plurality of mobile bodies. The route generation program is a program that causes one or more processors to perform the following actions: calculate the node cost corresponding to each of a plurality of nodes that are passing points that the plurality of mobile bodies can travel to; determine the optimal route assignment from a plurality of route assignments that assign a route to each of the plurality of mobile bodies based on the sum of the node costs at the plurality of nodes; and calculate the node cost such that the first node cost when the first mobile body passes through the node and the second mobile body does not pass through the node is smaller than the second node cost when the first mobile body does not pass through the node and the second mobile body passes through the node. [Effects of the Invention]

[0010] This disclosure provides a route generation system, a route generation method, and a route generation program that generate an optimal route that allows a specific moving object to move preferentially. [Brief explanation of the drawing]

[0011] [Figure 1] Figure 1 is a block diagram showing the configuration of a driving system according to an embodiment of this disclosure. [Figure 2] Figure 2 is a flowchart showing an example of the procedure for a driving process performed by a driving system according to the embodiment of this disclosure. [Figure 3] Figure 3 shows an example of a movement path of an AGV according to the embodiment of this disclosure. [Figure 4] Figure 4 is a table showing the sequence of movement paths of an AGV according to the embodiment of this disclosure. [Figure 5] Figure 5 is a table showing an example of the objective function E1 corresponding to the travel path according to the embodiment of this disclosure. [Figure 6]FIG. 6 is a table showing an example of the penalty function E2 corresponding to the movement path according to an embodiment of the present disclosure. [Figure 7] FIG. 7 is a table showing an example of the calculation result of the term "C_i,j,tag" of the penalty function E3 corresponding to the movement path according to an embodiment of the present disclosure. [Figure 8] FIG. 8 is a diagram showing an example of the tag cost corresponding to the movement path (prioritizing AGV1) according to an embodiment of the present disclosure. [Figure 9] FIG. 9 is a diagram showing an example of the tag cost corresponding to the movement path (prioritizing AGV1) according to an embodiment of the present disclosure. [Figure 10] FIG. 10 is a diagram showing an example of the tag cost corresponding to the movement path (prioritizing AGV1) according to an embodiment of the present disclosure. [Figure 11] FIG. 11 is a table showing an example of the calculation result of the sum (E1 + E2 + E3) of the objective function and the penalty function corresponding to the path assignment (prioritizing AGV1) according to an embodiment of the present disclosure. [Figure 12] FIG. 12 is a diagram showing an example of the tag cost corresponding to the movement path (prioritizing AGV2) according to an embodiment of the present disclosure. [Figure 13] FIG. 13 is a diagram showing an example of the tag cost corresponding to the movement path (prioritizing AGV2) according to an embodiment of the present disclosure. [Figure 14] FIG. 14 is a diagram showing an example of the tag cost corresponding to the movement path (prioritizing AGV2) according to an embodiment of the present disclosure. [Figure 15] FIG. 15 is a table showing an example of the calculation result of the sum (E1 + E2 + E3) of the objective function and the penalty function corresponding to the path assignment (prioritizing AGV2) according to an embodiment of the present disclosure.

MODE FOR CARRYING OUT THE INVENTION

[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings to facilitate understanding of the present disclosure. The following embodiments are an example of embodying the present disclosure and do not limit the technical scope of the present disclosure.

[0013] An embodiment of the path generation system relating to this disclosure will now be described. The travel system 10 is an example of the path generation system. The travel system 10 generates the optimal path for each of multiple moving objects when multiple moving objects are moving simultaneously. Here, the calculation of the optimal path for each of multiple moving objects when multiple moving objects are moving simultaneously is achieved by replacing the paths of multiple moving objects in reality with mathematical models and then solving the optimization problem of the mathematical models. In general, the solution to the optimization problem of a travel path is obtained by defining the weighted sum of the objective function and the penalty function as the Hamiltonian (energy function) H, and calculating the combination of travel paths that minimizes the Hamiltonian (energy function) H. The Hamiltonian (energy function) H can be expressed, for example, by the following equation (1). H = E1 + λ1E2 + λ2E3 ... (1)

[0014] In equation (1) above, "E1" is the objective function, and is an evaluation metric that is the target of optimization, such as the distance traveled and travel time of multiple mobile units (autonomous driving devices). In equation (1) above, "E2" and "E3" are penalty functions, and are evaluation metrics added to set constraints to avoid undesirable solutions, such as when multiple paths are assigned to one mobile unit or when the paths of multiple mobile units overlap. The penalty functions are designed so that the evaluation value increases when the constraints are violated. "λ1" and "λ2" are coefficients that provide loads (weighting) to set the relative magnitude of E2 and E3 with respect to the objective function E1, and are adjustment parameters that can be set as appropriate by the user. Note that in equation (1) above, there are two penalty functions, "E2" and "E3", but the number of penalty functions may be increased or decreased depending on the purpose.

[0015] In recent years, research has focused on solving optimization problems using quantum annealing techniques. Generally, optimization problems using quantum annealing can be expressed as "quadratic unconstrained binary optimization (QUBO)" problems obtained by transforming the Ising model. Real-world problems can be replaced with QUBO problems, and their solutions can be calculated using a quantum computer, such as an Ising machine (e.g., a quantum annealing machine). Alternatively, it is also possible to use a simulated annealing machine, a classical computer that mimics the quantum annealing technique.

[0016] Figure 1 shows the overall configuration of the driving system 10 according to this embodiment. The driving system 10 includes N AGVs (Automatic Guided Vehicles), a server 1, and an Ising machine 2. Each AGV and the server 1 are connected to the server 1 via a network N1 such as a wireless LAN, enabling data communication, and the server 1 and the Ising machine 2 are connected to the server 1 via a network N2 such as a wireless LAN, enabling data communication.

[0017] Server 1 includes a control device 11, an AGV management device 12, a database 13, etc., and Ising machine 2 includes a solver 21. AGVs are automated driving devices (mobile bodies) that automatically travel along a travel path instructed by the AGV management device 12. The AGV management device 12 recognizes the current position and destination position of each AGV and controls the movement of each AGV by transmitting the travel path to each AGV.

[0018] Database 13 is a database that records map information including travel routes, various parameters related to the operation of the AGV, and so on. Database 13 may be located outside of Server 1.

[0019] The control device 11 relays data transmission and reception between the AGV management device 12 and the solver 21 by performing a process that converts between real-world problems and mathematical models.

[0020] The AGV management device 12, the database 13, and the control device 11 may be configured using conventional classical computers.

[0021] Solver 21 is typically a quantum annealing machine that uses quantum annealing techniques to calculate solutions to mathematical models. For example, D-Wave's quantum annealing machine can be used as Solver 21.

[0022] In addition, as another embodiment, the solver 21 can be configured using a simulated annealing machine, which is a classical computer.

[0023] The following describes the driving process performed in the driving system 10 according to this embodiment, with reference to Figure 2. This disclosure can be understood as a disclosure of a driving method that performs one or more steps included in the driving process. The one or more steps included in the driving process described herein may be omitted as appropriate. The execution order of each step in the driving process may differ to the extent that similar effects are produced. Furthermore, although the description here uses the case in which the AGV management device 12, control device 11, and solver 21 execute each step in the driving process as an example, one or more processors may distribute and execute each step in the driving process.

[0024] The driving system 10 executes the driving process by executing a driving program. The driving program is stored, for example, in the storage unit (database 13, etc.) of the server 1. The storage unit is a non-volatile storage unit such as an HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory that stores various types of information. The storage unit stores control programs such as the driving program. For example, the driving program is non-temporarily recorded on a computer-readable recording medium such as a CD or DVD, read by a reading device (not shown) such as a CD drive or DVD drive provided by the server 1, and stored in the storage unit. The driving program may also be distributed from a cloud server and stored in the storage unit. Furthermore, the driving program includes the route driving program according to this disclosure.

[0025] <Step S1> In step S1, each AGV transmits information such as its current location and status to the AGV management device 12 at fixed time intervals, such as 0.5 seconds. This allows the AGV management device 12 to recognize the current location and status of each AGV in real time.

[0026] <Step S2> In step S2, the AGV management device 12 receives an external request (AGV movement request) not shown. An AGV movement request is a request to move a specific AGV from its current position to a specified destination position. The route generation unit 121 included in the AGV management device 12 creates multiple candidate movement routes for each AGV from its current position to an intermediate position on the way to the destination position, based on the map data recorded in the database 13, and transmits the candidate movement routes to the control device 11. If parameters such as AGV priority, which will be described later, are specified in the database 13, these parameters may also be transmitted to the control device 11 at the same time as the candidate movement routes.

[0027] <Step S3> In step S3, the control device 11 calculates the weighted sum of the travel cost, route allocation cost, and node cost, described later, as the Hamiltonian (energy function) H of the QUBO model. The control device 11 includes a travel cost calculation unit 111, a route allocation cost calculation unit 112, and a node cost calculation unit 113. The control device 11 performs the QUBO formulation by replacing the candidate travel paths and parameters of each AGV transmitted from the AGV management device 12 with the QUBO model, and transmits the information of the QUBO problem formulated in the QUBO to the solver 21.

[0028] <Step S4> In step S4, the optimal path assignment determination unit 211 of the solver 21 calculates the solution to the QUBO problem using the quantum annealing method. The solver 21 transmits the solution to the QUBO problem to the control device 11.

[0029] <Step S5> In step S5, the control device 11 converts the solution to the QUBO problem transmitted from the solver 21 into a combination of paths to assign to each AGV, and transmits the combination of paths to assign to each AGV to the AGV management device 12.

[0030] <Step S6> In step S6, the AGV management device 12 transmits a route to each AGV based on the combination of routes to be assigned to the AGV transmitted from the control device 11.

[0031] <Step S7> In step S7, each AGV automatically travels along the designated route based on the route transmitted from the AGV management device 12.

[0032] The driving system 10 controls the AGV's movement in real time by repeatedly executing the processes described in steps S1 to S7 as one cycle. The duration of one cycle is a set value that is set as appropriate. For example, the duration of one cycle is approximately 1 to 60 seconds.

[0033] Next, we will explain the objective function E1 and the penalty functions E2 and E3. The objective function E1 and the penalty functions E2 and E3 can be expressed by the following equations (2), (3), and (4), respectively.

number

number

number

[0034] In equations (2), (3), and (4) above, "i" is the AGV number (identification information), and "j" is the route number (identification information). Also, "MoveTimeAll_i,j" is the travel time for AGVi to move from its current position to the target position using route j. "MoveTimeNext_i,j" is the travel time for AGVi to move from its current position to the start position of the next cycle using route j. "X_i,j" is a QUBO variable that indicates whether AGVi uses route j. The value of this variable is a binary number of "1" if AGVi uses route j, and "0" otherwise. "C_i,j,tag" is a binary number that, when AGVi uses route j, indicates whether AGVi passes through each node (tag), and "0" otherwise.

[0035] "Pri_i" is a priority coefficient for prioritizing a specific AGVi. "E1" is the objective function, and in this embodiment, the remaining travel time, which is the difference between "MoveTimeAll_i,j" and "MoveTimeNext_i,j", is set as the objective function. This will be explained in more detail below.

[0036] When the distance from each AGV's current position to the target position is long, it is practically difficult to optimize the path from the current position to the target position in a single calculation. Therefore, in this embodiment, the path to intermediate positions that can be reached within the length of one cycle from each AGV's current position to the target position is optimized, and by repeatedly executing this cycle, the path optimization to intermediate positions from each AGV's current position to the target position is performed sequentially, and finally the entire path from each AGV's current position to the target position is optimized.

[0037] Therefore, in this embodiment, the objective function is set to be the remaining travel time obtained by subtracting the total travel time from the position of each AGV after one cycle to the target position from the total travel time from the current position of each AGV to the target position. Note that this disclosure is not limited to this embodiment.

[0038] In another embodiment, if the distance from the current position of each AGV to the target position is sufficiently short and it is possible to optimize the path from the current position of each AGV to the target position in a single calculation, the travel time from the current position of each AGV to the target position may be set as the objective function, and the path from each AGV to the target position may be optimized to minimize the travel time.

[0039] In another embodiment, since travel time and travel distance are generally proportional, the objective function may be set to the travel distance required to move from each AGV to the target position, or the remaining travel distance obtained by subtracting the total travel distance from the position of each AGV after one cycle to the target position from the total travel distance from the current position of each AGV to the target position.

[0040] "E2" is a penalty function that imposes a penalty if no route is selected for a single AGV. Since this is equivalent to equation (1) in the aforementioned Patent Document 1 (Japanese Patent Publication No. 2020-46384), its explanation is omitted.

[0041] "E3" is a penalty function, a novel idea introduced in this disclosure. The effects of E3 will be described later.

[0042] A specific example of the method for generating the optimal route according to this disclosure will be explained. Figure 3 shows an example of a facility (logistics warehouse W1) in which the driving system 10 is introduced. Multiple tags tg are placed on the floor of the logistics warehouse W1. AGVs can determine their current location by reading the tags tg. In Figure 3, nine tags tg1 to 9 (tag IDs: 1 to 9) are arranged in a grid. Each AGV periodically reports its current location, determined by reading the tags tg, to the AGV management device 12. The location of the tags tg is recorded in the map data of the database 13 as the location of a node in the AGV's route. A node here refers to a point that the AGV can travel through. For example, a node is set at an intersection where multiple AGV routes intersect. In this embodiment, the nodes in the AGV's route are referred to as "tags".

[0043] In this embodiment, it is assumed that real tags are placed at the node locations, but this disclosure is not limited to this. Even without real tags, the configuration of this disclosure can be implemented if the node locations are set in the map data and the current location of the AGV can be observed in some way.

[0044] The following assumes a move request to move AGV1 from its current location (tag tg1) to its target location (tag tg6), and to move AGV2 from its current location (tag tg3) to its target location (tag tg8). The move request includes information on the priority parameters for each AGV.

[0045] The AGV management device 12 creates a number of candidate movement paths in accordance with the movement request. The movement paths are described by a sequence of tag IDs.

[0046] Here, we assume that three movement paths, routes 1 to 3, are created for AGV1, and three movement paths, routes 4 to 6, are created for AGV2. In this case, assuming that one path is selected for each AGV (E2=0), the number of combinations of paths (j) assigned to AGV1 (i=1) and AGV2 (i=2) is 3 × 3 = 9, as shown in Figure 4.

[0047] As described above, in this embodiment, the Hamiltonian (energy function) H is given by equation (1) above, the objective function E1 is given by equation (2) above, and the penalty functions E2 and E3 are given by equations (3) and (4) above. For simplicity, we will treat λ1=1 and λ2=1 below.

[0048] Let's consider the objective function E1. "E1" is the movement cost, which is an indicator of movement optimization. In this example, the movement cost is expressed as the sum of the remaining movement times of each AGV. We assume that the movement time between each tag tg is "1".

[0049] If AGV1 is assigned route 1 (i=1, j=1), the remaining travel time for AGV1 is "2" because there is a distance between the two tags tg from tag tg4, which is AGV1's position after one cycle, to tag tg6, which is the target position.

[0050] If AGV1 is assigned route 2 (i=1, j=2), the remaining travel time for AGV1 is "1" because there is a distance of one tag tg between tag tg5, which is AGV1's position after one cycle, and tag tg6, which is the target position.

[0051] If AGV1 is assigned route 3 (i=1, j=3), there are no tags tg between tag tg6, which is AGV1's position after one cycle, and the target position, which is tag tg6. Therefore, AGV1's remaining travel time becomes "0".

[0052] If AGV2 is assigned route 4 (i=2, j=4), the remaining travel time for AGV2 is "2" because there is a distance between the two tags tg from tag tg2, which is AGV2's position after one cycle, to tag tg8, which is the target position.

[0053] If AGV2 is assigned route 5 (i=2, j=5), the remaining travel time for AGV2 is "1" because there is a distance of one tag between tag tg5, which is AGV2's position after one cycle, and tag tg8, which is the target position.

[0054] If AGV2 is assigned route 6 (i=2, j=6), there are no tags tg between tag tg8, which is AGV2's position after one cycle, and the target position, which is tag tg8. Therefore, AGV2's remaining travel time is "0".

[0055] Therefore, the values ​​of the remaining travel time E1 when each route (j) is assigned to each AGV (i) are summarized in the table shown in Figure 5.

[0056] Next, let's consider the penalty function E2. "E2" is the route allocation cost. "E2" is a penalty function that imposes a penalty when one route is not assigned to one AGV, and it is 0 when one route is assigned to one AGV. In this embodiment, one route is assigned to one AGV in all cases, so the value of "E2" is 0.

[0057] Therefore, the values ​​of the route assignment cost E2 when each route (j) is assigned to each AGV (i) are summarized in the table shown in Figure 6.

[0058] Next, let's consider the penalty function E3. "E3" is the tag cost (node ​​cost). In equation (4) above, "C_i,j,tag" is a binary number that takes the value "1" when the AGV passes through tag tg, and "0" otherwise, when each path (j) is assigned to each AGV (i).

[0059] Specifically, if route 1 is assigned to AGV1 (i=1,j=1), AGV1 will pass through tags tg1 and tg4. Therefore, C_1,1,tag=1 will be set for both tags tg1 and tg4, and C_1,1,tag=0 for all tags other than tg1 and tg4.

[0060] Similarly, if AGV1 is assigned route 2 (i=1, j=2), AGV1 will pass through tags tg1, tg4, and tg5, so C_1,2,tag=1 for each of tags tg1, tg4, and tg5, and C_1,2,tag=0 for all tags other than tg1, tg4, and tg5.

[0061] The values ​​of "C_i,j,tag" when route j is assigned to AGVi are summarized in the table shown in Figure 7.

[0062] When considering the combinations of route assignments (j) for AGV1 (i=1) and AGV2 (i=2), focusing on each tag tg, we can see that there are four cases. Case 1: If AGV1 does not pass through tag tg and AGV2 does not pass through tag tg, then C_1,j,tag=0, C_2,j,tag=0 Case 2: If AGV1 passes through tag tg and AGV2 does not, then C_1,j,tag=1, C_2,j,tag=0 Case 3: If AGV1 does not pass tag tg, and AGV2 does pass tag tg, then C_1,j,tag=0, C_2,j,tag=1 Case 4: If AGV1 passes tag tg and AGV2 passes tag, then C_1,j,tag=1, C_2,j,tag=1

[0063] [Prioritize AGV1] In this embodiment, if AGV1 has priority, the priority coefficient is set as follows. Pri_1=1, Pri_2=2 For each of the above cases 1 to 4, calculate the following terms in equation (4) above.

[0064]

number

[0065] In this embodiment, the priority coefficients were set to Pri_1=1 and Pri_2=2, but in other embodiments, the priority coefficients may be set to Pri_1=1 and Pri_2=3. The priority coefficients may be set by the user to a value appropriate to their purpose.

[0066] The route assignment A shown in Figure 8 is the route when AGV1 is assigned route 3 (i=1, j=3) and AGV2 is assigned route 4 (i=2, j=4), and AGV1 has priority (Pri_1=1, Pri_2=2). The above term in equation (4) is calculated. The value of the above term is defined as the tag cost value.

[0067] Case 1: If AGV1 does not pass tag tg and AGV2 does not pass tag tg, then tags 7, 8, and 9 are applicable, and the tag cost value is 1. Case 2: If AGV1 passes through tag tg and AGV2 does not, then tags tg1, 4, 5, and 6 are applicable, and the tag cost value is 1. Case 3: If AGV1 does not pass tag tg, but AGV2 does, then tags tg2 and tg3 apply, and the tag cost value is 1. Case 4: If AGV1 passes through tag tg and AGV2 passes through tag tg, then the corresponding tag tg does not exist. In this case, the tag cost value is 4.

[0068] As a result, E3 becomes 0+1+1+0+0+0+1+1+1=5. Also, since the remaining travel time for AGV1 is "0" and the remaining travel time for AGV2 is "2", the sum of the remaining travel times, E1, is "2". Furthermore, since one route is assigned to each AGV, E2 is "0". Therefore, the H for route assignment A is E1+E2+E3=2+0+5=7.

[0069] Route assignment B shown in Figure 9 is the route when AGV1 is assigned route 1 (i=1, j=1) and AGV2 is assigned route 6 (i=2, j=6), and AGV1 has priority (Pri_1=1, Pri_2=2). Case 1: If AGV1 does not pass tag tg and AGV2 does not pass tag tg, then tags 6, 7, and 9 are applicable, and the tag cost value is 1. Case 2: If AGV1 passes through tag tg and AGV2 does not, then tags tg1 and tg4 are affected, and the tag cost value is 0. Case 3: If AGV1 does not pass tag tg, but AGV2 does, then tags tg2, 3, 5, and 8 are applicable, and the tag cost value is 1. Case 4: If AGV1 passes through tag tg and AGV2 passes through tag tg, then the corresponding tag tg does not exist. In this case, the tag cost value is 4.

[0070] As a result, E3 becomes 0+1+1+1+0+1+1+1+1=7. Also, since the remaining travel time for AGV1 is "2" and the remaining travel time for AGV2 is "0", the sum of the remaining travel times, E1, is "2". Furthermore, since one route is assigned to each AGV, E2 is "0". Therefore, the H for route assignment B is E1+E2+E3=2+0+7=9.

[0071] The route assignment C shown in Figure 10 is the route when AGV1 is assigned route 3 (i=1, j=3) and AGV2 is assigned route 6 (i=2, j=6), and AGV1 has priority (Pri_1=1, Pri_2=2). Case 1: If AGV1 does not pass tag tg and AGV2 does not pass tag tg, then tags 7 and 9 are applicable, and the tag cost value is 1. Case 2: If AGV1 passes through tag tg and AGV2 does not, then tags tg1, 4, and 6 are applicable, and the tag cost value is 0. Case 3: If AGV1 does not pass tag tg, but AGV2 does, then tags tg2, 3, and 8 are relevant, and the tag cost value is 1. Case 4: When AGV1 passes through tag tg and AGV2 passes through tag tg, tag tg5 is the relevant tag, and the tag cost value is 4.

[0072] As a result, E3 becomes 0+1+1+0+4+0+1+1+1=9. Also, since the remaining travel time for AGV1 is "0" and the remaining travel time for AGV2 is "0", the sum of the remaining travel times, E1, is "0". Furthermore, since one route is assigned to each AGV, E2 is "0". Therefore, the H of route assignment C is E1+E2+E3=0+0+9=9.

[0073] In this way, for each of the nine possible route assignments A to I, the sum of the objective function and the penalty function (E1+E2+E3) is calculated as the Hamiltonian (energy function) H. The calculation results when AGV1 is prioritized are shown in Figure 11. Among the nine possible route assignments (route candidates), the one that minimizes the sum of the objective function and the penalty function (E1+E2+E3) is route assignment A, in which there is no overlap (collision) between the paths of AGV1 and AGV2, and the path length of the higher-priority AGV1 is longer. Therefore, route assignment A is estimated to be the optimal route assignment.

[0074] If AGV1 is given priority, the following can be seen from a comparison of route assignments A, B, and C. Specifically, among route assignments A, B, and C, the one that minimizes the Hamiltonian (energy function) H is route assignment A, in which there is no overlap (collision) between the paths of AGV1 and AGV2, and the path length of the higher-priority AGV1 is longer.

[0075] The reason is as follows: For example, route assignment C has a lower sum of remaining travel time (E1) compared to route assignments A and B, but a route overlap (collision) occurs between AGV1 and AGV2 at tag tg5, resulting in a tag cost value of "4" for tag tg5, which imposes a very large penalty.

[0076] Therefore, when the paths of AGV1 and AGV2 overlap (collision), the Hamiltonian (energy function) H becomes large. As a result, path assignments that result in the overlap (collision) of the paths of the AGVs are excluded from the optimal path assignment.

[0077] Comparing route assignments A and B, the sum of remaining travel times (E1) is the same. However, the tag cost is "0" when the higher-priority AGV1 passes through tag tg and the lower-priority AGV2 does not, whereas the tag cost is "1" when the higher-priority AGV1 does not pass through tag tg and the lower-priority AGV2 does. Therefore, route assignment A, where the higher-priority AGV1 has a longer route length, has a smaller sum of tag costs.

[0078] Therefore, when there are two path allocations where the sum of the path length of the AGV1 with a high priority and the path length of the AGV2 with a low priority is equal, the path allocation with a longer path length of the AGV1 is preferentially selected as the optimal path allocation.

[0079] Based on such a principle, the path generation system according to the present disclosure can ensure that there is no overlap (collision) between the paths of the AGVs, and when the path length of the AGV with a high priority is long, the Hamiltonian (energy function) H is minimized, and such a path is generated as the optimal path. In the present disclosure, "optimal" means that it is presumed to be optimal by minimizing the Hamiltonian (energy function) H.

[0080] Therefore, the present disclosure can generate an optimal path that avoids overlap (collision) between the paths of the moving bodies and preferentially moves a specific moving body with a high priority.

[0081] [Set AGV2 as the priority] In this embodiment, when AGV2 has a higher priority, the priority coefficient is set as follows. Pri_1 = 2, Pri_2 = 1

[0082] In this case, for each of the above cases 1 to 4, the following terms of the above formula (4) are calculated. [Equation] Case 1: When AGV1 does not pass through tag tg and AGV2 does not pass through tag tg, ((C_1,j,tag × Pri_1 + C_2,j,tag × Pri_2) - 1) 2 = ((0 × 2 + 0 × 1) - 1) 2 = 1 Case 2: When AGV1 passes through tag tg and AGV2 does not pass through tag tg, ((C_1,j,tag × Pri_1 + C_2,j,tag × Pri_2) - 1) 2 = ((1 × 2 + 0 × 1) - 1) 2 = 1 Case 3: If AGV1 does not pass tag tg, and AGV2 does pass tag tg, ((C_1,j,tag×Pri_1+C_2,j,tag×Pri_2)-1) 2 =((0x2+1x1)-1) 2 =0 Case 4: When AGV1 passes through tag tg and AGV2 passes through tag, ((C_1,j,tag×Pri_1+C_2,j,tag×Pri_2)-1) 2 =((1x2+1x1)-1) 2 =4

[0083] The route assignment A shown in Figure 12 is the route when AGV1 is assigned route 3 (i=1, j=3) and AGV2 is assigned route 4 (i=2, j=4), and AGV2 has priority (Pri_1=2, Pri_2=1). The above term in equation (4) is calculated. The value of the above term is defined as the tag cost value. Case 1: If AGV1 does not pass tag tg and AGV2 does not pass tag tg, then tags 7, 8, and 9 are applicable, and the tag cost value is 1. Case 2: If AGV1 passes through tag tg and AGV2 does not, then tags tg1, 4, 5, and 6 are applicable, and the tag cost value is 1. Case 3: If AGV1 does not pass tag tg, but AGV2 does, then tags tg2 and tg3 apply, and the tag cost value is 0. Case 4: If AGV1 passes through tag tg and AGV2 passes through tag tg, then the corresponding tag tg does not exist. In this case, the tag cost value is 4.

[0084] As a result, E3 becomes 1+0+0+1+1+1+1+1+1+1=7. Also, since the remaining travel time for AGV1 is "0" and the remaining travel time for AGV2 is "2", the sum of the remaining travel times, E1, is "2". Furthermore, since one route is assigned to each AGV, E2 is "0". Therefore, the H for route assignment A is E1+E2+E3=2+0+7=9.

[0085] Route assignment B shown in Figure 13 is the route when route 1 is assigned to AGV1 (i=1, j=1) and route 6 is assigned to AGV2 (i=2, j=6), and AGV2 has priority (Pri_1=2, Pri_2=1). Case 1: If AGV1 does not pass tag tg and AGV2 does not pass tag tg, then tags 6, 7, and 9 are applicable, and the tag cost value is 1. Case 2: If AGV1 passes through tag tg and AGV2 does not, then tags tg1 and tg4 are relevant, and the tag cost value is 1. Case 3: If AGV1 does not pass tag tg, but AGV2 does, then tags tg2, 3, 5, and 8 are applicable, and the tag cost value is 0. Case 4: If AGV1 passes through tag tg and AGV2 passes through tag tg, then the corresponding tag tg does not exist. In this case, the tag cost value is 4.

[0086] As a result, E3 becomes 1+0+0+1+0+1+1+0+1=5. Also, since the remaining travel time for AGV1 is "2" and the remaining travel time for AGV2 is "0", the sum of the remaining travel times, E1, is "2". Furthermore, since one route is assigned to each AGV, E2 is "0". Therefore, the H of route assignment C is E1+E2+E3=2+0+5=7.

[0087] The route assignment C shown in Figure 14 is the route when AGV1 is assigned route 3 (i=1, j=3) and AGV2 is assigned route 6 (i=2, j=6), and AGV2 has priority (Pri_1=2, Pri_2=1). Case 1: If AGV1 does not pass tag tg and AGV2 does not pass tag tg, then tags 7 and 9 are applicable, and the tag cost value is 1. Case 2: If AGV1 passes through tag tg and AGV2 does not, then tags tg1, 4, and 6 are applicable, and the tag cost value is 1. Case 3: If AGV1 does not pass tag tg, but AGV2 does, then tags tg2, 3, and 8 are applicable, and the tag cost value is 0. Case 4: When AGV1 passes through tag tg and AGV2 passes through tag tg, tag tg5 is the relevant tag, and the tag cost value is 4.

[0088] As a result, E3 becomes 1+0+0+1+4+1+1+0+1=9. Also, since the remaining travel time for AGV1 is "0" and the remaining travel time for AGV2 is "0", the sum of the remaining travel times, E1, is "0". Furthermore, since one route is assigned to each AGV, E2 is "0". Therefore, the H of route assignment C is E1+E2+E3=0+0+9=9.

[0089] In this way, for each of the nine path assignments A to I, the sum of the objective function and penalty function (E1+E2+E3) is calculated as the Hamiltonian (energy function) H. The calculation results when AGV2 is prioritized are shown in Figure 15. Among the nine path assignments (path candidates), the one that minimizes the sum of the objective function and penalty function (E1+E2+E3) is path assignment B, where there is no overlap (collision) between the paths of AGV1 and AGV2, and the path length of the higher-priority AGV2 is longer. Therefore, path assignment B is estimated to be the optimal path assignment.

[0090] If AGV2 is given priority, the following can be seen from a comparison of route assignments A, B, and C. Specifically, among route assignments A, B, and C, the one that minimizes the Hamiltonian (energy function) H is route assignment B, in which there is no overlap (collision) between the paths of AGV1 and AGV2, and the path length of the higher-priority AGV2 is longer.

[0091] The reason is as follows: For example, while route assignment C has the same total remaining travel time (E1) as route assignments A and B, the tag cost is "0" when the higher-priority AGV2 passes through tag tg and the lower-priority AGV1 does not, whereas the tag cost is 1 when the higher-priority AGV2 does not pass through tag tg and the lower-priority AGV1 does. Therefore, route assignment B, where the route for the higher-priority AGV2 is longer, has a smaller total tag cost.

[0092] Therefore, the sum of the penalty functions becomes smaller when the path length of the high-priority AGV2 is long. In this way, the path generation system of this disclosure minimizes the Hamiltonian (energy function) H when there is no overlap (collision) of paths between AGVs and the path length of the high-priority AGV is long, and such a path is estimated as the optimal path. Note that whether or not to prioritize AGVs can be freely set by setting the priority coefficient Pri.

[0093] [Configuration of the processing unit of the driving system 10] The driving system 10 is a system that generates the optimal route for multiple moving bodies by determining the optimal route assignment, which assigns the optimal route (j) to each of the multiple moving bodies (i), including the first moving body and the second moving body.

[0094] The node cost calculation unit 113 calculates the node cost corresponding to each of the multiple nodes (tags) that are traversable points for multiple moving objects.

[0095] The optimal route assignment determination unit 211 determines the optimal route assignment from among multiple route assignments, each of which a route (j) is assigned to each of the multiple mobile entities (i) based on the sum of the node costs at multiple nodes (tags).

[0096] Furthermore, the node cost calculation unit 113 calculates the node costs such that the first node cost when the first mobile body passes through a node (tag) and the second mobile body does not pass through a node (tag) is smaller than the second node cost when the first mobile body does not pass through the node and the second mobile body passes through the node.

[0097] The first mobile object is a high-priority mobile object, and the second mobile object is a low-priority mobile object. The first node cost is the node cost when the first mobile object passes through a node (tag) and the second mobile object does not pass through the node (0 in the above embodiment).

[0098] The second node cost is the node cost when the first mobile object does not pass through the node, and the second mobile object does pass through the node (in the above embodiment, this is "1").

[0099] This disclosure shows that, because the first node cost is smaller than the second node cost, when the sum of the path lengths of the first and second mobile entities are roughly the same, the longer the path length of the first mobile entity, the lower the total node cost. This makes it possible to prioritize the movement of specific mobile entities with higher priority.

[0100] "Optimal path assignment" refers to the path assignment that minimizes the Hamiltonian (energy function) H among the multiple possible path assignments (multiple combinations of i and j) when assigning a path to each of multiple moving objects (i.e., the combination of i and j that minimizes the Hamiltonian (energy function) H).

[0101] The optimal path assignment determination unit 211 is a processing unit that solves a combinatorial optimization problem by optimizing the combination of i and j such that the sum of the objective function and the penalty function is minimized.

[0102] "Determining the optimal path assignment from among multiple path assignments, each of which a path (j) is assigned to each of multiple mobile bodies (i) based on the sum of the node costs at multiple nodes (tags)" specifically means that the Hamiltonian (energy function) H, that is, the formula for the sum of the objective function and the penalty function, includes a term (E3) corresponding to "the sum of the node costs at multiple nodes."

[0103] Furthermore, the node cost calculation unit 113 may calculate the node costs such that the third node cost when the first moving body passes through the node and the second moving body also passes through the node is greater than the second node cost.

[0104] The third node cost is the node cost when the first mobile body passes through the node and the second mobile body also passes through the node, that is, the node cost when the paths of the first mobile body and the second mobile body overlap (collision) (in the above embodiment, "4").

[0105] This disclosure prevents route overlap (collisions) by setting the third node cost to a value significantly larger than the first and second node costs.

[0106] Furthermore, the node cost calculation unit 113 may calculate the node costs such that the third node cost is greater than the sum of the first node cost and the second node cost. Specifically, the third node cost is made greater than the sum of the first node cost and the second node cost.

[0107] Furthermore, the priority coefficient setting unit 114 may set a priority coefficient for each of the multiple moving objects. For example, the priority coefficient setting unit 114 may set "Pri_1=1" and "Pri_2=2".

[0108] Furthermore, the node cost at the node is

number

[0109] Furthermore, the movement cost calculation unit 111 calculates the movement cost corresponding to each of the multiple moving objects. The optimal route assignment determination unit 211 determines the optimal route assignment based on the weighted sum of the sum of the movement costs of the multiple moving objects and the sum of the node costs of the multiple nodes. Movement cost is an indicator (objective function) for optimizing movement, such as the movement time, remaining movement time, movement distance, and remaining movement distance of the multiple moving objects (i). Note that the calculation of the route assignment cost E2 may be omitted. For example, if it is guaranteed that one route (j) will always be assigned to one moving object (i), the value of E2 will always be "0", so the calculation of E2 can be omitted.

[0110] A weighted sum is a sum (weighted sum) in which the terms to be summed are multiplied by a weighting coefficient, and is expressed as H = E1 + λ²E3.

[0111] Furthermore, the route assignment cost calculation unit 112 calculates the route assignment cost corresponding to each of the multiple mobile bodies. The optimal route assignment determination unit 211 may determine the optimal route assignment based on a weighted sum of the sum of the travel costs of the multiple mobile bodies, the sum of the route assignment costs of the multiple mobile bodies, and the sum of the node costs of the multiple nodes. Note that the calculation of the route assignment cost E2 may be omitted. The route assignment cost is a cost added as a penalty when one mobile body is not assigned a route.

[0112] Furthermore, the route generation unit 121 generates multiple routes for each of the multiple moving objects, from their current position to a moving position that can be reached in one cycle period, based on the current position and target position of each of the multiple moving objects. The optimal route assignment determination unit 211 determines the optimal route assignment for one cycle period. The moving position is a position within the range from the current position to the target position, and is a position that can be reached in one cycle period. This disclosure generates multiple routes for each of the multiple moving objects, from their current position to the target position, and is a position within the range from the current position to the target position, and is a position that can be reached from the current position in one cycle period. Then, the optimal route for one cycle period is generated by calculating the remaining travel time or remaining travel distance from the moving position to the target position as the travel cost. Furthermore, the optimal route generation for one cycle period is repeatedly performed to finally generate a travel route from the current position to the target position.

[0113] Furthermore, the travel cost calculation unit 111 may calculate the remaining travel time, which is the travel time from the current position of multiple moving bodies to the destination position, or the remaining travel distance, which is the travel distance from the current position of multiple moving bodies to the destination position, as the travel cost corresponding to each of the multiple moving bodies, and the optimal route assignment determination unit 211 may determine the optimal route assignment for one cycle period. That is, the remaining travel time or remaining travel distance from the current position of multiple moving bodies to the destination position is calculated as the travel cost corresponding to each of the multiple moving bodies.

[0114] The optimal route assignment determination unit 211 may be composed of an Ising machine. The control device 11 of server 1 controls the entire server 1. The control device 11 realizes various functions by reading and executing various programs stored in the memory unit (e.g., storage or ROM). The control device 11 may be realized by one or more control devices / arithmetic units (CPU (Central Processing Unit), SoC (System on a Chip)). In addition, the control device 11 may be composed of one or more control circuits (electronic circuits).

[0115] [Note on disclosure] The following is an overview of the disclosures extracted from the above-described embodiments. Note that each configuration and processing function described in the following notes can be selected and combined as desired.

[0116] <Note 1> A route generation system that generates the optimal route for a plurality of moving bodies, including a first moving body and a second moving body, by determining an optimal route assignment that assigns the optimal route to each of the plurality of moving bodies, A node cost calculation unit calculates the node cost corresponding to each of the multiple nodes that are transit points that the multiple moving bodies can move through, An optimal route assignment determination unit determines the optimal route assignment from among a plurality of route assignments, which are obtained by assigning a route to each of the plurality of mobile bodies based on the sum of the node costs at the plurality of nodes, Equipped with, The node cost calculation unit calculates the node costs such that the first node cost when the first mobile body passes through the node and the second mobile body does not pass through the node is smaller than the second node cost when the first mobile body does not pass through the node and the second mobile body passes through the node. Route generation system.

[0117] <Note 2> The node cost calculation unit calculates the node costs such that the third node cost when the first moving body passes through the node and the second moving body passes through the node is greater than the second node cost. The route generation system described in Appendix 1.

[0118] <Note 3> The node cost calculation unit calculates the node costs such that the third node cost is greater than the sum of the first node cost and the second node cost. The route generation system described in Appendix 2.

[0119] <Note 4> The system further includes a priority coefficient setting unit that sets a priority coefficient for each of the plurality of moving bodies. A route generation system as described in any of the appendices 1 to 3.

[0120] <Note 5> The node cost at the aforementioned node is

number

[0121] <Note 6> The system further includes a movement cost calculation unit that calculates the movement cost corresponding to each of the plurality of moving bodies, The optimal route assignment determination unit determines the optimal route assignment based on the weighted sum of the sum of the movement costs of the plurality of moving bodies and the sum of the node costs of the plurality of nodes. A route generation system as described in any of the appendices 1 to 5.

[0122] <Note 7> A movement cost calculation unit that calculates the movement cost corresponding to each of the plurality of moving bodies, A route allocation cost calculation unit that calculates the route allocation cost corresponding to each of the plurality of moving objects, Furthermore, The optimal route assignment determination unit determines the optimal route assignment based on a weighted sum of the sum of the travel costs of the plurality of moving bodies, the sum of the route assignment costs of the plurality of moving bodies, and the sum of the node costs of the plurality of nodes. A route generation system as described in any of the appendices 1 to 6.

[0123] <Note 8> The system further includes a path generation unit that generates multiple paths for each of the multiple moving bodies from its current position to a moving position that can be reached in one cycle period, based on the current position and target position of each of the multiple moving bodies. The optimal route assignment determination unit determines the optimal route assignment for the one cycle period. A route generation system as described in any of the appendices 1 to 7.

[0124] <Note 9> The system further includes a path generation unit that generates multiple paths for each of the multiple moving bodies from its current position to a moving position that can be reached in one cycle period, based on the current position and target position of each of the multiple moving bodies. The movement cost calculation unit calculates the remaining movement time, which is the time it takes for the plurality of moving bodies to travel from their respective moving positions to the target position, or the remaining movement distance, which is the distance traveled by the plurality of moving bodies from their respective moving positions to the target position, as the movement cost corresponding to each of the plurality of moving bodies. The optimal route assignment determination unit determines the optimal route assignment for the one cycle period. Route generation system as described in Appendix 6 or 7.

[0125] <Note 10> The aforementioned optimal route assignment determination unit is an Ising machine. A route generation system described in any of the appendices 1 to 9.

[0126] <Note 11> A path generation method for generating optimal paths for a plurality of moving bodies, including a first moving body and a second moving body, by determining an optimal path assignment that assigns the optimal path to each of the plurality of moving bodies, The process involves calculating the node cost corresponding to each of the multiple nodes that are transit points that the multiple moving objects can travel through, Based on the sum of the node costs at the aforementioned multiple nodes, the optimal route assignment is determined from among a plurality of route assignments, each of which is assigned a route to one of the plurality of mobile bodies. The node costs are calculated such that the first node cost when the first mobile body passes through the node and the second mobile body does not pass through the node is smaller than the second node cost when the first mobile body does not pass through the node and the second mobile body passes through the node. A route generation method performed by one or more processors.

[0127] <Note 12> A path generation program that generates the optimal path for a plurality of moving objects, including a first moving object and a second moving object, by determining an optimal path assignment that assigns the optimal path to each of the plurality of moving objects, The process involves calculating the node cost corresponding to each of the multiple nodes that are transit points that the multiple moving objects can travel through, Based on the sum of the node costs at the aforementioned multiple nodes, the optimal route assignment is determined from among a plurality of route assignments, each of which is assigned a route to one of the plurality of mobile bodies. The node costs are calculated such that the first node cost when the first mobile body passes through the node and the second mobile body does not pass through the node is smaller than the second node cost when the first mobile body does not pass through the node and the second mobile body passes through the node. A route generation program for causing one or more processors to execute, or a non-temporary computer-readable recording medium on which the route generation program is recorded. [Explanation of Symbols]

[0128] 10: Driving System 1: Server 2: Ising Machine 11: Control device 12:AGV management device 13: Database 21: Solver 111: Travel Cost Calculation Unit 112: Route allocation cost calculation unit 113: Node Cost Calculation Unit 114: Priority coefficient setting unit 121: Route generation unit 211: Optimal route assignment determination unit tg: tag