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

By determining the passage order of multiple moving bodies based on contention conditions, the system addresses inefficiencies and conflicts in shared driving environments, ensuring efficient and collision-free movement.

JP7669451B2Active Publication Date: 2025-04-28KK TOSHIBA
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023196204
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-11-17
Publication Date
2025-04-28
Estimated Expiration
2039-10-30

AI Technical Summary

Technical Problem

Existing systems face inefficiencies and conflicts such as collisions and deadlocks when multiple moving bodies are driven simultaneously in shared spaces, particularly in free plane environments.

Method used

An information processing device and method that determine the passage order of multiple moving bodies based on contention conditions, using a passage order determining unit and a control unit to manage movement and prevent conflicts.

Benefits of technology

The solution enables efficient travel of multiple mobile bodies without collisions or deadlocks, improving overall system efficiency and preventing conflicts in shared driving areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007669451000001
    Figure 0007669451000001
  • Figure 0007669451000002
    Figure 0007669451000002
  • Figure 0007669451000003
    Figure 0007669451000003
Patent Text Reader

Abstract

To cause a plurality of moving bodies to efficiently travel while avoiding contention between the moving bodies.SOLUTION: A travel control device according to an embodiment of the present invention comprises: a passage order determination unit which determines a passage order of a plurality of moving bodies in a first region where the plurality of moving bodies passes through based upon contention conditions that contention between moving bodies occurs; and a control unit which controls travels of the plurality of moving bodies according to the passage order.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] An embodiment of the present invention relates to an information processing device, an information processing method, a computer program, and an information processing system. [Background technology]

[0002] When multiple moving objects are traveling at the same time, the system as a whole is inefficient due to collisions between the moving objects, congestion, etc. There is a demand for a driving control device that allows multiple moving objects to travel efficiently. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent registration No. 2953282 [Patent Document 2] Patent registration No. 3364021 [Patent Document 3] Patent registration No. 1994940 [Patent Document 4] US Patent No. 7,873,469 [Patent Document 5] US Patent No. 7920962 [Patent Document 6] US Patent No. 8068978 Summary of the Invention [Problem to be solved by the invention]

[0004] The embodiments of the present invention provide an information processing device, an information processing method, a computer program, and an information processing system for efficiently traveling a plurality of moving objects. [Means for solving the problem]

[0005] An information processing device as an embodiment of the present invention includes a passing order determination unit that determines a passing order of multiple moving bodies in a first area through which the multiple moving bodies pass, based on a competitive condition under which competition between the moving bodies occurs, and a control unit that controls movement of the multiple moving bodies based on the passing order. [Brief description of the drawings]

[0006] [Figure 1] 1 shows an example of an overall system configuration including an operation planning system (driving control system) according to a first embodiment. [Diagram 2] FIG. 1 is a top view showing a schematic diagram of how the movement of multiple moving objects is controlled in a travel area serving as a free plane. [Diagram 3] 1A and 1B are diagrams showing an example of a deadlock and an example of a collision. [Figure 4] FIG. 4 is a diagram showing an example of road structure information. [Diagram 5] FIG. 11 is a diagram showing another example of the road structure information. [Figure 6] FIG. 2 is a diagram showing an example of a route plan for a certain moving object; [Figure 7] FIG. 4 is a diagram showing an example of a travel timing plan generated by a travel timing planning unit. [Figure 8] FIG. 8 is a diagram showing a part of the operation plan of the moving body (AGV0) in FIG. 7. [Figure 9] 11 is a diagram for explaining an example of the operation of a passing order determination unit; [Figure 10] 13 shows an example of a transit order constraint for a reference node B. [Figure 11] 4 shows movement command data transmitted to moving bodies 1 to 3. [Figure 12A] 13 is a flowchart of a process for identifying a managed node by a passing order determination unit. [Figure 12B] Flowchart following FIG. 12A. [Figure 13] An example in which pass check necessity information is added to a command that is a candidate for adding pass check necessity information will be shown. [Figure 14] 4 is a flowchart showing the overall operation of the operation planning system. [Figure 15] 13 is a flowchart of an example of processing by a travel timing planning unit. [Figure 16] FIG. 11 is a diagram showing an example of a conflict check and avoidance process. [Figure 17] FIG. 11 is a diagram showing another example of conflict checking and avoidance processing. [Figure 18] FIG. 13 is a diagram showing an example of an image of a search process performed by the travel timing planning unit. [Figure 19] FIG. 2 is a diagram showing a hardware configuration of the operation planning device in FIG. 1. [Figure 20] FIG. 11 is a diagram showing an example of an overall system configuration including an operation planning system according to a second embodiment. [Figure 21] FIG. 13 is a diagram showing an example of an overall system configuration including an operation planning system according to a third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] The technical background of this embodiment will be described. In recent years, with the generalization of high-mix low-volume production, it has become necessary to create flexibility in the production process. For example, each process on a production line is modularized and freely reconfigured, and AGVs (automated guided vehicles) are used to transport between processes. In addition, mobile robots with working arms are used to work while moving between multiple work locations.

[0008] In addition, due to serious labor shortages at logistics sites, efforts to reduce manpower are accelerating at logistics centers for online shopping, etc. For example, one way to address this issue is to combine AGVs or self-driving forklifts with picking robots.

[0009] Furthermore, with the advancement of self-driving technology, automated valet parking, which automatically drives and parks a fleet of unmanned cars in a parking lot, has reached the practical stage. In addition, remotely controlled unmanned construction machinery vehicles have also reached the practical stage at construction sites and mining sites.

[0010] For autonomous vehicles that identify their own position while traveling, it is difficult to strictly manage their travel by time of travel, etc., and unexpected two-way movement may occur at any place when traveling on a free plane. Depending on the structure of the road, it may also fall into a deadlock.

[0011] In this embodiment, when a plurality of moving bodies such as AGVs and mobile robots are caused to travel on a travel area such as a free plane, the moving bodies are made to travel efficiently without causing conflicts such as collisions or deadlocks between the moving bodies. As an example, this embodiment deals with an autonomous moving body that travels on a free plane while identifying its own position. However, this embodiment is also applicable to a non-autonomous moving body that travels on a dedicated travel path such as a rail or guide tape laid in advance. Hereinafter, this embodiment will be described in detail.

[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0013] FIG. 1 shows an example of an overall system configuration including an operation planning system according to the first embodiment. The overall system configuration includes an operation planning system (driving control device) 1, a plurality of moving objects 301_1 to 301_N, a plurality of sensors 401_1 to 401_M, and a plurality of communication devices 501_1 to 501K. The operation planning system 1 includes an operation planning device 100 and an operation management device 200. An arbitrary moving object is described as a moving object 301. An arbitrary sensor is described as a sensor 401. An arbitrary communication device is described as a communication device 501. The operation planning device 100, or both the operation planning device 100 and the operation management device 200, correspond to the driving control device according to this embodiment.

[0014] The operation planning device 100 and the operation management device 200 may exist on the same computer system. Alternatively, the operation planning device 100 and the operation management device 200 may exist on different computer systems and be connected to each other via a network.

[0015] The moving bodies 301_1 to 301_N are, for example, moving bodies such as AGVs (Automatic Guided Vehicles), autonomous moving robots, and self-driving vehicles (for example, self-driving cars).

[0016] When multiple moving bodies travel in a travel area, the operation planning system 1 controls the travel efficiently as a whole so as to prevent contention such as deadlock or collision. The travel area may be provided with a work area for the moving bodies, a shelf for storing items to be worked on, a loading entrance for loading and unloading items, and the like.

[0017] Fig. 2 is a top view showing a schematic diagram of how the operation of multiple mobile objects is controlled in a travel area serving as a free plane. Multiple reference areas set in the travel area are defined as reference nodes (A to H in Fig. 2) in association with coordinates on the map data of the floor. In the example of Fig. 2, reference areas A to H are set in the travel area, and multiple reference nodes A to H corresponding to the reference areas A to H are defined as data. The reference areas and the reference nodes are denoted by the same reference symbols.

[0018] The reference areas are paths (travel paths) for a moving object. A travel area thus includes a plurality of reference areas and travel paths between the plurality of reference areas. In this embodiment, the travel area is also referred to as a travel path network. A line connecting the reference nodes is defined as a virtual travel path. A virtual travel path corresponds to a travel path between the reference areas corresponding to the reference node. In the example of FIG. 2, each virtual travel path is represented by a straight line. However, the virtual travel path may be a curved line or a combination of a straight line and a curved line.

[0019] A virtual running path network in which the reference node and the virtual running path are connected is defined in advance as data. The data of the virtual running path network may be defined on a floor map defined in advance as a drawing such as CAD (Computer-Aided Design). The mobile body may identify the environment map by a self-location detection function, and the data of the virtual running path network may be defined on the environment map. Here, the method of defining the data of the virtual running path network is not particularly limited.

[0020] The mobile bodies 1, 2, and 3 in FIG. 2 correspond to the mobile body 301 in FIG. 1, and each mobile body has an autonomous traveling function. The mobile body has a function of autonomously generating a movement line along which the mobile body moves with respect to two reference nodes connected by a virtual traveling path, and traveling along the movement line. The movement line along which the mobile body moves may or may not match the virtual traveling path. The mobile body may also have a function of traveling along the virtual traveling path as a recommended path when moving between two reference nodes, and performing local obstacle avoidance when a temporary obstacle is found on the virtual traveling path.

[0021] When a moving body with an obstacle avoidance function passes through a virtual running path that has enough room to avoid the obstacle, it can be treated as a virtual running path where interference between moving bodies can be ignored (a virtual running path that does not require consideration of the conflict condition described later). For example, in FIG. 2, virtual running paths such as virtual running path BE (a virtual running path between reference area B and reference area E; the same applies below), virtual running path BA, and virtual running path BH have enough room to perform mutual avoidance, so no conflict occurs even if two moving bodies run in a direction toward each other. For example, one moving body waits at the side of the virtual running path, and the other moving body moves on the virtual running path. When the other moving body has passed, one moving body resumes moving. On the other hand, on running path BC, there is not enough room to perform mutual avoidance, so if two moving bodies run in a direction toward each other on that running path, conflict such as a collision occurs.

[0022] The moving body can move forward, backward, or both forward and backward. The moving body may be steerable or may be rotatable so as to reverse its direction. The moving body may also be able to move in a direction other than forward and backward, such as a diagonal direction, and is not particularly limited here.

[0023] Hereinafter, a virtual running path where interference can be ignored in this way may be referred to as an interference-free running path, and a running path where interference cannot be ignored (a virtual running path where the conflict conditions described later must be taken into consideration) may be referred to as an interference running path. It is assumed that whether a running path is an interference-free running path or an interference running path is defined in advance for the virtual running path.

[0024] Each moving object travels in a travel area (travel route network) according to a route assigned by the operation planning device 100 under the management of the operation planning device 100 in FIG. 1. For example, the moving object carries a load received from a loading entrance to another loading entrance. During the movement, the moving object may perform tasks such as unloading or stacking loads from a shelf. Each moving object performs such tasks by executing a group of commands included in the movement command data provided by the operation planning device 100. Note that there may be cases where the moving object only moves without transporting loads or performing tasks.

[0025] The operation planning device 100 according to the present embodiment generates a route plan that indicates a route along which each moving object should travel. Based on the route plan, a travel timing plan is generated that defines the timing at which each moving object travels along each virtual travel path so as to prevent contention, such as a collision or deadlock, between the moving objects. The timing includes at least one of the timing of departure (or passage) from a reference area and the timing of arrival.

[0026] The traffic management device 200 generates a list of reference areas (list of reference nodes) through which each moving body should pass based on a route plan or a travel timing plan, and transmits movement command data based on the list. Also, based on the travel timing plan, the traffic management device 200 specifies a reference area among the reference areas through which the passing order of the multiple moving bodies needs to be determined as a management target area (first area), and determines the passing order of the multiple moving bodies in the management target area.

[0027] The traffic management device 200 controls the travel of the mobile objects so that each mobile object travels through the managed area in the order of passing. This prevents contention such as collisions and deadlocks between the mobile objects. A mobile object passing through or departing from a reference area corresponds to a mobile object passing through or departing from a reference node in the map data. A mobile object traveling on a real travel path corresponds to a mobile object traveling on a virtual travel path in the map data. In the following description, a mobile object passing through a reference area may be expressed as a mobile object passing through a reference node, and a mobile object traveling on a real travel path may be expressed as a mobile object traveling on a virtual travel path.

[0028] Here, collision and deadlock will be explained. A deadlock is a state in which a moving object cannot move to an intersection (e.g., a junction) in a road network or to an end of a road. A collision is a state in which a moving object comes into contact with another moving object.

[0029] FIG. 3(A) shows an example of a deadlock, and FIG. 3(B) shows an example of a collision. For convenience, the travel path is represented by a straight line in FIG. 3. In FIG. 3(A), two moving objects are traveling in opposite directions on the same travel path. The two moving objects can only move forward. In this case, the two moving objects cannot move to any intersection or end, and a deadlock occurs. In FIG. 3(B), two moving objects are traveling in the same direction on the same travel path, but the rear moving object is moving faster than the front moving object, so the rear moving object collides with the front moving object.

[0030] Such a deadlock or collision is expressed as the moving objects competing (or interfering). However, the competition is not limited to this example. For example, it may be that two moving objects arrive at an intersection (a branching and merging area) at the same time. It may also be that one or more moving objects are waiting at an intersection, and other moving objects are traveling on a road leading to the intersection. The conditions under which a competition occurs in this way are called competition conditions.

[0031] The operation planning system 1 in FIG. 1 realizes efficient operation of each moving object without causing contention (collision, deadlock, etc.) between the moving objects.

[0032] The operation planning device 100 in Fig. 1 includes a road structure storage unit 101, a route plan storage unit 102, an operation plan storage unit 103, a state storage unit 104, a travel timing planning unit (timing determination unit) 105, a passing order determination unit 106, a command unit 107, a travel control unit 108, a replanning determination unit 109, a route planning unit 110, and a communication unit 111. An input device (e.g., a mouse, a keyboard, a touch panel) through which a user of the device 100 inputs various instructions or data may be provided. In addition, the device 100 may be provided with a display device (e.g., a liquid crystal display, an organic electroluminescence display) that displays data in each storage unit or data generated by each unit.

[0033] The communication unit 111 of the operation planning device 100 communicates with the communication unit 201 of the operation management device 200. The communication between the communication unit 111 and the communication unit 201 may be wireless or wired. The communication unit 201 of the operation management device 200 communicates with the communication unit 111 of the operation planning device 100 and the mobile object 301. The communication between the communication unit 201 and the mobile object 301 is wireless communication. However, wired communication is not excluded. Some or all of the mobile objects 301 may not be able to communicate with the communication unit 201. However, even in this case, the mobile object 301 can communicate with a communication device 501 (described later) installed on the roadside. The mobile object 301 can communicate with the communication device 501 within a communication range of the communication device 501. When the operation planning device 100 and the operation management device 200 are the same device, the communication unit 111 may be omitted.

[0034] The road structure storage unit 101 stores therein information (road structure information) that represents the structure of a road network (driving area). The road structure information is expressed, for example, as a graph structure including the coordinates of a plurality of reference nodes and a plurality of arcs (virtual roads) that connect the reference nodes. The graph structure corresponds to the structure of the virtual road network.

[0035] FIG. 4 shows an example of the travel path structure information. Each virtual travel path is represented by a straight line connecting the reference nodes. Each circle in FIG. 4(A) represents a reference node, and the line segments connecting the circles represent arcs (virtual travel paths). The reference nodes correspond, for example, to the ends of the virtual travel paths and the intersections of the virtual travel paths. A reference area (a reference node) can be set at any point in the travel path network. Any point, such as a place for loading and unloading luggage, a waiting area, a parking area, or an entrance / exit, can be set as a reference area (reference node). For example, the end of a travel path connected to an intersection or the end of a travel path not connected to an intersection (a dead end of a travel path) may be set as a reference area. In addition, any point of the travel path (for example, any area between both ends of the travel path) may be set as a reference area. The intersection itself may be set as a reference area. A moving object may pass through or temporarily stay in a reference area. Examples of a moving object stopping temporarily include temporarily stopping for work, temporarily stopping to wait for another moving object to pass on the road, stopping when there is no work to be done and until the next task arises, waiting to charge, parking an autonomous vehicle, etc.

[0036] 4B shows detailed information of the reference node, such as the reference node ID, X coordinate, and Y coordinate. For example, the coordinates of reference node A are (X, Y)=(20, 20).

[0037] FIG. 4(C) shows detailed information on the travel path structure, including a virtual travel path ID and the IDs of the reference nodes on both ends of the virtual travel path. For example, the ID of the virtual travel path between reference nodes A and B is 1, and the reference nodes on both ends of the virtual travel path are A and B. The distance between the reference nodes (distance of the virtual travel path) and the standard travel time based on the reference speed of each moving body may be associated with the virtual travel path ID and included in the travel path structure information. Alternatively, the distance of the virtual travel path may be calculated based on the positions of the reference nodes on both sides of the virtual travel path.

[0038] Figure 5 shows another example of the road structure information. Figure 5(A) shows the road structure information in Figure 4 with some reference nodes omitted, leaving only specific reference nodes. The specific reference nodes are reference nodes corresponding to areas such as loading and unloading areas and waiting areas.

[0039] FIG. 5(B) shows the virtual running path ID of each virtual running path, the IDs of the reference nodes at both ends of the virtual running path, and the standard time required to run each virtual running path (i.e., run the running path corresponding to each virtual running path). For example, the virtual running path ID of the virtual running path between reference nodes B and C is 1, the reference nodes at both ends of the virtual running path are B and C, and the standard time required to run the virtual running path (more specifically, run the running path corresponding to the virtual running path) is 180. Any unit of time may be used. Note that distance information of the virtual running path may be given instead of the standard time.

[0040] Information about the structure of a virtual running path may be stored in association with a virtual running path ID in the running path structure storage unit 101. For example, information about whether or not the virtual running path allows two moving bodies to avoid conflict (avoiding interference such as a collision) may be stored.

[0041] The route planning unit 110 generates a route plan that specifies a sequence of reference areas through which each moving body passes, based on information on the contents of work to be performed by each moving body and the order of work (operation of each moving body), and stores the generated route plan data in the route plan storage unit 102. Any method for generating a route plan may be used. As an example, a route plan for each moving body may be generated using, as an evaluation criterion or part thereof, a reduction in the distance traveled by multiple moving bodies traveling in the opposite direction on the same travel route. The route plan may be generated by an external device or may be prepared in advance. In this case, the route planning unit 110 acquires the route plan and stores it in the route plan storage unit 102. The route planning unit 110 may receive data on the route plan from an external device via the communication unit 111. The route planning unit 110 may acquire data on the route plan via an input device operated by a user.

[0042] The route plan storage unit 102 stores therein route plan data for each moving object.

[0043] Figure 6(A) shows an example of a route plan for a certain mobile object. In this example, the mobile object starts from the reference area L in Figure 4(A), goes to reference area B via K, I, G, E, C, A, then goes to reference area M via A, C, D, F, E, G, H, J, I, K, goes to reference area B again via K, I, G, E, C, A, and returns to reference area L via A, C, D, F, E, G, H, J, I, K. Here, the reference area is expressed using the ID of the reference node.

[0044] The route in the above example includes a looped route that goes back and forth to the reference area. This route plan is for one moving body, and route plans are also prepared for each of the other moving bodies. Note that the route does not have to be a loop. Each moving body may travel a different virtual driving path for a long period of time.

[0045] In the case of a moving body intended to transport luggage, or a mobile robot performing various tasks while moving, information about the task may be added to a reference area in which the task is performed in the route plan.

[0046] Fig. 6(B) shows an example of a path plan in this case. In this example, information (Load) is inserted that instructs loading of luggage from shelves in reference areas L and M, and information (Unload) is inserted that instructs unloading of luggage in reference area B. Here, Load indicates loading of luggage, and UnLoad indicates unloading of luggage. Note that the direction of the shelf or the like to be worked on when working on stacking or the like is the left, right, forward, diagonal, etc., as viewed from the moving body may be determined in advance, or the moving body may automatically detect the shelf or the like to be worked on using a sensor or the like.

[0047] The state storage unit 104 stores therein information indicating the current traveling state of each moving object, and information specific to each moving object.

[0048] The information representing the traveling state of the mobile body includes the position information of each mobile body, the remaining power of the battery mounted on the mobile body, whether or not the mobile body is carrying luggage (if the mobile body is carrying luggage), the type and number of luggage being carried, etc. The position information includes the current position of the mobile body (the most recently detected position) and history information of reference nodes or positions that each mobile body has passed through. The information representing the traveling state is acquired by a state detection unit 202 (described later) of the traffic management device 200 as described later, or the mobile body itself detects and transmits its own position, and the traffic management device 200 acquires the information representing the traveling state. In the latter case, the mobile body may notify the traffic management device 200 of the information representing the traveling state only when passing through a reference node.

[0049] The information specific to a moving body includes, for example, specification information of the moving body, such as standard speed, maximum speed, minimum speed, size of the moving body, and possible directions of movement. There is also a rate of change of the standard speed according to the remaining power of the battery (for example, the lower the remaining power, the lower the standard speed). In addition, in the case of a moving body intended for transporting luggage, there is information on the work time required to load and unload luggage (for example, the time required to stack or unload a certain number of luggage). The information listed here is merely an example, and other information may be used.

[0050] The travel timing planning unit 105 generates a travel timing plan for each moving object to be planned, under a constraint condition that does not change the route plan of each moving object, so as not to cause contention (collision or deadlock). The travel timing plan includes, as an example, information that can specify the arrival time or departure time or both for each reference area. For example, the information includes the arrival time at the reference area, the departure time from the reference area, the stay time in the reference area, the travel time between reference areas, etc.

[0051] As an example, the moving objects to be planned in the travel timing plan are all moving objects whose operation is managed by the traffic management device 200. The travel timing planning unit 105 uses the route plan of each moving object and information of each moving object (information representing the travel state and unique information) to generate the travel timing plan of each moving object.

[0052] Furthermore, the travel timing planning unit 105 regenerates the travel timing plan of each moving body when the re-planning determination unit 109 described later decides to perform re-planning. The previously generated travel timing plan is updated with the regenerated travel timing plan. The regeneration of the travel timing plan is performed for a route portion, or a part thereof, of the route indicated in the route plan of the moving body, where the moving body has not yet moved. The updated portion of the travel timing plan corresponds to the route portion of the moving body's route after the update position determined for the moving body, as described later.

[0053] 7 shows an example of a travel timing plan generated by the travel timing planning unit 105. An example of a travel timing plan for three moving bodies (AGV0, AGV1, and AGV2) is shown.

[0054] "MOVE" is a command that instructs movement (movement command), and has the movement time as an argument. For example, in the travel timing plan of AGV0, MOVE-KI-37.0 indicates that it moves from reference area K to reference area I in 37 unit time. 37 unit time is the movement time specified as an argument.

[0055] "WAIT" is a command (wait command) that instructs to wait in the reference area of ​​the destination. For example, if the commands MOVE-IG-10.0, WAIT-52.0 are consecutive, it indicates that when moving from reference area I to reference area G, it will wait for 52 unit time in reference area G. Therefore, in this case, MOVE-IG-10.0 moves to reference area G in 10 unit time, waits there for 52 unit time, and then moves according to the next command. In addition, a dummy reference area (dummy reference node) for checking passage or waiting may be added to the end of the travel path connected to the reference area or near the end of the travel path (i.e., near the end of the virtual travel path connected to the reference node or near the end of the virtual travel path). Each moving body may autonomously travel with the dummy reference area (dummy reference node) as a target point or a waypoint. For example, when the braking distance of the moving body is long, it is possible to prevent the moving body from exceeding the reference area without being able to stop at the reference area by controlling it to stop in a dummy reference area just before the reference area. In this way, dummy reference regions (dummy reference nodes) may be set in consideration of the size and dynamic characteristics of the moving object.

[0056] In this example, the path plan for the mobile AGV0 specifies a path that starts from the reference area L in FIG. 4(A), goes to the reference area B via another reference area, then goes to M via another reference area, goes to B again via another reference area, and returns to L via another reference area.

[0057] The path plan for the mobile AGV 1 specifies a path that starts from the reference area B in Figure 4(A), passes through another reference area to go to reference area M, and then returns to reference area B via another reference area twice.

[0058] The route plan for the mobile AGV2 specifies a route that starts from the reference area K in Figure 4(A), goes to reference area B via other reference areas, goes to B again via other reference areas including reference area L, and returns to reference area K via other reference areas.

[0059] The travel timing planning unit 105 executes a search algorithm, which will be described later, under the condition that the path plans (see FIG. 6) of these AGV0, AGV1, and AGV2 are given, thereby generating travel timing plans for AGV0, AGV1, and AGV2 as shown in FIG. 7. In these travel timing plans, the arrival times or departure times, etc., of AGV0, AGV1, and AGV2 in each reference area are adjusted so as not to cause contention (collision, deadlock, etc.).

[0060] When calculating the travel time specified as an argument in the MOVE command, the travel timing planning unit 105 may assume that the moving body travels at the standard speed for the distance of each virtual travel path in the travel path structure information in FIG. 4. Considering the case where the speed of the moving body changes from the standard speed depending on the curvature or inclination of the virtual travel path, a standard time may be given in advance for the virtual travel path as in the travel path structure information in FIG. 5. In this case, the moving body may autonomously control the travel speed between the maximum speed and the minimum speed so that the moving body can travel in the standard time. In addition, the standard speed may be corrected by giving a rate of change of the standard speed according to the remaining power of the battery. In addition, if the moving body is intended to transport luggage, the standard speed may be corrected to a faster or slower value during the luggage transport. In addition, the standard time for traveling each virtual travel path may be corrected based on the travel record data. In this way, the travel timing planning unit 105 calculates the travel time so as to satisfy the conditions regarding the speed.

[0061] For a moving body intended to transport luggage or a mobile robot performing various tasks including loading and unloading luggage, the travel timing planning unit 105 generates a travel timing plan by reflecting information on the work time required for loading and unloading luggage. As in the above-mentioned path plan (see FIG. 6(B)), the work content to be performed in the reference area may be specified. In addition, the work content to be performed by the moving body in the reference area may be determined in advance according to a combination of the reference area and the type of the moving body.

[0062] The example of the travel timing plan shown in FIG. 7 assumes that it takes 40 unit times to load luggage in the reference areas M and L, and 130 unit times to unload luggage in the reference area B. The work time for loading and unloading luggage is given in advance as a value according to the type and number of luggage or the type of moving body. This value may be stored in the state storage unit 104 or may be added to the route plan. In addition, the work time may be corrected based on the travel record data. A command to instruct the moving body to perform the work may be added to the reference area where the work is to be performed in the travel timing plan. Alternatively, such an instruction command may be embedded in advance as a program code inside the moving body.

[0063] The format of the travel timing plan shown in FIG. 7 is expressed in a format in which the commands of the moving body are arranged, but this format is only one example. The format of the travel timing plan is not particularly limited. It is sufficient that the format includes information that can specify the time when the moving body should arrive and the time when the moving body should depart for some or all of the reference areas of the route plan of each moving body.

[0064] The travel timing planning unit 105 generates an operation plan for each moving object based on the travel timing plan for each moving object and the route plan for each moving object. Specifically, the operation plan for each moving object is generated by setting information capable of identifying the arrival time and departure time of the moving object in a part or all of the reference areas of the route plan for the moving object.

[0065] The operation plan memory unit 103 internally stores the operation plan of each moving object generated by the driving timing planning unit 105, and a driving order plan that represents the passing order of the moving objects at each reference node determined by the passing order determination unit 106 described later.

[0066] FIG. 8 shows a part of the operation plan of the moving body (AGV0) in FIG. 7. Time information (arrival time, departure time (passing time)) of the travel timing plan of AGV0 in FIG. 7 is added to the route plan in FIG. 6. AGV0 departs from the reference area L at time 0, arrives at the reference area K at time 70, and departs without stopping (i.e., passes the reference area K at time 70), passes the reference area I at time 107, arrives at the reference area G at time 117, waits there for 52 unit time, and departs at time 169. The format of the operation plan shown in FIG. 8 is merely an example, and the format is not particularly limited. For example, the operation plan may simply correspond to the travel timing plan and the route plan.

[0067] The command unit 107 transmits movement command data based on the travel timing plan of each moving body determined by the travel timing planning unit 105 to the traffic management device 200 via the communication unit 111. The traffic management device 200 receives the movement command data of each moving body from the communication unit 111 of the traffic planning device 100 via the communication unit 201, and transmits the movement command data to each moving body.

[0068] The form of the movement command data transmitted to each moving object includes an instruction to move to each reference node included in the route plan (including an instruction to perform work if work is performed at or near the reference node) and pass check necessity information (described later) given to each reference node included in the route plan. An instruction included in the travel timing plan with time removed may be used as an instruction to move to each reference node included in the route plan. As shown in FIG. 6, the route plan includes information indicating a sequence (permutation) of reference nodes through which each moving object should pass, stop, or work. The pass check necessity information is information indicating whether or not an inquiry for permission to pass is required from the operation planning system 1 side before the moving object enters or passes (hereinafter, unified to pass) the area (reference area) of the reference node. The pass check necessity information is generated for the reference nodes requiring pass order management by the pass order determination unit 106 based on the travel timing plan.

[0069] The passing order determination unit 106 extracts a reference node that requires management of the passing order based on the travel timing plan. The command unit 107 adds passing check necessity information to a movement command to the reference node. When the traveling control unit 108 receives an inquiry from the moving object as to whether it is permitted to pass through the area of ​​the reference node (reference area), the traveling control unit 108 determines whether to permit the passage based on the traveling order plan. If the passing is permitted, a permission notice that permits the passage is transmitted to the moving object as a response. If the passing is not permitted, a non-permission notice is transmitted as a response. If the passing is not permitted, the moving object waits temporarily in front of the reference area and repeats the inquiry about the passage permission at a certain period until it is permitted, or waits temporarily in front of the reference area until it receives a notice of passage permission from the traveling control unit 108. The traveling control unit 108 manages the order in which each moving object passes through the reference node to which the passing check necessity information is attached.

[0070] An example of the operation of the passing order determination unit 106 will be described with reference to FIG. 9, based on the virtual road network of FIG.

[0071] FIG. 9 shows an example of a travel timing plan for moving bodies 1 to 3. Here, the following operations are planned for moving bodies 1 to 3. That is, moving body 1 unloads the luggage loaded at entrance F on shelf C, then moves to shelf A and waits. Moving body 2 unloads the luggage loaded at entrance G on shelf E and waits. Moving body 3 moves to entrance G and loads luggage. In this example, symbols such as A, B, and C are commands to move to the reference node indicated by the symbol. The command includes an arrival time and a departure time. The command is executed to arrive at the arrival time, and the next command is executed at the departure time.

[0072] The passing order determination unit 106 identifies, from the travel timing plans of the moving bodies 1 to 3, a reference node (managed node) whose passing order needs to be managed and a moving body whose passing order needs to be controlled by the passing permission of the node, among the reference areas (reference nodes) through which two or more moving bodies commonly pass. The area corresponding to the managed node is called a managed area. The details of the operation will be described later. Here, for example, the reference node B is identified. The passing order of the multiple moving bodies at the managed node is determined in order of the earliest arrival time of the moving body at the identified reference node. The determined passing order functions as an order constraint of the passing of the managed node. As an example, the arrival times at the reference node B are 40 for the moving body 1, 10 for the moving body 2, and 35 for the moving body 3. When the passing order is determined in order of the earliest arrival time, the order is the moving bodies 2, 1, and 3. This order becomes the order constraint of the passing of the reference node (managed node) B.

[0073] 10 shows an example of a passage order constraint for a reference node B. It is defined that the reference node B must be passed by mobiles 2, 3, and 1 in this order.

[0074] The command unit 107 removes time information from the commands included in the travel timing plan of each moving object. In addition, among the commands, the command unit 107 adds information indicating whether or not a passage check is required (e.g., "check") to some of the commands to move to the managed node. This generates movement command data for each moving object.

[0075] In other words, commands are generated for each moving body to move to multiple reference nodes included in the route plan (if work is attached to the reference node, a command to perform the work is also generated in association with the command to move to the reference node), and the generated commands are arranged in the order of the multiple reference nodes. Then, for a moving body whose passing order of managed nodes needs to be controlled by passing permission, information on whether or not passing check is required is added to the command to move to the managed node. This generates movement command data for each moving body.

[0076] Fig. 11 shows movement command data transmitted to moving bodies 1 to 3. In the example of Fig. 11, passage check necessity information (e.g., "check") is added to a command to move to reference node B, which is a managed node. A command to move to a reference node to which check is added instructs the operation planning system 1 to transmit inquiry data (passage check request) as to whether the moving body is permitted to pass through the reference node before passing through the reference node. For example, after departing from reference node F, the moving body 1 needs to transmit inquiry data as to whether the moving body is permitted to pass through reference node B before passing through the reference node to the operation planning system 1.

[0077] Information on the passing order (traveling order plan) of the managed nodes acquired by the passing order determination unit 106 is stored in the route plan storage unit 102 or the operation plan storage unit 103.

[0078] When the traveling control unit 108 receives a passage check request for a managed node from a moving object, the traveling control unit 108 determines whether to allow the managed node to pass based on the passing order and the passing history of each reference node (at least the passing history of the managed node) stored in the state storage unit 104. If a moving object that needs to pass before the moving object has passed the managed node according to the passing order constraint, the traveling control unit 108 allows the requesting moving object to pass, and does not allow the moving object to pass if the moving object has not passed the managed node.

[0079] 10, when a passage check request is received from mobile unit 1 from reference node B, if mobile unit 3, which should pass immediately before, has passed reference node B, it is determined to be permitted, and if not, it is determined to be not permitted. It is also possible to determine that if all of the preceding mobile units (mobile units 2 and 3 in this example) have passed, it is permitted, and if not, it is not permitted.

[0080] If the traveling control unit 108 permits passage, it transmits a passage permission notification as a response to the inquiring mobile body. If the traveling control unit 108 does not permit passage, it transmits a non-permission notification as a response to the inquiring mobile body.

[0081] If a mobile body receives a permission notification, it passes through the managed node, and if a non-permission notification is received, it does not pass through the managed node (does not enter the managed node). For example, the mobile body waits temporarily at a position different from the managed node. Examples of a position different from the managed node may be just before (before) the managed node, a position a certain distance ahead of the managed node, or any other position. As a specific example, if the managed node is an intersection, the mobile body may wait at the end of the road just before the intersection. Alternatively, if the mobile body has not yet arrived at the managed node, it may slow down to delay its arrival at the managed node. This increases the chances of passing through the managed node without stopping.

[0082] The traveling control unit 108 may include an instruction for the operation to be performed by the mobile unit in the non-permission notification transmitted to the mobile unit. For example, the non-permission notification may include an instruction to wait a certain distance ahead of the managed node.

[0083] The mobile object waits temporarily in front of the reference area until it receives a permission notification. Alternatively, it may periodically transmit a passage check request. Each time the travel control unit 108 receives a passage check request, it determines whether to permit the passage of the managed node. When it is determined to permit the node, it transmits a permission notification to the mobile object.

[0084] Here, the managed nodes will be described. Among the reference nodes through which a plurality of moving bodies are scheduled to pass in common, the passing order determining unit 106 identifies only the reference nodes necessary for preventing contention and the moving bodies for which the passing order needs to be controlled by the passing permission of the reference nodes, and sets the identified reference nodes as managed nodes. In addition, when the identified moving body passes through the managed node, it instructs to make a passing check request. For example, in the example of FIG. 9, the passing of two or more moving bodies (departure from the starting point and arrival at the destination point are also treated as passing) occurs at all nodes except for reference nodes E and H, but the passing order of the other reference nodes will be as indicated in the travel timing plan as long as the passing order of reference node B is managed. Therefore, unexpected contention (for example, deadlock or delay in waiting for work, etc.) does not occur. For example, in the example of FIG. 9, if moving body 2 and moving body 3 are not allowed to pass reference node C before moving body 1 starts unloading work at reference node C, the timing of movement and work determined in the travel timing plan will be delayed, and the overall efficiency will be greatly reduced. Furthermore, if the mobile unit 3 does not pass through the reference node B before the mobile unit 1 enters the bottleneck (travel path) of the BCDG, a deadlock will occur when the mobile unit 3 cannot retreat. By making the reference node B a managed node and placing restrictions on the passing order of the mobile units 1 to 3, such problems of contention and reduced efficiency can be prevented. Although only the reference nodes necessary to prevent contention are made managed nodes, it is also possible to make all of the reference nodes that are commonly passed by multiple mobile units managed nodes. In this case, problems such as contention can be prevented for the same reason. However, the processing of controlling the passing order of the managed nodes increases as the number of managed nodes increases.

[0085] 12A and 12B are flowcharts showing an example of a process of identifying a managed node by the passing order determination unit 106. In FIG.

[0086] First, a first list is generated for each reference node, storing passing events of a moving body (target moving body) that passes through the reference node, based on the travel timing plan of each moving body (step 1). For each reference node, the passing events included in the first list are sorted in order of passing time (in order of departure time). As a modified example, sorting in order of arrival time instead of passing time is not excluded.

[0087] Here, a passing event is a data set that indicates an event in which a moving object passes through a reference node. Specifically, a passing event includes the following items: (i) ID of the reference node (ii) ID of the moving object (target moving object) (iii) Passage time (departure time) (iv) The ID of the virtual path that the target moving object travels before passing through the reference node and the ID of the virtual path that the target moving object travels after passing through the reference node (v) The ID of the virtual path that another moving object (preceding moving object) that passes through the reference node prior to this passing event travels before passing the reference node, and the ID of the virtual path that the moving object travels after passing the reference node (vi) ID of a passing event of another moving object (preceding moving object) that passes through the reference node prior to this passing event. The passing event of (vi) is a passing event that may cause a conflict with the passing event of (i). Hereinafter, the set of passing events in (vi) is referred to as a monitoring pair candidate list. At the time of step 1, the monitoring pair candidate list is empty. These items are merely examples, and other items may be included, or some items may not be present.

[0088] Next, from among the first lists for each reference node, a first list corresponding to an unprocessed reference node is selected (step 2).

[0089] It is determined from the passing events in the first list whether two or more moving objects pass through the reference node corresponding to the selected first list (step 3). If the reference node is one that no moving objects pass through or one that only one moving object passes through (NO in step 3), the selected first list is not processed and the process proceeds to step 7. In step 7, it is determined whether there is a first list that has not yet been selected, and if there is (YES in step 7), the process returns to step 2 and a first list that corresponds to the unprocessed reference node is selected. If the reference node is one that two or more moving objects pass through (YES in step 3), the process proceeds to step 4.

[0090] In step 4, an unprocessed passing event (called E1) is selected from the first selected list.

[0091] In step 5, among the passing events occurring in the selected first list prior to the passing event E1, a passing event (called E2) that satisfies either the reverse driving condition or the merging condition is found, and the passing event E2 is added to the monitoring pair candidate list for the passing event E1.

[0092] The reverse running condition is that the virtual running path traveled by a moving body that passes a reference node first (preceding moving body) before passing the reference node matches the virtual running path traveled by a moving body that passes the reference node later (target moving body) after passing the reference node. When the reverse running condition is satisfied, it means that reverse running may occur depending on the timing at which the two moving bodies pass the reference node. Reverse running occurs when two moving bodies simultaneously run in opposite directions on the same running path (virtual running path). Depending on the structure of the running path, reverse running can result in deadlocks or collisions.

[0093] In other words, the reverse-running condition specifies that reverse-running may occur when there are a first moving body and a second moving body traveling in opposite directions on a roadway connected to a first area. In this case, it is necessary to check whether a command is required to inquire at least one of the first moving body and the second moving body about permission to pass through the first areas located at both ends of the roadway.

[0094] The joining conditions include the following conditions A and B. If both conditions A and B are met, the joining conditions are met.

[0095] Condition A is that the virtual driving path along which a moving body that passes through a reference node first (a preceding moving body) travels after passing the reference node coincides with the virtual driving path along which a moving body that passes through the reference node later (a target moving body) travels after passing the reference node.

[0096] Condition B is that the virtual driving path traveled by a moving body (preceding moving body) that passes through a reference node first before passing the reference node is different from the virtual driving path traveled by a moving body (target moving body) that passes through the reference node later before passing the reference node.

[0097] If the merging condition is satisfied, it means that the two moving objects may merge at the reference node depending on the timing of passing the reference node. Merging means that two moving objects pass the reference node at the same time. Depending on the structure of the travel path, the merging may result in a collision or other problem. In addition, if the moving objects pass the reference node in an order different from the originally planned passing order as a result of the merging, the passing order cannot be restored on the virtual travel path beyond that, and as a result, a conflict may occur. For this reason, it is necessary to check the passing order of the reference node at the time of merging.

[0098] That is, the merging condition specifies that a merging may occur when there are first to third travel paths that lead to a first area, and a first moving body and a second moving body that enter the third travel path from the first and second travel paths via the first area exist. In this case, it is necessary to check whether a command to inquire about permission to pass through the first area is required for at least the moving body that passes through the first area later among the first moving body and the second moving body.

[0099] Although both the wrong-way driving condition and the merging condition are judged, there may be cases where only the wrong-way driving condition is judged.

[0100] If there is even one passing event that occurs before the passing event E1 in the first list and satisfies either the reverse driving condition or the merging condition, the passing event E1 is set as a candidate for checking the passing order. In other words, the command to move the target moving object to the reference node is set as a candidate for attaching the passing check necessity information (the above-mentioned "check") to the command.

[0101] Proceed to step 6 and repeat steps 4 to 6 until there are no more unprocessed passing events in the selected first list.

[0102] Then, the process proceeds to step 7, and steps 2 to 7 are repeated until there are no more first lists corresponding to unprocessed reference nodes.

[0103] Fig. 13 shows an example in which the process up to step 5 in the example in Fig. 9 is performed and the passing check necessity information is added to the command that is a candidate for adding the passing check necessity information. Since the reverse running condition is satisfied for most of the reference nodes, it can be seen that there are many reference nodes to which the passing check necessity information is added, except for the moving body 2 that passes through the reference node first. For example, looking at the reference node C, the moving body 3 passes through the reference node C after the moving body 2, and the reverse running condition is satisfied, so the passing check necessity information is added to the movement command to the moving body 3 to the reference node C. Similarly, the moving body 1 passes through the reference node C after the moving body 3, and the reverse running condition is satisfied, so the passing check necessity information is added to the movement command to the moving body 1 to the reference node C.

[0104] Next, in steps 8 to 18 in Fig. 12B, among the passing events identified as check candidates, passing events that do not require checking because they are redundant checks with respect to checks of other passing events are identified. The identified passing events are removed from the check candidates. This narrows down the check candidates.

[0105] To explain using the example of Figure 9, if it can be confirmed that mobile unit 3 passes (departs) reference node B after mobile unit 2, mobile unit 2 must have passed reference nodes C and D before reference node B, so there is no need to check the passing order at reference nodes C and D thereafter.

[0106] When a moving object that requires a passing order check passes through a reference node, the moving object loses time due to temporary stops and mutual communication to obtain approval for passing from the operation planning system 1. For this reason, it is desirable to have as few passing events as possible as possible as a check candidate.

[0107] Specifically, first, all passing events that are candidates for checking are stored in one list (second list).The passing events in the second list are then sorted.Specifically, the time difference between the departure time of the moving object that passed immediately before (the immediately preceding moving object) in the monitoring pair candidate list for each passing event and the departure time of the target moving object is calculated, and the passing events in the second list are sorted in ascending order of time difference (step 8).

[0108] From the second list, a passing event (called E3) is selected as a processing target in sorting order (in ascending order of the above-mentioned time difference) (step 9).

[0109] Next, in the second list, passing events that come after the selected passing event E3, that match the moving body of E3, and that have a passing time after E3 (called E4) are selected in order as passing events to be compared (step 10).

[0110] Next, the monitoring pair candidate list of the selected pass event E3 and the pass event E4 are compared, and a pass event that does not require a check is identified by performing a pass check with the pass event E3. The identified pass event is removed from the monitoring pair candidate list of the pass event E4.

[0111] Specifically, an unprocessed passing event (referred to as E5) is selected from the monitoring pair candidate list of the passing event E3 (step 11), and an unprocessed passing event (referred to as E6) is further selected from the monitoring pair candidate list of the passing event E4 (step 12). It is determined whether the conditions that the moving object of the passing event E5 and the moving object of the passing event E6 match and the passing time of the passing event E6 is earlier than that of the passing event E5 are satisfied (step 13). If the condition of step 13 is satisfied, the passing event E6 is removed from the monitoring pair candidate list of the passing event E4 (step 14). It is determined whether the monitoring pair candidate list of the passing event E4 is empty (step 15), and if it is empty, it is determined that the passing event E4 is completely unnecessary to check, and the passing event E4 is removed from the second list (step 16). In this case, the passing event E4 is not subject to processing in steps 9 to 16.

[0112] If the condition in step 13 is not satisfied, or if the monitoring pair candidate list is not empty in step 15, proceed to step 17. Steps 10 to 17 are repeated until there are no passing events in the second list that have not been subjected to comparison processing with E3 among the passing events that are placed after the passing event E3 (step 17).

[0113] Furthermore, steps 9 to 18 are repeated until there are no more unprocessed passing events from the second list (step 18).

[0114] Finally, the passing events remaining in the second list are set as passing events to be checked. That is, for the target moving object included in the passing event to be checked, information on whether or not passing check is required (the aforementioned "check" is added) is added to the command to move to the reference node corresponding to the passing event.

[0115] As an example, in the above flow, when the passing time of the first moving body through reference node C is earlier than the passing time of node B of the first moving body, the passing time of the second moving body through reference node C is later than the passing time of reference node B of the second moving body, the passing time of the first moving body through reference node C is earlier than the passing time of reference node C of the second moving body, and the passing time of the first moving body through reference node B is earlier than the passing time of reference node B of the second moving body, it is not necessary to check whether the first moving body has passed through reference node C before the second moving body passes through reference node C, and by taking advantage of this, it is determined whether an instruction to inquire of the second moving body whether it is allowed to pass through reference node C is necessary.

[0116] The re-planning determination unit 109 compares the operation plan stored in the operation plan storage unit 103 with the traveling state of the moving object detected by the state detection unit 202 to determine whether or not re-planning should be performed. Re-planning means updating the operation plan, that is, updating at least the latter of the route plan and the traveling timing plan.

[0117] As an example of the position (updated position) of a moving body for updating the plan, if each moving body can communicate in real time with the traffic management device 200 via the communication unit 201, any position (for example, the current position of the moving body, or the position at a time after adding a certain margin taking into account the time required for calculation) may be used.

[0118] When a moving object can communicate with the traffic management device 200 only via a communication device 501 arranged in or near a reference area, a position in the reference area or near the reference area is set as the updated position. The communication device 501 may be arranged not only in the reference area or near the reference area, but also along the road. As long as the communication device 501 is within a range where communication is possible, the updated position does not have to be a position in the reference area or near the reference area. When there is a possibility that a moving object may interfere with the travel of other moving objects (for example, a possibility of colliding with a moving object coming from behind) if the moving object stops along the road, it is preferable to set the updated position to a position just before the reference area to which the moving object is currently heading.

[0119] When the re-planning determination unit 109 determines to perform re-planning, the route planning unit 110 generates a route plan for each moving object with the updated position of each moving object as a starting point.

[0120] As an example, the plan for the route portion after the update position in the current route plan is used as the updated route plan as is. That is, among the routes shown in the route plan of the moving object, the planned portion of the route that has not yet been traveled is identified, and the identified portion is used as the updated route plan. For example, in the case where the current route plan is the route plan of FIG. 6(A), the current position of the moving object is the reference area E, and the next destination is the reference area C. In this case, the planned portion of the route that has not yet been traveled (updated route plan) is as follows, with the first four reference nodes L, K, I, and G in FIG. 6(A) removed:

[0121] (Updated route plan) E,C,A,B,A,C,D,F,E,G,H,J,I,K,M,K,I,G,E,C,A,B,A,C,D,F,E,G,H,J,I,K,L,K,I,G,E,

[0122] Alternatively, as another example, when the re-planning determination unit 109 decides to perform re-planning, the route planning unit 110 may generate a route plan for each moving body, using as an evaluation criterion or part thereof the reduction of the total distance of the travel path (travel section) along which the multiple moving bodies simultaneously travel in the opposite directions. At this time, information on the current position of each moving body or the updated position of each moving body is used.

[0123] As another example, when multiple options for a route plan are provided in advance according to the current position of the mobile body and the work to be performed by the mobile body, one of the options may be selected based on the updated position of the mobile body and the remaining work. There is also a method of generating a new route plan using a pre-given algorithm. The method of updating the route plan is not particularly limited here, and an existing route planning method may be used.

[0124] The travel timing planning unit 105 regenerates (updates) the travel timing plan based on the updated route plan. The travel timing planning unit 105 regenerates the operation plan by adding time information (at least one of departure time and arrival time, etc.) for each reference area (reference node) in the updated travel timing plan to the updated route plan. The travel timing planning unit 105 updates the operation plan in the operation plan storage unit 103 with the regenerated operation plan.

[0125] The command unit 107 generates movement command data based on the updated travel timing plan, and transmits the generated movement command data to the traffic management device 200. The traffic management device 200 transmits the movement command data to each moving object when each moving object is present at the updated position.

[0126] The traffic management device 200 manages the travel of each moving object according to the travel command data for each moving object received from the traffic planning device 100, and manages the travel state of each moving object.

[0127] A communication unit 201 of the traffic management device 200 communicates with the moving objects 301_1 to 301_N and the traffic planning device 100. The communication may be wireless or wired.

[0128] The state detection unit 202 acquires the position information of the mobile body, estimated by a mobile body having a function of estimating its own position, via the communication unit 201 or the communication device 501. Examples of self-position estimation include those using means such as dead reckoning, SLAM, and GPS. The communication device 501 is a device that wirelessly communicates with the mobile body at a shorter distance than the communication unit 201. The communication device 501 is disposed, for example, at a location where a temporary stop on the travel path may occur. One example of the specific location is a reference area or its vicinity. The state detection unit 202 may acquire information such as the time when each mobile body passed through the reference area, the traveling direction of each mobile body, and whether or not each mobile body is carrying luggage (when each mobile body is carrying luggage) as information on the travel state other than the position of the mobile body.

[0129] Also, a marker for detecting a position, such as a wireless tag or a barcode, may be installed at a specific location where the mobile object may pass. One example of the specific location is a reference area or its vicinity. In this case, the mobile object can detect its arrival at or passing through the location by detecting the marker. The mobile object transmits the detected information to the traffic management device 200 via the communication unit 201 or the communication device 501.

[0130] The state detection unit 202 may obtain information on the traveling state of the mobile object using the sensor 401. The information indicating the traveling state of each mobile object may include the time when the traveling state of each mobile object is detected. The sensor 401 is a sensor for detecting the state of the mobile object. The sensor 401 is, for example, a roadside sensor such as a proximity sensor, a pressure sensor, or a photoelectric sensor. The sensor 401 detects the arrival, passage, direction, and presence or absence of luggage of the mobile object. The sensor 401 may be a camera installed on the ceiling of the facility. When the sensor 401 is a camera, the state detection unit 202 specifies the position of each mobile object based on the captured image. By using the sensor 401 or the communication device 501, the traveling state of the mobile object can be detected even when the mobile object is in a place where it cannot communicate with the communication unit 201.

[0131] Each moving body 301 receives movement command data from the traffic management device 200 and automatically travels on the virtual travel route according to the movement command data. As a means for automatic travel, the moving body may autonomously travel between reference areas using SLAM (Simultaneous Localization And Mapping) or the like. Means other than those described here may also be used.

[0132] 14 is a flowchart of the overall operation of the operation planning system 1. It is assumed that a route plan for each moving object is given in advance, a travel timing plan is generated by the travel timing planning unit 105, and an operation plan is generated in which time information of the travel timing plan is added to the route plan. It is assumed that each moving object operates based on movement command data based on the travel timing plan and the passing order (travel order plan).

[0133] The traffic management device 200 detects the position and traveling direction of each moving object (step 11). When the operation planning system 1 starts operating, it is sufficient to detect the initial position and orientation of each moving object. In the case of a moving object capable of rotating on the spot or moving in all directions, the traveling direction may not be detected. The position and traveling direction of each moving object may be notified by the moving object itself, or the latest information periodically reported by each moving object and stored in the state storage unit 104 may be used as the current position.

[0134] The route planning unit 110 generates a route plan for each moving object starting from the updated position, or selects / extracts a part of a route plan prepared in advance. The previous route plan is updated by the generated, selected or extracted route plan (step 12). When the operation planning system 1 starts operating, a route plan starting from the initial position of each moving object may be generated, or a route plan may be acquired from outside.

[0135] If route plans have not been generated for all moving bodies (YES in step 13), the process of this flowchart is terminated. For example, if there is no cargo to be transported or no work to be done, a route plan is not generated for that moving body. This process may also be terminated if it is determined that the travel timing plan cannot be updated in time (for example, the current operations of all moving bodies are expected to be completed before the travel route timing plan is updated) or that a route plan cannot be generated.

[0136] If the route plan for at least one moving body has been updated (regenerated) (NO in step 13), the travel timing planning unit 105 generates a travel timing plan for each moving body based on the updated route plan for that moving body (step 14). The travel timing planning unit 105 generates an operation plan by adding time information indicated in the travel timing plan to the route plan. Note that no travel timing plan is generated for a moving body for which a route plan has not been generated (e.g., a moving body whose operation has been completed). Note that when the operation planning system 1 starts operating, route plans exist for all moving bodies, so travel timing plans for all moving bodies are generated.

[0137] Next, the passing order determination unit 106 updates the passing order information using the method described in FIG. 12 or the like (generates the passing order information if it is the first time), and provides the passing order information to the traveling control unit 108 (step 15).

[0138] The command unit 107 generates movement command data for each moving body based on the travel timing plan for each moving body and the passing order information generated in step 15 (step 16), and transmits the movement command data for each moving body to the traffic management device 200.

[0139] The traffic management device 200 transmits movement command data to each moving object using the communication unit 201 (step 16).

[0140] The status detection unit 202 of the traffic management device 200 acquires information on the running status of each moving object (e.g., position information) in real time via at least one of the communication unit 201, the sensor 401, and the communication device 501 (step 17). The status detection unit 202 transmits the information on the running status of each moving object to the re-planning determination unit 109 via the communication unit 201 (same step 17).

[0141] The re-planning determination unit 109 determines whether there is at least one moving object that cannot follow the operation plan (or the travel timing plan) based on the operation plan of each moving object and the traveling state of each moving object, or determines whether re-planning is necessary due to an external factor such as the occurrence of a new task (step 18). If it is determined that re-planning should be performed, the re-planning determination unit 109 generates a re-planning trigger (YES in step 18).

[0142] If a re-planning trigger occurs (YES in step 19), the process returns to step 11. Then, the route plans and travel timing plans of all moving objects (excluding moving objects that have already finished executing the plan) are updated (steps 11 to 17). Then, movement command data based on the updated travel timing plan is transmitted again to each moving object. Note that each moving object updates the movement command data received previously with the received movement command data.

[0143] If a re-planning trigger has not occurred (NO in step 18), it is determined whether there is any moving body whose operation plan (or travel timing plan) has been completed. If the operation plan for at least one moving body has been completed (YES in step 19), the process returns to step 11. Then, the route plans and travel timing plans for all moving bodies are updated (steps 11 to 17), and movement command data based on the updated travel timing plan is resent to each moving body. If there is no moving body whose operation plan has been completed, the process returns to step 17. Steps 17 to 19 are repeated until a re-planning trigger occurs or a moving body whose operation plan has been completed is found.

[0144] Step 14 in FIG. 14 will be described in detail with reference to FIG. 15, FIG. 16, and FIG. 17. Note that the method of creating a travel timing plan is not limited to this method. In this step, a travel timing plan is generated that guarantees that collisions or deadlocks between moving bodies will not occur even when multiple moving bodies travel in opposite directions on the same travel route in each route plan or when there are multiple moving bodies with different speeds. The generation of the travel timing plan is premised on the fact that the route plan of each moving body is not changed.

[0145] FIG. 15 is a flowchart of an example of processing by the travel timing planning unit 105.

[0146] The travel timing planning unit 105 acquires the travel route structure information (see FIG. 4 or FIG. 5) from the travel route structure storage unit 101, and acquires the route plan data from the route plan storage unit 102 (step 21).

[0147] The travel timing planning unit 105 generates a timing plan (initial state timing plan) that specifies, for example, at least one of the time each moving body arrives at the reference area or the time each moving body departs from the reference area based on the travel path structure information and the route plan of each moving body (step 22). These initial state timing plans of the moving bodies are collectively called an initial state timing plan set. As a method of generating an initial state timing plan, information regarding at least one of the arrival time or departure time of the reference area in the route plan is set for each moving body by any method. For example, the arrival time or departure time for each reference area is calculated based on the standard speed of the moving body and the required time for the work, and the calculated time information is set. If there is a condition (for example, a speed pattern) regarding the speed at which the moving body travels on each virtual travel path, the condition regarding the speed is satisfied. Alternatively, it is possible to reuse a part of the travel timing plan generated last time (the part after the updated position) as it is.

[0148] The travel timing planning unit 105 detects (detection process) (step 23) a pair of two moving bodies for which a conflict (deadlock or collision, etc.) will first occur in the time direction and an arc (virtual travel path) on which the conflict will occur, based on the timing plan set in the initial state. That is, it detects a pair of two moving bodies and an arc (virtual travel path) that satisfy the conflict condition. As an example, in the timing plan set in the initial state, it identifies the time at which the conflict will first occur for each combination of two timing plans. It selects the earliest time in time among the identified times, and detects the pair of two moving bodies for which a conflict will occur at the selected time and the arc (virtual travel path) on which the conflict will occur.

[0149] 16(A) is a diagram for explaining an example in which contention occurs when two moving bodies (moving body 1 and moving body 2) travel on a travel route network with a simple structure. Here, it is assumed that the route plan of moving body 1 and the route plan of moving body 2 specify that moving body 1 travels between reference node C and reference node E, and moving body 2 travels between reference node F and reference node D.

[0150] Here, on the travel path (section AB) between reference nodes AB, moving body 1 and moving body 2 travel in opposite directions. If moving body 1 and moving body 2 continue traveling in this manner, a deadlock will occur if they cannot travel backwards on the travel path. Even if at least one of moving body 1 and moving body 2 is able to travel backwards, a significant decrease in efficiency will occur due to stopping to avoid a collision and traveling backwards.

[0151] FIG. 16(B) shows a graph showing the movement trajectories of moving body 1 and moving body 2 over time based on the timing plans of the initial states of moving body 1 and moving body 2. The dashed graph is the graph for moving body 1, and the solid graph is the graph for moving body 2. By checking the intersection of the movement trajectories for each virtual travel path (section), it is possible to detect whether a conflict has occurred (whether the conflict condition has been met or not). In this example, the movement trajectories of moving body 1 and moving body 2 intersect at point 801 between sections AB (the conflict condition is met). Therefore, it is possible to detect the occurrence of a conflict between moving body 1 and moving body 2 in section AB.

[0152] 17(A) is a diagram for explaining another example in which a conflict (collision) occurs when two moving bodies (moving body 1 and moving body 2) are traveling. Here, it is assumed that the route plan for moving body 1 and the route plan for moving body 2 specify that moving body 1 is scheduled to travel between reference node E and reference node C, and moving body 2 is scheduled to travel between reference node F and reference node D.

[0153] Moving object 1 and moving object 2 travel in the same direction in section AB. Because the road structure does not allow overtaking between sections AB, if moving object 1 and moving object 2 travel at different speeds, a rear-end collision or temporary stop may occur in section AB. Repeated temporary stops and restarts to prevent rear-end collisions will result in poor travel efficiency.

[0154] FIG. 17(B) shows a graph showing the movement trajectories of moving body 1 and moving body 2 over time based on the travel timing plans (initial state) of moving body 1 and moving body 2. The dashed graph is the graph of moving body 1, and the solid graph is the graph of moving body 2. Moving body 2 starts after moving body 1, but is faster than moving body 1, and moves away from moving body 1. The movement trajectories of moving body 1 and moving body 2 intersect at point 802 (the contention condition is satisfied), and they collide at the position corresponding to point 802. In this way, the occurrence of contention between moving body 1 and moving body 2 in section AB can be detected.

[0155] In the explanation of Fig. 16 and Fig. 17, a travel path with a structure in which two moving bodies cannot travel in the opposite direction to each other (mutual avoidance is not possible) and a virtual travel path with a structure in which overtaking is not possible are dealt with, but there may be interference-free travel paths where mutual avoidance or overtaking is possible and interference can be ignored. For example, travel paths BE, BA, and BH in Fig. 2 are possible for mutual avoidance because there is sufficient space around them. For arcs (virtual travel paths) corresponding to such travel paths, even if the conflict condition is satisfied in step 23, it may be considered that no conflict has occurred. Whether or not a travel path is interference-free is stored in the travel path structure storage unit 101 in association with the arc ID (virtual travel path ID).

[0156] If a moving object pair in which a conflict occurs is detected in step 23 (NO in step 24), multiple countermeasures or at least one countermeasure to avoid the conflict are determined for the arc in which the conflict occurs (conflicting arc). For example, the conflict can be avoided by having one of the moving objects in the moving object pair wait in a travel path or reference area corresponding to the arc (virtual travel path) upstream of the conflicting arc. In this case, it can be said that there are two countermeasures. Therefore, for each countermeasure, the timing plan set is updated so as to change at least one of the timing plans of at least the two moving objects in which the conflict occurs (update process) (step 25).

[0157] For example, suppose there are multiple moving objects 1 to H (H is an integer equal to or greater than 2), and moving object 1 and moving object 2 compete against each other, there are two countermeasures: making moving object 1 wait, and making moving object 2 wait. In this case, for each countermeasure, among the sets of timing plans of moving objects 1 to H, the set is updated by changing the timing plan of at least one of moving objects 1 and 2. In this case, two updated sets are obtained from one set.

[0158] The set of updated timing plans is called a changed state timing plan set. The set of timing plans before the update is preserved.

[0159] FIG. 16(C) shows an example of the conflict avoidance operation in step 25. FIG. 16(C) shows an example of conflict avoidance at point 801 detected in FIG. 16(B) by moving body 1 waiting or adjusting its speed (slowing down) on a travel path corresponding to arc CA, which is upstream of arc (virtual travel path) AB. As another method of avoiding the conflict detected in FIG. 16(B), moving body 2 can wait or adjust its speed (slow down) on a travel path corresponding to virtual travel path FB, which is upstream of virtual travel path BA. By performing the conflict avoidance operation in this way, the movement trajectories of moving body 1 and moving body 2 do not intersect on virtual travel path AB. Therefore, conflict is avoided.

[0160] Figures 17(C) and 17(D) show other examples of the conflict avoidance operation in step 25. Figure 17(C) shows an example in which moving body 1 avoids conflict by waiting on a travel path corresponding to virtual travel path EB, which is upstream of virtual travel path BA, in order to avoid conflict at point 802 detected in Figure 17(B). Similarly, Figure 17(D) shows an example in which moving body 2 avoids conflict by waiting on a travel path corresponding to virtual travel path FB, which is upstream of BA.

[0161] The travel timing planning unit 105 calculates an evaluation value for each generated timing plan set of the changed state (arithmetic processing). The travel timing planning unit 105 associates the generated timing plan set of each changed state with each evaluation value and adds them to a search list (step 26). The search list is a list that temporarily holds multiple timing plan sets being processed.

[0162] Here, as an example of calculating the evaluation value of the timing plan, the travel time when each moving body travels each route without time adjustment due to competition (for example, the time when traveling with the initial timing plan) may be calculated as a reference value. The sum or power sum of delay times due to time adjustment is calculated for this reference value, and the calculated values ​​are added up between the moving bodies, and the sum is used as the penalty evaluation value. In this example, the smaller the evaluation value, the higher the evaluation. However, the evaluation value may be defined so that the smaller the evaluation value, the higher the evaluation. A detailed explanation of the method of calculating the evaluation value will be given later. The method of calculating the evaluation value is not limited to a specific method.

[0163] The travel timing planning unit 105 sorts the timing plan sets of each change state in the search list in descending order of evaluation value (step 27). The travel timing planning unit 105 extracts the timing plan set of the change state at the top of the search list as the next target to be searched (same step 27). That is, the travel timing planning unit 105 selects one timing plan set of a change state from the timing plan sets of the change states in the search list (selection process).

[0164] The travel timing planning unit 105 judges whether the calculation time is within a predetermined time limit or whether the number of iterations is within a prescribed number (step 28). The number of iterations can be any part of the flowchart. For example, it is the number of iterations of steps 23 to 28. If the calculation time is within the time limit or the number of iterations is within a prescribed number (YES in step 28), the process returns to step 23. After returning to step 23, the timing plan of the changed state extracted in step 27 is regarded as the timing plan of the initial state, and detection processing (detection of the moving body pair that conflicts with the arc where the first conflict occurs. Any conflicts detected last time or before have been resolved) is continued.

[0165] If no conflict occurs in the timing plan set to be processed in step 23 (YES in step 24), this timing plan set is made a candidate for the travel timing plan set to be output. For this reason, the timing plan set in the corresponding changed state is moved from the search list to the solution list as a travel timing plan set candidate together with its evaluation value (step 31). The solution list is a list that temporarily holds candidates for the travel timing plan set to be output.

[0166] The travel timing planning unit 105 sorts the solution list in order of evaluation value (step 32).

[0167] The traveling timing planning unit 105 extracts the timing planning set at the top of the search list as the next processing target (step 33), regards the extracted timing planning set as the timing planning set in the initial state, and returns to step 23.

[0168] If the calculation time exceeds the time limit or the number of iterations exceeds the prescribed number (NO in step 28), the driving timing planning unit 105 checks whether the solution list contains at least one candidate driving timing plan set (step 29). If the solution list is not empty (NO in step 29), the driving timing plan set candidate at the top of the solution list is output as a solution. In other words, the timing plans of each moving body included in the candidate are output as the driving timing plan for each moving body (step 30). Since the solution list is sorted in descending order of evaluation value, the candidate at the top of the solution list is the set of driving timing plans with the highest evaluation.

[0169] On the other hand, if the solution list is empty (YES in step 29), the travel timing planning unit 105 extracts the changed timing plan set at the top of the search list as a solution (step 34). In the timing plan of each moving object in the extracted solution, the unit 105 identifies a time range in which conflicts are resolved (partially completed plan portion), and outputs the plan portion of the identified range as the travel timing plan of each moving object (step 35).

[0170] Figure 18 shows an example of an image of the search process of the travel timing planning unit in the flowchart of Figure 15. The top of Figure 18 corresponds to the travel timing plan shown in Figure 16(B) (however, the scale has been changed).

[0171] There are two patterns of conflict avoidance countermeasures for the virtual travel path (conflict arc) where travel in the opposite direction occurs: making moving body 1 wait and making moving body 2 wait. Depending on which moving body is made to wait to avoid the conflict, the time when the next conflict occurs and the virtual travel path on which it occurs will change. In step 25 of FIG. 15, if an operation that prioritizes moving body 2 (an operation that makes moving body 1 wait) is performed, a timing plan set of changed state 1 is obtained, and if an operation that prioritizes moving body 1 (an operation that makes moving body 2 wait) is performed, a timing plan set of changed state 2 is obtained. Note that the white arrows in the figure indicate the parts of the graph that have been changed.

[0172] An evaluation value is calculated for each of the timing plan sets for modified state 1 and modified state 2, and the timing plan sets for modified state 1 and modified state 2 are stored in a search list together with their respective evaluation values ​​(step 26 in FIG. 15). The search list is sorted in descending order of evaluation value, and since the evaluation value of the driving timing plan set for modified state 1 is larger, the timing plan set for modified state 1 is selected (step 27 in FIG. 15).

[0173] The search continues recursively by regarding the timing plan set for modified state 1 as the timing plan set for the initial state (step 23 in FIG. 15), and depending on whether moving body 2 or moving body 1 is prioritized, a timing plan set for modified state 3 and a timing plan set for modified state 4 are obtained. Evaluation values ​​are calculated for the timing plan set for modified state 3 and the timing plan set for modified state 4, respectively. The timing plan set for modified state 3 and the timing plan set for modified state 4 are stored in a search list together with their respective evaluation values ​​(step 26 in FIG. 15).

[0174] At this point, the search list stores the timing plan set for change state 2, the timing plan set for change state 3, and the timing plan set for change state 4 along with their respective evaluation values. The timing plan set with the highest evaluation value among these is selected, and the selected timing plan set is regarded as the timing plan set for the initial state, and the process continues recursively (step 23).

[0175] In this way, the search algorithm in Fig. 15 sequentially searches combinations of conflict avoidance measures. When there are a large number of moving objects or a large number of conflicting arcs, the number of combinations of conflict avoidance measures becomes enormous, and it is generally difficult to generate plans in real time, but the search algorithm in Fig. 15 calculates the evaluation value of the timing plan set of the changed state to be examined next, and searches are performed preferentially starting from the one with the highest evaluation value. This enables efficient search.

[0176] In this case, a search method called a heuristic optimal solution search algorithm (A-search) is applied to obtain a highly evaluated driving timing plan in a short time. In A-search, for example, an evaluation value is calculated based on the sum of the delay time corresponding to the route (searched circuit) where the conflict has been resolved in the target timing plan set and the predicted value of the delay time expected for the remaining route (unsearched route) after that.

[0177] Specifically, the total remaining travel distance in the route plan of each moving body after the occurrence time of the last avoided conflict in the timing plan set is calculated. A predicted value of the delay time for the remaining travel is obtained based on the assumption that a delay occurs at a certain rate according to the remaining travel distance. For example, the travel time when traveling the remaining travel distance at a standard speed is calculated, and the delay time is calculated by multiplying the travel time by a certain coefficient. The total calculated delay time is summed up with the total delay time of each moving body before the occurrence time of the conflict, and the reciprocal of the sum is used as the evaluation value.

[0178] As described above, according to this embodiment, it is possible to efficiently plan the operation of multiple moving bodies by avoiding contention such as deadlock or collision. In addition, even when moving on a tree-structured branched road or when two-way movement on the same road is unavoidable due to safety reasons, etc., it is possible to generate a travel timing plan that ensures that no collision or deadlock will occur. In the case of a non-autonomous type moving body that runs on a road such as a rail or guide tape laid in advance, contention is avoided by setting up a dedicated road or a running space in advance, or by preventing reverse movement on the same road. In the case of a non-autonomous type moving body, strict running management based on the moving time, etc. is possible, so such a method is effective. However, in the case of a regulated running type moving body in this embodiment, strict running management based on the moving time, etc. is difficult, such as unexpected two-way movement occurring at any place during running on a free plane. In this embodiment, even in the case of such an autonomous running type moving body, it is possible to run multiple moving bodies while avoiding contention by controlling the passing order of the managed nodes.

[0179] (Hardware configuration) Fig. 19 shows a hardware configuration of the operation planning device 100 in Fig. 1. The operation planning device 100 in Fig. 1 is configured by a computer device 600. The computer device 600 includes a CPU 601, an input interface 602, a display device 603, a communication device 604, a main storage device 605, and an external storage device 606, and these elements 601 to 606 are connected to each other by a bus 607. The operation management device 200 in Fig. 1 is also realized by a hardware configuration similar to that in Fig. 19.

[0180] The CPU (Central Processing Unit) 601 executes a driving control program, which is a computer program, on the main memory device 605. The driving control program is a program that realizes each of the above-mentioned functional configurations of the operation planning device 100. The driving control program may be realized by a combination of multiple programs or scripts, rather than a single program. Each functional configuration is realized by the CPU 601 executing the driving control program.

[0181] The input interface 602 is a circuit for inputting operation signals from input devices such as a keyboard, a mouse, and a touch panel to the operation planning device 100.

[0182] The display device 603 displays data output from the operation planning device 100. The display device 603 is, for example, but not limited to, an LCD (liquid crystal display), an organic electroluminescence display, a CRT (cathode ray tube), or a PDP (plasma display). Data output from the computer device 600 can be displayed on this display device 603.

[0183] The communication device 604 is a circuit for the operation planning device 100 to communicate with an external device wirelessly or via a wire. Data can be input from the external device via the communication device 604. The data input from the external device can be stored in the main storage device 605 or the external storage device 606.

[0184] The main memory 605 stores a driving control program, data required for executing the driving control program, data generated by executing the driving control program, and the like. The driving control program is deployed and executed on the main memory 605. The main memory 605 is, for example, a RAM, a DRAM, or an SRAM, but is not limited to these. Each storage unit in FIG. 1 may be constructed on the main memory 605.

[0185] The external storage device 606 stores the driving control program, data required for executing the driving control program, and data generated by executing the driving control program. These driving control programs and data are read into the main storage device 605 when the driving control program is executed. The external storage device 606 is, for example, but is not limited to, a hard disk, an optical disk, a flash memory, and a magnetic tape. Each storage unit or database in FIG. 1 may be constructed on the external storage device 606.

[0186] The driving control program may be pre-installed in the computer device 600, or may be stored in a storage medium such as a CD-ROM. The driving control program may also be uploaded onto the Internet.

[0187] Furthermore, the operation planning device 100 may be configured by a single computer device 600, or may be configured as a system including a plurality of computer devices 600 connected to each other.

[0188] Second Embodiment 20 shows an example of an overall system configuration including an operation planning system according to the second embodiment. Each moving body includes a route planning unit 309 and a route plan storage unit 302, and the operation planning device 100 does not include a route planning unit. The route planning unit 309 has the same function as the route planning unit 110 in FIG. 1.

[0189] The route planning unit 309 of each moving object autonomously determines a route plan and stores the route plan in the route plan storage unit 302. Furthermore, each moving object transmits data of the route plan to the operation planning device 100 via the communication unit 201 or the communication device 501 of the operation management device 200. The operation planning device 100 stores the route plan of each moving object in the route plan storage unit 102. Each moving object may not have the route planning unit 309, and the route of each moving object may be stored in advance in the route plan storage unit 302 of each moving object.

[0190] In this embodiment, it is assumed that the route plan of each moving object is determined in advance or each moving object autonomously determines the route plan, and therefore the operation planning device 100 and the operation management device 200 cannot freely change the route plan of each moving object. Even in such a case, the operation planning device 100 appropriately generates a travel timing plan and instructs each moving object on the movement command data, thereby ensuring travel without causing collisions or deadlocks. If it is not possible to generate a travel timing plan that does not cause collisions or deadlocks, the operation planning device 100 may transmit a request to change the route plan to each moving object via the operation management device 200.

[0191] (Third embodiment) Fig. 21 shows an example of an overall system configuration including an operation planning system according to the third embodiment. In this embodiment, each basic functional unit is the same as in the first or second embodiment, but at least one moving body has a function equivalent to an operation planning device (or an operation planning system). The other moving bodies include a route planning unit 309, a route plan storage unit 302, and a communication unit 310. The communication unit 310 wirelessly communicates with other moving bodies.

[0192] Of the mobile objects having a function equivalent to the operation planning device, one mobile object becomes the master. In the figure, an example is shown in which the mobile object 301_X becomes the master. The master may be determined, for example, by mutual negotiation between the mobile objects having a function equivalent to the operation planning device. Alternatively, the master may be determined according to a predetermined priority order. For example, the mobile object with the highest performance or the mobile object with the largest remaining battery power may become the master. The master may also be determined by other methods.

[0193] The route planning unit 309 of each of the moving bodies other than the moving body 301_X autonomously determines a route plan and then transmits the route plan to the moving body 301_X that has become the master. Alternatively, the route plan may be stored in advance in the route plan storage unit 302. In this case, the route planning unit 309 does not generate a route plan by itself, but reads out the data of the route plan in the route plan storage unit 302 and transmits it to the master.

[0194] The moving body 301_X that has become the master collectively generates travel timing plans for multiple moving bodies including the moving body itself. The master generates travel timing plans for each moving body so as not to change the path plan of each moving body. The moving body 301_X transmits movement command data based on the travel timing plan of each moving body to each moving body. Each moving body controls its travel based on the movement command data. This makes it possible to realize efficient travel overall without causing collisions or deadlocks.

[0195] The mobile bodies other than the mobile body 301_X may not include the route planning unit 309 and the route plan storage unit 302. In this case, the mobile bodies other than the mobile body 301_X perform the same operations as the mobile bodies that can communicate with the communication unit 201 of the traffic management device 200 among the mobile bodies of the first embodiment.

[0196] In the third embodiment, it is assumed that the route plan of each moving body is predetermined or each moving body autonomously determines the route plan, and therefore, other moving bodies cannot freely change the route plan. Even in such a case, the moving body that has become the master can appropriately generate a travel timing plan and instruct each moving body to ensure traveling without causing collisions or deadlocks. If it is not possible to generate a travel timing plan that does not cause collisions or deadlocks, the moving body that has become the master may transmit a request to change the route plan to the other moving bodies.

[0197] The present invention is not limited to the above-described embodiments as they are, and the components can be modified and embodied in the implementation stage without departing from the gist of the invention. Various inventions can be formed by appropriately combining multiple components disclosed in the above-described embodiments. For example, a configuration in which some components are deleted from all the components shown in each embodiment can also be considered. Furthermore, the components described in different embodiments can be appropriately combined. [Explanation of symbols]

[0198] 1: Operation planning system 100: Operation planning device 101: Road structure memory unit 102: Route planning memory unit 103: Operation plan memory unit 104: Status memory unit 105: Driving timing planning department 106: Passing order determination section 107: Command department 108: Driving control unit 109: Replanning Judgment Section 110: Route planning section 111: Communications Department 200: Traffic control device 201: Communications Department 202: Status detection unit 301_1~301_N: Mobile 401_1~401_M: Sensor 501_1~501K: Communication device

Claims

1. An information processing device for controlling a plurality of moving objects in a moving area including a plurality of regions and a plurality of moving paths connecting the plurality of regions, a movement timing planning unit that generates a plurality of movement timing plans that specify timings for the plurality of moving bodies to move along the movement path, based on a plurality of route plans including an order of one or more areas through which the plurality of moving bodies pass and a conflict condition under which a conflict occurs between the moving bodies, under a precondition that the plurality of route plans are not changed; a passing order determination unit that determines a passing order of a plurality of first moving bodies among the plurality of moving bodies in a first area through which the plurality of first moving bodies pass, based on the plurality of movement timing plans and the competitive condition; A control unit that controls movement of the plurality of first moving objects based on the passing order; Equipped with The competitive condition is and one or more of the moving bodies are waiting at an intersection connected to two or more of the moving paths, and another moving body passes through the moving path connected to the intersection. Information processing device.

2. The passing order determination unit determines the passing order so that the conflicting condition is not satisfied. The information processing device according to claim 1 .

3. The first area is an area included in the routes of the first moving bodies.

3. The information processing device according to claim 1 or 2.

4. The passing order determination unit detects the first area based on routes of the plurality of first moving objects. The information processing device according to any one of claims 1 to 3.

5. a timing determination unit that determines a passing time of the first area based on routes of the first moving objects; The passing order determination unit determines the passing order based on the passing times. The information processing device according to any one of claims 1 to 4.

6. the passing order determination unit determines whether a path leading to the first area has a structure capable of avoiding the conflict, and if the path has a structure capable of avoiding the conflict, determines the passing order without using the conflict condition. The information processing device according to any one of claims 1 to 5.

7. a command unit that generates movement command data for the first moving object based on the passing order; a communication unit that transmits the movement command data to the first moving body; 7. The information processing device according to claim 1, further comprising:

8. The movement command data is an instruction to inquire whether the first moving object is permitted to pass through the first area before the first moving object passes through the first area; and an instruction for the moving object to pass through the first area if the passing through the first area is permitted. The information processing device according to claim 7.

9. The control unit, when receiving inquiry data for permission to pass through the first area from the first moving object, determines whether to permit the first moving object to pass through the first area based on the passing order. The information processing device according to claim 8.

10. When the control unit permits the first moving object to pass through the first area, the control unit transmits a notification of permission of the passage to the first moving object. The information processing device according to claim 9.

11. When the control unit does not permit the first moving object to pass through the first area, the control unit makes the first moving object wait at a position different from the first area, or adjusts an arrival time of the first moving object in the first area by slowing down a moving speed of the first moving object. The information processing device according to claim 9 or 10.

12. The control unit determines that the first moving object has passed through the first area when a passage completion notification including a passage through the first area is received from the first moving object that has passed through the first area. The information processing device according to any one of claims 8 to 11.

13. the control unit determines whether or not a command is required to inquire of at least one of the second moving body and the third moving body about permission to pass through the first area located at either end of the moving path, based on information on whether or not there are a second moving body and a third moving body that move in the opposite direction on the moving path among the plurality of first moving bodies; The information processing device according to any one of claims 8 to 12.

14. There are first to third movement paths leading to the first region, the control unit determines whether or not a command is required to inquire of at least one of the second moving body and the third moving body about permission to pass through the first area, based on information on whether or not there are a second moving body and a third moving body among the plurality of first moving bodies that enter the third moving path from the first and second moving paths through the first area. The information processing device according to any one of claims 8 to 12.

15. The passing order determination unit, A time when the second moving object passes through the first first area is earlier than a time when the second moving object passes through the second first area, a time when a third moving object passes through a first first region is later than a time when a second moving object passes through the first region; a time when the second moving object passes through the first area is earlier than a time when the third moving object passes through the first area; When a passing time of the second moving object through the first area is earlier than a passing time of the third moving object through the first area, determining whether a command to inquire of the third moving body whether the passage of the first first area is permitted is necessary, utilizing the fact that it is not necessary to confirm whether the second moving body has passed through the first first area before the third moving body passes through the first first area; The information processing device according to claim 13 or 14.

16. 1. An information processing method for controlling a plurality of moving objects in a moving area including a plurality of regions and a plurality of moving paths connecting the plurality of regions, comprising: generating a plurality of movement timing plans that specify timings for the plurality of moving bodies to move along the movement path, based on a plurality of route plans including an order of one or more areas through which the plurality of moving bodies pass and a conflict condition under which a conflict occurs between the moving bodies, under a precondition that the plurality of route plans are not changed; determining a passing order of a plurality of first moving bodies among the plurality of moving bodies in a first area through which the plurality of first moving bodies pass, based on the plurality of movement timing plans and the competitive condition; controlling the movement of the plurality of first moving bodies based on the passing order; Equipped with The competitive condition is and one or more of the moving bodies are waiting at an intersection connected to two or more of the moving paths, and another moving body passes through the moving path connected to the intersection. Information processing methods.

17. A computer program for controlling a plurality of moving objects in a moving area including a plurality of regions and a plurality of moving paths connecting the plurality of regions, the computer program comprising: generating a plurality of movement timing plans that specify timings for the plurality of moving bodies to move along the movement path, based on a plurality of route plans including an order of one or more areas through which the plurality of moving bodies pass and a conflict condition under which a conflict occurs between the moving bodies, under a precondition that the plurality of route plans are not changed; determining a passing order of a plurality of first moving bodies among the plurality of moving bodies in a first area through which the plurality of first moving bodies pass, based on the plurality of movement timing plans and the competitive condition; controlling travel of the plurality of first moving bodies based on the passing order; Run the following on your computer: The competitive condition is and one or more of the moving bodies are waiting at an intersection connected to two or more of the moving paths, and another moving body passes through the moving path connected to the intersection. Computer program.

18. A plurality of moving objects moving in a moving area including a plurality of regions and a plurality of moving paths connecting the plurality of regions; an information processing device that controls the plurality of moving objects; The information processing device includes: a movement timing planning unit that generates a plurality of movement timing plans that specify timings for the plurality of moving bodies to move along the movement path, based on a plurality of route plans including an order of one or more areas through which the plurality of moving bodies pass and a conflict condition under which a conflict occurs between the moving bodies, under a precondition that the plurality of route plans are not changed; a passing order determination unit that determines a passing order of a plurality of first moving bodies among the plurality of moving bodies in a first area through which the plurality of first moving bodies pass, based on the plurality of movement timing plans and the competitive condition; A control unit that controls movement of the plurality of first moving objects based on the passing order; Equipped with The competitive condition is and one or more of the moving bodies are waiting at an intersection connected to two or more of the moving paths, and another moving body passes through the moving path connected to the intersection. Information processing system.

Citation Information

Patent Citations

  • Additive for mixture of fine coke powder and oil

    JP1984084986A

  • Double-side four-color printing offset press

    JP1994000940A

  • System and program of operation control for autonomous mobile body

    JP2005242489A

  • Operation management control device and its method

    JP2953282B2

  • Operation management control device and its method

    JP3364021B2