Travel control device, travel control method, and computer program product
By using the control unit, the planning unit, the value calculation unit and the model in the operation planning system to generate and update the driving plan, the collision and stalemate problems of multiple mobile bodies during driving are solved, and efficient automatic driving control is achieved.
Patent Information
- Application Number
- CN202010894498.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-16
- Filing Date
- 2020-08-31
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2040-08-31
AI Technical Summary
The prior art is difficult to efficiently avoid collisions and stalemates when multiple moving bodies are traveling simultaneously, especially in automatic driving controls in narrow areas.
By introducing a control unit, a planning unit, a value evaluation calculation unit and a model in the operation planning system, multiple temporary driving plans are generated and updated, and based on the state characteristic quantity and evaluation value of the mobile body, the optimal driving plan is selected to avoid competition.
It realizes that when multiple mobile bodies are driving, it can effectively avoid collisions and stalemates, improve driving efficiency, and is suitable for various automatic driving scenarios.
Smart Images

Figure CN113406951B_ABST
Abstract
Description
[0001] This application is based on Japanese Patent Application No. 2020-045748 (filing date: 03 / 16 / 2020) and claims the benefit of priority from the prior application, the entire contents of which are incorporated herein by reference. Technical Field
[0002] Embodiments of the present invention relate to a travel control device, a travel control method, and a computer program. Background Art
[0003] When a plurality of moving bodies are caused to travel simultaneously, if a collision or congestion between the moving bodies occurs, the system as a whole is inefficient. Travel control for causing a plurality of moving bodies to travel efficiently is sought. Summary of the invention
[0004] Embodiments of the present invention provide a travel control device, a travel control method, and a computer program for causing a plurality of moving bodies to travel efficiently.
[0005] Technical solutions to solve problems
[0006] The driving control device involved in this embodiment includes: a control unit, which controls the driving of multiple mobile bodies based on the driving plans of the multiple mobile bodies; a planning unit, which changes a part of the driving plan to generate multiple temporary driving plans; an evaluation value calculation unit, which calculates the evaluation value of the temporary driving plan based on the state feature quantities of the multiple mobile bodies in the temporary driving plan; and a model, which associates the state feature quantities of the multiple mobile bodies with the evaluation value, the evaluation value calculation unit calculates the evaluation value based on the model and the state feature quantities of the multiple mobile bodies in the temporary driving plan, and the planning unit performs a search operation, and the search operation repeatedly performs the following processing: select a temporary driving plan from the multiple temporary driving plans based on the multiple evaluation values, and update the driving plan by the selected temporary driving plan. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 It is a diagram showing an example of the overall system configuration including the operation planning system according to the first embodiment.
[0008] Figure 2 This is a diagram showing an example of a travel road network.
[0009] Figure 3 This is a diagram showing an example of competition between moving objects.
[0010] Figure 4 It is a diagram showing an example of travel road structure information.
[0011] Figure 5 It is a diagram showing another example of the travel road structure information.
[0012] Figure 6 It is a figure which shows an example of a path plan.
[0013] Figure 7 It is a diagram showing an example of a travel timing plan of a plurality of moving objects.
[0014] Figure 8 An example showing a portion of an operation plan.
[0015] Fig. 9 This is a diagram showing examples of state feature quantities of a plurality of moving objects.
[0016] Fig.10 It is a diagram showing an example of feature quantities of positions.
[0017] Fig.11 It is a flowchart of the processing of the operation planning system.
[0018] Fig.12 This is a flowchart of detailed processing of the travel timing planning unit.
[0019] Fig.13 This is a diagram showing an example of contention checking and avoidance processing.
[0020] Fig.14 It is a diagram showing another example of contention check and avoidance processing.
[0021] Fig.15 This is an image diagram of the search processing of the travel timing planning unit.
[0022] Fig.16 It is a hardware block diagram of the application plan installation.
[0023] Fig.17 It is a diagram showing an example of the overall system configuration including the operation planning system according to the second embodiment.
[0024] Fig.18 This is a flowchart of the process of the operation planning system according to the second embodiment.
[0025] Fig.19 It is a diagram showing an example of the overall system configuration including the operation planning system according to the third embodiment.
[0026] Fig. 20 This is a flowchart of the process of the operation planning system according to the third embodiment.
[0027] Fig.21 It is a diagram showing an example of the overall system configuration including the operation planning system according to the fourth embodiment.
[0028] Fig. 22 This is a diagram showing an example of the overall system configuration including the operation planning system according to the fifth embodiment.
[0029] Description of symbols
[0030] 1: Operational planning system
[0031] 100: Operation plan device
[0032] 101: Driving road structure storage unit
[0033] 102: Path plan storage unit
[0034] 103: Operation plan storage department
[0035] 104: Status storage unit
[0036] 105: Driving Timing Planning Department (Planning Department)
[0037] 106: Update position determination unit
[0038] 107: Command Department (Control Department)
[0039] 108: Re-planning and determination department
[0040] 109: Path Planning Department
[0041] 110: Ministry of Communications
[0042] 111: Search log storage unit
[0043] 112: Model storage unit
[0044] 113: Model Generation Department
[0045] 114: Evaluation value calculation unit
[0046] 115: Driving log storage unit
[0047] 200: Operation management device
[0048] 201: Ministry of Communications
[0049] 202: Status detection unit
[0050] 301_1~301_N:Moving body
[0051] 401_1~401_M: Sensor
[0052] 501_1~501_K: Communication device DETAILED DESCRIPTION
[0053] The technical background of this embodiment is described.
[0054] 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 of the production line is modularized and freely reorganized to use AGV (Automated Guided Vehicle) to transport between processes, and mobile robots with arms for work are moved between multiple work sites while being operated.
[0055] In addition, against the backdrop of severe labor shortages at logistics sites, efforts to save manpower are accelerating in logistics centers such as online sales. For example, there are methods of coping with this by combining AGVs, autonomous forklifts, and picking robots.
[0056] Furthermore, with the advancement of automobile autonomous driving technology, attempts to use automatic valet parking, which allows groups of cars to automatically drive and park in a parking lot without anyone in the car, and to allow unmanned mobile construction machinery to be remotely controlled to drive in construction sites, mining sites, etc., have also reached the practical stage.
[0057] In order to efficiently control the movement of a large number of autonomous vehicles in a narrow area, it is necessary to avoid collisions, deadlocks and other competitions between vehicles. So far, this has been dealt with by pre-setting multi-lane roads that can simultaneously travel in both directions, multiple one-way loops, and grid-shaped special roads and driving spaces.
[0058] Based on the use of such a dedicated driving road, a related technology makes a plan so that no movement in the opposite direction of the same driving road occurs in the paths of all moving bodies. However, when the existing passage that the operator also uses is used for staged introduction, even in the case of using a driving road with a shape that inevitably causes two-way movement in the same driving road, or in the case of pre-specifying a path where two-way movement occurs for safety reasons, a system that can universally make an operation plan is required. In the above-mentioned related technology, it is difficult to apply under this condition.
[0059] In addition, as another related technology, there is a technology that determines the travel plan of a mobile body one by one (makes reservations for the mobile body), and determines the travel plan of the next mobile body so that the mobile body that has made reservations previously does not travel in the opposite direction. This related technology has the following problem: the travel efficiency is greatly influenced by the reservation order of the mobile body, and the overall efficiency is deteriorated.
[0060] In addition, the use of dedicated travel roads and the like has the following problems: construction costs are incurred, and it is not easy to make gradual changes to the layout of the travel roads after they are put into use.
[0061] This embodiment realizes that when multiple mobile bodies such as AGVs and mobile robots are driven, they can be driven efficiently so that there is no competition such as collision or stalemate between the mobile bodies. As an example, this embodiment handles the case where the mobile body drives on a dedicated driving road such as a pre-laid track or guide belt, but this embodiment can also be applied to an autonomous driving type mobile body that drives on a free plane while determining its own position. The following is a detailed description of this embodiment.
[0062] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0063] Figure 1 An example of the overall system configuration including the operation planning system according to the first embodiment is shown. The overall system configuration includes an operation planning system 1, a plurality of mobile bodies 301_1 to 301_N, a plurality of sensors 401_1 to 401_M, and a plurality of communication devices 501_1 to 501_K. The operation planning system 1 includes an operation planning device 100 and an operation management device 200. An arbitrary mobile body is described as a mobile body 301. An arbitrary sensor is described as a sensor 401. An arbitrary communication device is described as a communication device 501.
[0064] 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.
[0065] For example, when a driving road network consisting of a plurality of driving roads is configured in a narrow area and a large number of moving objects automatically travel at a low speed in the driving road network, the operation planning system 1 controls the operation efficiently as a whole so that competition such as stalemate or collision does not occur.
[0066] The moving bodies 301_1 to 301_N are moving bodies that can move automatically, such as AGVs (Automatic Guided Vehicles), autonomous mobile robots, and self-driving vehicles (e.g., self-driving cars). The moving bodies 301_1 to 301_N travel on a road network disposed in a factory, a warehouse, a facility site, and the like.
[0067] Figure 21 is a top view showing an example of a driving road network. It schematically shows the state of controlling the operation of multiple moving bodies in the driving road network. A driving road network based on guide belts 10 is arranged on the floors of a certain facility. The driving road network is formed by combining straight guide belts 10 as driving roads. In this example, each driving road is in the shape of a straight line, but this is just an example. The driving road can be in the shape of a curve or a combination of a straight line and a curve.
[0068] There are many methods, including a method of placing markers at important locations on the travel road in addition to the guide belt, and a method of causing the moving body to detect its own position and travel on a virtual travel road network. The method of realizing the travel road network is not limited to these.
[0069] The moving bodies 12A, 12B, 12C, 12D, 12E, 12F, 12G, 12H, 12I, 12J, 12K, and 12L correspond to Figure 1 The moving body 301 can move forward, backward, or both forward and backward along the guide belt 10. The moving body can also be rotated so as to be reversed forward and backward. In addition, the moving body can also move in directions other than forward and backward, such as an oblique direction, depending on the shape of the driving road.
[0070] Inlet ports 13A, 13B, 13C, 13D, 13E, and 13F and racks 14A, 14B, 14C, 14D, and 14E are provided at the ends of the driving roads and near the intersections of the driving roads (e.g., the branching and merging parts). Racks 14A to 14E are provided at the ends of the driving roads, near the intersections of the driving roads, in the middle of the driving roads (between the two ends of the driving roads), and at other arbitrary places, and racks 14A to 14E are provided at all or part of the inlet ports 13A to 13F. Figure 1 Sensor 401 and communication device 501.
[0071] The moving bodies 12A to 12L are Figure 1 Under the management of the operation planning system 1, the vehicle moves on each driving road and performs pre-instructed operations. For example, it receives goods from the loading port and transports the received goods to the shelf. In addition, it takes goods out of the shelf and transports the goods to the loading port. The double circles in the figure schematically represent the goods. Each moving body automatically performs such movement and operation based on the movement instruction data provided by the operation planning system 1. In addition, the operation is not limited to the transportation of goods. In addition, it is sometimes possible to only move without performing any operation.
[0072] The operation planning device 100 involved in this embodiment generates a path plan indicating the path that each mobile body should travel based on the content and order of the work that each mobile body should perform (sometimes the path plan of each mobile body is provided in advance), and generates a driving plan (hereinafter referred to as a driving timing plan) that determines the timing of each mobile body traveling on each driving road so that each mobile body does not collide or stalemate based on the path plan. The operation management device 200 controls the operation of each mobile body by sending movement instruction data based on the driving timing plan of each mobile body to each mobile body. In addition, the operation management device 200 detects the state of each mobile body and manages the operation of each mobile body.
[0073] Here, a deadlock refers to a state in which any moving body cannot move at any intersection (eg, a branching junction) in a driving network or at the end of a driving road. A collision refers to a moving body coming into contact with another moving body.
[0074] Figure 3 (A) represents an example of stalemate. Figure 3 (B) shows an example of collision. Figure 3 In (A), two moving bodies are traveling in opposite directions on the same driving road. Assume that the two moving bodies can only move forward. In this case, the two moving bodies cannot move at any intersection or end, and a stalemate will occur. Figure 3 In (B), two moving objects are traveling on the same road in the same direction, but the speed of the moving object behind is faster than the speed of the moving object in front, so the moving object behind may collide with the moving object in front.
[0075] Such a stalemate or collision is expressed as competition (or interference) between moving bodies. However, competition is not limited to this example. For example, two moving bodies may arrive at the intersection (branching and merging part) at the same time.
[0076] Figure 1 The operation planning system 1 is a system for realizing efficient operation of each moving body without causing competition (collision or stalemate, etc.) among the moving bodies.
[0077] Figure 1The operation planning device 100 includes a driving road structure storage unit 101, a path plan storage unit 102, an operation plan storage unit 103, a state storage unit 104, a driving timing planning unit (planning unit) 105, an update position determination unit 106, an instruction unit (control unit) 107, a re-planning determination unit 108, a path planning unit 109, a search log storage unit 111, a model storage unit 112, a model generation unit 113, an evaluation value calculation unit 114, and a communication unit 110. An input device (such as a mouse, a keyboard, or a touch panel) for the user of the device 100 to input various instructions or data may also be provided. In addition, a display device (such as a liquid crystal display or an organic electroluminescent display) that displays data in each storage unit or data generated by each unit may also be provided in the device 100.
[0078] The communication unit 110 of the operation planning device 100 communicates with the communication unit 201 of the operation management device 200. The communication between the communication unit 110 and the communication unit 201 can be either wireless or wired. The communication unit 201 of the operation management device 200 communicates with the communication unit 110 of the operation planning device 100 and the moving body 301. The communication between the communication unit 201 and the moving body 301 is wireless communication. However, wired communication is not excluded. A part or all of the moving body 301 may not be able to communicate with the communication unit 201. However, in this case, the moving body 301 can also communicate with the communication device 501 (described later) set on the roadside. The moving body 301 can communicate with the communication device 501 within the range of communication of the communication device 501. The communication unit 110 can also be omitted when the operation planning device 100 and the operation management device 200 are the same device.
[0079] The road structure storage unit 101 internally stores information indicating the structure of the road network (road structure information). The road structure information can be expressed as a graph structure including a plurality of nodes and a plurality of arcs (roads) connecting the nodes, for example.
[0080] Figure 4 This is an example of showing the travel road structure information. Each travel road is represented by a straight line connecting the nodes. Figure 4Each circle in (A) represents a node, and the line segments connecting the circles represent arcs (driving roads). Nodes represent the ends of driving roads and the intersections of driving roads. The places pre-specified in the driving road network are called designated areas. It is also allowed to use places arbitrarily determined by the user as designated areas. Any place such as cargo accumulation, loading and unloading places, waiting places, etc. can be designated as a designated area. As an example, the end of the driving road connected to the intersection and the end of the driving road not connected to the intersection (the end of the driving road) are such places. In addition, any place on the driving road (for example, any area between the two ends of the driving road) can also be used as a designated area. The intersection itself can also be used as a designated area. The mobile body passes through the designated area, or temporarily stays in the designated area. Examples of temporary stays of the mobile body include temporary stops for work, temporary stops to wait for other mobile bodies to pass through the driving road, stops until the next work occurs when there is no work to be performed, standby for charging, parking of automatic driving vehicles, etc.
[0081] Figure 4 (B) represents the node ID, X coordinate, and Y coordinate as detailed information of the node. For example, the coordinates of node A are (X, Y) = (20, 20).
[0082] Figure 4 (C) indicates the road ID and the node IDs at both ends of the road as detailed information of the road. For example, the road ID between nodes A and B is 1, and the nodes at both ends of the road are A and B. The distance between nodes (the distance of the arc) can also be included in the road construction information in association with the road ID. Alternatively, the distance of the arc can also be calculated based on the positions of the nodes on both sides of the arc.
[0083] Figure 5 Another example of the road structure information is shown. Figure 5 (A) is from Figure 4 A graph in which some nodes are omitted from the driving road structure information and only specific nodes are left. The specific nodes are designated areas such as cargo accumulation, loading and unloading areas, and waiting areas, or nodes in the vicinity thereof.
[0084] Figure 5 (B) indicates the road ID of each road, the node IDs at both ends of the road, and the standard time required to travel on each road. For example, the road ID of the road between nodes B and C is 1, the nodes at both ends of the road are B and C, and the standard time required to travel on the road is 180. The unit of time can be any unit.
[0085] The path planning unit 109 generates a path plan that specifies the order of passing through multiple designated areas that each mobile body should pass through, based on information related to the content of the predetermined operations that each mobile body should perform and the order of the operations, and stores the data of the generated path plan in the path plan storage unit 102. The method of generating the path plan can be arbitrary, but as an example, the fact that the driving distance of multiple mobile bodies traveling in opposite directions on the same driving road is short can be used as an evaluation criterion or a part of the evaluation criterion to generate the path plan for each mobile body. The path plan can also be a plan generated by an external device or a plan generated by a user. In this case, the path planning unit 109 obtains the path plan and stores it in the path plan storage unit 102. The path planning unit 109 can also receive the data of the path plan from an external device via the communication unit 110. The path planning unit 109 can also obtain the data of the path plan via an input device operated by the user.
[0086] The route plan storage unit 102 internally stores data of the route plan of each moving object.
[0087] exist Figure 6 An example of a path plan for a moving object is shown in (A). In this example, the moving object starts from Figure 4 Starting from the designated area L of (A), passing through K, I, G, E, C, and A, it goes to the designated area B. Then, passing through A, C, D, F, E, G, H, J, I, and K, it goes to the designated area M, and then passing through K, I, G, E, C, and A to go to the designated area B. In addition, passing through A, C, D, F, E, G, H, J, I, and K, it returns to the designated area L. Here, for the sake of convenience, the node ID is used to represent the designated area. In the case where the node corresponds to the intersection, the designated area using the node ID can also be internally interpreted as indicating the end of the driving road connected to the intersection represented by the node (before entering the intersection). For example, the designated area K following the designated area L is interpreted as referring to the end of the driving road LK just before entering the intersection represented by node K. Here, the driving road LK refers to the driving road between node L and node K. In the following description, the node ID is also used to represent the designated area, but in this case, it is also assumed to have the same meaning as the description made here.
[0088] The path in the above example includes a circular path that goes back and forth in a specified area. The path plan is a path plan for one moving body, and path plans are also prepared for other moving bodies. In addition, the path does not need to be circular. Each moving body can also travel on different driving roads for a long time.
[0089] In the case of a mobile object whose purpose is to transport cargo, a mobile robot that performs various operations while moving, etc., information on the operation may be added to a designated area where the operation is performed in the path plan.
[0090] Figure 6 (B) shows an example of a path plan in this case. In this example, information (Load) indicating that a loading operation of loading goods from a shelf is performed in designated areas L and M, and information (Unload) indicating that a cargo unloading operation is performed in designated area B are inserted. Here, Load indicates a loading operation, and UnLoad indicates an unloading operation. In addition, from the perspective of the mobile body, the direction of the shelf or the like of the work object when performing stacking operations, such as the left direction, the right direction, the front direction, or the oblique direction, can be predetermined or can be automatically detected by the mobile body through a sensor or the like.
[0091] The state storage unit 104 internally stores information indicating the state of each moving object and unique information of the moving object.
[0092] The status of the moving body includes the position information of the moving body, the remaining power of the battery carried by the moving body, whether the moving body holds goods (when the moving body is transporting goods), the type and quantity of goods being transported, etc. The position information includes the current position of the moving body (the most recently detected position) and the historical information of the positions that each moving body has passed so far. As described later, the information indicating the status of the moving body is obtained by the status detection unit 202 (described later) of the operation management device 200.
[0093] As inherent information of the mobile body, for example, specification information of the mobile body including standard speed, maximum speed, minimum speed, size of the mobile body, direction in which it can move, etc. In addition, it includes the rate of change of the standard speed corresponding to the remaining power of the battery (for example, the less the remaining power, the lower the standard speed). In addition, if the mobile body is used for the transportation of goods, it includes information on the operation time required for loading and unloading of goods (for example, the time required to stack or load and unload a predetermined number of goods). The information cited here is only an example, and other information may also be used.
[0094] The driving timing planning unit 105 generates a driving plan (driving timing plan) for multiple moving bodies that are the objects of the plan without changing the constraints of the path plan of each moving body so as to avoid competition (collision or stalemate). The driving timing plan is a plan that determines the timing of the departure, arrival and passage of the moving bodies for each designated area for multiple moving bodies. The driving timing plan includes multiple designated areas where multiple moving bodies depart, arrive and pass through, and the time when the multiple moving bodies arrive at each designated area or the time when they depart from each designated area. The driving plan is a collection of the respective driving plans (individual driving plans) of multiple moving bodies. As an example, an individual driving plan includes multiple designated areas where the moving body departs, arrives and passes through, and the time when the moving body arrives at each designated area or the time when it departs from each designated area. The driving timing plan may also include information such as the time each moving body stays in the designated area, the time each moving body moves between designated areas, etc.
[0095] As an example, the moving objects for which the travel timing plan is generated are all moving objects whose operation is managed by the operation management device 200. The travel timing planning unit 105 uses the route plans of the moving objects and the information of the moving objects (information indicating the state and unique information) to generate the travel timing plan.
[0096] The travel timing planning unit 105 generates a travel timing plan when generating an initial plan or when replanning is determined by the replanning determination unit 108. The travel timing plan is updated for a route portion after an update position determined for the moving body as described later.
[0097] Figure 7 An example of a travel timing plan generated by the travel timing planning unit 105 is shown. An example of a travel timing plan for three moving objects (AGV0, AGV1, and AGV2) is shown. The travel timing plan includes an individual travel plan for AGV0, an individual travel plan for AGV1, and an individual travel plan for AGV2.
[0098] "MOVE" is a command (movement command) to instruct movement, and has a movement time as an independent variable. For example, in the driving timing plan of AGV0, MOVE-K-I-37.0 means moving from the specified area K (the end of the driving road LK connected to the intersection represented by node K) to the specified area I (the end of the driving road KI connected to the intersection represented by node I) for 37 unit times. 37 unit times is the movement time specified as an independent variable.
[0099] "WAIT" is a command (wait command) that instructs the vehicle to wait in a designated area (in front of a node) at the destination of movement. For example, if there are consecutive commands such as MOVE-I-G-10.0 and WAIT-52.0, it means that when moving from designated area I to designated area G, the vehicle will wait in designated area G (in front of node G) for 52 unit times. Therefore, in this case, MOVE-I-G-10.0 means that the vehicle moves to designated area G in 10 unit times, waits there for 52 unit times, and then moves according to the next command (enters the intersection represented by node G, and further enters the next driving road). The waiting place does not have to be a designated area. The waiting place can be a location away from the intersection.
[0100] In this example, the path plan of the mobile body AGV0 specifies the following path: Figure 4 The vehicle starts from designated area L of (A), passes through other designated areas to designated area B, then passes through other designated areas to M, then passes through other designated areas to B, and returns to L through other designated areas.
[0101] The path plan of the mobile body AGV1 specifies the following driving path to be repeated twice: Figure 4 (A) starts from designated area B and passes through other designated areas to designated area M, and then passes through its designated areas again to return to designated area B.
[0102] The path plan of the mobile body AGV2 specifies the following path: Figure 4 The vehicle starts from designated area K of (A), goes to designated area B through other designated areas, goes to B again through other designated areas including designated area L, and returns to designated area K through other designated areas.
[0103] The driving timing planning unit 105 is provided with the path plans of AGV0, AGV1, and AGV2 (see Figure 6 ) under the condition of executing the search algorithm described below to generate Figure 7 The driving timing plan of the individual driving plans of AGV0, AGV1, and AGV2 shown in the figure. The driving timing plan includes, for example, time adjustment such as making the moving body wait in front of the intersection until other moving bodies pass, thereby adjusting the arrival time or departure time of each designated place of AGV0, AGV1, and AGV2. In this way, competition (collision or stalemate, etc.) is prevented.
[0104] The travel timing planning unit 105 may also assume that when calculating the travel time specified as an argument based on the MOVE command, the moving object moves at its standard speed. Figure 4The distance of each driving road in the driving road structure information can also be considered that the speed of the moving body changes from the standard speed according to the curvature or inclination of the driving road, such as Figure 5 In this case, the mobile body may also autonomously control the moving speed between the maximum speed and the minimum speed so that it can move within the standard time. In addition, sometimes the standard speed may be corrected by providing a rate of change of the standard speed corresponding to the remaining power of the battery. In addition, if the mobile body is used for the transportation of goods, the standard speed may be corrected to a faster value or a slower value during the transportation of goods. In addition, the standard time for traveling on each driving road may be corrected based on actual driving data. In this way, the driving timing planning unit 105 calculates the moving time so that the conditions related to the speed are met.
[0105] The driving timing planning unit 105 generates a driving timing plan for a mobile body for the purpose of transporting goods or a mobile robot for various operations including loading and unloading goods, by reflecting information on the operation time required for loading and unloading goods. Figure 6 As in (B)), the content of the work to be performed in the designated area is specified. In addition, the content of the work to be performed by the mobile body in the designated area can be predetermined based on the combination of the designated area and the type of the mobile body.
[0106] Figure 7 The example of the driving timing plan shown assumes that: in the designated areas M and L, loading of goods requires 40 units of time, and in the designated area B, unloading of goods requires 130 units of time. For the operation time of loading and unloading of goods, a value corresponding to the type, number or type of goods or the type of moving body is provided in advance. This value can be stored in the state storage unit 104 or assigned by the path plan. In addition, the operation time can also be corrected based on actual driving data. The command to instruct the moving body to perform an operation can also be associated with the designated area of the place where the operation is performed. The command to instruct the moving body can also be pre-embedded in the program code that causes the moving body to execute.
[0107] Figure 7 The format of the driving timing plan shown is a format in which the commands for the moving bodies are arranged, but this is only an example. The format of the driving timing plan is not particularly limited. For each moving body's route plan, a part of the designated area or all of the designated areas may be included in a format that can determine the time when the moving body should arrive and the time when it should depart.
[0108] The travel timing planning unit 105 generates an operation plan for each mobile body based on the travel timing plan and the route plan of each mobile body. The operation plan for each mobile body is an operation plan that sets information determining the time when the mobile body should arrive and the time when it should depart for a designated area of a part or all of the route plan of the mobile body.
[0109] The operation plan storage unit 103 internally stores the operation plan of each moving object.
[0110] exist Figure 8 Shown in Figure 7 Part of the operation plan of the mobile body (AGV0). Figure 6 The path plan gives Figure 7 The time information of AGV0. AGV0 departs from designated area L at time 0, arrives at designated area K at time 70, departs directly without stopping (i.e., passes designated area K at time 70), passes designated area I at time 107, arrives at designated area G at time 117, waits there for 52 units of time, and departs at time 169. Figure 8 The format of the operation plan shown is only an example, and the format is not particularly limited. For example, the operation plan may be an operation plan that associates only the plan portion of the travel timing plan for AGV0 (the individual travel plan for AGV0) with the route plan for AGV0.
[0111] The command unit (control unit) 107 transmits the movement instruction data of each moving body based on the driving timing plan to the operation management device 200 via the communication unit 110. The operation management device 200 receives the movement instruction data of each moving body from the communication unit 110 of the operation planning device 100 via the communication unit 201. The operation management device 200 transmits the operation instruction data of each moving body to each moving body via the communication unit 201. In this way, the command unit 107 controls the driving of each moving body by transmitting the movement instruction data of each moving body.
[0112] As a first example of the form of movement instruction data, there is a form that indicates information that can determine the arrival time and departure time of a part or all of the designated area on the route plan for each moving body. Figure 7 In the case of a driving timing plan, the plan itself is a column of commands, so it can also be used directly as movement instruction data. Alternatively, it is also possible to generate a sequence of commands with Figure 7 In the case of travel timing plans in different formats, a command string that can be interpreted by each moving body is generated based on the travel timing plan, and the command string is sent to each moving body as travel instruction data.
[0113] As a second example of the form of the movement instruction data, there is also a form in which the movement time for each travel road and the waiting time in each designated area are instructed to the moving body.
[0114] In either of the above two examples, each moving body controls its own travel according to the movement instruction data. The operation management device 200 may also repeatedly send to each moving body a command to instruct each moving body to depart from a designated area during standby and a command to designate a designated area where it should stop for standby. In this case, each moving body repeatedly receives and executes commands from the operation management device 200 as movement instruction data.
[0115] As a third example of the form of movement instruction data, it is also possible to determine the intersection that multiple moving bodies pass through on the path plan based on the travel timing plan, and instruct the multiple moving bodies on the order in which the multiple moving bodies pass through the intersection. In this case, the intersection can also be used as a designated area, and the order in which the multiple moving bodies pass through the designated area can be instructed. By making the multiple moving bodies strictly follow the passing order, even if the arrival time specified by the travel timing plan and the actual arrival time are staggered in front and back, it is possible to prevent the moving bodies from colliding with each other or stalemate. In addition, the passing order of the multiple moving bodies for the designated area can be calculated based on the travel timing plan.
[0116] The following is an example of the following command: Figure 7 The driving timing plan in instructs AGV0, AGV1, and AGV2 in the order and time (passing time) of passing through (arriving at) a designated area (recorded as designated area Ka) set at the intersection of node K.
[0117] AGV2 0
[0118] AGV0 70
[0119] AGV1 205
[0120] AGV1 453
[0121] AGV2 593
[0122] AGV2 773
[0123] AGV0 920
[0124] AGV0 1168
[0125] AGV1 1218
[0126] AGV1 1466
[0127] AGV2 1606
[0128] AGV0 1925
[0129] AGV2 passes through the designated area Ka first (at time 0), AGV0 passes through at time 70, and thereafter AGV1 passes through at time 205. The following explanation will be given in the same manner.
[0130] As a method for controlling the passing order of a designated area, there is a method in which the operation management device 200 manages the execution of movement commands. The operation management device 200 manages the execution of movement instruction data (execution of commands). For example, when the operation management device 200 estimates that AGV0 will arrive at a designated area that AGV2 needs to pass through first in order for AGV0 to arrive first, the operation management device 200 makes AGV0 wait in front of the designated area or at a position away from the designated area until AGV2 passes through. Alternatively, the speed of AGV0 is adjusted to delay the arrival time (passing time) of AGV0 in the designated area. Such control is performed by sending a standby command or a speed adjustment command (such as a deceleration command) to the mobile body.
[0131] As another example of the control method, the operation management device 200 detects and stores the identification information (ID) of the mobile body that has passed the designated area last via the state detection unit 202, and sends the ID to other mobile bodies. Based on the ID received from the operation management device 200, the other mobile body checks whether the mobile body that should have passed before the own mobile body has passed the designated area. For example, in the above command example
[0132] AGV0 70
[0133] AGV1 205
[0134] AGV1 453
[0135] In the case of , AGV1 first checks whether AGV0 has passed through the designated area Ka before passing through the designated area Ka based on the ID received from the operation management device 200. After confirming that AGV0 has passed through first, AGV1 passes through the designated area K. Then, after confirming that the moving body that passed through the designated area Ka just before (last) was itself, AGV0 passes through the designated area Ka again.
[0136] The replanning determination unit 108 compares the operation plan stored in the operation plan storage unit 103 with the state of the mobile body detected by the state detection unit 202, and determines whether replanning should be performed. Replanning means updating the operation plan, that is, updating at least the latter of the route plan and the driving timing plan. Updating the driving timing plan means updating at least one of the individual driving plans of multiple mobile bodies. The replanning determination unit 108 generates a replan trigger when it is determined that at least one mobile body cannot comply with the operation plan. In addition, when replanning is required due to external reasons such as new operations to be performed or goods to be transported, a replan trigger is also made. For replanning, as an example, all mobile bodies that are the subject of the plan become the subject. As a result of replanning, there may also be mobile bodies whose individual driving plans are not changed. Below, examples of failure to comply with the operation plan are represented as the first and second examples.
[0137] (First example) The time when each moving body arrives at a designated area (scheduled arrival time) or departs (scheduled departure time) in the driving timing plan is compared with the state of each moving body (current position of the moving body, the designated area where the moving body last passed or departed, etc.). And, when it is determined that the moving body cannot arrive before the scheduled arrival time, or the moving body is delayed by more than a threshold time relative to the scheduled arrival time, a re-planning trigger is generated. When making this judgment, various assumptions may be made, such as the moving body moving on the driving road at the maximum possible speed or moving at a standard speed.
[0138] As (the second example), the order in which each moving body passes through the designated area in the driving timing plan is compared with the current position of each moving body or the designated area that it passed or departed from the last time. In addition, a time point is determined when the moving body that should precede the designated area whose passing order is determined is more than a threshold time later than the scheduled arrival time, so that a re-plan trigger is generated. For example, when the moving body that should precede the moving body cannot catch up with the scheduled arrival time even if it moves at the maximum speed that can be driven on the driving road, it is determined that the delay is determined to be more than the threshold time.
[0139] When it is determined that re-planning is to be performed by the re-planning determination unit 108, the update position determination unit 106 determines the timing at which the operation plan should be updated for each mobile body. In the present embodiment, the operation plan of the mobile body is updated according to the timing when the mobile body reaches the update position. Therefore, the update position determination unit 106 determines the update position of each mobile body. The mobile body operates according to the operation plan before the update (the driving timing plan before the update) until it reaches the update position, and after arriving at the update position, it acts according to the updated operation plan (the driving timing plan after the update). The timing for updating the operation plan is not limited to the example determined by the update position, and can also be specified by time, for example.
[0140] As an example of updating the position, when each moving body can communicate with the operation management device 200 in real time, it can be any position (for example, considering the current position of the moving body or the time required for calculation, the position after moving a certain amount of time from the current position, etc.).
[0141] In the case where the moving body can only communicate with the operation management device 200 via the communication device 501 configured in the designated area or its vicinity, the position in the designated area or its vicinity is used as the update position. The communication device 501 may not be configured in the designated area or its vicinity, but the communication device 501 may be configured on the way of the driving road. The update position may also be any position as long as it is within the range that can communicate with the communication device 501. In the case where there is a possibility of hindering the driving of other moving bodies when the moving body stops during driving (for example, the possibility of colliding with a moving body coming from the rear), etc., the designated area where the moving body is currently heading or in front of it may also be used as the update position.
[0142] When the replanning determination unit 108 determines to perform replanning, the route planning unit 109 generates a route plan for each moving body with the updated position of each moving body as a starting point.
[0143] As an example, in the current path plan, the plan of the path portion after the updated position is directly used as the updated path plan. That is, the planned portion of the path shown in the path plan of the moving body that has not yet moved is used as the updated path plan. For example, in the current path plan of Figure 6 In the case of the path plan of (A), the current position of the moving body is the designated area E (before the intersection represented by node E), and the next moving destination is node C (before the intersection represented by node C). In this case, for the planned part of the path that the moving body has not yet moved (the updated path plan), the Figure 6 The first four nodes L, K, I, and G of (A) become as follows.
[0144] (Updated path plan)
[0145] 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,
[0146] Alternatively, as another example, when it is decided to re-plan by the re-planning determination unit 108, the path planning unit 109 may generate a path plan for each moving body by using the fact that the total distance of the driving roads (driving sections) on which multiple moving bodies travel in opposite directions at the same time is small as an evaluation criterion or part of the evaluation criterion.
[0147] Alternatively, when multiple available path plan options are provided in advance according to the current position of the mobile body and the work content that the mobile body should perform, a path plan can be selected from the multiple options based on the updated position of the mobile body and the remaining work content. In addition, a new path plan can also be generated by a pre-provided algorithm. The method for updating the path plan is not particularly limited, and an existing path planning method can also be used.
[0148] The travel timing planning unit 105 generates (updates) the travel timing plan again based on the updated route plan. The travel timing planning unit 105 generates a plurality of temporary travel plans (temporary travel timing plans) in which the timing is partially updated and the competition of the early part of the plan is eliminated. For each temporary travel timing plan, the evaluation value calculation unit 114 is used to obtain the evaluation value of the delay time based on the plurality of moving bodies. Based on the obtained evaluation value, a temporary travel timing plan is selected, and the following search process is performed: a new temporary travel timing plan is generated by changing the selected temporary travel timing plan after eliminating the competition. As an example, the evaluation value calculation unit 114 uses the sum of the delay time generated by the plurality of moving bodies in the updated part of the travel timing plan and the predicted value of the delay time generated after the update of the travel timing plan based on the temporary travel timing plan as the evaluation value. In this case, as an example, the temporary travel timing with the smallest evaluation value or below the threshold is selected.
[0149] The calculation example of the evaluation value is just an example, and the method is not limited to this method.
[0150] The predicted value of the delay time may be calculated by, for example, assuming that the vehicle is traveling without considering the competition between moving objects and considering that the delay is caused by a certain weight according to the travel distance, or by considering the slope of the path, etc. A power sum may be used instead of the sum. The travel timing planning unit 105 updates the travel timing plan according to the searched temporary travel timing plan.
[0151] As a method for calculating the evaluation value, the evaluation value calculation unit 114 calculates the evaluation value (e.g., delay time) according to the plan within the range of the temporary travel timing plan where competition is eliminated. There are a method of calculating the evaluation value using a predefined evaluation function for the range thereafter, and a method of calculating (i.e., predicting) the evaluation value based on the state feature quantities of a plurality of moving bodies in the temporary travel timing plan by the model generation unit 113 using a model generated based on data. The details of each will be described later.
[0152] In the above-mentioned search process, the travel timing planning unit 105 obtains a search log as data required for generating a model for each temporary travel timing plan, and stores the obtained search log in the search log storage unit 111. The search log is data (first data) including state feature quantities of a plurality of moving bodies in each temporary travel timing plan and actual values of evaluation values of a portion of the temporary travel timing plan after eliminating the above-mentioned competitive range.
[0153] Fig. 9 An example of a search log is shown. One row corresponds to one search log. The search log includes the current positions and remaining travel distances of the moving bodies 1 to 4 as state feature quantities of the moving bodies. The state feature quantity of the moving body is a feature quantity indicating the travel state of the moving body.
[0154] The moving bodies 1 to 4 do not need to be moving bodies with specific IDs, and the IDs and moving bodies may be associated in the same driving timing plan. If other 4 moving bodies are the objects of the driving timing plan in other past driving timing plans, the 4 moving bodies correspond to the moving bodies 1 to 4 respectively.
[0155] The state feature quantity of the mobile body may include information related to the cargo. The information related to the cargo may include, for example, the presence or absence of cargo held by the mobile body, the quantity, and the total number of cargo that has not yet been transported.
[0156] The current position can be the coordinates of the mobile body, the ID of the designated area where the mobile body is located, or the ID of the road where the mobile body is traveling. In addition, the current position can also be the identification information of the area when the mobile body's road network is divided into multiple areas. For the identification information of the area, use Fig.10 Provide explanation.
[0157] Fig.10 Indicates that it will Figure 2 This is an example in which the same travel road network is divided into four areas, areas 1 to 4. Fig. 9 Regions 1 to 4 correspond to Fig.10 Areas 1 to 4.
[0158] The remaining travel distance is the remaining travel distance from the current position in the route plan (the position to which each moving body is expected to travel after the contention is eliminated in the temporary travel timing plan).
[0159] In addition, the search log includes the calculated evaluation value and search depth. In the search process, the detection of competition between moving bodies when each moving body is traveling according to the plan from the initial state (driving timing plan before updating), the creation of a temporary driving timing plan to eliminate the competition whenever the competition is detected, and the detection of competition between moving bodies in the created temporary driving timing are performed. Then, the creation of a temporary driving timing plan to eliminate the competition and the detection of competition between moving bodies in the created temporary driving timing plan (search process) are repeated.
[0160] A search tree can be obtained in which the state branches in the depth direction according to the creation of the temporary driving timing plan from the initial state. The depth of the search is equivalent to the depth (level) of the search from the initial state of the search tree (refer to the following Fig.15 ), specifically, it is equivalent to the number of times competitive elimination has been performed.
[0161] The evaluation value in the search log records the actual value of the part predicted in the search determined after the search is completed. For example, the value obtained by summing up the time between the current position of the moving body in each state on the way of the completed driving timing plan (the expected position of each moving body after the movement of the moving body in the range of the elimination of competition in the temporary driving timing plan) and the final delay time of the driving timing plan (the total of the time adjustment for eliminating competition) is calculated, and the value obtained by summing up among multiple moving bodies is used.
[0162] When the search is completed, the remaining travel distance of the search log becomes zero. Sometimes the search ends midway due to time constraints, etc. In addition, the search log storage unit 111 may also store search logs obtained under multiple travel timing plans executed in the past.
[0163] As a result of the search process, the temporary travel timing plan with the highest evaluation is selected. According to the definition of the evaluation value, sometimes the larger the evaluation value, the higher the evaluation, and sometimes the smaller the evaluation value, the higher the evaluation. Fig.10In the example, the smaller the evaluation value, the higher the evaluation, but the evaluation value can also be defined as the larger the evaluation value, the higher the evaluation. During the period of calculation, the highest evaluation temporary driving timing plan is selected. It is also possible to select the temporary driving timing plan with the shallowest search depth when there are multiple temporary driving timing plans with the smallest evaluation values. The shallower the search depth, the fewer times the competition is eliminated. In addition, the temporary driving timing plan can be selected based on both the evaluation value and the search depth.
[0164] When the search process performed by the travel timing planning unit 105 is completed or in parallel with the search process, the search log storage unit 111 stores the evaluation values of each temporary travel timing corresponding to each state in the search tree in association with the state feature quantities of multiple moving bodies in each state and the search depth of each state.
[0165] The model generation unit 113 generates or updates a model that associates the state feature quantities and evaluation values of the plurality of mobile objects based on the data of the sets of the state feature quantities and evaluation values of the plurality of mobile objects stored in the search log storage unit 111. The model is a function or program that takes the state feature quantities of the plurality of mobile objects as input and outputs evaluation values.
[0166] For example, the model may also be a model that retrieves search logs similar to the state feature quantities of the provided multiple mobile bodies from the search log storage unit 111 and outputs the evaluation values contained in the found search logs. This method is called the neighborhood method. As input, not only the state feature quantities of multiple mobile bodies can be provided, but also the search depth can be provided. In addition, as other model examples, it may also be a model generated by machine learning such as a so-called neural network model or a decision tree. For example, if the model is a neural network, the parameters of the neural network are generated or updated.
[0167] The evaluation value calculation unit 114 calculates (predicts) the evaluation value based on the model generated by the model generation unit 113 and from the state feature quantities of the plurality of moving objects provided from the travel timing planning unit 105. Thus, the travel timing planning unit 105 can obtain the evaluation values of the provisional travel timing plans successively generated in the search process with high accuracy.
[0168] The driving timing planning unit 105 obtains the time information of each designated area based on the driving timing plan updated by the selected temporary driving timing plan, and assigns the obtained time information of each designated area to the updated route plan. Thus, the operation plan of each moving body is regenerated. The driving timing planning unit 105 updates the operation plan storage unit 103 according to the regenerated operation plan.
[0169] The command unit (control unit) 107 generates movement command data for each moving body based on the updated travel timing plan, and transmits the movement command data for each moving body to the operation management device 200. The operation management device 200 transmits the movement command data to each moving body when each moving body is at the updated position.
[0170] The operation management device 200 performs execution management for causing each moving body to travel and management of the state of each moving body in accordance with the movement instruction data of each moving body received from the operation planning device 100 .
[0171] The communication unit 201 of the operation management device 200 communicates with the moving objects 301_1 to 301_N and the operation planning device 100. The communication may be wireless or wired.
[0172] The state detection unit 202 of the operation management device 200 obtains information indicating the state of the mobile body using the communication device 501 or the sensor 401. The state detection unit 202 may also obtain information indicating the state of the mobile body using the communication unit 201. The state detection unit 202 transmits information indicating the state of each mobile body to the operation planning device 100 via the communication unit 201. The information indicating the state of each mobile body may also include the time when the state of each mobile body is detected.
[0173] The sensor 401 is a sensor for detecting the state of the moving object. The communication device 501 is a device for wirelessly communicating with the moving object at a distance closer than the communication unit 201. The sensor 401 and the communication device 501 are, for example, arranged at a specific place where the moving object may temporarily stop on the driving road. As an example, the specific place is a designated area or its vicinity.
[0174] As an example, sensor 401 is a roadside sensor such as a proximity sensor, a pressure sensor, or a photoelectric sensor. Sensor 401 detects the arrival, passage, direction, presence or absence of cargo of a moving body in a specific place. Sensor 401 may also be a camera installed on the ceiling of a facility. In this case, the camera is used to photograph the interior of the facility from a bird's-eye view of the ceiling. Communication device 501 is, for example, a device for communicating at a relatively close distance such as near-field wireless communication or infrared communication. Communication device 501 can wirelessly communicate with moving bodies within the communication range.
[0175] The sensor 401 transmits a signal indicating information detected from the moving object to the state detection unit 202. The communication device 501 transmits the information received from the moving object to the state detection unit 202.
[0176] The state detection unit 202 determines the state of the moving object based on the information received from the sensor 401 or the communication device 501. When the sensor 401 is a camera, the state detection unit 202 determines the position of each moving object based on the captured image. By using the sensor 401 or the communication device 501, the state of the moving object can be detected even when the moving object is in a place where it cannot communicate with the communication unit 201.
[0177] Examples of the status of moving bodies include the position of each moving body (current position), the time when each moving body passes through a designated area, the direction of travel of each moving body, whether each moving body holds cargo (when each moving body is transporting cargo), etc.
[0178] When the mobile body has a function of estimating its own position, the state detection unit 202 may obtain the position information estimated by the mobile body via the communication unit 201 or the communication device 501. Examples of estimating the own position include methods using dead reckoning, SLAM, GPS, and the like.
[0179] In addition, a mark for position detection such as a wireless tag or a barcode may be set at a place where the moving body may pass. As an example, the place is a designated area or its vicinity. In this case, the moving body detects the mark, and the moving body itself can detect the arrival or passage of the place. The moving body sends the detected information to the operation management device 200 via the communication unit 201 or the communication device 501.
[0180] Each moving body 301 receives the moving instruction data from the operation management device 200, and automatically drives on the driving road according to the moving instruction data. As a means of automatic driving, for example, Figure 2 As shown in FIG. 1 , there is a method in which a guide belt is attached to the floor in advance and the moving body travels along the guide belt. As another method, there is a method in which the moving body drives autonomously in a designated area by repeatedly correcting the position based on the marker and using SLAM (Simultaneous Localization And Mapping). It may also be a method other than the one described here.
[0181] Fig.11This is a flowchart of the overall operation of the operation planning system 1. It is assumed that a route plan for each mobile body is provided in advance, a travel timing plan is generated by the travel timing planning unit 105, and an operation plan is generated by assigning the time information of the travel timing plan to the route plan. Each mobile body is assumed to operate according to the movement instruction data based on the travel timing plan. In addition, supplementary explanations are appropriately added regarding the operation of the operation planning system 1 at the start of the operation (the travel timing plan has not yet been generated and each mobile body stops at the initial position).
[0182] exist Fig.11 In the process shown, the travel timing planning unit 105 generates or updates the model using the search log added to the search log storage unit 111 each time the travel timing plan is updated. In this example, the larger the evaluation value, the higher the evaluation. For example, the reciprocal of the sum of the delay times described above is used as the evaluation value.
[0183] The state detection unit 202 of the operation management device 200 detects the position and travel direction of each moving body (step 11). In addition, when the operation planning system 1 starts, it is sufficient to detect the initial position and direction of each moving body. In addition, in the case of a moving body that can rotate and move in all directions, the travel direction may not be detected.
[0184] The update position determination unit 106 determines the update position for updating the operation plan of each mobile body based on the current operation plan of each mobile body (step 12). In addition, when the operation plan system 1 starts to operate, the operation plan of each mobile body has not yet been generated, so the update position is set to the initial position of each mobile body.
[0185] The path planning unit 109 generates a path plan with the updated position as the starting point for each moving body, or selects and extracts a part of the pre-prepared path plan. The previous path plan is updated by the generated, selected, or extracted path plan (step 13). In addition, when the operation planning system 1 starts, a path plan with the initial position of each moving body as the starting point is generated, or a path plan is obtained from the outside.
[0186] If no route plan is generated for all mobile bodies (step 14: Yes), the process of this flowchart is terminated. For example, if there is no cargo to be transported or no work to be performed, no route plan is generated for the mobile body. If it is determined that the travel timing plan cannot be updated in time (for example, it is estimated that the operation of all current mobile bodies will be completed before the travel road timing plan is updated) or the route plan cannot be generated, the process can also be terminated.
[0187] When the route plan is updated (re-generated) for at least one moving body (step 14: No), the driving timing planning unit 105 generates or updates the driving timing plan by performing a search process based on the updated route plan of the moving body (step 15). After the generation or update process of the driving timing plan is completed, based on the result of the search process, the following search log is added to the search log storage unit 111, which associates the actual value of the evaluation value of the part predicted in the search (for example, the delay time) with the state feature quantity and search depth of multiple moving bodies (step 21). Before generating the model described later, the evaluation value is calculated using a pre-defined evaluation function. The driving timing planning unit 105 generates an operation plan by assigning the time information shown in the driving timing plan to the route plan. In addition, the moving body for which the route plan is not generated (for example, the moving body that has completed the operation) can be excluded from the object of the driving timing plan.
[0188] The model generation unit 113 generates or updates the model based on the search log stored in the search log storage unit 111 (step 21). When the model does not exist in the model storage unit 112, the model is generated, and when the model already exists, the model is updated. The accuracy of the model is calculated using the model and the search log. For example, the state feature quantities of multiple moving bodies in the search log are used as input, and the evaluation value is calculated (predicted) by the model. The difference between the predicted evaluation value and the evaluation value contained in the search log is calculated. If the average value of the difference is above the threshold, it is judged that the model has high accuracy. If it is less than the threshold, it is judged that the accuracy is low. In the case where the accuracy is judged to be high, in step 15 after the next time, the evaluation value is not calculated by a predefined evaluation function, but the evaluation value is calculated (predicted) using the model. In this case, step 21 is omitted.
[0189] Furthermore, even after the model is generated, the evaluation value may be calculated periodically in step 15 using a predefined evaluation function, and the search log may be added to the search log storage unit 111 in step 21 to update the model.
[0190] The instruction unit 107 generates movement instruction data for each moving body based on the travel timing plan of each moving body (step 16 ), and transmits the movement instruction data for each moving body to the operation management device 200 .
[0191] The operation management device 200 transmits the movement instruction data to each moving body using the communication unit 201 (step 17).
[0192] The state detection unit 202 of the operation management device 200 monitors the state of each moving body in real time via at least one of the communication unit 201, the sensor 401, and the communication device 501 (step 18). The state detection unit 202 sends information indicating the state of each moving body to the replanning determination unit 108 via the communication unit 201 (step 18).
[0193] The replanning determination unit 108 determines whether there is at least one moving body that cannot comply with the operation plan (or driving timing plan) based on the operation plan of each moving body and the state of each moving body (step 19). Alternatively, the replanning determination unit 108 determines whether replanning is necessary due to external reasons such as the occurrence of new work (step 19). When the replanning determination unit 108 determines to perform replanning, it generates a replanning trigger (step 19: yes).
[0194] When a re-plan trigger is generated (step 19: yes), the process returns to step 11. Furthermore, the route plans and travel timing plans of all mobile bodies (excluding those whose plan execution has been completed) are updated (steps 11 to 15). Furthermore, the movement instruction data based on the updated travel timing plan is sent to each mobile body again. In addition, each mobile body updates the movement instruction data received last time by using the received movement instruction data.
[0195] If a re-plan trigger is not generated (step 19: No), it is determined whether there is a moving body whose operation plan (or driving timing plan) has been completed. If there is a moving body whose operation plan has been completed (step 20: Yes), the process returns to step 11. If there is no moving body whose operation plan has been completed (step 20: No), the process returns to step 18. Steps 18 to 20 are repeated until a re-plan trigger is generated or a moving body whose operation plan has been completed is generated.
[0196] use Fig.12 , Fig.13 as well as Fig.14 ,right Fig.11 In this step, a driving timing plan is generated that ensures that the moving bodies do not collide or get stuck with each other even when there are multiple moving bodies traveling in opposite directions and / or at different speeds on the same driving road in each path plan. In the generation of the driving timing plan, it is assumed that the path plans of each moving body will not be changed.
[0197] Fig.12This is a flowchart of an example of processing performed by the travel timing planning unit 105. In this example, the larger the evaluation value, the higher the evaluation. For example, the reciprocal of the sum of the delay times described above is used as the evaluation value.
[0198] The travel timing planning unit 105 obtains the travel road structure information from the travel road structure storage unit 101 (see Figure 4 or Figure 5 ), and obtains the path plan data from the path plan storage unit 102 (step 21).
[0199] As an example, the driving timing planning unit 105 generates an individual driving plan that determines at least one of the time when each moving body arrives at a designated area or the time when it departs from a designated area based on the driving road structure information and the path plan of each moving body (step 22). The individual driving plans of the initial state of these moving bodies are collectively referred to as the driving timing plan of the initial state. As a method for generating the driving timing plan of the initial state, information related to at least one of the arrival time and the departure time of the designated area in the path plan is set for each moving body by an arbitrary method. For example, based on the standard speed of the moving body and the required time for the operation, the time of arrival or departure for each designated area is calculated, and the information of the calculated time is set. In the case of having a condition related to the speed of the moving body traveling on each driving road (such as a speed pattern), the condition related to the speed is satisfied. Alternatively, a part of the driving timing plan generated previously (the part after the updated position) may be directly used.
[0200] The driving timing planning unit 105 detects the pair of two moving bodies that first compete with each other in the time direction and the arc (driving road) that competes with each other based on the driving timing plan in the initial state (detection processing) (step 23). As an example, in the driving timing plan in the initial state, the time when the competition first occurs is determined for all combinations of two individual driving plans. The earliest time in time is selected from the determined times, and the pair of two moving bodies that compete with each other at the selected time and the arc (driving road) that competes with each other are detected.
[0201] Fig.13 (A) is a diagram for explaining an example of competition when two moving bodies (set as moving body 1 and moving body 2) travel on a simple road network. Here, it is assumed that the path plan of moving body 1 and the path plan of moving body 2 determine that moving body 1 moves back and forth between node C and node E, and moving body 2 moves back and forth between node F and node D.
[0202] In the travel path (section AB) between nodes AB, the moving bodies 1 and 2 travel in opposite directions. If the moving bodies 1 and 2 continue to travel in this way, a stalemate will occur if they cannot travel backward on the travel path. Even if at least one of the moving bodies 1 and 2 can travel backward, a significant decrease in efficiency will occur due to stopping and traveling backward to avoid a collision.
[0203] Fig.13 (B) shows a diagram showing the movement trajectories of the moving bodies 1 and 2 along time based on the driving timing plan of the initial states of the moving bodies 1 and 2. The dotted line diagram is the diagram of the moving body 1, and the solid line diagram is the diagram of the moving body 2. By checking the intersection of the movement trajectories for each driving road (section), it is possible to check whether there is a contention. In this example, the movement trajectories of the moving bodies 1 and 2 intersect at point 801 between the sections AB. Therefore, it is possible to detect that the moving bodies 1 and 2 are competing in the section AB.
[0204] Fig.14 (A) is a diagram for explaining another example of competition (collision) when two moving bodies (assuming moving body 1 and moving body 2) are traveling. Here, it is assumed that the path plan of moving body 1 and the path plan of moving body 2 determine that moving body 1 is scheduled to reciprocate between node E and node C, and moving body 2 is scheduled to reciprocate between node F and node D.
[0205] The moving bodies 1 and 2 are traveling in the same direction in section AB. Since the driving road structure does not allow overtaking between sections AB, if the moving speeds of the moving bodies 1 and 2 are different, a rear-end collision or a temporary stop may occur in section AB. Repeated temporary stops to prevent rear-end collisions and re-driving will reduce driving efficiency.
[0206] Fig.14 (B) shows a diagram showing the moving trajectories of moving body 1 and moving body 2 along time based on the driving timing plan (initial state) of moving body 1 and moving body 2. The diagram of the dotted line is the diagram of moving body 1, and the diagram of the solid line is the diagram of moving body 2. Moving body 2 starts later than moving body 1, and the speed of moving body 2 is higher than the speed of moving body 1, and moving body 2 collides with moving body 1 from the rear. The moving trajectories of moving body 1 and moving body 2 intersect at point 802, and collide at the position corresponding to point 802. In this way, it is possible to detect that moving body 1 and moving body 2 compete with each other in section AB.
[0207] In the case where a mobile body pair causing competition can be detected in step 23 (step 24: No), multiple countermeasures or at least one countermeasure to avoid competition are determined for the arc causing competition (competition arc). For example, by performing an operation to make one of the mobile bodies in the mobile body pair wait on the arc (driving road) or designated area on the upstream side of the competition arc, the corresponding competition can be avoided. In this case, it can be said that there are two countermeasures. Thus, with respect to each countermeasure, at least one of the individual driving plans of the two mobile bodies causing competition is changed. A collection of individual driving plans of multiple mobile bodies after the individual driving plan of at least one of the two mobile bodies is changed is generated as a temporary driving timing plan (update processing) (step 25). In addition, the changed individual driving plan can also be referred to as a temporary individual driving plan.
[0208] For example, in the case where there are a plurality of mobile bodies 1 to H (H is an integer greater than or equal to 2) and mobile body 2 competes with mobile body 1, there are two countermeasures: a countermeasure for making mobile body 1 standby and a countermeasure for making mobile body 2 standby. In this case, the individual driving plan of at least one of the individual driving plans of the mobile bodies 1 to H is changed according to each countermeasure. A temporary driving timing plan is generated, which includes the individual driving plans of the mobile bodies 1 to H after the individual driving plan of at least one of the mobile bodies 1 and 2 is changed. Thus, a temporary driving timing plan is generated according to each countermeasure. That is, two temporary driving timing plans are obtained from one driving timing plan (or temporary driving timing plan).
[0209] The temporary travel timing plan is referred to as a “travel timing plan in a changed state.” The travel timing plan at the start of the process of this flowchart is referred to as an “travel timing plan in an initial state.”
[0210] exist Fig.13 (C) shows an example of the operation of avoiding contention in step 25. Fig.13 (C) represents the following example: In order to avoid Fig.13 The competition at point 801 detected in (B) is avoided by the moving body 1 waiting on the arc CA upstream of the arc (driving road) AB or adjusting the speed (slowing down). Fig.13 Another method of avoiding the competition detected in (B) is that the moving body 2 waits on the driving road FB upstream of the driving road BA or adjusts the speed (slows down). By performing such an operation to avoid competition, the moving trajectories of the moving bodies 1 and 2 do not intersect on the driving road AB. In this way, competition can be avoided.
[0211] exist Fig.14 (C) and Fig.14(D) shows another example of operation to avoid contention in step 25. Fig.14 (C) represents the following example: In order to avoid Fig.14 The competition at point 802 detected in (B) is avoided by the mobile body 1 waiting on the traveling road EB which is the upstream of the traveling road BA. Fig.14 (D) shows an example in which contention is avoided by the mobile body 2 waiting on the travel road FB which is upstream of BA.
[0212] The travel timing planning unit 105 uses the evaluation value calculation unit 114 to calculate (predict) the evaluation value based on the model for each temporary travel timing plan (travel timing plan of changed state) (calculation processing). In the case where the model has not yet been generated, the evaluation value is calculated by a predefined evaluation function, which will be described later. The travel timing planning unit 105 adds each temporary travel timing plan (travel timing plan of changed state) and each evaluation value to the search list in association with each other (step 26). The search list is a list that temporarily holds a plurality of temporary travel timing plans (travel timing plans of changed state) being processed.
[0213] The travel timing planning unit 105 arranges the temporary travel timing plans (travel timing plans with changed status) in the search list in descending order of evaluation value (step 27). The travel timing planning unit 105 extracts the temporary travel timing plan (travel timing plan with changed status) at the head of the search list as the object to be searched next (selection processing) (step 27).
[0214] The driving timing planning unit 105 determines whether the operation time falls within the predetermined time limit or whether the number of repetitions falls within the prescribed number of times (step 28). The number of repetitions can be an arbitrary range of the flowchart. For example, the number of repetitions of steps 23 to 28. If the operation time is within the time limit or the number of repetitions is within the prescribed number of times (step 28: yes), then return to step 23. In step 23, the temporary driving timing plan (driving timing plan of the changed state) extracted in step 27 is newly regarded as the driving timing plan of the initial state, and then the detection processing is performed (the first detection of the competing arc and the competing moving body pair. The competition detected last time or before has been eliminated).
[0215] If it is determined in step 23 that the temporary driving timing plan (driving timing plan in a changed state) that is newly regarded as the driving timing plan in the initial state does not compete (step 24: Yes), it is regarded as a candidate of the driving timing plan to be output. Therefore, the temporary driving timing plan (driving timing plan in a changed state) is regarded as a candidate of the driving timing plan, and is moved from the search list to the solution list together with its evaluation value (step 31). The solution list is a list that temporarily holds the candidates of the driving timing plan to be output.
[0216] The travel timing planning unit 105 arranges the solution list in the order of evaluation values (step 32 ).
[0217] The travel timing plan unit 105 extracts the temporary travel timing plan (the travel timing plan in the changed state) at the head of the search list as the next processing target (step 33 ), regards it as the travel timing plan in the initial state, and returns to step 23 .
[0218] When the operation time exceeds the time limit, or the number of repetitions exceeds the prescribed number of times (step 28: No), the driving timing plan unit 105 checks whether there is at least one candidate driving timing plan in the solution list (step 29). When the solution list is not empty (step 29: No), the candidate driving timing plan at the beginning of the solution list is output as a solution. That is, the set of individual driving plans (temporary individual driving plans) of each moving body included in the candidate is output as an updated driving timing plan (step 30). The solution list is arranged in descending order of evaluation value, so the candidate at the beginning of the solution list is the candidate with the highest evaluation.
[0219] On the other hand, when the solution list is empty (step 29: yes), the driving timing planning unit 105 extracts the temporary driving timing plan (driving timing plan of changed state) at the head of the search list as a solution (step 34). In the extracted temporary individual driving plan of each mobile body of the solution, the range of time in which the competition is eliminated (the plan part completed to the middle) is determined, and the plan part including the determined range is output as the driving timing plan of the individual driving plan of each mobile body (step 35).
[0220] exist Fig.15 Indicated in Fig.12 1 is an example of a search tree in the search process of the travel timing planning unit of the flowchart. Fig.15 The top initial state is Fig.13 The state corresponding to the driving timing plan shown in (B) (but the scale is changed).
[0221] For the driving path (competition arc) where driving in opposite directions occurs, there are two modes of countermeasures to avoid competition: one is to make the moving body 1 wait, and the other is to make the moving body 2 wait. Depending on which moving body is to wait to avoid competition, the time when competition will occur next and the driving path where competition will occur will also change. Fig.12 In step 25, when an operation is performed to give priority to the moving body 2 (an operation to put the moving body 1 on standby), a driving timing plan of a changed state 1 (temporary driving timing plan 1) is obtained, and when an operation is performed to give priority to the moving body 1 (an operation to put the moving body 2 on standby), a driving timing plan of a changed state 2 (temporary driving timing plan 2) is obtained. In addition, the blank arrows in the figure indicate the changed parts of the illustration.
[0222] The evaluation values are obtained for the driving timing plan of the change state 1 and the driving timing plan of the change state 2, respectively, and the driving timing plan of the change state 1 and the driving timing plan of the change state 2 are stored in the search list ( Fig.12 The search list is sorted in descending order of evaluation value, and the evaluation value of the driving timing plan of the change state 1 is large, so the driving timing plan of the change state 1 is selected ( Fig.12 Step 27).
[0223] The travel timing plan of the change state 1 is regarded as the travel timing plan of the initial state, and the search is continued in a recursive manner ( Fig.12 Step 23). Depending on which of the moving body 2 and the moving body 1 is given priority, the driving timing plan of the change state 3 (temporary driving timing plan 3) and the driving timing plan of the change state 4 (temporary driving timing plan 3) are obtained. Evaluation values are obtained for the driving timing plan of the change state 3 and the driving timing plan of the change state 4. The driving timing plan of the change state 3 and the driving timing plan of the change state 4 are stored in the search list ( Fig.12 Step 26).
[0224] In the search list, at this point in time, the driving timing plan of change state 2, the driving timing plan of change state 3, and the driving timing plan of change state 4 are saved together with their respective evaluation values. The driving timing plan with the largest evaluation value is selected and regarded as the timing plan set of the initial state, and the processing is continued in a recursive manner (step 23).
[0225] In this way, Fig.12 In the search algorithm, combinations of competition avoidance strategies are searched sequentially. When there are many mobile bodies and / or many competition arcs, the number of combinations of competition avoidance strategies is huge, and it is generally difficult to generate a plan in real time. Fig.12In the search algorithm, an evaluation function or model is used to predict the evaluation value of the driving timing plan of the changed state to be investigated next, and the search is preferentially performed from the driving timing plan with a high evaluation value. This makes it possible to achieve efficient search.
[0226] At this time, by applying a search method called an exploratory optimal solution search algorithm (A search), a highly evaluated travel timing plan can be obtained in a short time. In the A search, the evaluation value is calculated based on the sum of the evaluation value calculated for the updated part of the searched en route state and the predicted value of the evaluation value generated for the unupdated part. For example, the evaluation value is calculated based on the sum of the predicted values of the delay time corresponding to the path (searched path) that has eliminated competition in the target travel timing plan and the delay time assumed when the remaining path (unsearched path) is assumed to be, for example, completely free of competition. Alternatively, the evaluation value is calculated based on the delay time assumed when the unsearched path is assumed to be, for example, completely free of competition.
[0227] In the present embodiment, it is sufficiently estimated that the evaluation value predicted for the unsearched route can be acquired with high accuracy and high speed using the model, and the search efficiency is improved.
[0228] exist Fig.12In the description of the flowchart of , the evaluation value is calculated (predicted) using the model in step S26, but when the model has not yet been generated, or when the model is updated in parallel even if the model has been generated, the evaluation value is calculated by the evaluation function. At this time, the delay time (deemed as delay time X) caused by the time adjustment due to the elimination of competition is calculated based on the temporary travel timing plan (set as temporary travel timing plan A), and the delay time (set as delay time Y) is predicted by assuming that delays are generated at a certain ratio according to the remaining travel distance in the unsearched path. And, the evaluation value is calculated based on the sum of delay time X and delay time Y. And, it is assumed that in the subsequent processing, the temporary travel timing plan A is selected, the operation of eliminating competition is performed, and a new temporary travel timing plan (temporary travel timing plan B) is generated. That is, it is assumed that: as a child node of temporary travel timing plan A, temporary travel timing plan B is generated. Regarding temporary travel timing plan B, the evaluation value is calculated in the same way as temporary travel timing plan A. At this time, regarding the above-mentioned delay time Y predicted in the temporary travel timing plan A, the evaluation value of the temporary travel timing plan A is updated by replacing it with the delay time (set as delay time Z) of the evaluation value calculated for the temporary travel timing plan B. That is, the evaluation value is calculated based on the sum of the delay time X and the delay time Z, and the evaluation value of the temporary travel timing plan A is updated by the calculated evaluation value. In this way, the evaluation value of the temporary travel timing plan A can be an evaluation value with higher accuracy. In this way, the evaluation value is updated every time a search is performed, and the evaluation value at the time point when the search process is finally completed is used as the evaluation value of the search log. The method for calculating the evaluation value described in this paragraph is an example, and other methods may also be used.
[0229] Here, the aforementioned Fig.11 The processing of step 21 is supplemented with explanation. In the search processing of the driving timing planning unit 105 (refer to Fig.12 ) at the end, for example, Fig.15 In such a search tree, each change state of the search tree is traced back from the final change state (change state 4) to the initial state. The evaluation value in each change state (for example, the actual value of the sum of the delay time caused by the time adjustment after the change state), the state feature values of multiple moving bodies in each change state, and each search depth are grouped as multiple search logs, and the multiple search logs are stored in the search log storage unit 111. For example, in Fig.15In the example of , a search log is stored that includes the state feature quantities of multiple moving bodies in change state 1, the sum of delay times caused by time adjustments during the period from change state 1 to the next change state 4, and the search depth of change state 1 (=1) as a group. In addition, there is a search log that includes the state feature quantities of multiple moving bodies in the initial state, the sum of delay times caused by time adjustments during the period from the initial state to change state 1 to change state 4, and the search depth in the initial state (=0) as a group. In the case where the search log storage unit 111 stores search logs made for past driving timing plans, the current search log can be appended to the past search log, or the current search log can be appended after discarding part of the past search log.
[0230] As described above, according to this embodiment, it is possible to quickly formulate operation plans for multiple mobile bodies by avoiding competition such as stalemate or collision. Even if a new mobile body is introduced, the operation mode of the mobile body, or the movement route of the mobile body changes, the mobile body group can be driven without reducing the driving efficiency.
[0231] (Hardware Structure)
[0232] exist Fig.16 Indicated in Figure 1 The hardware structure of the operation planning device 100. Figure 1 The operation planning device 100 is composed of 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 components are connected to each other via a bus 607. Figure 1 The operation management device 200 is also composed of Fig.16 The same hardware structure is implemented.
[0233] The CPU (central processing unit) 601 executes a driving control program as a computer program on the main storage device 605. The driving control program is a program that realizes the above-mentioned functional structures of the operation planning device 100. The driving control program may not be a single program, but may be realized by a combination of multiple programs and scripts. The CPU 601 executes the driving control program to realize the functional structures.
[0234] 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 .
[0235] The display device 603 displays data output from the operation planning device 100. The display device 603 is, for example, an LCD (liquid crystal display), an organic electroluminescent display, a CRT (cathode ray tube) or a PDP (plasma display), but is not limited thereto. The data output from the computer device 600 can be displayed on the display device 603.
[0236] The communication device 604 is a circuit for the operation planning device 100 to communicate with an external device wirelessly or by 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 and the external storage device 606.
[0237] The main storage device 605 stores the travel control program, data required for executing the travel control program, data generated by executing the travel control program, etc. The travel control program is expanded on the main storage device 605 and executed. The main storage device 605 is, for example, RAM, DRAM, or SRAM, but is not limited thereto. Figure 1 The storage units can also be constructed on the main storage device 605.
[0238] The external storage device 606 stores the travel control program, data required for the execution of the travel control program, data generated by the execution of the travel control program, etc. These travel control programs and data are read to the main storage device 605 when the travel control program is executed. The external storage device 606 is, for example, a hard disk, an optical disk, a flash memory, and a magnetic tape, but is not limited thereto. Figure 1 Each storage unit or database may also be constructed on the external storage device 606 .
[0239] The travel control program may be pre-installed in the computer device 600 or stored in a storage medium such as a CD-ROM. The travel control program may also be uploaded to the Internet.
[0240] 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.
[0241] (Second embodiment)
[0242] Fig.17 An example of the overall system configuration including the operation planning system according to the second embodiment is shown. Figure 1 The search log storage unit 111 is replaced by the driving log storage unit 115. Figure 1 The same reference numerals are used to denote blocks with the same names, and descriptions thereof will be omitted as appropriate except for expanded or modified processing.
[0243] The driving timing planning unit 105 generates data (second data) in which the state feature quantities of the plurality of moving bodies in each change state and the search depth of each change state are grouped as a driving log. The driving timing planning unit 105 stores the generated driving log in the driving log storage unit 115. When the driving log generated for the past driving timing plan is stored in the driving log storage unit 115, the current driving log may be added to the past driving log, or the current driving log may be added after a part of the past driving log is discarded.
[0244] The evaluation value (second evaluation value) of the driving log is calculated (measured) based on the actual driving result, and is added to the driving log as the evaluation value (second evaluation value) corresponding to the state feature quantity of each moving body. The format of the driving log is the same as the search log of the first embodiment, so the illustration of the search log is omitted.
[0245] The travel log storage unit 115 stores the travel log generated by the travel timing planning unit 105 .
[0246] The model generation unit 113 generates a model based on the travel log stored in the travel log storage unit 115. Specifically, as in the first embodiment, a model is generated for predicting evaluation values based on state feature quantities of a plurality of moving objects. The types of models are the same as in the first embodiment, and therefore, description thereof is omitted.
[0247] Fig.18 1 is a flowchart of the overall operation of the operation planning system 1 according to the second embodiment. Fig.11 The difference of the flowchart is that step 21 after step 15 is deleted, and step 22 is added after step 20 is "yes".
[0248] In step 22, the driving timing planning unit 105 adds the driving log of the mobile body that has completed the operation to the driving log storage unit 115, and the model generation unit 113 generates or updates the model based on the driving log stored in the driving log storage unit 115. When the model does not exist in the model storage unit 112, the model is generated, and when the model already exists, the model is updated. The accuracy of the model is calculated using the model and the driving log. For example, the state feature quantities of multiple mobile bodies in the driving log are used as input, and the evaluation value is calculated (predicted) by the model. The difference between the predicted evaluation value and the evaluation value (second evaluation value) included in the driving log is calculated. If the average value of the difference is greater than the threshold, it is determined that the accuracy of the model is high, and if it is less than the threshold, it is determined that the accuracy is low. In the case of determining that the accuracy is high, the model is used to predict the evaluation value in the next step 15. The model generation unit 113 may also notify the driving timing planning unit 105 of information on whether a high-accuracy model has been obtained. In the case of using the model to predict the evaluation value, step 21 may be omitted or executed.
[0249] In addition, before the model is generated in step 15, the evaluation value of each change state (temporary driving timing plan) is calculated by a predefined evaluation function as in the first embodiment, and the temporary driving timing plan is selected based on the evaluation value. And the driving timing plan is updated based on the selected temporary driving timing plan. The evaluation value (second evaluation value) based on the actual driving condition is calculated independently of the calculation of the evaluation value in the search process.
[0250] After obtaining a highly accurate model, the evaluation value based on the actual driving situation may be calculated periodically in step 15 , the driving log may be added to the driving log storage unit 115 , and the model may be updated in step 22 .
[0251] According to the present embodiment, by using the evaluation value (second evaluation value) calculated based on the actual driving situation to generate a model, it is possible to predict the evaluation value with high accuracy.
[0252] (Third embodiment)
[0253] The third embodiment is a combination of the first embodiment and the second embodiment.
[0254] exist Fig.19 An example of the overall system configuration of the operation planning system according to the third embodiment is shown in FIG. Figure 1The operation planning system of the present invention adds a driving log storage unit 115. The model generation unit 113 generates or updates the model using the search log of the search log storage unit 111 and the driving log of the driving log storage unit 115. The search log and the driving log may also be stored in one storage unit. By using the logs of both parties, it is possible to learn a model with high accuracy.
[0255] Fig. 20 3 is a flowchart of the overall operation of the operation planning system 1 according to the third embodiment. Fig.11 After the step 20 in the flowchart is "Yes", a step 22 is added. The processing of step 22 is the same as that of the second embodiment. Fig. 20 The details of the processing shown are clear from the description of the first embodiment and the second embodiment, and therefore the description thereof is omitted.
[0256] (Fourth embodiment)
[0257] exist Fig.21 An example of the overall system configuration of the operation planning system according to the fourth embodiment is shown in FIG. Each mobile body includes a path planning unit 309 and a path plan storage unit 302, and the operation planning device 100 does not include a path planning unit. The path planning unit 309 has Figure 1 The fourth embodiment is an embodiment in which a part of the third embodiment is changed, but the first embodiment or the second embodiment may be changed in the same manner.
[0258] The path planning unit 309 of each mobile body independently determines the path plan and stores the path plan in the path plan storage unit 302. In addition, each mobile body sends the path plan data to the operation planning device 100 via the communication unit 211 of the operation management device 210 or the communication device 501. The operation planning device 100 stores the path plan of each mobile body in the path plan storage unit 102. It is also possible that each mobile body does not have a path planning unit 309, and the path of each mobile body is pre-stored in the path plan storage unit 302 of each mobile body.
[0259] In the fourth embodiment, each mobile body is an autonomous mobile robot equipped with SLAM, an automatically driven car, an engineering machine, etc., and it is assumed that each mobile body travels on a driving road under the management of the operation planning device 100 and the operation management device 200. It is assumed that the path plan of each mobile body is predetermined, or each mobile body autonomously determines the path plan, so that the path plan of each mobile body cannot be freely changed on the side of the operation planning device 100 and the operation management device 200. In such a case, it is also possible to ensure that the driving does not cause collision or stalemate by appropriately generating a driving timing plan with the operation planning device 100 and indicating the movement instruction data to each mobile body. If it is impossible to generate a driving timing plan that does not cause collision or stalemate, the operation planning device 100 may also send a change request for the path plan to each mobile body via the operation management device 200.
[0260] (Fifth embodiment)
[0261] Fig. 22 An example of the overall system structure of the operation planning system according to the fifth embodiment is shown. In this embodiment, the basic functional units are the same as those of the first to fourth embodiments, but at least one mobile body has a function equivalent to the operation planning device (or operation planning system). The other mobile bodies have a path planning unit 309, a path plan storage unit 302, and a communication unit 310. The communication unit 310 performs wireless communication with other mobile bodies.
[0262] One of the mobile bodies having a function equivalent to the operation planning device becomes the master mobile body (master). The figure shows an example in which mobile body 301_X becomes the master mobile body. For example, the master mobile body may be determined by mutual negotiation between mobile bodies having a function equivalent to the operation planning device. Alternatively, the master mobile body may be determined according to a predetermined priority. For example, the mobile body with the highest performance or the mobile body with the largest remaining battery may become the master mobile body. The master mobile body may also be determined by other methods.
[0263] After the path planning unit 309 of the mobile body other than the mobile body 301_X autonomously determines the path plan, it sends the path plan to the mobile body 301_X that becomes the main mobile body. Alternatively, the path plan may be stored in advance in the path plan storage unit 302. In this case, the path planning unit 309 does not generate the path plan itself, but reads the path plan data in the path plan storage unit 302 and sends it to the main mobile body.
[0264] The moving body 301_X that becomes the main moving body generally generates a driving timing plan including individual driving plans of multiple moving bodies, including the moving body 301_X that becomes the main moving body. The main moving body generates the driving timing plan so as not to change the path plan of each moving body. The moving body 301_X sends movement instruction data based on the driving timing plan to each moving body. Each moving body controls driving based on the movement instruction data. As a result, collision or stalemate will not occur, and efficient driving can be achieved as a whole.
[0265] The moving bodies other than the moving body 301_X may not include the path planning unit 309 and the path planning storage unit 302. In this case, the moving bodies other than the moving body 301_X perform the same operation as the moving bodies that can communicate with the communication unit 201 of the operation management device 200 in the first embodiment.
[0266] In the fifth embodiment, each moving body detects the information detected by the state detection unit 202 in the first embodiment or the fourth embodiment, and transmits the information to the operation planning device 100 via the communication unit 310 .
[0267] In the fifth embodiment, each mobile body is an autonomous mobile robot, an automatically driven car, an engineering machine, etc. equipped with SLAM, and it is envisioned that the mobile body travels on a driving road network with a structure where driving in the opposite direction or overtaking occurs on a single-line driving road. It is envisioned that the path plan of each mobile body is predetermined, or each mobile body determines the path plan in an autonomous manner, so that others cannot freely change the path plan. In such a case, it is also possible to appropriately generate a driving timing plan by the mobile body that becomes the main mobile body, and instruct each mobile body to maintain driving without collision or stalemate. If it is impossible to generate a driving timing plan that does not cause collision or stalemate, the mobile body that becomes the main mobile body can also send a request to change the path plan to other mobile bodies.
[0268] [Technical solution 1]
[0269] A driving control device, comprising:
[0270] a control unit that controls the travel of the plurality of moving bodies based on the travel plans of the plurality of moving bodies;
[0271] a planning unit that changes a part of the driving plan to generate a plurality of temporary driving plans;
[0272] an evaluation value calculation unit that calculates an evaluation value of the temporary travel plan based on the state feature quantities of the plurality of mobile bodies in the temporary travel plan; and
[0273] A model that associates state feature quantities and evaluation values of a plurality of moving objects,
[0274] The evaluation value calculation unit calculates the evaluation value based on the model and the state feature quantities of the plurality of mobile bodies in the provisional travel plan.
[0275] The planning unit performs a search operation that repeatedly performs a process of selecting a temporary driving plan from among the plurality of temporary driving plans based on the plurality of evaluation values and updating the driving plan using the selected temporary driving plan.
[0276] [Technical Solution 2]
[0277] According to the driving control device described in technical solution 1,
[0278] The planning unit calculates delay times of the plurality of moving objects that occur in the provisional travel plan, and calculates the evaluation value based on a sum of the delay times of the plurality of moving objects.
[0279] The travel control device includes a model generation unit that acquires first data including state feature quantities of the plurality of moving objects in the provisional travel plan and the calculated evaluation values, and generates the model based on a plurality of the first data.
[0280] [Technical Solution 3]
[0281] According to the driving control device described in technical solution 2,
[0282] The planning unit calculates the evaluation value based on the total of the delay times of the plurality of moving objects generated in the driving plan before updating and the delay times of the plurality of moving objects generated in the temporary driving plan.
[0283] [Technical Solution 4]
[0284] According to the driving control device described in technical solution 1,
[0285] The evaluation value calculation unit calculates the evaluation value based on the delay time according to the actual driving conditions of the plurality of moving bodies after the plurality of moving bodies have completed driving.
[0286] The travel control device includes a model generation unit that acquires second data including state feature quantities of the plurality of mobile bodies in the provisional travel plan and the calculated evaluation values, and generates the model based on a plurality of second data.
[0287] [Technical Solution 5]
[0288] The travel control device according to any one of technical solutions 1 to 4,
[0289] The state feature quantities of the plurality of moving bodies include at least one of position information of the plurality of moving bodies, remaining travel distances of the plurality of moving bodies, and information on cargoes transported by the plurality of moving bodies.
[0290] [Technical Solution 6]
[0291] A driving control method, comprising:
[0292] Controlling the travel of the plurality of moving bodies based on the travel plans of the plurality of moving bodies,
[0293] A part of the driving plan is changed to generate a plurality of temporary driving plans,
[0294] calculating an evaluation value of the temporary travel plan based on a model that associates the state feature quantities of the plurality of mobile bodies with the evaluation values, according to the state feature quantities of the plurality of mobile bodies in the temporary travel plan;
[0295] selecting a temporary driving plan from the plurality of temporary driving plans based on the plurality of evaluation values, updating the driving plan using the selected temporary driving plan,
[0296] calculating an evaluation value of the provisional travel plan based on an evaluation function different from the model or the actual travel conditions of the plurality of mobile bodies,
[0297] generating data in which the state feature quantities of the plurality of moving objects are associated with the evaluation values calculated based on the evaluation function or the actual driving conditions,
[0298] The model is updated based on the data.
[0299] [Technical Solution 7]
[0300] A computer program that causes a computer to:
[0301] A step of controlling the travel of the plurality of moving bodies based on the travel plans of the plurality of moving bodies;
[0302] a step of changing a part of the driving plan to generate a plurality of temporary driving plans;
[0303] A step of calculating an evaluation value of the temporary travel plan based on a model that associates the state feature quantities of the plurality of mobile bodies with evaluation values, according to the state feature quantities of the plurality of mobile bodies in the temporary travel plan;
[0304] A step of selecting a temporary driving plan from the plurality of temporary driving plans based on the plurality of evaluation values, and updating the driving plan using the selected temporary driving plan;
[0305] A step of calculating an evaluation value of the provisional travel plan based on an evaluation function different from the model or actual travel conditions of the plurality of mobile bodies;
[0306] a step of generating data in which the state feature quantities of the plurality of moving objects are associated with the evaluation values calculated based on the evaluation function or the actual driving conditions; and
[0307] The step of updating the model based on the data.
[0308] In addition, the present invention is not limited to the above-mentioned embodiments being unchanged, and the constituent elements can be deformed and concretized in the implementation stage without departing from the scope of its purpose. In addition, by appropriately combining the multiple constituent elements disclosed in the above-mentioned embodiments, various inventions can be formed. In addition, for example, a structure after deleting several constituent elements from all the constituent elements shown in the various embodiments can also be considered. Further, the constituent elements recorded in different embodiments can also be appropriately combined.
Claims
1. A driving control device comprising: a planning unit that generates, based on a plurality of route plans including an order of one or more designated areas that a plurality of mobile bodies are to pass through, travel plans for the plurality of mobile bodies that determine travel times for the plurality of mobile bodies on travel roads included in the route plans without changing the plurality of route plans, and generates a plurality of temporary travel plans that at least partially eliminate competition among the plurality of mobile bodies by changing a portion of the travel plans for the plurality of mobile bodies; an evaluation value calculation unit that calculates an evaluation value of the temporary travel plan based on the state feature quantities of the plurality of mobile bodies in the temporary travel plan; as well as A model that associates state feature quantities and evaluation values of a plurality of moving objects, The evaluation value calculation unit calculates the evaluation value based on the model and the state feature quantities of the plurality of mobile bodies in the provisional travel plan. The planning unit performs a search operation, and the search operation repeatedly performs the following processing: selecting a temporary driving plan from the plurality of temporary driving plans based on the plurality of evaluation values, updating the driving plan by the selected temporary driving plan, The competition includes two or more of the moving objects arriving at the intersection at the same time.
2. The travel control device according to claim 1, The planning unit calculates delay times of the plurality of moving objects that occur in the provisional travel plan, and calculates the evaluation value based on a sum of the delay times of the plurality of moving objects. The travel control device includes a model generation unit that acquires first data including state feature quantities of the plurality of moving objects in the provisional travel plan and the calculated evaluation values, and generates the model based on a plurality of the first data.
3. The travel control device according to claim 2, The planning unit calculates the evaluation value based on the total of the delay times of the plurality of moving objects generated in the driving plan before updating and the delay times of the plurality of moving objects generated in the temporary driving plan.
4. The travel control device according to claim 1, The evaluation value calculation unit calculates the evaluation value based on the delay time according to the actual driving conditions of the plurality of moving bodies after the plurality of moving bodies have completed driving. The travel control device includes a model generation unit that acquires second data including state feature quantities of the plurality of mobile bodies in the provisional travel plan and the calculated evaluation values, and generates the model based on a plurality of second data.
5. The travel control device according to any one of claims 1 to 4, The state feature quantities of the plurality of moving bodies include at least one of position information of the plurality of moving bodies, remaining travel distances of the plurality of moving bodies, and information on cargoes transported by the plurality of moving bodies.
6. A driving control method, comprising: Based on a plurality of path plans including the order of one or more designated areas that a plurality of moving bodies are to pass through, generating, without changing the plurality of path plans, travel plans of the plurality of moving bodies that determine the time for the plurality of moving bodies to travel on the travel roads included in the path plans, and changing a part of the travel plans of the plurality of moving bodies to generate a plurality of temporary travel plans that at least partially eliminate competition among the plurality of moving bodies, calculating an evaluation value of the temporary travel plan based on a model that associates the state feature quantities of the plurality of mobile bodies with the evaluation values, according to the state feature quantities of the plurality of mobile bodies in the temporary travel plan; selecting a temporary driving plan from the plurality of temporary driving plans based on the plurality of evaluation values, updating the driving plan using the selected temporary driving plan, calculating an evaluation value of the provisional travel plan based on an evaluation function different from the model or the actual travel conditions of the plurality of mobile bodies, generating data in which the state feature quantities of the plurality of moving objects are associated with the evaluation values calculated based on the evaluation function or the actual driving conditions, updating the model based on the data, The competition includes two or more of the moving objects arriving at the intersection at the same time.
7. A computer program product comprising a computer program for causing a computer to execute: Based on a plurality of route plans including a sequence of one or more designated areas that a plurality of mobile bodies are to pass through, generating travel plans of the plurality of mobile bodies that determine travel times of the plurality of mobile bodies on travel roads included in the route plans without changing the plurality of route plans, and changing a portion of the travel plans of the plurality of mobile bodies to generate a plurality of temporary travel plans that at least partially eliminate competition among the plurality of mobile bodies; A step of calculating an evaluation value of the temporary travel plan based on a model that associates the state feature quantities of the plurality of mobile bodies with evaluation values, according to the state feature quantities of the plurality of mobile bodies in the temporary travel plan; A step of selecting a temporary driving plan from the plurality of temporary driving plans based on the plurality of evaluation values, and updating the driving plan using the selected temporary driving plan; A step of calculating an evaluation value of the provisional travel plan based on an evaluation function different from the model or actual travel conditions of the plurality of mobile bodies; A step of generating data in which state feature quantities of the plurality of moving objects are associated with the evaluation values calculated based on the evaluation function or the actual driving conditions; as well as The step of updating the model based on the data, The competition includes two or more of the moving objects arriving at the intersection at the same time.
Citation Information
Patent Citations
Construction machine
JP2020045748A
Scheduling method and system for demand response type public transportation system based on artificial intelligence
CN110458456A
Vehicle travel system and vehicle automatic traveling method
JP2000285373A
Running car control apparatus, running car system, and running car control method
JP2020030724A