Information processing device, information processing method, information processing system, and computer program

The information processing device optimizes path generation for multiple mobile bodies by adjusting weights based on congestion parameters, reducing congestion and collision risks, thereby enhancing operational efficiency.

JP2026054852APending Publication Date: 2026-03-30KK TOSHIBA
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-17
Publication Date
2026-03-30

AI Technical Summary

Technical Problem

Existing systems struggle to efficiently manage and avoid collisions between multiple moving objects in environments where movement occurs in both directions, leading to congestion and operational inefficiencies.

Method used

An information processing device that generates paths for multiple mobile bodies by adjusting weights based on congestion parameters, updating weights according to the direction of movement, and generating movement plans to minimize conflicts and optimize traffic flow.

Benefits of technology

The solution effectively reduces congestion and collision risks by optimizing the movement of multiple mobile bodies, ensuring efficient operation and minimizing waiting times.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026054852000001_ABST
    Figure 2026054852000001_ABST
Patent Text Reader

Abstract

The present invention provides an information processing device, an information processing method, an information processing system, and a computer program for generating routes for multiple moving objects. [Solution] The information processing device of the present disclosure includes a processing unit which generates a path for a first mobile body including one or more movement paths based on a first weight in the first direction and a second weight in the second direction of a plurality of movement paths that are movable in a first direction and a second direction opposite to the first direction, updates at least one of the first weight and the second weight of the movement paths included in the path for the first mobile body based on the direction of movement of the first mobile body of the movement paths included in the path for the first mobile body, and generates a path for a second mobile body including one or more movement paths based on at least one of the updated first weight and the second weight.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to an information processing apparatus, an information processing method, an information processing system, and a computer program.

Background Art

[0002] In recent years, with the generalization of multi-variety and small-lot production, it has become necessary to create flexibility in the production process. For example, each process of a production line is modularized and freely recombined, and transportation between processes is carried out by an AGV (Automated Guided Vehicle), or work is carried out while moving a mobile robot with an arm for work to a plurality of workplaces.

[0003] Also, against the backdrop of a serious shortage of manpower at logistics sites, efforts to reduce the number of personnel have been accelerating at logistics centers such as online shopping. For example, there are methods such as combining an AGV or an automatic guided forklift with a picking robot to address this.

[0004] Furthermore, with the progress of the automatic movement technology of automobiles, attempts such as automatic valet parking where a group of automobiles are automatically moved and parked in a parking lot in an unmanned state, and moving unmanned construction machinery moving bodies remotely controlled at construction sites, mines, etc. have also reached the practical stage. In order to efficiently control the movement of a large number of moving bodies moving automatically within a narrow area, it is necessary to appropriately determine the routes of the moving bodies.

[0005] In order to avoid competition between moving bodies such as collisions and deadlocks, conventionally, a plurality of dedicated moving paths such as a double-track moving path that can move simultaneously in both directions, a one-way loop, etc., and a moving space have generally been installed in advance.

[0006] However, when using a route that inevitably involves movement in both directions, or when using a route that is designed to involve movement in both directions for safety or other reasons, it is necessary to be able to avoid conflicts and formulate a versatile operation plan. In this case, it is also desirable to adjust traffic between routes, such as preventing the concentration (congestion) of movement of moving objects on a particular passage. [Prior art documents] [Patent Documents]

[0007] [Patent Document 1] International Publication No. 2022 / 249551 [Patent Document 2] Patent No. 3212028 Publication [Patent Document 3] Japanese Patent Publication No. 2021-184210 [Overview of the Initiative] [Problems that the invention aims to solve]

[0008] This embodiment provides an information processing device, an information processing method, an information processing system, and a computer program for generating paths for multiple moving objects. [Means for solving the problem]

[0009] The information processing device of the present disclosure includes a processing unit that generates a path for a first mobile body including one or more movement paths based on a first weight in the first direction and a second weight in the second direction of a plurality of movement paths that are each movable in a first direction and a second direction opposite to the first direction; updates at least one of the first weight and the second weight of the movement paths included in the path for the first mobile body based on the direction of movement of the first mobile body of the movement paths included in the path for the first mobile body; and generates a path for a second mobile body including one or more movement paths based on at least one of the updated first weight and the second weight. [Brief explanation of the drawing]

[0010] [Figure 1] This figure shows an example of the configuration of a route generation system 10, which is an information processing system according to the first embodiment. [Figure 2] A schematic diagram showing a movement environment including multiple movement paths in a two-dimensional manner. [Figure 3] Figure 2 shows an example of a travel route network, representing the travel environment in a graphical format. [Figure 4] This diagram shows an example of how information indicating the departure and arrival points of AGVs 1-3 is mapped to a travel route network. [Figure 5] A diagram showing an example of congestion adjustment parameters stored in the congestion adjustment parameter storage unit. [Figure 6] Figure 5 shows links in the travel path network where the forward and reverse congestion adjustment parameters shown are set. [Figure 7] A flowchart illustrating an example of the processing performed by the route planning unit. [Figure 8] A diagram illustrating an example of setting initial weights for a link in both the first and second directions. [Figure 9] A diagram showing the first direction for each of links 1 through 19. [Figure 10] A diagram showing examples of weight tables for the first direction and the second direction. [Figure 11] A diagram showing an example of a route generated for AGV1. [Figure 12] A diagram showing an example of a route generated for AGV2. [Figure 13] A diagram showing an example of a route generated for AGV3. [Figure 14] A diagram showing an example of a route generated for AGV1. [Figure 15] A diagram showing examples of a weight table for one direction and a weight table for two directions. [Figure 16] A diagram showing an example of a route generated for AGV2. [Figure 17] A diagram showing an example of a route generated for AGV3. [Figure 18] A diagram showing an example of a route generated for AGV1. [Figure 19] Figure showing an example of a weight table in the first direction and a weight table in the second direction. [Figure 20] Figure showing an example of a path generated for AGV2. [Figure 21] Figure showing an example of a path generated for AGV3. [Figure 22] Figure showing an example where some links are fixed in advance as pre-planned for AGV2. [Figure 23] Figure showing an example of a weight table in the first direction and a weight table in the second direction. [Figure 24] Figure showing an example of a path generated for AGV1. [Figure 25] Figure showing an example of a path generated for AGV2. [Figure 26] Figure showing an example of a path generated for AGV3. [Figure 27] Figure showing a data example of a congestion adjustment parameter storage unit according to this embodiment. [Figure 28] Figure showing links where congestion adjustment parameters for both directions and reverse direction are set. [Figure 29] Figure showing an example of a path generated for AGV1. [Figure 30] Figure showing an example of a weight table in the first direction and a weight table in the second direction. [Figure 31] Figure showing an example of a path generated for AGV2. [Figure 32] Figure showing an example of a path generated for AGV3. [Figure 33] Figure showing an example of a congestion adjustment parameter according to this embodiment. [Figure 34] Figure showing an example of a weight table in the first direction and a weight table in the second direction. [Figure 35] Figure showing an example of a path generated for AGV1. [Figure 36] Figure showing an example of a path generated for AGV2. [Figure 37] Figure showing an example of a path generated for AGV3. [Figure 38]A diagram showing the hardware configuration of an information processing device according to an embodiment of the present invention. [Modes for carrying out the invention]

[0011] Embodiments of the present invention will be described below with reference to the drawings.

[0012] (First embodiment) Figure 1 shows an example of the configuration of a route generation system 10, which is an information processing system according to the first embodiment. The route generation system 10 comprises a route generation device 100, which is an information processing device according to the first embodiment, a communication unit 300, a state detection unit 310, a plurality of sensors 320, a plurality of communication devices 330, and a plurality of mobile bodies (first mobile body, second mobile body, ..., Mth mobile body) 340.

[0013] The mobile object according to this embodiment is a mobile object capable of moving automatically (e.g., driving), such as an AGV (Automatic Guided Vehicle), an autonomous mobile robot, an autonomous vehicle (e.g., an autonomous vehicle), or an aerial vehicle. For example, the mobile object moves along a travel path (hereinafter referred to as a travel path) arranged in an area such as a factory, warehouse, or facility site. As an example, the mobile object is equipped with a storage battery and operates using the power stored in the battery. The environment in which the mobile object moves is referred to as the travel environment. In the following description, we will assume that the mobile object is an AGV.

[0014] The communication unit 300 is located within the facility where the mobile body 340 moves, or at any other location. The communication unit 300 relays communication between the mobile body 340 and the route generation device 100. The communication unit 300 can communicate with the communication unit 190 of the route generation device 100. The communication unit 300 can also communicate with the mobile body 340 and the status detection unit 310. These communications may be wired or wireless. The communication unit 300 receives control commands from the route generation device 100 to the mobile body 340 and transmits them to the mobile body 340. This causes the mobile body 340 to operate according to the movement plan generated by the route generation device 100.

[0015] The sensor 320 is placed within the facility where the mobile body 340 is moving, or at any other location, and detects the state of the mobile body 340 as it passes through its sensing range. For example, it may detect the position and speed of the mobile body 340, or it may detect the movement of the mobile body 340 (for example, whether it is carrying luggage, or whether it is unable to move due to falling over, etc.).

[0016] The communication device 330 is located within the facility where the mobile body 340 is moving, or at any other location, and communicates with the mobile body 340 using a different communication method than the communication unit 300. For example, the communication unit 300 may be a wireless LAN, and the communication device 330 may be Bluetooth Low Energy (BLE). By using the communication device 330, information regarding the state of the mobile body 340 can be obtained even when the mobile body 340 is located in an area where communication with the communication unit 300 is impossible. The communication device 330 may obtain information from the mobile body 340 of the same type as the information detected by the sensor 320, for example. This makes it possible to obtain information regarding the state of the mobile body 340 even when the mobile body 340 does not pass through the sensing range of the sensor 320.

[0017] The state detection unit 310 acquires information regarding the state of the mobile object 340 from the sensor 320 and the communication device 330, and transmits the acquired information to the communication unit 300. The communication unit 300 acquires information regarding the state of the mobile object 340 from the state detection unit 310, and transmits the acquired information to the route generation device 100.

[0018] The route generation device 100 comprises storage units 110 to 150, a route planning unit 160, a movement plan generation unit 170, a command unit 180, and a communication unit 190. At least one of the route planning unit 160, the movement plan generation unit 170, and the command unit 180 corresponds to a processing unit that performs the processing according to this embodiment. The command unit 180 corresponds to a control unit that controls the mobile body 340.

[0019] Each of the memory units 110 to 150 may be provided with an input unit for inputting information. The input unit may acquire information input by the user using a keyboard, mouse, touch panel, voice input means, etc., and store the information in each of the memory units 110 to 150. Each of the memory units 110 to 150 may be provided with an output unit for outputting the information stored in it. The output unit may be, for example, a display device or a communication unit that communicates with a user terminal.

[0020] Figure 2 is a schematic diagram showing a moving environment with multiple movement paths in a planar view. The moving environment shown in Figure 2 shows multiple movement paths 1 to 19. Movement paths 1 to 19 are connected to each other. Multiple AGVs 1 to 3 are also arranged as multiple moving objects. The points where movement paths connect correspond to intersections. Movement path 1 and movement path 11 intersect at different heights, and the intersection point C is not an intersection. Towards Figure 2, AGV 1 is shown moving to the right along movement path 1, AGV 2 is moving to the left along movement path 15, and AGV 3 is moving to the right along movement path 5. Each movement path can be any shape, such as a straight line, a curve, or a combination of straight lines and curves. The method of movement of the AGVs can be any method, such as moving along guide tapes placed on the floor, moving between markers placed at key points, or the AGV itself detecting its own position and generating a virtual movement path to move. In each movement path, if we refer to the movement from one end of the path to the other as the first direction and the movement from the other end to the first direction as the second direction, then the moving object can move in the first direction and in the second direction which is the opposite direction to the first direction.

[0021] The travel path structure memory unit 120 stores a travel path network that represents the travel environment in graph format.

[0022] Figure 3 is an example of a mobility network that graphically represents the mobility environment shown in Figure 2. This mobility network consists of multiple nodes N1 to N12 and multiple links 1 to 19 connecting the nodes. The method for generating the mobility network shown in Figure 3 will be explained below.

[0023] The method for generating a travel path network involves first generating nodes at multiple points in the travel environment, such as intersections of multiple travel paths and any position on a travel path. Nodes may also be generated at the starting or ending points of an AGV. Then, when two points are traversable by an AGV, a link (also called an arc) is generated between the two nodes corresponding to those two points. The link corresponds to a travel path in the travel environment. Corresponding travel paths and links are identified by the same code. For example, the link corresponding to travel path 2 is represented as link 2. In this way, a travel path network including nodes and links connecting nodes can be generated. Since the travel path network is a graph, the length and direction of a travel path do not necessarily have to match the length and direction of the corresponding link in the travel path network.

[0024] In the following explanation, the movement of an AGV along a path will also be expressed as the AGV moving along a link. Similarly, the passage of an AGV through or departure from a node (an intersection or any other location) will be expressed as the AGV passing through or departing from a node. Finally, the stopping of an AGV at a node will be expressed as the AGV stopping at a node.

[0025] The operation plan storage unit 130 stores an operation plan for each AGV, including its departure point and destination point. The departure point and destination point may differ for each AGV. The operation plan storage unit 130 may also store the departure time of the AGV. Furthermore, if there are predetermined intermediate points that the AGV will pass through on its way to the destination point, the operation plan storage unit 130 may store information about those intermediate points. In addition, if there are tasks that the AGV must perform on its way to the destination point (for example, loading and unloading cargo), the operation plan storage unit 130 may store information about the content of those tasks and the locations where those tasks will be performed.

[0026] Figure 4 shows an example of how the departure points (also called departure nodes) and arrival points (also called arrival nodes) of AGV1-3 are mapped to the travel path network. The departure and arrival points of each AGV1-3 are one of the nodes in the travel path network shown in Figure 3. In the example in Figure 4, departure points are represented by triangles and arrival points by squares. The departure and arrival points of AGV1 are nodes N1 and N12, the departure and arrival points of AGV2 are nodes N8 and N7, and the departure and arrival points of AGV3 are nodes N9 and N4.

[0027] The state memory unit 140 stores the state of each AGV. The AGV state includes the initial state of the AGV (state before departure) and the state at each point in time from departure to arrival (e.g., real-time state). The AGV state includes various things such as the AGV's position, whether or not it is loaded with cargo, speed, direction of movement on the travel path, and battery level. The state memory unit 140 may also store specification information of the AGV, such as the AGV's standard speed, maximum speed, minimum speed, size, and direction of movement. The AGV state may be acquired by the communication unit 190 communicating with the AGV 340 via the communication unit 300, or it may be acquired by the state detection unit 310 which detects the AGV via at least one of the sensor 320 and the communication device 330. The state detection unit 310 can detect the AGV via the sensor 320 or the communication device 330 located on the travel path or at an intersection, etc., when the AGV is located outside the communication range of the communication unit 300.

[0028] The movement plan storage unit 150 stores the movement plan for each AGV generated by the route planning unit 160, which will be described later. The movement plan is, for example, a plan that defines the route (set of movement paths) that each AGV will travel on and the timing (time) of movement at each point along the route, with the timing adjusted to avoid conflicts (e.g., collisions) between AGVs. The movement plan may also include information about points that the AGV will pass through, such as the starting point, destination point, and intermediate points, and the timing of movement at each point (e.g., at least one of the arrival time, departure time, and passing time at each point). Alternatively, the movement plan may include a list of points (or links) that each AGV will pass through in the order they will pass through, and sequence information that determines the order in which points are passed through in common by multiple AGVs. During actual operation of the AGVs, it is necessary to control the movement of each AGV to maintain this order. This avoids conflicts (e.g., collisions) between AGVs.

[0029] The congestion adjustment parameter storage unit 110 stores the direction in which traffic volume (congestion) is to be alleviated, whether in the forward direction, the reverse direction, or both directions, in association with the link identifier (link ID). The forward direction is the direction in which the moving object is moving, the reverse direction is the opposite direction in which the moving object is moving, and both directions is both the forward and reverse directions. This information, which associates the link identifier with the direction in which congestion is to be alleviated, is called a congestion adjustment parameter. In particular, because its purpose is to alleviate congestion, it is also called a traffic volume reduction parameter. The congestion adjustment parameter may be set by the user inputting information using an input device.

[0030] The congestion adjustment parameter is set for links (travel paths) where congestion needs to be alleviated. For example, the congestion adjustment parameter may be set for links that include locations where congestion is known to occur on a daily basis. It may also be set for links where you want to alleviate AGV congestion temporarily or on a daily basis. Examples of such links include links corresponding to travel paths with fire shutters, links corresponding to travel paths where you want AGVs to stay as long as possible, and links corresponding to travel paths used by people.

[0031] The forward congestion adjustment parameter is set for a link when you want to reduce the number of AGVs moving in the same direction simultaneously. In other words, the forward congestion adjustment parameter is set when you want to alleviate congestion (forward congestion) that occurs when multiple AGVs are moving in the same direction simultaneously. For example, congestion can occur when multiple AGVs are moving in the same direction in a line, causing the distance between them to decrease.

[0032] The reverse congestion adjustment parameter is set for a link when you want to reduce the number of AGVs that are simultaneously moving in the opposite direction to the direction of travel of the AGVs on that link. In other words, the reverse congestion adjustment parameter is set when you want to alleviate congestion caused by AGVs passing each other in opposite directions (reverse congestion). For example, some AGVs may take time to avoid AGVs coming from the opposite direction, which can cause congestion on the link.

[0033] The bidirectional congestion adjustment parameter is set for a link when you want to reduce both the reverse and forward congestion described above for that link.

[0034] Thus, congestion adjustment parameters can be set for each link according to the direction of congestion that you want to prevent. Internally, for example, setting a congestion adjustment parameter for a link may correspond to setting the value of that congestion adjustment parameter to "1", and not setting a congestion adjustment parameter may correspond to setting the value of that congestion adjustment parameter to "0".

[0035] Figure 5 shows an example of congestion adjustment parameters stored in the congestion adjustment parameter storage unit 110. Forward congestion adjustment parameters are set for links 11, 18, 16, 4, 17, and 19. Reverse congestion adjustment parameters are set for links 7 and 10. In this example, there are no links for which congestion adjustment parameters are set in both directions. The IDs in the figure are IDs that identify the forward and reverse directions, respectively. Links for which congestion adjustment parameters are set are also called designated links. The travel paths corresponding to links for which congestion adjustment parameters are set are also called target travel paths that are subject to traffic volume reduction or increase.

[0036] Figure 6 shows links in the mobile path network where the forward and reverse congestion adjustment parameters shown in Figure 5 are set. Links shown with thick solid lines correspond to links where the forward and reverse congestion adjustment parameters are set. In this embodiment, the routes of each AGV are generated to reduce forward or reverse congestion on these links.

[0037] The route planning unit 160 includes a route weight setting unit 161, a route generation unit 162, and a weight update unit 163. The processing of the route planning unit 160 will be explained below with reference to Figure 7.

[0038] Figure 7 is a flowchart showing an example of the processing performed by the route planning unit 160 as an information processing method according to this embodiment.

[0039] The route planning unit 160 reads data from the congestion adjustment parameter storage unit 110, the travel path structure storage unit 120, the operation plan storage unit 130, and the state storage unit 140 as route planning data (S110). The state storage unit 140 is assumed to store information about the initial state of each AGV.

[0040] The route weight setting unit 161 sets initial weights for each link (travel path) in the travel path network, according to direction (S120). The direction of movement from one end of a link to the other is called the first direction, and the direction of movement from the other end to the first end is called the second direction. The weight for the first direction is called the first weight, and the weight for the second direction is called the second weight. Initial weights are set as the initial weights for the first direction and the second direction, respectively. The initial weights can be set, for example, by calculating the cost of moving along that link, using variables such as distance, travel time, and travel expenses. Alternatively, the user may set a larger initial weight for links where they particularly want to reduce traffic volume. In the network shown in Figure 3, initial weights are set for links 1 to 19, according to the first direction and the second direction, as the initial first weight and initial second weight.

[0041] Figure 8 shows an example of setting initial weights for a link in both the first and second directions. In the example in Figure 8, the first direction corresponds to the rightward direction, and the second direction corresponds to the leftward direction. However, the correspondence may be reversed. The initial weights for the first and second directions may be the same or different. In this way, initial weights are set for the first and second directions for all links 1 through 19.

[0042] Figure 9 shows the first direction for each of links 1 through 19. A thin solid arrow is shown for each link. The direction of the arrow is considered the "first direction," and the opposite direction is considered the "second direction." However, for each link, the direction designated as the first and second direction can be arbitrarily defined.

[0043] Figure 10 shows examples of the weight tables for the first and second directions according to this embodiment. The tables show how to store the weights of each link by direction, with the upper table being the weight table for the first direction and the lower table being the weight table for the second direction. In the first row of each table (the row for initial weights), the initial weights for each of links 1 to 19 are set according to direction. In this example, link 11 has an initial weight of 3 in both the first and second directions, while links 1 to 10 and 12 to 19 have an initial weight of 1 in all directions. Note that the initial weight values ​​set for each link are not limited to the values ​​shown.

[0044] The path generation unit 162 selects one AGV from a plurality of AGVs to be planned (S130). In this embodiment, the AGVs are selected in the order of AGV1, AGV2, and AGV3, and here we select AGV1. For the selected AGV1, a path is generated based on the initial weights (S140). Any method can be used to generate the path, as long as it is based on the weights of the links. For example, the sum of the link weights (path cost) may be used as an indicator, and the path may be found by minimizing the indicator or keeping it below a threshold. Dijkstra's algorithm may be used in this case. Alternatively, a coefficient may be set for each link (travel path), and the sum of the product of the coefficient and the weight, or the sum of the square of the coefficient and the weight, may be used as an indicator, and the path may be found by minimizing the indicator or keeping it below a threshold. If the length of the travel path corresponding to the link is not reflected in the weight, the coefficient may be a value that depends on the length of the travel path corresponding to the link. More generally, a function that includes the weight as an input variable may be prepared for each travel path, and the path may be found by minimizing an indicator based on the sum of these functions or keeping it below a threshold.

[0045] The upper diagram in Figure 11 shows an example of a route generated for AGV1. This route is a path that moves from AGV1's starting point (node ​​N1) to its destination (node ​​N12), passing through links 7, 19, 10, 3, 16, and 15 in that order, and is indicated by a thick arrow. In this embodiment, the AGV's route is shown using link IDs, but it may also be shown using node IDs. In that case, the AGV1's route would be a path that moves (passes through) nodes N1, N3, N4, N7, N8, N10, and N12 in that order.

[0046] If routes have been generated for all AGVs (YES in S150), this process terminates. If there are still AGVs for which routes have not yet been generated (NO in S150), proceed to step S160. Here, there are still AGVs for which routes have not yet been generated, so proceed to step S160.

[0047] The weight update unit 163 checks whether a congestion adjustment parameter is set for each link included in the AGV1's path, either in the forward direction, the reverse direction, or both directions (S160). From the data example in Figure 5, of the links 7, 19, 10, 3, 16, and 15 included in the AGV1's path, links 16 and 19 have the forward congestion adjustment parameter set, while links 7 and 10 have the reverse weight set. No congestion adjustment parameters are set for the other links.

[0048] The route weight setting unit 161 updates the weights for links where a forward congestion adjustment parameter has been set, in the direction that matches the AGV's movement direction, among the first and second directions of the link (S170). The weight update is performed, for example, by adding a predetermined value. However, it may also be updated by other methods, such as multiplying by a certain constant. Furthermore, the weight update method may be common to all links, or it may be defined for each link.

[0049] In this example, forward congestion adjustment parameters are set for links 16 and 19. The movement direction of AGV1 in links 16 and 19 is the same as the direction of the arrows attached to links 16 and 19 (the first direction). Therefore, the weights corresponding to the first direction of links 16 and 19 are updated.

[0050] The route weight setting unit 161 updates the weights for links where a congestion adjustment parameter in the opposite direction is set, in the direction that matches the opposite direction of the AGV's movement direction, among the first and second directions of the link (S160). The weight update is performed, for example, by adding a predetermined value. However, it may also be updated by other methods, such as multiplying by a certain constant. The weight update method may be common to all links, or it may be defined for each link.

[0051] In this example, the congestion adjustment parameters for links 7 and 10 are set in the opposite direction. The direction of movement of AGV1 in links 7 and 10 is the same as the direction of the arrows attached to links 7 and 10 (the first direction). Therefore, the weights corresponding to the second direction of links 7 and 10 are updated.

[0052] The lower diagram in Figure 11 shows the direction in which the weights are updated for links 7, 19, 10, and 16, indicated by white arrows. Links 7 and 10 update the weights corresponding to the second direction, so the white arrows (weight update direction) point in the second direction. Links 19 and 16 update the weights corresponding to the first direction, so the white arrows (weight update direction) point in the first direction.

[0053] In the update [1] rows of the first-direction table and the second-direction weight table in Figure 10 above, the weights of each link after the weight update for links 7, 19, 10, and 16 are shown. In this example, the weights are updated by adding 1 to the weight before the update, but the value to be added is not limited to this. The value to be added may differ for each link.

[0054] The route generation unit 162 selects AGV2 as the next AGV. Based on the link weights updated during the processing of AGV1, the route generation unit 162 generates a route for AGV2.

[0055] The upper diagram in Figure 12 shows an example of a route generated for AGV2. This route is a path that moves through links 4, 17, and 19 in that order from AGV2's starting point (node ​​N8) to its destination (node ​​N3), and is indicated by a thick arrow. Here, AGV2's route is shown using link IDs, but it may also be shown using node IDs. In that case, AGV2's route would be a path that moves through (passes through) nodes N8, N5, N4, and N3 in that order.

[0056] The weight update unit 163 checks whether a congestion adjustment parameter is set for each link included in the AGV2's path, either in the forward direction, the reverse direction, or both directions (S150). From the data example in Figure 5, the forward congestion adjustment parameter is set for all links 4, 17, and 19 included in the AGV2's path.

[0057] The path weight setting unit 161 updates the weights for the first and second directions of links 4, 17, and 19, for which forward congestion adjustment parameters are set, in the direction that matches the direction of movement of the AGV2 (S160).

[0058] In this example, the direction of movement of AGV2 at links 4, 17, and 19 is the second direction of links 4, 17, and 19. Therefore, the weights corresponding to the second direction of links 4, 17, and 19 are updated.

[0059] The lower diagram in Figure 12 shows the direction in which the weights are updated for links 4, 17, and 19, indicated by white arrows. For links 4, 17, and 19, the weights corresponding to the second direction are updated, so the white arrows (weight update direction) point in the second direction.

[0060] Figure 10 above shows an example where the weights for links 4, 17, and 19 have been updated. The update[2] row in each of the second-direction weight tables shows the weights of each link after the weight updates for links 4, 17, and 19. In this example, the weights are updated by adding 1 to the weight before the update, but the value to be added is not limited to this. The value to be added may differ for each link.

[0061] The route generation unit 162 selects AGV3 as the next AGV. Based on the link weights updated in the processing for AGV2, the route generation unit 162 generates a route for AGV3 (S140).

[0062] Figure 13 shows an example of a route generated for AGV3. This route is the path that traverses links 11 and 19 in that order from AGV3's starting point (node ​​N9) to its destination (node ​​N4), and is indicated by a thick arrow. Here, AGV3's route is shown using link IDs, but it may also be shown using node IDs. In that case, AGV3's route would be the path that traverses nodes N9, N3, and N4 in that order.

[0063] Since routes have been generated for all AGVs to be planned (YES in S150), the route planning unit 160 terminates its processing. In this example, the link weight update process (steps S160, S170) was not performed for the last selected AGV3, but it is also possible to perform the weight update process for AGV3. For example, the weight update process may be performed for AGV3 as well, and the data showing the final weights of each link may be presented to the user via an output interface such as a display device.

[0064] The movement plan generation unit 170 generates a movement plan for each AGV by planning the movement timing of each AGV based on the path of each AGV. The movement plans generated for AGV1, 2, ... M correspond to the first movement plan, the second movement plan, ... Mth movement plan. In this case, the operation plan of each AGV in the operation plan storage unit 130 (for example, at least one of the AGV's departure time and arrival time) or the specification information of each AGV (for example, the speed information of each AGV) may be used.

[0065] The movement plan generation unit 170 generates a movement plan for each AGV in such a way that the AGVs do not compete with each other (e.g., collide), by adjusting the timing at which each AGV passes through a link or node, while assuming that the path of each AGV is maintained (not changed). It may also be assumed that at least one of the departure time and arrival time of the operation plan is maintained.

[0066] In generating a movement plan, if the movement path has a structure that prevents multiple AGVs from moving in opposite directions simultaneously (for example, if AGVs move in the opposite direction on the same link at the same time, they will collide), then it is necessary to plan the timing of the AGV movements so that they do not move in opposite directions at the same time.

[0067] One example of this method is determining the timing at which each AGV passes through the nodes or links included in its respective path, in a way that avoids conflicts between AGVs.

[0068] Alternatively, each AGV decides to pass through the nodes in the order they are included in its respective path, while for nodes that two or more AGVs pass through in common (common nodes), the priority (order) for which two or more AGVs pass through that common node is determined. During actual AGV operation, the command center 180, described later, communicates with the AGVs to control the order of passage through common nodes in real time, ensuring that each AGV passes through the nodes in the determined order, while maintaining the above-mentioned passing order at the common nodes. For example, if a high-priority AGV has not yet passed through a common node, the command center 180 controls the passage of other AGVs by making them wait. The waiting location may be near the common node, or the node immediately preceding it, or any location on a link where no nodes are set.

[0069] The method for generating the movement plan is not particularly limited in this embodiment; for example, the method disclosed in Japanese Patent Application Publication No. 2021-71891, or other methods can be used. The movement plan generation unit 170 stores the generated movement plan for each AGV in the movement plan storage unit 150.

[0070] The command center 180 reads the movement plan for each AGV from the movement plan storage unit 150 and controls each AGV based on the movement plan. The command center 180 generates control commands to control the operation of the mobile unit 340 based on the movement plan for each AGV. The command center 170 transmits the generated control commands to the mobile unit 340. This controls the operation of the mobile unit 340. The command center 180 may control movement and stopping while communicating with each AGV to control movement from the starting point to the destination point. Alternatively, the command center 180 may transmit the entire movement plan data to each AGV, and each AGV may move autonomously based on the movement plan. In this case, the AGVs may communicate with each other to perform control to avoid conflicts.

[0071] As described above, according to this embodiment, by updating the weight of each link using congestion adjustment parameters, the number of AGVs moving in the same direction (congestion level) can be suppressed for links specified by the forward congestion adjustment parameters. For links specified by the reverse congestion adjustment parameters, the number of AGVs moving in both directions (reverse directions) can be suppressed. In other words, at the stage of generating a route, the number of AGVs moving in the forward or reverse direction on links specified by congestion adjustment parameters is suppressed. As a result, when generating a movement plan, it is possible to generate a movement plan that reduces the possibility of multiple AGVs moving simultaneously in the forward or reverse direction on the same link. Since the number of AGVs moving in the forward or reverse direction on the same link can be suppressed at the stage of generating a route, even when controlling the order in which AGVs pass through the common nodes mentioned above, the waiting time or number of times AGVs are made to wait can be eliminated or reduced, thus enabling efficient operation.

[0072] (Second embodiment) In the first embodiment, the links targeted for weight update in the weight update process (steps S160, S170) shown in Figure 7 are defined as a portion of the AGV's path (the range of weight update). The range of target links is, for example, links (path portions) within a certain range from the starting point, or links (path portions) within a certain range when working backward from the arrival point. The range of target links is the path portions of N links (travel paths) from the starting point or arrival point of the moving object, where N is an integer greater than or equal to 1 and less than the number of travel path links (travel paths) included in the moving object's path. Information indicating the range of target links is stored in the congestion adjustment parameter storage unit 110 or any other storage unit. Information indicating the range of target links may also be input by the user. The range of target links may also be specified individually for each link. The following explanation will use the example where the range of target links is 3 links from the starting point for AGV1 and 1 link when working backward from the arrival point for AGV2.

[0073] The upper part of Figure 14 shows an example of a route generated for AGV1. This figure is the same as the upper part of Figure 11, so the explanation is omitted.

[0074] The lower diagram in Figure 14 shows the direction in which the weights of links 7, 19, and 10 are updated, indicated by white arrows. In the first embodiment, link 16 was also subject to weight update, but since link 16 is not within 3 links from the starting point of AGV1, it is excluded from update in the second embodiment. Links 7 and 10 have congestion adjustment parameters set in the reverse direction, as in the first embodiment, and link 19 has congestion adjustment parameters set in the forward direction, as in the first embodiment. Also, links 7, 10, and 19 are within 3 links from the starting point of AGV2. Therefore, links 7, 10, and 19 are subject to weight update. Other points are the same as in the first embodiment.

[0075] Figure 15 shows examples of the weight table for the first direction and the weight table for the second direction according to this embodiment. The row for update[1] in the first direction table shows the weights of each link after the weight of link 19 has been updated. The row for update[1] in the second direction weight table shows the weights of each link after the weights of links 7 and 10 have been updated. Note that the initial weight values ​​in each table are the same as those in Figure 10 in the first embodiment. In this example, the weights are updated by adding 1 to the weight before the update, but the value to be added is not limited to this. The value to be added may differ for each link.

[0076] The upper part of Figure 16 shows an example of a path generated for AGV2 after the weight updates of links 7, 19, and 10 shown in Figure 15. This figure is the same as the upper part of Figure 11, so no explanation is given.

[0077] The lower diagram in Figure 16 shows, with a white arrow, the direction in which the weight of link 19, one of the links 4, 17, and 19 included in the AGV2's path, is updated. In the first embodiment, links 17 and 4 were also subject to weight update, but they are not included in the update because they are more than one link back from the destination. Link 19 is subject to update because, as in the first embodiment, a forward congestion adjustment parameter is set and it is within one link from the AGV3's destination.

[0078] In Figure 15, the row for the first direction table update [2] shows the weights of each link after the weight of link 19 has been updated. There are no updates to the values ​​of each link in the second direction weight table update [2]. In this example, the weights are updated by adding 1 to the weight before the update, but the value to be added is not limited to this. The value to be added may differ for each link.

[0079] Figure 17 shows an example of a path generated for AGV3 after the weight update of link 19 of AGV2 shown in Figure 16. A different path is generated compared to Figure 13 of the first embodiment. This path moves AGV3 from its starting point (node ​​N9) to its destination (node ​​N4) via links 18, 16, 4, and 17 in that order. A different path is generated because the weights of each link after the weight update for AGV2 are different from those of the first embodiment.

[0080] In this embodiment, only links within a certain number of links from the starting point or destination point are targeted for updating. However, links to be updated may be determined by other criteria. For example, links whose actual distance (e.g., distance in 2D or 3D) from the starting point is within a certain value, rather than by the number of links, may be targeted for updating. Alternatively, the arrival time of each node that the AGV passes through may be predicted based on the AGV's speed and the distance of the links, and links that are predicted to be passed through by a first time may be targeted for updating. The first time may be a predetermined time or a time arbitrarily specified by the user. Passing through a link may include the case where the passage through the link is completed, or the case where the passage through the link is not yet completed but is in progress, or both. Thus, this embodiment allows links that are within a range that satisfies certain conditions from the starting point or destination point to be targeted for weight updating. Alternatively, the weight added may be reduced for links that are farther from the starting point or destination point.

[0081] As described above, according to this embodiment, only links included in the weight update target range (for example, a range that satisfies certain conditions from the AGV's departure point or arrival point) are subject to weight update. This narrows the range in which congestion is alleviated and expands the possibilities for routes generated for other AGVs.

[0082] As a variation, the second embodiment may be combined with the first embodiment. Depending on the path generation algorithm, in the first embodiment, it may not be possible to generate a path for AGV2 due to the weight of at least one of the links. For example, if the condition for path generation is that the value of the above-mentioned index be below a threshold, it may not be possible to generate a path where the index value is below the threshold. In such a case, the weight update process for AGV1 is re-executed (restarted), and this time, only the links included in the weight update range of the second embodiment are subject to weight update. This increases the possibility of generating a path for AGV2 where the index value is below the threshold.

[0083] (Third embodiment) In the second embodiment, only links within the weight update range (for example, within a range satisfying certain conditions from the AGV's starting point or arrival point) were subject to weight update. In this embodiment, when updating the weight of a link, the updated weight value of the link is set to a value that is significantly larger than the value it can normally take (for example, the maximum value that the weight can take). Setting the weight value to a significantly larger value means that when generating the path of an AGV selected after the AGV (for example, the next AGV selected), the link will not be used in the direction in which the weight is updated. In other words, it is equivalent to the link not existing (being deleted) in that direction. This makes it possible to more reliably reduce the number of other AGVs (congestion) moving in the same direction or opposite direction to the AGV's movement direction on the link, especially within a short distance from the AGV's starting point. In the following description, the weight update range is defined as within 3 links from each AGV's starting point.

[0084] The data example for the congestion adjustment parameter storage unit according to this embodiment is the same as in Figure 5 of the first embodiment. That is, forward congestion adjustment parameters are set in links 11, 18, 16, 4, 17, and 19, and reverse congestion adjustment parameters are set in links 7 and 10.

[0085] The upper part of Figure 18 shows an example of a path generated for AGV1. This figure is the same as the upper part of Figure 14 in the second embodiment, so its explanation is omitted.

[0086] The central diagram in Figure 18 shows, with white arrows, the direction in which the weights of links 7, 19, and 10, which are included in the path of AGV1, are updated. Link 16 is excluded from weight updates because it is more than 3 links from the starting point of AGV1. Links 3 and 15 are excluded from weight updates because no congestion adjustment parameters are set for them. This diagram is the same as the lower diagram in Figure 14 in the second embodiment, so its explanation is omitted.

[0087] Figure 19 shows examples of the weight table for the first direction and the weight table for the second direction according to this embodiment. The row for update[1] in the first direction table shows an example of the weight of each link after the weight of link 19 has been updated. The weight of link 19 is at its maximum value (indicated as "+∞" in the figure). Similarly, the row for update[1] in the second direction weight table shows an example of the weight of each link after the weights of links 7 and 10 have been updated. The weights of links 7 and 10 are at their maximum value (indicated as "+∞" in the figure). Note that the values ​​for each link in the initial weight row of each table are the same as the values ​​in Figure 10 in the first embodiment.

[0088] The lower diagram in Figure 18 shows that links 19, 7, and 10 have become unidirectional links, usable only in the direction opposite to the direction in which the weight was maximized. The diagonal arrows indicate unidirectional links. For example, links 7 and 10 are unidirectional links where other AGVs can only be used in the first direction because the weight in the second direction reached its maximum. Link 19 is a unidirectional link where other AGVs can only be used in the second direction because the weight in the first direction reached its maximum.

[0089] The upper diagram in Figure 20 shows an example of a path generated for AGV2 after the weights of links 7, 19, and 10 have been updated as in the update in Figure 19 [1]. This path includes links 4, 17, and 19 in that order. This diagram is the same as the upper diagram in Figure 11, except that links 4, 17, and 19 are unidirectional links. The direction of movement of AGV2 at link 19 coincides with the direction of the unidirectional link of link 19, so it is possible to include link 19 in the path for AGV2.

[0090] The central diagram in Figure 20 shows the direction in which the weights of links 4, 17, and 19 included in AGV2's path are updated, indicated by white arrows. Since all three links—4, 17, and 19—have forward congestion adjustment parameters set and are within three links from AGV2's starting point, links 4, 17, and 19 are subject to weight updates. In other words, the weights in the second direction (direction of the white arrows) for links 4, 17, and 19 are subject to updates.

[0091] The row for the second direction table update [2] in Figure 19 shows an example of the weights for each link after the weights for links 4, 17, and 19 have been updated. The weights for links 4, 17, and 19 are at their maximum values. There are no updates to the values ​​for each link in the first direction weight table update [2].

[0092] The lower diagram in Figure 20 shows that links 4 and 17 have become unidirectional links, only in the direction opposite to the direction in which the weight reached its maximum value, and that link 19 has been deleted (meaning the weight reached its maximum value in both directions for link 19). The arrows with diagonal lines represent unidirectional links. Because link 19 has been deleted, there are no lines between the nodes to which link 19 was connected. Therefore, link 19 cannot be used when generating paths for other AGVs. Links 4 and 17 are usable only in the first direction.

[0093] Figure 21 shows an example of a path generated for AGV3 after the weight updates of links 4, 17, and 19 of AGV2 shown in Figure 20. This path travels from AGV3's starting point (node ​​N9) to its destination (node ​​N4), traversing links 12, 2, 1, 6, and 9 in that order. Since link 19 is unavailable, a path that does not include link 19 has been generated.

[0094] As described above, according to this embodiment, by using a method of maximizing the weight in the first direction or the second direction as a method for updating the weight in the first direction or the second direction of the link, it is possible to prevent other AGVs from moving the link in the first direction or the second direction. This makes it possible to more reliably reduce traffic volume (congestion) in the first direction or the second direction of the link.

[0095] (Fourth embodiment) In this embodiment, part or all of the path of at least one of AGVs 1 to 3 is predetermined. Of the links included in the predetermined part or all of the path, the links specified by the congestion adjustment parameter are reflected in the initial weight setting process (see step S120 in Figure 7).

[0096] Links included in part or all of a predetermined route may, for example, be links within a certain number of links or distance from the departure point or arrival point in the route generated for the AGV in the previous plan. Alternatively, if the AGV's movement plan is provided in advance by the user, etc., the arrival time of each node is predicted based on the AGV's speed and the distance of the links, and the links are links that the AGV is scheduled to pass through by a predetermined time. In this case, the AGV's movement plan provided in advance may be stored in the movement plan storage unit 150. Such AGVs may be excluded from the generation of route plans by the route planning unit 160 and the generation of movement plans by the movement plan generation unit 170.

[0097] The following explanation uses the example of a case where only a portion of AGV2's route is predetermined. Specifically, we assume that the portion including links 16 and 18, starting from AGV2's starting point, is predetermined as part of AGV2's route.

[0098] The upper diagram in Figure 22 shows an example where links 16 and 18 are fixed as pre-planned for AGV2. In this case, AGV2 corresponds to a third mobile body whose route, part or all, is predetermined. Information indicating the use of links 16 and 18 for AGV2 is acquired in advance. Nothing else is specifically determined for AGV2 other than the use of links 16 and 18, and the route generation unit 162 determines which links to use other than links 16 and 18. The example data of the congestion adjustment parameter storage unit in this embodiment is the same as in Figure 5. Forward congestion adjustment parameters are set for the above links 16 and 18.

[0099] The route weight setting unit 161 sets the initial weights for each link in the mobile path network in the same manner as in the first to third embodiments, and also adds weights to links 16 and 18 of AGV2 (updating the initial weights). In this example, the added weight is set to "1", but other values ​​may also be used.

[0100] The lower part of Figure 22 shows the direction in which the initial weights of links 16 and 18 are updated, indicated by white arrows.

[0101] Figure 23 shows examples of the weight tables for the first direction and the second direction according to this embodiment. In the initial weight row, the initial weight is set for each of links 1 to 19 according to direction. The initial weights are basically set in the same way as in the first embodiment, but in the weight table for the first direction, an additional "1" is added to link 16, so the initial weight is "2". Also, in the weight table for the second direction, an additional "1" is added to link 18, so the initial weight is "2".

[0102] The upper diagram in Figure 24 shows an example of a path generated for AGV1 based on the initial weights of each link in Figure 23. This path is the one that moves AGV1 from its starting point to its destination, traversing links 7, 11, 13, and 14 in that order, and is indicated by the thick arrows.

[0103] The lower part of Figure 24 shows, with white arrows, the direction in which the weights of links 7 and 11, among links 7, 11, 13, and 14 included in the AGV1's path, are updated.

[0104] In the weight table for the first direction in Figure 23 above, the weight of link 11 is updated in the row marked [1]. In the weight table for the second direction, the weight of link 7 is updated in the row marked [1]. In this example, the weights are updated by adding 1, but the value to be added is not limited to this.

[0105] Figure 25 shows an example of a route generated for AGV2 based on the weights of each link in the update[1] row of each table in Figure 23. This route is the path that traverses links 16, 18, 12, 2, and 8 in that order from AGV2's starting point to its destination, and is indicated by thick arrows. Links 16 and 18 are fixed links to be used in advance, as described above. Since the weights of links 16 and 18 are already reflected as initial weights, no further weight updates are performed for them. Links 12, 2, and 8 are not links specified as congestion adjustment parameters, so their weight updates are also not performed. Therefore, in the weight update process for AGV2 in step S170, the weights of any links are not updated. For this reason, the weights of each link in the update[2] row of each table in Figure 23 are the same as the weights of each link in the update[1] row.

[0106] Figure 26 shows an example of a path generated for AGV3 based on the weights of each link in the row of the update[2] in each table in Figure 23. This path is the one that moves AGV3 from its starting point to its destination, traversing links 12 and 10 in that order, and is indicated by the thick arrows.

[0107] As described above, according to this embodiment, for AGVs whose routes are partially or entirely designated or planned in advance, it is possible to restrict the use of other AGVs by having them use links included in the preferentially designated route.

[0108] (Fifth embodiment) This embodiment describes a case where there is a link for which congestion adjustment parameters are set in both the forward and reverse directions.

[0109] Figure 27 shows an example of data in the congestion adjustment parameter storage unit 110 according to this embodiment. Congestion adjustment parameters for both directions, not just forward, are set for links 11, 18, 16, 4, 17, and 19. Congestion adjustment parameters for the reverse direction are set for links 1-3 and 5-10. Alternatively, instead of setting congestion adjustment parameters for both directions, it is also possible to set both forward and reverse congestion adjustment parameters for a single link.

[0110] Figure 28 shows links in the travel path network where the bidirectional and reverse congestion adjustment parameters shown in Figure 27 are set. Links shown with thick solid lines correspond to links where the bidirectional and reverse congestion adjustment parameters are set.

[0111] The upper part of Figure 29 shows an example of a route generated for AGV1. This figure is the same as the upper part of Figure 11.

[0112] The lower diagram in Figure 29 shows the directions in which the weights of links 7, 19, 10, 3, and 16 are updated, indicated by white arrows. For links 19 and 16, the weights are updated in both directions. For links 7, 10, and 3, the weights are updated in the opposite direction.

[0113] Figure 30 shows examples of the weight table for the first direction and the weight table for the second direction according to this embodiment. In the row labeled [1] of the first direction weight table in Figure 30, examples of the weights of links 16 and 19 after their weights have been updated are shown. In the row labeled [1] of the second direction weight table, examples of the weights of links 7, 10, 16, and 19 after their weights have been updated are shown. Note that the values ​​for each link in the initial weight row of each table are the same as the values ​​in Figure 10 in the first embodiment. In this example, the weights are updated by adding 1 to the weight before the update, but the value to be added is not limited to this. Also, the value to be added may differ for each link.

[0114] The upper part of Figure 31 shows an example of a path generated for AGV2 after the weight updates of links 7, 19, 10, 3, and 16 shown in Figure 29.

[0115] The lower diagram in Figure 31 shows the direction in which the weights of links 3, 2, 1, and 7 included in the AGV2's path are updated, indicated by white arrows. For link 7, the weight is updated in the reverse direction. For links 1, 2, and 3, the weight is updated in the forward direction.

[0116] The row for updating the first direction table in Figure 30 above shows an example of the weights of each link after the weights of links 1, 2, and 3 have been updated. The row for updating the second direction table in Figure 30 shows an example of the weights of each link after the weight of link 7 has been updated. In this example, the weights are updated by adding 1 to the weight before the update, but the value to be added is not limited to this. The value to be added may differ for each link.

[0117] Figure 32 shows an example of a path generated for AGV3 after the weight updates of links 7, 1, 2, and 3 of AGV2 shown in Figure 31.

[0118] As described above, according to this embodiment, even when there are links with congestion adjustment parameters set for both directions, it is possible to reduce traffic volume in both directions for the links while determining a route for each AGV.

[0119] (Sixth embodiment) In the first to fifth embodiments, the routes for each AGV were generated to suppress (alleviate congestion) traffic volume on the links (designated links) set by the congestion adjustment parameter. In this embodiment, the routes for each AGV are generated to increase traffic volume on the designated links set by the congestion adjustment parameter. The congestion adjustment parameter in this embodiment is also called the traffic volume increase parameter. In the first to fifth embodiments, a weight was added (for example, "1") to the designated links among the links that the AGVs traveled, but in this embodiment, a weight is subtracted (for example, "1") from the designated links. This allows more AGVs to use the designated links.

[0120] Figure 33 shows an example of congestion adjustment parameters according to this embodiment. Forward congestion adjustment parameters are set for links 1 to 6. In this example, there are no links for which reverse congestion adjustment or bidirectional congestion adjustment parameters are set. This setting makes it possible to generate routes that prioritize the forward direction of links 1 to 6.

[0121] Figure 34 shows examples of the weight tables for the first and second directions according to this embodiment. Initial weights are set for each of the links 1 to 19, according to their direction. The initial weights are set in the first row (initial weight row) of both the first and second direction weight tables. Basically, all links in both tables are set to an initial weight of "1", but in the first direction weight table, only link 1 is set to "0". This means that a relatively small initial weight is set when it is desirable to use link 1 as much as possible. Note that the initial weight values ​​set for each link are not limited to the values ​​shown.

[0122] The upper diagram in Figure 35 shows an example of a path generated for AGV1 based on the initial weights of each link shown in Figure 34. This path is the one that moves AGV1 from its starting point to its destination, traversing links 1, 2, 3, 16, and 15 in that order, and is indicated by the thick arrows.

[0123] The lower part of Figure 35 shows the direction in which the weights of links 1, 2, and 3 are updated, indicated by white arrows.

[0124] In the weight table for the first direction shown in Figure 34 above, the row labeled [1] shows the weight of each link as a result of the update process. The weights of links 1 to 3 are subtracted by 1 from the initial weights, and then 1 is added to all links 1 to 19 after the subtraction. This prevents the weight values ​​from becoming negative. If the path generation algorithm can handle negative weights, this process of making the weight values ​​positive is not necessary. As a variation, instead of subtracting 1 from the initial weights of links 1 to 3, it is also possible to add "1" to the initial weights of all links other than links 1 to 3. In the weight table for the first direction, in accordance with the processing of the row labeled [1], the values ​​obtained by adding "1" to the initial weights of links 1 to 19 are stored in the row labeled [1] as a result of the update process in the weight table for the second direction.

[0125] The upper diagram of Figure 36 shows an example of a path generated for AGV2 based on the weights of each link in the row of the update[1] in each table in Figure 34. This path is the one that moves AGV2 from its starting point to its destination, traversing links 4, 17, and 19 in that order, and is indicated by the thick arrows.

[0126] The lower diagram in Figure 36 shows, with a white arrow, the direction in which the weight of link 4, the designated link among links 4, 17, and 19, is updated.

[0127] In the second-direction weight table in Figure 34 above, the row for Update[2] shows the weight of each link as a result of the update process. The weight of link 4 has been reduced by 1 from the weight in Update[1]. Note that in the first-direction weight table, the weight value in the row for Update[2] is the same as the weight in the row for Update[1].

[0128] Figure 37 shows an example of a path generated for AGV3 based on the weight of each link in the row of the update[2] in each table in Figure 36. This path is the one that travels from AGV3's starting point to its destination, traversing links 18, 16, 4, 5, 6, 1, 2, and 17 in that order, and is indicated by thick arrows.

[0129] As described above, according to this embodiment, the link weights are adjusted using congestion adjustment parameters (traffic volume increase parameters) to reduce the weight of the designated link among the links that the AGV travels on. This makes it possible to generate the routes for each AGV so that the designated link can be used by as many other AGVs as possible.

[0130] (Hardware configuration) Figure 38 shows the hardware configuration of an information processing device 100 (route generation device 100) according to any of the first to fifth embodiments. The information processing device 100 is composed of a computer device 700. The computer device 700 includes a CPU 701, an input interface 702, a display device 703, a communication device 704, a main memory 705, and an external memory device 706, which are interconnected by a bus 707.

[0131] The CPU (Central Processing Unit) 701 executes an information processing program, which is a computer program, on the main memory 705. The information processing program is a program that realizes each of the above-described functional configurations of the information processing device 100. The information processing program may not be a single program, but rather a combination of multiple programs or scripts. Each functional configuration is realized when the CPU 701 executes the information processing program.

[0132] The input interface 702 is a circuit for inputting operation signals from input devices such as keyboards, mice, and touch panels to the information processing device 100.

[0133] The display device 703 displays data output from the information processing device 100. The display device 703 is, for example, an LCD (liquid crystal display), an organic electroluminescent display, a CRT (cathode ray tube), or a PDP (plasma display), but is not limited to these. Data output from the computer device 700 can be displayed on this display device 703.

[0134] The communication device 704 is a circuit for the information processing device 100 to communicate with an external device wirelessly or via a wired connection. Data can be input from an external device via the communication device 704. The data input from the external device can be stored in the main memory 705 or the external memory 706. The communication device 704 corresponds to the communication unit 190.

[0135] The main memory 705 stores information processing programs, data necessary for executing the information processing programs, and data generated by the execution of the information processing programs. The information processing programs are deployed and executed on the main memory 705. The main memory 705 is, for example, RAM, DRAM, or SRAM, but is not limited to these. Each storage unit or database of the information processing device 100 may be built on the main memory 705.

[0136] The external storage device 706 stores information processing programs, data necessary for executing the information processing programs, and data generated by the execution of the information processing programs. These information processing programs and data are read into the main storage device 705 when the information processing programs are executed. The external storage device 706 is, for example, a hard disk, optical disk, flash memory, and magnetic tape, but is not limited to these. Each storage unit or database of the information processing device 100 may be built on the external storage device 706.

[0137] The information processing program may be pre-installed on the computer device 700, or it may be stored on a storage medium such as a CD-ROM. Furthermore, the information processing program may be uploaded to the internet.

[0138] Furthermore, the information processing device 100 may consist of a single computer device 700, or it may be configured as a system consisting of multiple interconnected computer devices 700.

[0139] It should be noted that the present invention is not limited to the embodiments described above, and the components can be modified and implemented in practice without departing from the spirit of the invention. Furthermore, various inventions can be formed by appropriately combining the multiple components disclosed in the embodiments described above. For example, a configuration in which some components are removed from all the components shown in each embodiment is also conceivable. Moreover, components described in different embodiments may be appropriately combined.

[0140] This embodiment can also be configured as follows. [Item 1] Based on the first weight in the first direction and the second weight in the second direction of a plurality of movement paths that are movable in a first direction and a second direction opposite to the first direction, a path for a first moving body including one or more of the movement paths is generated. Based on the direction of movement of the first moving body in the movement path included in the path of the first moving body, at least one of the first weight and the second weight of the movement path included in the path of the first moving body is updated. A processing unit generates a path for a second moving body, including one or more of the moving paths, based on at least one of the updated first weight and the second weight. Equipped with an information processing device. [Item 2] The processing unit updates at least one of the first weight and the second weight of the movement path included in the path of the first moving body only if the movement path included in the path of the first moving body is specified by a parameter that specifies a movement path that suppresses the number of other moving bodies moving in the forward direction, which is the direction of movement of the first moving body, or in the opposite direction to the direction of movement. The information processing device described in item 1. [Item 3] If the parameter specifies a movement path that suppresses the number of other moving bodies moving in the forward direction, the processing unit updates the weight of the direction that matches the movement direction of the moving body among the first and second directions of the movement path to a larger value. If the processing unit specifies the movement path as the target for suppressing the number of other moving bodies moving in the opposite direction, it updates the weight of the direction that coincides with the opposite direction of the movement of the moving body among the first and second directions to a larger value. The information processing device described in item 2. [Item 4] The processing unit updates at least one of the first weight and the second weight of the movement path included in the path of the first moving body only if the movement path included in the path of the first moving body is specified by a parameter that specifies a movement path that increases the number of other moving bodies moving in the forward direction, which is the direction of movement of the first moving body, or in the opposite direction to the direction of movement. An information processing device as described in any one of items 1 to 3. [Item 5] If the parameter specifies a movement path that increases the number of other moving bodies moving in the forward direction, the processing unit updates the weight of the direction that matches the movement direction of the moving body among the first and second directions of the movement path to a smaller value. If the parameter specifies a movement path that increases the number of other moving bodies moving in the opposite direction, the processing unit updates the weight of the direction that coincides with the opposite direction of the movement of the moving body among the first and second directions to a smaller value. The information processing device described in item 4. [Item 6] The processing unit updates at least one of the first weight and the second weight only for the movement paths identified by information that identifies one or more movement paths that are subject to weight update in the path of the first moving body. An information processing device as described in any one of items 2 to 5. [Item 7] The scope of the target is N travel paths from the starting point of the first mobile body, where N is an integer greater than or equal to 1 and less than the number of travel paths included in the route of the first mobile body. The information processing device described in item 6. [Item 8] The range to be updated for the weight update is the travel path along which the first moving object is predicted to travel from its starting point to a first time, based on the velocity of the first moving object. Information processing device as described in item 6 or 7. [Item 9] The range to be updated for the weight is N travel paths, going backward from the arrival point of the first mobile body, where N is an integer greater than or equal to 1 and less than the number of travel paths included in the path of the first mobile body. An information processing device as described in any one of items 6 to 8. [Item 10] The processing unit updates the first weight or the second weight to the maximum value that the first weight or the second weight can take. An information processing device as described in item 2 or 3. [Item 11] If the processing unit cannot generate the path of the second moving body due to the value of the first weight or the second weight of the movement path in the path of the first moving body, it updates at least one of the first weight and the second weight only for the movement path identified by the information that identifies one or more movement paths that are subject to weight update in the path of the first moving body. An information processing device as described in item 2 or 3. [Item 12] A portion or all of the route of the third mobile body, which includes one or more of the aforementioned travel paths, is predetermined. The processing unit updates at least one of the first weight and the second weight of the movement path included in part or all of the path of the third moving body based on the direction of movement of the third moving body of the movement path included in part or all of the path of the third moving body, and generates the path of the first moving body based on at least one of the updated first weight and the second weight. An information processing device described in any one of items 1 to 11. [Item 13] The processing unit generates a first movement plan and a second movement plan, based on the path of the first moving body and the path of the second moving body, which represent the timing at which the first moving body and the second moving body pass through the movement path included in the path, so that the first moving body and the second moving body do not compete with each other. An information processing device described in any one of items 1 to 12. [Item 14] A control unit that controls the first moving body according to the first movement plan and controls the second moving body according to the second movement plan. An information processing device as described in item 13, further comprising the features described therein. [Item 15] The first moving body and the second moving body are vehicles. An information processing device described in any one of items 1 to 14. [Item 16] Based on the first weight in the first direction and the second weight in the second direction of a plurality of movement paths that are movable in a first direction and a second direction opposite to the first direction, a path for a first moving body including one or more of the movement paths is generated. Based on the direction of movement of the first moving body in the movement path included in the path of the first moving body, at least one of the first weight and the second weight of the movement path included in the path of the first moving body is updated. Based on at least one of the updated first weight and the second weight, a path for the second moving body is generated, which includes one or more of the movement paths. Information processing methods. [Item 17] Based on the first weight in the first direction and the second weight in the second direction of a plurality of movement paths that are movable in a first direction and a second direction opposite to the first direction, a path for a first moving body including one or more of the movement paths is generated. Based on the direction of movement of the first moving body in the movement path included in the path of the first moving body, at least one of the first weight and the second weight of the movement path included in the path of the first moving body is updated. Based on at least one of the updated first weight and the second weight, a path for the second moving body is generated, which includes one or more of the movement paths. A computer program designed to be executed by a computer. [Item 18] A first mobile body and a second mobile body that can move within a moving environment which includes a plurality of movement paths that can move in a first direction and a second direction opposite to the first direction, A processing unit generates a path for the first moving body including one or more movement paths based on a first weight in the first direction and a second weight in the second direction; updates at least one of the first weight and second weight of the movement paths included in the path for the first moving body based on the movement direction of the first moving body of the movement paths included in the path for the first moving body; and generates a path for the second moving body including one or more movement paths based on at least one of the updated first weight and second weight. An information processing system equipped with [the following features]. [Explanation of Symbols]

[0141] 10 Route generation system 100 Route generation device (information processing device) 110 Congestion adjustment parameter storage unit 120 Travel path structure memory section 130 Operation Plan Memory Unit 140 State memory unit 150 Movement plan memory unit 160 Route Planning Unit (Processing Unit) 161 Route Weight Setting Section 162 Route generation unit 163 Weight update section 170 Movement plan generation unit (processing unit) 180 Headquarters 190 Communications Department 300 Communications Department 310 State detection unit 320 sensors 330 Communication equipment 340 Mobile Units 700 Computer equipment 701 CPU 702 Input Interface 703 Display device 704 Communication equipment 705 Main storage 706 External storage device 707 Bus

Claims

1. Based on the first weight in the first direction and the second weight in the second direction of a plurality of movement paths that are movable in a first direction and a second direction opposite to the first direction, a path for a first moving body including one or more of the movement paths is generated. Based on the direction of movement of the first moving body in the movement path included in the path of the first moving body, at least one of the first weight and the second weight of the movement path included in the path of the first moving body is updated. A processing unit generates a path for a second moving body that includes one or more of the moving paths, based on at least one of the updated first weight and the second weight. Equipped with an information processing device.

2. The processing unit updates at least one of the first weight and the second weight of the movement path included in the path of the first moving body only if the movement path included in the path of the first moving body is specified by a parameter that specifies a movement path that suppresses the number of other moving bodies moving in the forward direction, which is the direction of movement of the first moving body, or in the opposite direction to the direction of movement. The information processing apparatus according to claim 1.

3. If the parameter specifies a movement path that suppresses the number of other moving bodies moving in the forward direction, the processing unit updates the weight of the direction that matches the movement direction of the moving body among the first and second directions of the movement path to a larger value. If the processing unit specifies the movement path as the target for suppressing the number of other moving bodies moving in the opposite direction, it updates the weight of the direction that coincides with the opposite direction of the movement of the moving body among the first and second directions to a larger value. The information processing apparatus according to claim 2.

4. The processing unit updates at least one of the first weight and the second weight of the movement path included in the path of the first moving body only if the movement path included in the path of the first moving body is specified by a parameter that specifies a movement path that increases the number of other moving bodies moving in the forward direction, which is the direction of movement of the first moving body, or in the opposite direction to the direction of movement. The information processing apparatus according to claim 1.

5. If the parameter specifies a movement path that increases the number of other moving bodies moving in the forward direction, the processing unit updates the weight of the direction that matches the movement direction of the moving body among the first and second directions of the movement path to a smaller value. If the parameter specifies a movement path that increases the number of other moving bodies moving in the opposite direction, the processing unit updates the weight of the direction that coincides with the opposite direction of the movement of the moving body among the first and second directions to a smaller value. The information processing apparatus according to claim 4.

6. The processing unit updates at least one of the first weight and the second weight only for the movement paths identified by information that identifies one or more movement paths that are subject to weight update in the path of the first moving body. The information processing apparatus according to any one of claims 2 to 5.

7. The scope of the target is N travel paths from the starting point of the first mobile body, where N is an integer greater than or equal to 1 and less than the number of travel paths included in the path of the first mobile body. The information processing apparatus according to claim 6.

8. The range to be updated for the weight update is the travel path along which the first moving object is predicted to travel from its starting point to a first time, based on the velocity of the first moving object. The information processing apparatus according to claim 6.

9. The range to be updated for the weight is N travel paths, going backward from the arrival point of the first mobile body, where N is an integer greater than or equal to 1 and less than the number of travel paths included in the path of the first mobile body. The information processing apparatus according to claim 6.

10. The processing unit updates the first weight or the second weight to the maximum value that the first weight or the second weight can take. The information processing apparatus according to claim 2 or 3.

11. If the processing unit cannot generate the path of the second moving body due to the value of the first weight or the second weight of the movement path in the path of the first moving body, it updates at least one of the first weight and the second weight only for the movement path specified by the information that specifies one or more movement paths that are subject to weight update in the path of the first moving body. The information processing apparatus according to claim 2 or 3.

12. A portion or all of the route of the third mobile body, which includes one or more of the aforementioned travel paths, is predetermined. The processing unit updates at least one of the first weight and the second weight of the movement path included in part or all of the path of the third moving body based on the direction of movement of the third moving body of the movement path included in part or all of the path of the third moving body, and generates the path of the first moving body based on at least one of the updated first weight and the second weight. The information processing apparatus according to claim 1.

13. The processing unit generates a first movement plan and a second movement plan, based on the path of the first moving body and the path of the second moving body, which represent the timing at which the first moving body and the second moving body pass through the movement path included in the path, so that the first moving body and the second moving body do not compete with each other. The information processing apparatus according to claim 1.

14. A control unit that controls the first moving body according to the first movement plan and controls the second moving body according to the second movement plan. The information processing apparatus according to claim 13, further comprising:

15. The first moving body and the second moving body are vehicles. The information processing apparatus according to claim 1.

16. Based on the first weight in the first direction and the second weight in the second direction of a plurality of movement paths that are movable in a first direction and a second direction opposite to the first direction, a path for a first moving body including one or more of the movement paths is generated. Based on the direction of movement of the first moving body in the movement path included in the path of the first moving body, at least one of the first weight and the second weight of the movement path included in the path of the first moving body is updated. Based on at least one of the updated first weight and the second weight, a path for the second moving body is generated, which includes one or more of the movement paths. Information processing methods.

17. Based on the first weight in the first direction and the second weight in the second direction of a plurality of movement paths that are movable in a first direction and a second direction opposite to the first direction, a path for a first moving body including one or more of the movement paths is generated. Based on the direction of movement of the first moving body in the movement path included in the path of the first moving body, at least one of the first weight and the second weight of the movement path included in the path of the first moving body is updated. Based on at least one of the updated first weight and the second weight, a path for the second moving body is generated, which includes one or more of the movement paths. A computer program designed to be executed by a computer.

18. A first mobile body and a second mobile body that can move within a moving environment which includes a plurality of movement paths that are each movable in a first direction and a second direction opposite to the first direction, A processing unit generates a path for the first moving body including one or more movement paths based on a first weight in the first direction and a second weight in the second direction; updates at least one of the first weight and second weight of the movement paths included in the path for the first moving body based on the movement direction of the first moving body included in the path for the first moving body; and generates a path for the second moving body including one or more movement paths based on at least one of the updated first weight and second weight. An information processing system equipped with [the following features].

Citation Information

Patent Citations

  • Information processing device, information processing method, information processing system, and computer program

    JP2021184210A

  • Automatic guided vehicle system

    JP3212028B2

  • Prediction device

    WO2022249551A1