Travel control device, travel control method, travel control system, and computer program
By introducing a pass sequence determination unit and a control unit in the mobile body travel control system, the pass sequence of the mobile body is determined based on the conflict conditions and the driving is controlled, the problems of collision and deadlock between the mobile bodies are solved, and driving efficiency is improved.
Patent Information
- Application Number
- CN202010939564.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-30
- Filing Date
- 2020-09-09
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2040-09-09
AI Technical Summary
When multiple moving bodies are traveling at the same time, the overall efficiency of the system is inefficient due to collisions and deadlocks between the moving bodies.
The order determining unit determines the order in which the plurality of moving bodies passes according to the conflict conditions between the moving bodies, and the control unit controls the travel of the moving bodies according to the order.
It effectively avoids collisions and deadlocks between moving bodies, and improves the driving efficiency of multiple moving bodies.
Smart Images

Figure CN112748730B_ABST
Abstract
Description
[0001] Related Application
[0002] This application is based on Japanese Patent Application No. 2019-197806 (filing date: October 30, 2019) as a prior application and enjoys the priority of the prior application. This application includes all the contents of the prior application by reference. Technical Field
[0003] Embodiments of the present invention relate to a travel control device, a travel control method, a travel control system, and a computer program. Background Art
[0004] When a plurality of moving bodies are driven simultaneously, the efficiency of the entire system is reduced due to collisions and congestion between the moving bodies. A driving control device for driving a plurality of moving bodies efficiently is desired. Summary of the invention
[0005] Embodiments of the present invention provide a travel control device, a method, a travel control system, and a computer program for causing a plurality of moving objects to travel efficiently.
[0006] Means used to solve problems
[0007] As an embodiment of the present invention, a driving control device comprises: a passing order determining unit, which determines the passing order of multiple moving bodies in a first area through which the multiple moving bodies pass based on a conflict condition in which the moving bodies collide with each other; and a control unit, which controls the driving of the multiple moving bodies based on the passing order. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 This is an example of the overall system configuration including the operation planning system (driving control system) according to the first embodiment.
[0009] Figure 2 This is a plan view schematically showing how the operations of a plurality of moving bodies are controlled in a travel area serving as a free plane.
[0010] Figure 3 The diagrams show examples of deadlock and collision.
[0011] Figure 4 It is a diagram showing an example of travel path structure information.
[0012] Figure 5 It is a diagram showing another example of the travel path structure information.
[0013] Figure 6 This is a diagram showing an example of a path plan for a certain moving object.
[0014] Figure 7 1 is a diagram showing an example of a travel timing plan generated by the travel timing planning unit.
[0015] Figure 8 Yes means Figure 7 A diagram showing part of the operation plan of a mobile object (AGV0).
[0016] Fig. 9 This is a diagram for explaining an operation example of the pass order determination unit.
[0017] Fig.10 This is an example showing the order restriction for the reference node B.
[0018] Fig.11 This indicates movement instruction data sent to the moving bodies 1 to 3.
[0019] Fig. 12A This is a flowchart of a process of determining a management target node by a pass order determination unit.
[0020] Fig. 12B Then Fig. 12A Flowchart of the process.
[0021] Fig.13 This is an example in which pass check necessity information is added to a command that is a candidate for adding pass check necessity information.
[0022] Fig.14 It is a flowchart of the overall operation of the operation planning system.
[0023] Fig.15 This is a flowchart of an example of processing implemented by a travel timing planning unit.
[0024] Fig.16 This is a diagram showing an example of conflict check and avoidance processing.
[0025] Fig.17 This is a diagram showing another example of the conflict check and avoidance process.
[0026] Fig.18 It is a diagram showing an example of an image of a search process of the travel timing planning unit.
[0027] Fig.19 Yes means Figure 1 Diagram of the hardware configuration of the operation planning device.
[0028] Fig. 20 It is a diagram showing an example of the overall system configuration including the operation planning system according to the second embodiment.
[0029] Fig.21It is a diagram showing an example of the overall system configuration including the operation planning system according to the third embodiment. DETAILED DESCRIPTION
[0030] The technical background of this embodiment is described. In recent years, with the popularization of multi-variety small-batch production, it has become necessary to create flexibility in the production process. For example, each process of the production line is modularized and freely rearranged, and AGV (automatic guided vehicle) is used to transport between processes. In addition, a mobile robot with an operating arm is used to move and operate in multiple work sites.
[0031] In addition, against the backdrop of severe manpower shortages at logistics sites, measures to save manpower are being accelerated in logistics centers such as online shopping, etc. For example, there are methods of coping with this problem by combining AGVs and / or automatic forklifts with picking robots.
[0032] Furthermore, with the advancement of the technology of autonomous driving of automobiles, valet parking, which allows a group of automobiles to drive and park automatically in a parking lot without human intervention, has reached a practical stage. In addition, attempts to allow unmanned construction machinery to move under remote control at construction sites and mining sites have also reached a practical stage.
[0033] It is difficult to strictly manage the driving of autonomous vehicles that determine their own position while driving, such as by moving time, and sometimes they may unexpectedly move in both directions at any place while driving on a free plane. There is also the possibility of deadlock due to the structure of the driving path.
[0034] This embodiment realizes that when multiple mobile bodies such as AGVs and mobile robots are driven in a driving area such as a free plane, they are driven efficiently in a manner that does not cause conflicts such as collisions or deadlocks between the mobile bodies. This embodiment, as an example, deals with an autonomous driving type mobile body that drives on a free plane while determining its own position. However, this embodiment can also be applied to non-autonomous driving type mobile bodies that travel on special driving roads such as pre-laid rails and guide tapes. The following is a detailed description of this embodiment.
[0035] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0036] Figure 1This is an example of the overall system configuration of the operation planning system having the first embodiment. The overall system configuration includes: an operation planning system (travel control device) 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 501K. 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. Both the operation planning device 100 and the operation management device 200, or the operation planning device 100 corresponds to the travel control device of this embodiment.
[0037] 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, or may be connected to each other via a network.
[0038] The moving bodies 301_1 to 301_N are, for example, moving bodies such as AGV (Automatic Guided Vehicle), an autonomous mobile robot, and an automatically driven vehicle (for example, an autonomous car).
[0039] When multiple moving bodies are traveling in the driving area, the operation planning system 1 controls the operation efficiently as a whole to avoid conflicts such as deadlock and collision. The driving area may also be provided with a working place for the moving body, a shelf for storing objects to be worked on, and an entrance for carrying in and out objects.
[0040] Figure 2 The diagram is a top view schematically showing how the operation of multiple moving bodies is controlled in a driving area as a free plane. Multiple reference areas set in the driving area are defined as reference nodes ( Figure 2 A~H). Figure 2 In the example of , reference areas A to H are set in the travel area, and a plurality of reference nodes A to H corresponding to the reference areas A to H are defined as data. The reference areas and the reference nodes are denoted by the same reference numerals.
[0041] The reference areas are passages (driving paths) for the moving body. The driving area includes: multiple reference areas and driving paths between multiple reference areas. In this embodiment, the driving area is also called a driving path network. The lines connecting the reference nodes are defined as virtual driving paths. The virtual driving paths correspond to the driving paths between the reference areas corresponding to the reference nodes. Figure 2In the example of FIG. 1 , each virtual driving path is represented by a straight line. However, the virtual driving path may be a curve or a combination of a straight line and a curve.
[0042] A virtual driving path network connecting the reference node and the virtual driving path is predefined as data. The data of the virtual driving path network can also be predefined on a floor map defined as a CAD (Computer-Aided Design) or other drawing. The mobile body can also determine the environment map through its own position detection function and define the data of the virtual driving path network on the environment map. The method of defining the data of the virtual driving path network is not particularly limited.
[0043] Figure 2 The moving bodies 1, 2, and 3 correspond to Figure 1 The mobile body 301 has an autonomous driving function. The mobile body has a function of autonomously generating a moving line for the mobile body to move between two reference nodes connected on the virtual driving road. In addition, the moving line of the mobile body may be consistent with the virtual driving road or may not be consistent with the virtual driving road. In addition, the mobile body may also have a function of avoiding local obstacles when the mobile body travels on the virtual driving road as a recommended path when moving between two reference nodes and finds a temporary obstacle on the virtual driving road.
[0044] When a moving object with the function of avoiding obstacles passes on a virtual driving path with a margin for avoiding obstacles, it can also be treated as a virtual driving path that can ignore the interference between moving objects (a virtual driving path that does not need to consider the conflict conditions described later). Figure 2 In the virtual driving roads such as the virtual driving road BE (the virtual driving road between the reference area B and the reference area E. The same applies below), the virtual driving road BA, and the virtual driving road BH, since there is sufficient margin for avoiding each other, for example, even if two moving bodies are traveling in opposite directions, there will be no conflict. For example, one moving body is waiting on the side of the road of the virtual driving road, and the other moving body is moving on the virtual driving road. If the other moving body has finished passing, one moving body starts moving again. On the other hand, in the driving road BC, since there is no margin for avoiding each other, if two moving bodies are traveling in opposite directions on this driving road, a conflict such as a collision will occur.
[0045] In addition, the moving body can move forward, backward, or both. The moving body can be steered, or can be rotated in a forward and backward reverse manner. In addition, the moving body can also be able to move in a diagonal direction, other than forward and backward, etc., which is not particularly limited here.
[0046] In the future, such a virtual driving road that can ignore interference will sometimes be called a non-interference driving road, and the driving road that cannot ignore interference (a virtual driving road that needs to consider the conflict conditions described later) will be called an interference driving road. For the virtual driving road, it is defined in advance whether the driving road is a non-interference driving road or an interference driving road.
[0047] Each moving body Figure 1 Under the management of the operation planning device 100, the vehicle travels in the driving area (driving road network) according to the operation assigned by the operation planning device 100. For example, the goods received from the import port are transported to other import ports. Sometimes, during the movement, the goods are loaded and unloaded from the shelves, stacked, etc. Each moving body performs such operations by executing the command group included in the movement instruction data provided by the operation planning device 100. In addition, it is also possible that the moving body only moves without transporting and / or operating the goods.
[0048] The operation planning device 100 of this embodiment generates a route plan indicating the route that each mobile body should travel. Based on the route plan, a driving timing plan is generated that determines the timing of each mobile body traveling on each virtual driving road so as to prevent conflicts such as collision or deadlock between the mobile bodies. The timing includes at least one of the timing of departure (or passing) from the reference area and the timing of arrival.
[0049] The operation management device 200 generates a list of reference areas (a list of reference nodes) that each moving body should pass through based on a path plan or a travel timing plan, and sends movement instruction data based on the list. In addition, based on the travel timing plan, a reference area in the reference area that needs to determine the passing order of multiple moving bodies is determined as a management target area (first area), and the passing order of multiple moving bodies in the management target area is determined.
[0050] The operation management device 200 controls the travel of the mobile bodies so that each mobile body travels in the management object area according to the passing order. In this way, conflicts such as collisions and deadlocks between mobile bodies are prevented. The passage of a mobile body through a reference area or departure from a reference area is equivalent to the passage of a mobile body through a reference node or departure from a reference node on the map data. In addition, the travel of a mobile body on a real driving road is equivalent to the travel of a mobile body on a virtual driving road on the map data. In the following description, the passage of a mobile body on a reference area is sometimes expressed as the passage of a mobile body at a reference node, and the travel of a mobile body on a real driving road is sometimes expressed as the travel of a mobile body on a virtual driving road.
[0051] Here, collision and deadlock are explained. Here, deadlock refers to a situation where any moving object becomes unable to move to any intersection (such as a branching junction) in the driving road network or the end of the driving road. Collision refers to a situation where a moving object contacts another moving object.
[0052] Figure 3 (A) shows an example of deadlock, Figure 3 (B) shows an example of a collision. Figure 3 In the diagram, for convenience, the travel route is represented by a straight line. Figure 3 In (A), two moving bodies are traveling on the same road in opposite directions. The two moving bodies are set to be able to move only forward. In this case, the two moving bodies cannot move to any intersection or end and deadlock occurs. Figure 3 In (B), two moving objects are traveling in the same direction on the same driving path, but because the moving object behind is faster than the moving object in front, the moving object behind collides with the moving object in front.
[0053] In this way, the situation where a deadlock or collision occurs is manifested as a collision (or interference) between moving bodies. However, the collision is not limited to this example. For example, it may be a situation where two moving bodies arrive at an intersection (branching and merging part) at the same time. It may also be a situation where one or more moving bodies are waiting at an intersection, and other moving bodies are traveling on a driving road connected to the intersection. The conditions for such a collision are called collision conditions.
[0054] Figure 1 The operation planning system 1 realizes: each moving body can operate efficiently without causing conflicts (collision or deadlock, etc.) among the moving bodies.
[0055] Figure 1 The operation planning device 100 includes: a driving path 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 (timing determination unit) 105, a passing order determination unit 106, an instruction unit 107, a driving control unit 108, a replanning determination unit 109, a path planning unit 110, and a communication unit 111. An input device (such as a mouse, a keyboard, a touch panel) for inputting various instructions or data from a user of the present device 100 may also be provided. In addition, a display device (such as a liquid crystal display, an organic electroluminescent display) that displays data in each storage unit or data generated by each unit may also be provided in the present device 100.
[0056] The communication unit 111 of the operation planning device 100 communicates with the communication unit 201 of the operation management device 200. The communication between the communication unit 111 and the communication unit 201 can be either wireless communication or wired communication. The communication unit 201 of the operation management device 200 communicates with the communication unit 111 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 communicable range of the communication device 501. In the case where the operation planning device 100 and the operation management device 200 are the same device, the communication unit 111 can also be omitted.
[0057] The driving path structure storage unit 101 internally stores information (driving path structure information) indicating the structure of the driving path network (driving area). The driving path structure information is expressed, for example, as a graph structure including coordinates of a plurality of reference nodes and a plurality of arcs (virtual driving paths) connecting the reference nodes. The graph structure corresponds to the structure of the virtual driving path network.
[0058] Figure 4 This is an example of displaying the travel path structure information. Each virtual travel path is represented by a straight line connecting the reference nodes. Figure 4 Each circle in (A) represents a reference node, and the line segments connecting the circles represent arcs (hypothetical driving roads). As an example, the reference nodes correspond to the ends of the hypothetical driving roads and the intersections of the hypothetical driving roads. The reference area (reference node) can be set at any part of the driving road network. Any part of the loading and unloading place of goods, waiting place, parking place, entrance and exit, etc. can be set as a reference area (reference node). 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) can also be set as the reference area. In addition, any part of the driving road (for example, any area between the two ends of the driving road) can also be set as the reference area. The intersection itself can also be set as the reference area. The moving body can pass through the reference area or temporarily stay in the reference area. As examples of temporary stops of moving bodies, there are temporary stops for operations, temporary stops due to waiting for other moving bodies to pass through the driving road, stops until the next operation occurs when there is no operation to be performed, standby for charging, parking of automatic driving vehicles, etc.
[0059] Figure 4 (B) As detailed information of the reference node, the reference node ID, X coordinate, and Y coordinate are shown. For example, the coordinates of the reference node A are (X, Y) = (20, 20).
[0060] Figure 4 (C) As detailed information of the driving path structure, the virtual driving path ID and the IDs of the reference nodes at both ends of the virtual driving path are shown. For example, the ID of the virtual driving path between the reference nodes A and B is 1, and the reference nodes at both ends of the virtual driving path are A and B. The distance between the reference nodes (the distance of the virtual driving path) and / or the standard travel time based on the reference speed of each moving body may be associated with the virtual driving path ID and included in the driving path structure information. Alternatively, the distance of the virtual driving path may be calculated based on the positions of the reference nodes on both sides of the virtual driving path.
[0061] Figure 5 Another example of the travel path structure information is shown. Figure 5 (A) is from Figure 4 A graph in which some reference nodes are omitted from the travel path structure information and only specific reference nodes remain. The specific reference nodes are, for example, reference nodes corresponding to areas such as cargo loading and unloading places and waiting places.
[0062] Figure 5 (B) represents the virtual road ID of each virtual road, the ID of the reference nodes at both ends of the virtual road, and the standard time required to travel on each virtual road (i.e., travel on the road corresponding to each virtual road). For example, the virtual road ID of the virtual road between reference nodes B and C is 1, the reference nodes at both ends of the virtual road are B and C, and the standard time required to travel on the virtual road (more specifically, travel on the road corresponding to the virtual road) is 180. The unit of time may be anything. In addition, the distance information of the virtual road may be given instead of the standard time.
[0063] The travel path structure storage unit 101 may store information related to the structure of the virtual travel path in association with the virtual travel path ID. For example, information on whether the virtual travel path is one in which two moving bodies can avoid collision (avoid interference such as collision) may be stored.
[0064] The path planning unit 110 generates a path plan that specifies a sequence of reference areas that each moving body passes through, based on the content of the predetermined work to be performed by each moving body and information related to the order of the work (the operation of each moving body), 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 situation that the travel distance of multiple moving bodies traveling in opposite directions on the same driving road is reduced can be used as an evaluation criterion or a part thereof to generate the path plan for each moving body. The path plan can also use a path plan generated by an external device or a pre-prepared path plan. In this case, the path planning unit 110 obtains the path plan and stores it in the path plan storage unit 102. The path planning unit 110 can also receive the data of the path plan from the external device via the communication unit 111. The path planning unit 110 can also obtain the data of the path plan via an input device operated by the user.
[0065] The route plan storage unit 102 internally stores data of the route plan of each moving object.
[0066] exist Figure 6 (A) shows an example of a path plan for a moving object. In this example, the moving object starts from Figure 4 (A) starts from the reference area L, goes to the reference area B via K, I, G, E, C, A, then goes to the reference area M via A, C, D, F, E, G, H, J, I, K, goes to the reference area B via K, I, G, E, C, A again, and returns to the reference area L via A, C, D, F, E, G, H, J, I, K. Here, the reference area is represented by the ID of the reference node.
[0067] The path in the above example includes a circular path that goes back and forth in the reference area. This path plan is 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 virtual driving roads for a long time.
[0068] In the case of a mobile object whose purpose is to transport cargo, a mobile robot that performs various tasks while moving, etc., information on the tasks may be added to the reference area where the tasks are to be performed in the path planning.
[0069] Figure 6(B) shows an example of a path plan for this situation. In this example, information (Load) indicating that a loading operation of goods from a shelf is to be performed in reference areas L and M, and information (Unload) indicating that a cargo unloading operation is to be performed in reference area B is inserted. Here, Load indicates a cargo loading operation, and UnLoad indicates a cargo unloading operation. In addition, when performing operations such as stacking, the shelf or the like of the work object can also be predetermined to be located in a direction such as the left, right, front, or oblique direction when viewed from the moving body, and the moving body can also automatically detect the shelf or the like of the work object by means of sensors or the like.
[0070] The state storage unit 104 internally stores information indicating the current travel state of each moving object and unique information of the moving object.
[0071] As information indicating the driving state of the moving body, there is location information of each moving body, the remaining power of the battery carried by the moving body, whether the moving body has cargo (when the moving body is transporting cargo), the type and quantity of cargo being transported, etc. The location information includes the current position of the moving body (the most recently detected position), and historical record information of the reference nodes or positions that each moving body has passed so far. The information indicating the driving state is obtained by the state detection unit 202 (described later) of the operation management device 200 as described later, or is obtained by the operation management device 200 by the moving body detecting its own position and sending it. In the latter case, sometimes the moving body notifies the operation management device 200 of the information indicating the driving state only when it passes through the reference node.
[0072] As inherent information of the moving body, there are, for example, standard speed, maximum speed, minimum speed, size of the moving body, direction in which it can move, and specification information of the moving body. In addition, there is a 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, as long as the moving body is used for the purpose of transporting goods, there will be information on the operation time required for loading and unloading goods (for example, the time required to stack or load and unload a predetermined number of goods). The information listed here is just an example, and other information may also be provided.
[0073] The driving timing planning unit 105 generates a driving timing plan for each moving body to be planned so as not to cause a conflict (collision or deadlock) under the constraint condition that the route plan of each moving body is not changed. The driving timing plan includes, as an example, information that can determine the arrival time or departure time or both of the arrival time to each reference area, such as the arrival time to the reference area, the departure time from the reference area, the stay time in the reference area, the travel time between the reference areas, etc.
[0074] The moving bodies to be planned for the travel timing plan are, for example, all moving bodies whose operation is managed by the operation management device 200. The travel timing planning unit 105 uses the route plan of each moving body and the information of each moving body (information indicating the travel state and unique information) to generate the travel timing plan of each moving body.
[0075] In addition, the driving timing planning unit 105 regenerates the driving timing plan of each moving body when the re-planning determination unit 109 described later determines to perform re-planning. The driving timing plan generated last time is updated by the re-generated driving timing plan. The driving timing plan is regenerated for the path portion of the path represented by the path plan of the moving body, where the moving body has not moved yet, or a part of it. The updated part of the driving timing plan corresponds to the path portion after the update position determined for the moving body in the path of the moving body as described later.
[0076] 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.
[0077] "MOVE" is a command to instruct movement (movement command), and has a movement time as a parameter. For example, in the driving timing plan of AGV0, MOVE-KI-37.0 means moving from reference area K to reference area I in 37 unit time. 37 unit time is the movement time specified as a parameter.
[0078] "WAIT" is a command (standby command) to instruct to wait in the reference area of the moving destination. For example, in the case of MOVE-IG-10.0, WAIT-52.0, and such commands are continuous, it means that when moving from reference area I to reference area G, it will wait for 52 units of time in reference area G. Therefore, in this case, as far as MOVE-IG-10.0 is concerned, it moves to reference area G in 10 units of time, waits for 52 units of time in place, and then presses the next command to move. In addition, a pseudo-reference area (pseudo-reference node) for passing confirmation or waiting can also be added to the end of the driving road connected to the reference area or near the end of the driving road (that is, the end of the imaginary driving road connected to the reference node or near the end of the imaginary driving road). Each moving body can also drive autonomously using the pseudo-reference area (pseudo-reference node) as a target point or a passing point. For example, in the case of a long braking distance of the moving body, by controlling it to stop in the pseudo-reference area in front of the reference area, it is possible to prevent the moving body from exceeding the reference area and failing to stop in the reference area. In this way, the pseudo reference area (pseudo reference node) may be set in consideration of the size and / or dynamic characteristics of the moving object.
[0079] In this example, the path plan of the mobile body AGV0 specifies the following path, that is, from Figure 4 (A) starts from the reference area L, goes to the reference area B via other reference areas, then goes to M via other reference areas, then goes to B via other reference areas, and then returns to L via other reference areas.
[0080] The path plan of the mobile body AGV1 specifies the following path, that is, it is repeated twice: Figure 4 (A) The path starts from the reference area B, goes to the reference area M via other reference areas, and then returns to the reference area B via other reference areas.
[0081] The path plan of the mobile body AGV2 specifies the following path, that is, from Figure 4 A route starting from reference area K in (A) goes to reference area B via other reference areas, goes to B again via other reference areas including reference area L, and returns to reference area K via other reference areas.
[0082] The driving timing planning unit 105 is provided with the path plans of AGV0, AGV1, and AGV2 (refer to Figure 6 ), by executing the search algorithm described below, we can generate Figure 7 The driving timing plans of AGV0, AGV1, and AGV2 are shown. In these driving timing plans, the arrival time or departure time of AGV0, AGV1, and AGV2 at each reference area is adjusted so that conflicts (collision or deadlock, etc.) do not occur.
[0083] The travel timing planning unit 105 may also assume that the moving object moves at its standard speed when calculating the moving time specified as a parameter by the MOVE command. Figure 4 The distance of each virtual travel path in the travel path structure information can also be considered. The case where the speed of the moving body changes from the standard speed according to the curvature or inclination of the virtual travel path, such as Figure 5 The standard time can be pre-assigned to the virtual driving road as in the driving road structure information. In this case, the moving body can 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, the standard speed can be corrected by assigning a rate of change of the standard speed corresponding to the remaining power of the battery. In addition, if the moving body is used for the transportation of goods, the standard speed can be corrected to a faster value or a slower value during the transportation of goods. In addition, the standard time for traveling on each virtual driving road can be corrected based on the actual driving data. In this way, the driving timing planning unit 105 calculates the moving time in a manner that satisfies the conditions related to the speed.
[0084] The driving timing planning unit 105 generates a driving timing plan for a mobile body for the purpose of transporting goods and / or a mobile robot for various operations including loading and unloading of goods, by reflecting information on the operation time required for loading and unloading of goods. Figure 6 (B)) As in the case of the reference area, the content of the operation to be performed in the reference area can also be specified. In addition, the content of the operation to be performed by the mobile body in the reference area can also be predetermined based on the combination of the reference area and the type of the mobile body.
[0085] Figure 7 The example of the driving timing plan shown assumes that it takes 40 units of time to load goods in the reference areas M and L, and 130 units of time to unload goods in the reference area B. The operation time for loading and unloading goods is pre-assigned with a value corresponding to the type and number of goods, or the type of mobile body. This value can be stored in the state storage unit 104 or assigned to the path plan. In addition, the operation time can also be corrected based on actual driving data. A command to instruct the mobile body to perform the operation can also be assigned to the reference area of the place where the operation is performed in the driving timing plan. Alternatively, such an instruction command can also be pre-embedded in the mobile body as a program code.
[0086] Figure 7 The format of the driving timing plan shown is expressed in the form of arranging the commands of the moving bodies, but this format is only an example. The format of the driving timing plan is not particularly limited. It is also possible to include information that can determine the time when the moving body should arrive and the time when it should depart for a part of the reference area or the entire reference area of the path plan of each moving body.
[0087] The driving timing planning unit 105 generates an operation plan for each moving body based on the driving timing plan of each moving body and the path plan of each moving body. Specifically, the operation plan for each moving body is generated by setting information that can determine the time when the moving body should arrive and the time when it should depart for a part or all of the reference area of the path plan of the moving body.
[0088] The operation plan storage unit 103 internally stores the operation plan of each mobile body generated by the travel timing planning unit 105 and the travel order plan indicating the passage order of the mobile body at each reference node determined by the passage order determination unit 106 described later.
[0089] Figure 8 express Figure 7 Part of the operation plan of the mobile body (AGV0). Figure 6 The path plan gives Figure 7The time information (arrival time, departure time (passing time)) of the driving timing plan of AGV0. AGV0 departs from reference area L at time 0, arrives at reference area K at time 70 and departs without stopping (i.e., passes through reference area K at time 70), passes through reference area I at time 107, arrives at reference area G at time 117, waits at the same place for 52 units of time, and departs at time 169. Figure 8 The format of the operation plan shown is just an example, and the format is not particularly limited. For example, the operation plan may simply associate the travel timing plan with the route plan.
[0090] The instruction unit 107 transmits the movement instruction data based on the travel timing plan of each moving body determined by the travel timing planning unit 105 to the operation management device 200 via the communication unit 111. The operation management device 200 receives the movement instruction data of each moving body from the communication unit 111 of the operation planning device 100 via the communication unit 201, and transmits the movement instruction data to each moving body.
[0091] The movement instruction data sent to each moving body includes a command to move to each reference node included in the path plan (including a command to perform work in the case of performing work at or near the reference node) and information on whether or not a pass check is required for each reference node included in the path plan (described later). As a command to move to each reference node included in the path plan, a command obtained by removing the time from the command included in the driving timing plan may be used. Figure 6 As shown, it includes information indicating the sequence (order) of reference nodes that each moving body should pass through, stop or operate. The need-to-check information is information indicating whether it is necessary to query the operation planning system 1 side for permission to pass before the moving body enters or passes through (hereinafter, collectively referred to as passing through) the area (reference area) of the reference node. The need-to-check information is generated by the passing order determination unit 106 for the reference node that needs to be managed in the passing order based on the travel timing plan.
[0092] The passing order determination unit 106 extracts the reference nodes that need to be managed in the passing order based on the driving timing plan. The instruction unit 107 adds the passing check necessity information to the movement command to move to the reference node. When there is an inquiry from the mobile body as to whether the area (reference area) through the reference node is allowed, the driving control unit 108 determines whether to allow passing based on the driving order plan. If passing is allowed, a permission notification of passing is sent to the mobile body as a response. If passing is not allowed, a notification of not allowing is sent as a response. If not allowed, the mobile body temporarily waits before the reference area and repeatedly inquires whether passing is allowed at a certain period until it is allowed, or temporarily waits before the reference area until a notification of allowing passing is sent from the driving control unit 108. The driving control unit 108 manages the order in which each mobile body passes through the reference nodes to which the passing check necessity information is assigned.
[0093] use Fig. 9 ,by Figure 2 An operation example of the passage order determination unit 106 is described based on the virtual travel path network.
[0094] Fig. 9 An example of a travel timing plan for moving bodies 1 to 3 is shown. The following operations of moving bodies 1 to 3 are planned here. That is, moving body 1 will move to shelf A and wait after placing the goods loaded at the loading port F on shelf C. Moving body 2 will wait after placing the goods loaded at the loading port G on shelf E. Moving body 3 moves to loading port G and loads the goods. In this example, symbols such as A, B, and C are commands to move to the reference node represented by the symbol. The command includes an arrival time and a departure time. The command is executed so that it arrives at the arrival time, and the next command is executed at the departure time.
[0095] The passing order determination unit 106 determines a reference node (management object node) whose passing order needs to be managed in a reference area (reference node) through which more than two moving bodies pass together, and a moving body whose passing order needs to be controlled due to the permission of the node to pass, based on the travel timing plan of the moving bodies 1 to 3. The area corresponding to the management object node is called the management object area. The details of the action will be described later. Here, for example, the reference node B is determined. The passing order of multiple moving bodies in the management object node is determined in the order from early to late of the arrival time of the moving body relative to the determined reference node. The determined passing order functions as a passing order restriction of the management object node. As an example, the arrival time of moving body 1 relative to the reference node B is 40, moving body 2 is 10, and moving body 3 is 35. If the passing order is determined in the order from early to late of the arrival time, it becomes the order of moving bodies 2, 1, and 3. This order becomes the passing order restriction of the reference node (management object node) B.
[0096] Fig.10 1 shows an example of order restriction for passing the reference node B. The reference node B is determined to be required to pass in the order of the moving objects 2, 3, and 1.
[0097] The instruction unit 107 removes the time information from the multiple commands included in the travel timing plan of each mobile body. In addition, the instruction unit 107 adds the information of whether the check is necessary (for example, "check") to a part of the multiple commands for moving to the management object node. Thus, the movement instruction data of each mobile body is generated.
[0098] In other words, commands for moving to a plurality of reference nodes included in the path plan of each mobile body are generated (when a job is attached to the reference node, a command for performing the job is also generated in association with the command for moving to the reference node), and the generated commands are arranged in the order of the plurality of reference nodes. Furthermore, information on whether a passing check is necessary is added to a command for a mobile body to move to the management object node, which requires the passing order of the management object node to be controlled due to passing permission. Thus, movement instruction data for each mobile body is generated.
[0099] Fig.11 Indicates the movement instruction data sent to the moving bodies 1 to 3. Fig.11 In the example, the command to move to the reference node B as the management object node is attached with information on whether a pass check is required (e.g., "check"). The command to move to the reference node assigned with check indicates that before the moving body passes through the reference node, query data (pass check request) on whether the passing through the reference node is allowed is sent to the operation planning system 1. For example, after the moving body 1 departs from the reference node F and before passing through the reference node B, it is necessary to send query data on whether the passing through is allowed to the operation planning system 1.
[0100] The information on the passing order (travel order plan) of the management target nodes acquired by the passing order determination unit 106 is stored in the route plan storage unit 102 or the operation plan storage unit 103 .
[0101] When receiving a passing check request for a management object node from a mobile body, the driving control unit 108 determines whether to allow the mobile body to pass through the management object node based on the passing order and the passing history records of each reference node (at least the passing history records of the management object node) stored in the state storage unit 104. Under the passing order restriction, the driving control unit 108 allows the requesting mobile body to pass if a mobile body that needs to pass before the mobile body has completed passing the management object node, and does not allow passing if it has not completed passing.
[0102] exist Fig.10In the example of the passing sequence, when a passing check request for reference node B is received from mobile body 1, if mobile body 3 that should pass immediately before has passed reference node B, it is determined to be allowed, and if it has not passed, it is determined not to be allowed. It is also possible to determine to allow if all mobile bodies that should pass before (in this example, mobile bodies 2 and 3) have passed, and if they have not passed, it is determined not to be allowed.
[0103] The travel control unit 108 transmits a notification of permission of passage as a response to the mobile body of the inquiry when passage is permitted, and transmits a notification of non-permission as a response to the mobile body of the inquiry when passage is not permitted.
[0104] Make it so that: the mobile body passes through the management object node when receiving the permission notification, and does not pass through the management object node (does not enter the management object node) when receiving the disallowance notification. For example, the mobile body temporarily waits at a position different from the management object node. As an example of a position different from the management object node, it can be a position just in front of (before) the management object node, or a position a certain distance in front of the management object node, or a position other than this. As a specific example, when the management object node is an intersection, the mobile body can wait at the end of the driving road in front of the intersection. Alternatively, the mobile body can also slow down before reaching the management object node to delay the arrival at the management object node. Thereby, the possibility of passing through the management object node without stopping can be increased.
[0105] The travel control unit 108 may include an instruction for the moving body to move in the non-permission notification sent to the moving body. For example, an instruction to wait at a certain distance from the management target node may be included in the non-permission notification.
[0106] The moving body waits temporarily before the reference area until receiving the permission notification. Alternatively, the through check request may be sent periodically. Whenever the through check request is received, the driving control unit 108 determines whether to allow the moving body to pass through the management object node. At the time when the permission is determined, the permission notification is sent to the moving body.
[0107] Here, the management object node is explained. The passing order determination unit 106 determines only the reference nodes that need to prevent conflicts among the predetermined reference nodes that multiple moving bodies pass through together, and the moving bodies whose passing order needs to be controlled due to the passing of the reference nodes, and uses the determined reference nodes as the management object nodes. In addition, it indicates that a passing check request is made when the determined moving body passes through the management object node. For example, Fig. 9In the example, at all reference nodes other than reference nodes E and H, two or more moving bodies pass through (departure from the departure point and arrival at the destination point are also considered as passing), but as long as the passing order of reference node B is managed, the passing order of other reference nodes can also be carried out according to the driving timing plan. As a result, unexpected conflicts (such as deadlock and / or delays in waiting operations, etc.) will not occur. For example, in Fig. 9 In the example, if mobile body 2 and mobile body 3 are not allowed to pass through reference node C before mobile body 1 starts unloading operation at reference node C, the timing of movement and operation determined by the driving timing plan will be delayed, and the overall efficiency will be greatly reduced. In addition, if mobile body 3 is not allowed to pass through reference node B before mobile body 1 enters the narrow road (driving road) of BCDG, deadlock will occur when mobile body 3 cannot retreat. By using reference node B as a management object node and setting restrictions on the passing order of mobile bodies 1 to 3, such conflicts and / or inefficiency problems can be prevented. Although only the reference nodes required to prevent conflicts are used as management object nodes, all reference nodes where multiple mobile bodies travel together can also be used as management object nodes. In this case, conflicts and other problems can also be prevented for the same reason. However, the processing of the passing order control of the management object nodes increases as the number of management object nodes increases.
[0108] Fig. 12A as well as Fig. 12B This is a flowchart showing an example of a process of determining a management target node by the passage order determination unit 106 .
[0109] First, based on the travel timing plan of each mobile body, a first list storing the passing events of the mobile body (target mobile body) passing through the reference node is generated for each reference node (step 1). For each reference node, the passing events included in the first list are sorted in the order of passing time (departure time order). As a modified example, the order of arrival time is not excluded, and the order of passing time is not excluded.
[0110] Here, a passing event is a data set indicating a phenomenon that a moving object passes through a reference node. Specifically, a passing event includes the following items.
[0111] (i) ID of the base node
[0112] (ii) ID of the mobile object (target mobile object)
[0113] (iii) Passing time (departure time)
[0114] (iv) The ID of the virtual travel path that the target moving body traveled before passing the reference node, and the ID of the virtual travel path that the target moving body traveled after passing the reference node.
[0115] (v) The ID of the virtual travel path that the other moving body (preceding moving body) that has passed the reference node before the passing event has passed the reference node, and the ID of the virtual travel path that the other moving body (preceding moving body) has traveled before passing the reference node, and after passing the reference node.
[0116] (vi) The ID of a passage event with respect to the reference node of another mobile body (preceding mobile body) that has passed through the reference node before the passage event. The passage event of (vi) is a passage event that may conflict with the passage event of (i).
[0117] Hereinafter, the set of passing events of (vi) is also referred to as a monitoring pair candidate list. At the time point of step 1, the monitoring pair candidate list is empty.
[0118] These items are examples, and other items may be included, or some items may not exist.
[0119] Next, in the first list of each reference node, the first list corresponding to the unprocessed reference node is selected (step 2).
[0120] Determine whether two or more moving bodies have passed through the reference node corresponding to the selected first list based on the passing events in the first list (step 3). In the case of a reference node through which no moving body has passed or a reference node through which only one moving body has passed (no in step 3), the selected first list is not processed and the process proceeds to step 7. In step 7, determine whether there is a first list that has not been selected. If so (yes in step 7), return to step 2 and select the first list corresponding to the unprocessed reference node. In the case of a reference node through which two or more moving bodies have passed (yes in step 3), the process proceeds to step 4.
[0121] In step 4, an unprocessed passing event (referred to as E1) is selected from the selected first list.
[0122] In step 5, a passing event (called E2) satisfying either the reverse condition or the merging condition is found among passing events occurring earlier than passing event E1 in the selected first list, and passing event E2 is added to the monitoring pair candidate list of passing event E1.
[0123] The reverse condition is that the imaginary driving path that the moving body (preceding moving body) that passes through the reference node first travels before passing through the reference node is consistent with the imaginary driving path that the moving body (target moving body) that passes through the reference node later travels after passing through the reference node. When the reverse condition is met, it means that the two moving bodies may reverse due to the timing of passing through the reference node. Reverse driving is the situation where two moving bodies travel in opposite directions on the same driving path (imaginary driving path) at the same time. Depending on the structure of the driving path, the result of reverse driving is deadlock or collision, etc.
[0124] That is, in the reverse travel condition, it is determined that reverse travel can occur when there are a first moving body and a second moving body traveling in opposite directions on a travel road connected to the first area. In this case, at least one of the first moving body and the second moving body needs to check whether it is necessary to query a command to allow passing through the first area located at both ends of the travel road.
[0125] The merging condition includes the following condition A and condition B. When both condition A and condition B are satisfied, the merging condition is satisfied.
[0126] Condition A is a situation where the hypothetical travel path of a moving body that passes through a reference node first (preceding moving body) after passing the reference node is consistent with the hypothetical travel path of a moving body that passes through the reference node later (target moving body) after the reference node.
[0127] Condition B is that the virtual travel path traveled by the mobile body that passes the reference node first (preceding mobile body) before passing the reference node is different from the virtual travel path traveled by the mobile body that passes the reference node later (target mobile body) before passing the reference node.
[0128] When the merging condition is met, it means that the two moving bodies may merge at the reference node due to the timing of passing through the reference node. Merging is a situation where two moving bodies pass through the reference node at the same time. Depending on the structure of the driving path, the result of merging is sometimes a collision. In addition, as a result of merging, if the moving bodies pass through the reference nodes in an order different from the originally planned order of passing, the order of passing cannot be restored to the original state on the previous imaginary driving path, resulting in a possible conflict. Therefore, it is necessary to check the order of passing the reference nodes when merging.
[0129] That is, in the merging condition, it is determined that merging can occur when there are first to third driving paths connected to the first area, and when there are first and second moving bodies entering the third driving path from the first and second driving paths via the first area. In this case, for at least the moving body that passes through the first area later among the first and second moving bodies, it is necessary to check whether it is necessary to query a command to allow passing through the first area.
[0130] Although both the reverse travel condition and the merging condition are determined, it is also possible to determine only the reverse travel condition.
[0131] If there is another passing event that satisfies either the reverse condition or the merging condition among the passing events that occur earlier than the passing event E1 in the first list, the passing event E1 is set as a candidate for checking the passing sequence. That is, for the object moving body, the command to move to the reference node is set as a candidate for adding the information on the necessity of the passing check (the aforementioned "check").
[0132] Go to step 6 and repeat steps 4 to 6 until there are no unprocessed passing events in the selected first list.
[0133] Then, the process proceeds to step 7, and steps 2 to 7 are repeated until there is no first list corresponding to any unprocessed reference node.
[0134] Fig.13 Shown in Fig. 9 In the example of , the processing up to step 5 is performed, and the information on the need for a pass check is given to the command that becomes a candidate for adding the information on the need for a pass check. It can be seen that since the retrograde condition is satisfied at most of the reference nodes, there are many reference nodes that are given the information on the need for a pass check, except for the moving body 2 that first passes through the reference node. For example, observing the reference node C, since the moving body 3 passes through the reference node C after the moving body 2 and satisfies the retrograde condition, the information on the need for a pass check is given to the movement command for the moving body 3 to the reference node C. Similarly, since the moving body 1 passes through the reference node C after the moving body 3 and satisfies the retrograde condition, the information on the need for a pass check is given to the movement command for the moving body 1 to the reference node C.
[0135] Then, in Fig. 12B In steps 8 to 18, a through event that is unnecessary to be inspected is determined among the through events determined as inspection candidates because it is redundant with respect to the inspection of other through events. The determined through event is removed from the inspection candidates. In this way, the inspection candidates are screened.
[0136] by Fig. 9 Taking the example of , if it can be confirmed that mobile body 3 passes (departs) reference node B after mobile body 2, there is no need to check the passing order at reference nodes C and D afterwards because mobile body 2 should pass through reference nodes C and D before reference node B.
[0137] When a moving body that needs to be checked for passing order passes a reference node, a temporary stop for obtaining passing approval from the operation planning system 1 and / or time loss due to mutual communication occur. Therefore, it is desirable to minimize the number of passing events for checking candidates.
[0138] Specifically, first, all the passing events that become inspection candidates are saved in a list (second list). Then, the passing events in the second list are sorted. Specifically, the time difference between the departure time of the moving body that passed just before in the candidate list of the monitoring pair of each passing event (the just before preceding moving body) and the departure time of the target moving body is calculated, and the passing events in the second list are sorted in the order of the time difference from small to large (step 8).
[0139] From the second list, a passing event (referred to as E3) is selected as a processing target in the sorted order (the order of the above-mentioned time difference from small to large) (step 9).
[0140] Next, in the second list, among the passage events that are later in order than the selected passage event E3, a passage event (referred to as E4) whose moving body matches E3 and whose passage time is after E3 is sequentially selected as a comparison object passage event (step 10).
[0141] Next, the selected monitoring pair candidate lists of the passage event E3 and the passage event E4 are compared to identify the passage event that does not require inspection due to the passage inspection in the passage event E3, and the identified passage event is removed from the monitoring pair candidate list of the passage event E4.
[0142] Specifically, an unprocessed passing event (called E5) is selected from the monitoring pair candidate list of passing event E3 (step 11), and then an unprocessed passing event (called E6) is selected from the monitoring pair candidate list of passing event E4 (step 12). It is determined whether the moving body of passing event E5 is the same as the moving body of passing event E6, and whether the passing time of passing event E6 is before passing event E5 (step 13). If the condition of step 13 is met, passing event E6 is removed from the monitoring pair candidate list of passing event E4 (step 14). It is determined whether the monitoring pair candidate list of passing event E4 is empty (step 15). If it is empty, it is determined that passing event E4 does not need to be checked at all, and passing event E4 is removed from the second list (step 16). In this case, passing event E4 will not be the processing object of steps 9 to 16.
[0143] If the condition of step 13 is not satisfied and / or if the candidate list is not empty in step 15, the process proceeds to step 17. Steps 10 to 17 are repeated until there is no passing event that has not been compared with E3 among the passing events that follow the passing event E3 in the second list (step 17).
[0144] Furthermore, steps 9 to 18 are repeated (step 18) until there are no unprocessed passing events in the second list.
[0145] Finally, the remaining passing events in the second list are used as passing events of the inspection object. That is, for the object moving body included in the passing event of the inspection object, the passing check necessity information (the aforementioned "check" is given) is added to the command to move the reference node corresponding to the passing event.
[0146] As an example, in the above process, when the passing time of the reference node C of the first moving body is earlier than the passing time of the node B of the first moving body, the passing time of the reference node C of the second moving body is later than the passing time of the reference node B of the second moving body, the passing time of the reference node C of the first moving body is earlier than the passing time of the reference node C of the second moving body, and the passing time of the reference node B of the first moving body is earlier than the passing time of the reference node B of the second moving body, taking advantage of the fact that there is no need to confirm whether the first moving body has passed the reference node C before the second moving body passes the reference node C, it is decided for the second moving body whether it needs to inquire about the command whether to allow passing through the reference node C.
[0147] The replanning determination unit 109 compares the operation plan stored in the operation plan storage unit 103 with the driving state of the moving 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 route plan and the driving timing plan.
[0148] As an example of the position of a moving body in an updated plan (updated position), when each moving body can communicate with the operation management device 200 in real time via the communication unit 201, it can be any position (for example, the current position of the moving body, or the position at a moment after adding a certain margin considering the time required for calculation, etc.).
[0149] In the case where the moving body can only communicate with the operation management device 200 via the communication device 501 configured in the reference area or its vicinity, the position of the reference area or its vicinity is used as the update position. The communication device 501 can also be configured in the middle of the driving path instead of the reference area or its vicinity. As long as it is within the range that can communicate with the communication device 501, the update position is not the reference area or its vicinity. In the case where if the moving body stops in the middle of the driving path, it may hinder the travel of other moving bodies (for example, it may collide with a moving body coming from behind), the front of the reference area where the moving body is currently heading can be used as the update position.
[0150] When the replanning determination unit 109 determines to perform replanning, the route planning unit 110 generates a route plan for each moving body using the updated position of each moving body as a starting point.
[0151] For example, in the current path plan, the plan for the path portion after the updated position is used as the updated path plan. That is, the planned portion of the path that has not been moved in the path shown in the path plan of the moving body is determined, and the determined portion is used as the updated path plan. Figure 6 In the case of the route plan of (A), the current position of the moving body is set as the reference area E, and the next moving destination is set as the reference area C. In this case, the planned portion of the route where there is no movement (the updated route plan) is removed. Figure 6 The first four reference nodes L, K, I, and G of (A) are as follows.
[0152] (Updated path plan)
[0153] 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,
[0154] Alternatively, as another example, when the replanning determination unit 109 determines to perform replanning, the path planning unit 110 may generate a path plan for each moving body by using the fact that the total distance of the travel paths (travel sections) in which a plurality of moving bodies travel simultaneously in opposite directions is reduced as an evaluation criterion or a part thereof. In this case, information on the current position of each moving body or the updated position of each moving body is used.
[0155] Alternatively, as another example, when multiple options of available path plans are pre-assigned according to the current position of the mobile body and the work content to be performed by the mobile body, any one of the options may be selected based on the updated position of the mobile body and the remaining work content. In addition, there is also a method of generating a new path plan by a pre-assigned algorithm. The method of updating the path plan is not particularly limited here, and an existing path planning method may also be used.
[0156] The driving timing planning unit 105 regenerates (updates) the driving timing plan based on the updated route plan. The driving timing planning unit 105 assigns the time information (at least one of the departure time and the arrival time, etc.) in the updated driving timing plan relative to each reference area (reference node) to the updated route plan, thereby regenerating the operation plan. The driving timing planning unit 105 updates the operation plan in the operation plan storage unit 103 with the regenerated operation plan.
[0157] The instruction unit 107 generates movement instruction data based on the updated travel timing plan, and transmits the generated movement instruction data to the operation management device 200. When each moving body is present at the updated position, the operation management device 200 transmits the movement instruction data to each moving body.
[0158] The operation management device 200 manages the operation of each moving body and the operation status of each moving body according to the movement instruction data of each moving body received from the operation planning device 100 .
[0159] 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 communication or wired communication.
[0160] The state detection unit 202 obtains the position information of the self-moving body estimated by the moving body having the function of estimating its own position through the communication unit 201 or the communication device 501. As an example of estimating the own position, means such as dead reckoning, SLAM, and GPS are used. The communication device 501 is a device that wirelessly communicates with the moving body at a closer distance than the communication unit 201. The communication device 501 is, for example, arranged at a place on the driving road where a temporary stop may occur. The specific place is, for example, a reference area or its vicinity. The state detection unit 202 can also obtain information such as the time when each moving body passes through the reference area, the direction of travel of each moving body, whether each moving body has cargo (when each moving body is carrying cargo), etc. as information on the driving state other than the position of the moving body.
[0161] In addition, a marker for position detection such as a wireless tag or a barcode may be set at a specific place where the moving body may pass. The specific place is, for example, a reference area or its vicinity. In this case, the moving body can detect the arrival or passage of the place by detecting the marker. The moving body sends the detected information to the operation management device 200 via the communication unit 201 or the communication device 501.
[0162] The state detection unit 202 may also use the sensor 401 to obtain information on the driving state of the moving body. The information indicating the driving state of each moving body may also include the time when the driving state of each moving body is detected. The sensor 401 is a sensor for detecting the state of the moving body. As an example, the sensor 401 is a roadside sensor such as a proximity sensor, a pressure sensor, or a photoelectric sensor. The sensor 401 detects the arrival, passage, direction, presence or absence of cargo, etc. of the moving body. The sensor 401 may also be a camera installed on the ceiling of the facility. In the case where the sensor 401 is a camera, the state detection unit 202 determines the position of each moving body based on the captured image. By using the sensor 401 or the communication device 501, the driving state of the moving body can be detected even if the moving body is in a place where it cannot communicate with the communication unit 201.
[0163] Each mobile body 301 receives movement instruction data from the operation management device 200, and automatically drives on the virtual driving road according to the movement instruction data. As a means of automatic driving, the mobile body uses SLAM (Simultaneous Localization And Mapping) to autonomously drive between reference areas. Other means than those described here may also be used.
[0164] Fig.14 This is a flowchart of the overall operation of the operation planning system 1. A route plan for each moving body is provided in advance, and a driving timing plan is generated by the driving timing planning unit 105, and an operation plan is generated by assigning the time information of the driving timing plan to the route plan. Each moving body operates according to the movement instruction data based on the driving timing plan and the passing sequence (driving sequence plan).
[0165] The operation management device 200 detects the position and direction of travel 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 in place and / or move in all directions, it is possible that the direction of travel is not detected. The position and direction of travel of each moving body can be notified by the moving body itself, or it can be reported regularly from each moving body and the latest information stored in the state storage unit 104 is set as the current position.
[0166] The path planning unit 110 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. By generating, selecting and extracting the path plan, the previous path plan is updated (step 12). 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 can be obtained from the outside.
[0167] If no route plan is generated for all moving bodies (Yes in step 13), the process of this flowchart is terminated. For example, if there is no cargo to be transported or no work to be performed, a route plan is not generated for the moving body. Alternatively, if it is determined that it is too late to update the travel timing plan (for example, it is expected that the operation of all current moving bodies will be completed before the travel timing plan is updated), or if a route plan cannot be generated, the process is terminated.
[0168] When the route plan is updated (regenerated) for at least one moving body (No in step 13), the driving timing planning unit 105 generates a driving timing plan for each moving body based on the updated route plan of the moving body (step 14). The driving timing planning unit 105 assigns the time information represented by the driving timing plan to the route plan to generate an operation plan. In addition, for a moving body for which a route plan has not been generated (for example, a moving body that has completed operation), a driving timing plan is not generated. In addition, at the start of the operation of the operation planning system 1, since there are route plans for all moving bodies, driving timing plans for all moving bodies are generated.
[0169] Next, the passage order determination unit 106 updates the passage order information (generates the passage order information in the first case) by the method described in FIG. 12 or the like, and provides the passage order information to the travel control unit 108 (step 15 ).
[0170] The instruction unit 107 generates movement instruction data for each moving body based on the travel timing plan of each moving body and the passing order information generated in step 15 (step 16 ), and transmits the movement instruction data for each moving body to the operation management device 200 .
[0171] The operation management device 200 transmits the movement instruction data to each moving body using the communication unit 201 (step 16).
[0172] The state detection unit 202 of the operation management device 200 obtains the information of the driving state of each mobile body (e.g., position information) in real time via at least one of the communication unit 201, the sensor 401, and the communication device 501 (step 17). The state detection unit 202 sends the information of the driving state of each mobile body to the replanning determination unit 109 via the communication unit 201 (same as step 17).
[0173] The replanning determination unit 109 determines whether there is at least one mobile body that cannot comply with the operation plan (or driving timing plan) based on the operation plan of each mobile body and the driving state of each mobile body, or determines whether replanning is required due to external factors such as the occurrence of new work (step 18). When the replanning determination unit 109 determines to replan, it generates a replanning trigger (yes in step 18).
[0174] When a re-plan trigger is generated (Yes in step 19), the process returns to step 11. Then, the route plans and travel timing plans of all mobile bodies (except for mobile bodies whose plan execution has been completed) are updated (steps 11 to 17). Then, 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.
[0175] If a replan trigger is not generated (No in step 18), determine whether there is a moving body whose operation plan (or driving timing plan) has been completed. If the operation plan of at least one moving body has been completed (Yes in step 19), return to step 11. Then, update the path plan and driving timing plan of all moving bodies (steps 11 to 17), and resend the movement instruction data based on the updated driving timing plan to each moving body. If there is no moving body whose operation plan has been completed, return to step 17. Repeat steps 17 to 19 until a replan trigger is generated or a moving body whose operation plan has been completed is generated.
[0176] use Fig.15 , Fig.16 as well as Fig.17 ,illustrate Fig.14The details of step 14 are provided. In addition, the method of making a driving timing plan is not limited to this method. In this step, even if the vehicles travel in opposite directions on the same driving road according to the respective path plans, or there are multiple moving bodies with different speeds, a driving timing plan is generated to ensure that the moving bodies do not collide or deadlock with each other. In the generation of the driving timing plan, it is assumed that the path plans of the moving bodies are not changed.
[0177] Fig.15 This is a flowchart of an example of processing performed by the travel timing planning unit 105 .
[0178] The travel timing planning unit 105 obtains the travel path structure information from the travel path 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).
[0179] The driving timing planning unit 105 generates a timing plan (timing plan of the initial state) that determines at least one of the time when each moving body arrives at the reference area or the time when it departs from the reference area based on the driving path structure information and the path plan of each moving body, as an example (step 22). The timing plans of the initial state of these moving bodies are collectively referred to as a timing plan set of the initial state. As a method for generating the timing plan of the initial state, information related to at least one of the arrival time or departure time of the reference area in the path plan is generated for each moving body using 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 reference area is calculated, and the information of the calculated time is set. When there are conditions related to the driving speed (such as a speed pattern) on each virtual driving path of the moving body, the conditions related to the speed are satisfied. Alternatively, it is also possible to use a part of the driving timing plan generated last time (the part after the position is updated) as it is (directly).
[0180] The driving timing planning unit 105 detects (detection processing) the pair of two moving bodies that first collide (deadlock or collision, etc.) in the time direction and the arc (virtual driving path) where the conflict occurs based on the timing plan set in the initial state (step 23). That is, the pair of two moving bodies and the arc (virtual driving path) that meet the conflict condition are detected. As an example, in the timing plan set in the initial state, the time when the conflict first occurs is determined for each of all combinations of two timing plans. The earliest time in time is selected from the determined times, and the pair of two moving bodies that collide at the selected time and the arc (virtual driving path) where the conflict occurs are detected.
[0181] Fig.16(A) is a diagram for explaining an example of a collision between two moving objects (moving object 1 and moving object 2) when traveling on a simple road network. Here, moving object 1 travels back and forth between reference node C and reference node E, and moving object 2 travels back and forth between reference node F and reference node D. It is assumed that the path plan of moving object 1 and the path plan of moving object 2 are determined.
[0182] Here, in the travel path (section AB) between the reference nodes AB, the moving bodies 1 and 2 travel in opposite directions. If they continue to travel in this way, a deadlock will occur when the moving bodies 1 and 2 cannot travel backward on the travel path. Even if at least one of the moving bodies 1 and 2 can travel backward, the efficiency will be greatly reduced due to the stop and backward travel to avoid a collision.
[0183] Fig.16 (B) represents a timing plan based on the initial states of the moving bodies 1 and 2, and a graph showing the moving trajectories of the moving bodies 1 and 2 along time. The dashed graph is the graph of the moving body 1, and the solid graph is the graph of the moving body 2. By checking the intersection of the moving trajectories for each imaginary driving path (section), it is possible to detect whether a conflict occurs (whether the conflict condition is satisfied). In this example, in section AB, the moving trajectories of the moving bodies 1 and 2 intersect at point 801 (the conflict condition is satisfied). Therefore, the occurrence of a conflict between the moving bodies 1 and 2 in section AB can be detected.
[0184] Fig.17 (A) is a diagram for explaining another example of a collision (collision) when two moving bodies (set as moving body 1 and moving body 2) are traveling. Here, it is assumed that moving body 1 is to travel back and forth between reference node E and reference node C, and moving body 2 is to travel back and forth between reference node F and reference node D, and the path plan of moving body 1 and the path plan of moving body 2 are determined.
[0185] The moving bodies 1 and 2 are traveling in the same direction in section AB. Since the driving road structure between sections AB does not allow overtaking, 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. The temporary stop and re-driving to prevent rear-end collision are repeated, and the driving efficiency is deteriorated.
[0186] Fig.17(B) shows a graph showing the moving trajectories of the moving bodies 1 and 2 along time based on the driving timing plan (initial state) of the moving bodies 1 and 2. The dashed line graph is the graph of the moving body 1, and the solid line graph is the graph of the moving body 2. Although the moving body 2 starts later than the moving body 1, the moving body 2 is faster than the moving body 1, and the moving body 2 collides with the moving body 1 from behind. The moving trajectories of the moving bodies 1 and 2 intersect at point 802 (satisfying the collision condition), and collide at the position corresponding to point 802. In this way, the occurrence of the collision between the moving bodies 1 and 2 in the section AB can be detected.
[0187] exist Fig.16 as well as Fig.17 In the description of , a driving path with a structure where two moving bodies cannot go against each other (cannot avoid each other) and / or a hypothetical driving path with a structure where they cannot overtake each other is taken, but there may also be a non-interference driving path that can ignore the interference of being able to avoid or overtake each other. For example, Figure 2 The driving paths BE, BA, BH, etc. can avoid each other because there is a margin around them. For the arcs (virtual driving paths) corresponding to such driving paths, even if the conflict condition is satisfied in step 23, it can be considered that there will be no conflict. Whether it is a non-interference driving path is associated with the arc ID (virtual driving path ID) and stored in the driving path structure storage unit 101.
[0188] When a pair of mobile bodies that collide is detected in step 23 (No in step 24), multiple countermeasures or at least one countermeasure for avoiding the conflict are determined for the arc that collided (conflict arc). For example, for any mobile body of the mobile body pair, the corresponding conflict can be avoided by performing a waiting operation on the travel path or reference area corresponding to the arc (virtual travel path) on the upstream side of the corresponding conflict arc. In this case, it can be said that there are two countermeasures. Thus, for each countermeasure, the timing plan set is updated (update processing) by changing at least one of the timing plans of at least two mobile bodies that collided (step 25).
[0189] For example, when there are a plurality of moving bodies 1 to H (H is an integer greater than or equal to 2), and moving body 1 and moving body 2 collide, there are two countermeasures, namely, a countermeasure for making moving body 1 standby and a countermeasure for making moving body 2 standby. In this case, by changing the timing plan of at least one of moving bodies 1 and 2 in the set of timing plans of moving bodies 1 to H, the set is updated for each countermeasure. In this case, two updated sets are obtained from one set.
[0190] The set of updated timing plans is called a timing plan set in a changed state. The timing plan set before the update is saved in advance.
[0191] Fig.16(C) shows an example of the operation of avoiding conflict in step 25. Fig.16 (C) means to avoid Fig.16 (B) The collision at point 801 detected is avoided by the mobile body 1 waiting on the upstream of the arc (hypothetical driving path) AB, i.e., on the driving path corresponding to the arc CA, or adjusting the speed (slowing down). Fig.16 As another method for detecting the conflict in (B), the mobile body 2 can also wait on the road upstream of the virtual road BA, that is, the road corresponding to the virtual road FB, or adjust the speed (slow down). By performing such a conflict avoidance operation, the movement tracks of the mobile bodies 1 and 2 will not intersect in the virtual road AB. In this way, the conflict can be avoided.
[0192] Fig.17 (C) and Fig.17 (D) shows another example of the operation of avoiding the conflict in step 25 . Fig.17 (C) shows that in order to avoid Fig.17 (B) is an example of avoiding the collision at point 802 detected by the mobile body 1 waiting on the upstream of the virtual driving path BA, that is, on the driving path corresponding to the virtual driving path EB. Fig.17 (D) shows an example in which the collision is avoided by the mobile body 2 waiting on the travel path corresponding to the virtual travel path FB, which is upstream of BA.
[0193] The driving timing planning unit 105 calculates the evaluation value for each generated timing plan set of each change state (calculation processing). The driving timing planning unit 105 associates the generated timing plan set of each change state with each evaluation value and adds it to the search list (step 26). The search list is a list that temporarily stores multiple timing plan sets being processed.
[0194] Here, as an example of calculating the evaluation value of the timing plan, the travel time when each mobile body travels on each path without making time adjustments caused by conflicts (for example, the time when traveling according to the timing plan in the initial state) is calculated as a reference value. For this reference value, the sum or power sum of the delay time caused by the time adjustment is calculated, and the calculated value is added up between the mobile bodies, and the added value is used as the penalty evaluation value. In this example, the smaller the value of the evaluation value, the higher the evaluation. However, the evaluation value can also be defined in such a way that the smaller the value of the evaluation value, the higher the evaluation. The detailed description of the calculation method of the evaluation value will be given later. The calculation method of the evaluation value is not limited to a specific method.
[0195] The driving timing planning unit 105 arranges the timing plan sets of each change state in the search list in descending order of evaluation value (step 27). The driving timing planning unit 105 extracts the timing plan set of the change state at the head of the search list as the object to be searched next (same as step 27). That is, one timing plan set of the change state is selected from the timing plan sets of the change state in the search list (selection process).
[0196] The driving timing planning unit 105 determines whether the operation time is controlled within the predetermined time limit, or whether the number of repetitions is controlled within the prescribed number of times (step 28). The number of repetitions can be an arbitrary part 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 (yes in step 28), then return to step 23. In the returned step 23, the timing plan of the changed state extracted in step 27 is newly regarded as the timing plan of the initial state, and then the detection process (detection of the arc where the conflict initially occurs and the pair of moving bodies in conflict. The conflict detected last time or before the last time is eliminated).
[0197] In step 23, when there is no conflict in the timing plan set as the processing object (yes in step 24), the timing plan set is used as a candidate of the driving timing plan set to be output. Therefore, the timing plan set in the corresponding changed state is used as a candidate driving timing plan set, and is moved from the search list to the solution list together with the evaluation value (step 31). The solution list is a list that temporarily holds the candidates of the driving timing plan set to be output.
[0198] The travel timing planning unit 105 arranges the solution list in the order of evaluation values (step 32 ).
[0199] The travel timing plan unit 105 extracts the timing plan set at the head of the search list as the next processing target (step 33 ), regards the extracted timing plan set as the timing plan set in the initial state, and returns to step 23 .
[0200] When the operation time exceeds the time limit or the number of repetitions exceeds the prescribed number of times (No in step 28), the driving timing planning unit 105 checks whether at least one candidate of the driving timing plan set is included in the solution list (step 29). When the solution list is not empty (No in step 29), the candidate of the driving timing plan set at the beginning of the solution list is output as a solution. That is, the timing plan of each moving body included in the candidate is output as the driving timing plan of each moving body (step 30). Since the solution list is arranged in descending order of evaluation value, the candidate at the beginning of the solution list is the set of driving timing plans with the highest evaluation.
[0201] On the other hand, when the solution list is empty (Yes in step 29), the driving timing planning unit 105 extracts the timing plan set of the change state at the beginning of the search list as a solution (step 34). In the timing plan of each mobile body in the extracted solution, the range of time when the conflict is eliminated (the plan portion from completion to halfway) is determined, and the plan portion of the determined range is output as the driving timing plan of each mobile body (step 35).
[0202] Fig.18 express Fig.15 FIG. 1 is an image example of the search process of the driving timing planning unit in the flowchart of FIG. Fig.18 The top corresponds to Fig.16 (B) shows the driving timing plan (with the scale changed).
[0203] For the virtual travel path (collision arc) where reverse driving occurs, there are two modes of conflict avoidance measures: one in which vehicle 1 is put on standby and the other in which vehicle 2 is put on standby. Depending on which vehicle is put on standby to avoid the conflict, the time when the conflict occurs and the virtual travel path in which it occurs also change. Fig.15 In step 25, if an operation is performed that gives priority to the moving body 2 (an operation that puts the moving body 1 on standby), a timing plan set for changing state 1 is obtained, and if an operation is performed that gives priority to the moving body 1 (an operation that puts the moving body 2 on standby), a timing plan set for changing state 2 is obtained. In addition, the hollow arrows in the figure indicate the changed parts of the curve graph.
[0204] The evaluation values are calculated for the timing plan set of change state 1 and the timing plan set of change state 2, and the timing plan set of change state 1 and the timing plan set of change state 2 are saved in the search list ( Fig.15 The search list is sorted in descending order of evaluation value. Since the evaluation value of the driving timing plan set of change state 1 is large, the timing plan set of change state 1 is selected ( Fig.15 Step 27).
[0205] Treat the timing plan set of change state 1 as the timing plan set of the initial state and continue searching recursively ( Fig.15 In step 23), the timing plan set for changing state 3 and the timing plan set for changing state 4 are obtained according to which one of moving body 2 and moving body 1 is given priority. Evaluation values are calculated for the timing plan set for changing state 3 and the timing plan set for changing state 4, respectively. The timing plan set for changing state 3 and the timing plan set for changing state 4 are saved in the search list ( Fig.15 Step 26).
[0206] The search list stores the timing plan set of change state 2, the timing plan set of change state 3, and the timing plan set of change state 4 at that time point together with their respective evaluation values. The timing plan set with the largest evaluation value is selected, and the selected timing plan set is regarded as the timing plan set of the initial state and the recursive processing is continued (step 23).
[0207] In this way, Fig.15 In the search algorithm, the combination of conflict avoidance strategies is searched sequentially. If there are many mobile bodies and / or many conflict arcs, the number of combinations of conflict avoidance strategies becomes huge, and it is generally difficult to generate a plan in real time. However, Fig.15 In the search algorithm, the evaluation value of the timing plan set of the change state to be investigated next is calculated, and the search is performed preferentially from the highest evaluation value. In this way, efficient search can be performed.
[0208] At this time, by applying a search method called a discoverable optimal solution search algorithm (A search), a highly evaluated driving timing plan can be obtained in a short time. In A search, for example, the evaluation value is calculated based on the sum of the delay time corresponding to the path (searched circuit) where the conflict is resolved in the target timing plan set and the predicted value of the delay time expected for the remaining path (unsearched path) thereafter.
[0209] Specifically, the sum of the remaining travel distances in the path plans of each moving body after the occurrence time of the last conflict to be avoided in the timing plan set is calculated. The estimated value of the delay time in the remaining travel is obtained by assuming that a delay will occur at a certain ratio according to the remaining travel distance. For example, the travel time when the remaining travel distance is traveled at a standard speed is calculated, and the value obtained by multiplying the travel time by a certain coefficient is calculated as the delay time. The sum of the calculated delay times and the sum of the delay times of each moving body before the occurrence time of the above-mentioned conflict are summed up, and the reciprocal of the sum value is used as the evaluation value.
[0210] As described above, according to the present embodiment, conflicts such as deadlock or collision can be avoided, and operation plans of multiple mobile bodies can be efficiently formulated. In addition, in the case of driving on a driving road with tree-like branches and / or in the case of having to move in both directions on the same driving road for reasons such as safety, a driving timing plan that ensures that collision or deadlock will not occur can also be generated. In a non-autonomous driving type mobile body that drives on a driving road with pre-laid tracks and / or guide belts, a dedicated driving road and / or driving space is pre-set, or reverse movement on the same driving road is prevented to avoid conflicts. In the case of a non-autonomous driving type mobile body, such a method is effective because strict driving management based on the moving time can be achieved. However, in the case of an autonomous driving type mobile body in the present embodiment, unexpected two-way movement may occur at any place during driving on a free plane, making it difficult to perform strict driving management based on the moving time. In the present embodiment, even in the case of such an autonomous driving type mobile body, by controlling the passing order of the management object nodes, multiple mobile bodies can be driven while avoiding conflicts.
[0211] (Hardware Configuration)
[0212] Fig.19 express Figure 1 The hardware structure of the operation planning device 100. Figure 1 The operation planning device 100 is constituted by a computer device 600 . The computer device 600 includes a CPU 601 , an input interface 602 , a display device 603 , a communication device 604 , a main storage device 605 , and an external storage device 606 . These elements 601 to 606 are connected to each other via a bus 607 . Figure 1 The operation management device 200 can also be used by Fig.19 The same hardware configuration is used to implement the same.
[0213] The CPU (central processing unit) 601 executes a travel control program as a computer program on the main storage device 605. The travel control program is a program that realizes the above-mentioned functional components of the operation planning device 100. The travel control program may not be a single program but may be realized by a combination of multiple programs and / or scripts. The CPU 601 realizes each functional component by executing the travel control program.
[0214] The input interface 602 is a circuit for inputting an operation signal from an input device such as a keyboard, a mouse, or a touch panel to the operation planning device 100 .
[0215] The display device 603 displays the 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.
[0216] 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 / or the external storage device 606.
[0217] 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 and executed on the main storage device 605. The main storage device 605 is, for example, RAM, DRAM, or SRAM, but is not limited thereto. Figure 1 Each storage unit can also be constructed on the main storage device 605.
[0218] 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. When the travel control program is executed, these travel control programs and / or data are read out to the main storage device 605. 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.
[0219] In addition, the travel control program may be pre-installed in the computer device 600, or may be stored in a storage medium such as a CD-ROM. In addition, the travel control program may be uploaded to the Internet.
[0220] In addition, the operation planning device 100 may be configured by a single computer device 600 or may be configured as a system composed of a plurality of computer devices 600 connected to each other.
[0221] (Second embodiment)
[0222] Fig. 20 FIG. 1 shows an example of the overall system configuration of the operation planning system according to the second embodiment. 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 a path planning unit 309 and a path planning storage unit 302. Figure 1 The path planning unit 110 has the same function.
[0223] 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 201 or the communication device 501 of the operation management device 200. The operation planning device 100 stores the path plan of each mobile body in the path plan storage unit 102. Each mobile body may not have the path planning unit 309, and the path of each mobile body may be pre-stored in the path plan storage unit 302 of each mobile body.
[0224] In this embodiment, it is assumed that the path plan of each mobile body is predetermined or each mobile body independently determines the path plan, so 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, the operation planning device 100 also appropriately generates a driving timing plan and instructs each mobile body to indicate the movement instruction data, thereby ensuring driving without collision or deadlock. If it is impossible to generate a driving timing plan that does not cause a collision or deadlock, the operation planning device 100 may also send a request for changing the path plan to each mobile body through the operation management device 200.
[0225] (Third embodiment)
[0226] Fig.21 An example of the overall system configuration of the operation planning system of the third embodiment is shown. In this embodiment, the basic functional units are the same as those of the first or second embodiment, but at least one mobile body has a function equivalent to the operation planning device (or operation planning system). The other mobile bodies include 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.
[0227] Among the mobile bodies having functions equivalent to the operation planning device, one mobile body becomes the master (mobile body). The figure shows an example in which the mobile body 301_X becomes the master (mobile body). The master (mobile body) can also be determined by negotiation between mobile bodies having functions equivalent to the operation planning device. Alternatively, the master (mobile body) can be determined based on a predetermined priority. For example, the mobile body with the highest performance or the mobile body with the largest remaining battery can become the master (mobile body). The master (mobile body) can also be determined by other methods.
[0228] After the path planning unit 309 of the mobile body other than the mobile body 301_X determines the path plan autonomously, it sends the path plan to the mobile body 301_X that has become the master (mobile body). Alternatively, the path plan may be pre-stored in the path plan storage unit 302. In this case, the path planning unit 309 does not generate the path plan by itself, but reads the path plan data in the path plan storage unit 302 and sends it to the master (mobile body).
[0229] The moving body 301_X that becomes the master (moving body) generates a driving timing plan for multiple moving bodies including the self-moving body. The master (moving body) generates the driving timing plan for each moving body in a manner that does not change the path plan of each moving body. The moving body 301_X sends the movement instruction data based on the driving timing plan of each moving body to each moving body. Each moving body controls driving based on the movement instruction data. As a result, collisions or deadlocks will not occur, and efficient driving can be achieved as a whole.
[0230] 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 among the moving bodies of the first embodiment.
[0231] In the third embodiment, it is assumed that the path plan of each moving body is predetermined or each moving body determines the path plan autonomously, so that others cannot freely change the path plan. Even in such a case, the moving body that becomes the master (moving body) can appropriately generate a driving timing plan, and by issuing instructions to each moving body, it is possible to ensure driving without collision or deadlock. If a driving timing plan that does not cause collision or deadlock cannot be generated, the moving body that becomes the master (moving body) can also send a request for changing the path plan to other moving bodies.
[0232] In addition, the present invention is not limited to the above-mentioned embodiments, and the constituent elements can be deformed and concretized within the scope of the implementation stage without departing from the gist thereof. In addition, various inventions can be formed by appropriately combining the multiple constituent elements disclosed in the above-mentioned embodiments. In addition, for example, the composition after removing several constituent elements from all the constituent elements shown in the various embodiments can also be considered. Furthermore, the constituent elements recorded in different embodiments can also be appropriately combined.
[0233] [Technical solution 1]
[0234] A driving control device, comprising:
[0235] A passing order determining unit that determines a passing order of a plurality of moving bodies in a first area through which the plurality of moving bodies pass, based on a conflict condition in which the moving bodies collide with each other; and
[0236] The control unit controls the travel of the plurality of moving bodies based on the passing order.
[0237] [Technical Solution 2]
[0238] According to the driving control device described in technical solution 1,
[0239] The passing order determination unit determines the passing order so as not to satisfy the conflicting condition.
[0240] [Technical Solution 3]
[0241] According to the driving control device described in technical solution 1 or 2,
[0242] The first area is an area included in the paths of the plurality of moving objects.
[0243] [Technical Solution 4]
[0244] The travel control device according to any one of technical solutions 1 to 3,
[0245] The passing order determination unit detects the first area based on the paths of the plurality of moving objects.
[0246] [Technical Solution 5]
[0247] The travel control device according to any one of technical solutions 1 to 4,
[0248] A timing determination unit is provided, wherein the timing determination unit determines a passage time of the first area based on the paths of the plurality of moving objects,
[0249] The passage order determination unit determines the passage order based on the passage time.
[0250] [Technical Solution 6]
[0251] The travel control device according to any one of technical solutions 1 to 5,
[0252] The passing order determining unit determines whether the travel path connected to the first area has a structure that can avoid the conflict, and determines the passing order without using the conflict condition if the travel path has the structure that can avoid the conflict.
[0253] [Technical Solution 7]
[0254] The travel control device according to any one of technical solutions 1 to 6 comprises:
[0255] an instruction unit that generates movement instruction data for the moving body based on the passing order; and
[0256] The communication unit transmits the movement instruction data to the moving object.
[0257] [Technical Solution 8]
[0258] According to the driving control device described in technical solution 7,
[0259] The movement instruction data includes:
[0260] If the moving object is allowed to pass through the first area, a command is issued to cause the moving object to pass through the first area.
[0261] [Technical Solution 9]
[0262] According to the driving control device described in technical solution 8,
[0263] The control unit determines whether to permit passage through the first area based on the passage order.
[0264] [Technical Solution 10]
[0265] According to the driving control device described in technical solution 9,
[0266] The control unit transmits, to the moving body, either a notification of permission or a notification of non-permission of the passage, in relation to the passage of the moving body through the first area.
[0267] [Technical Solution 11]
[0268] According to the driving control device described in technical solution 9 or 10,
[0269] When the moving body is not allowed to pass through the first area, the control unit adjusts the arrival time of the moving body at the first area by making the moving body wait at a position different from the first area or slowing down the moving speed of the moving body.
[0270] [Technical Solution 12]
[0271] According to any one of technical solutions 7 to 11, the driving control device
[0272] The control unit determines that the moving body has passed through the first area, when receiving a passage completion notification including the fact that the moving body has passed through the first area from the moving body that has passed through the first area.
[0273] [Technical Solution 13]
[0274] According to any one of technical solutions 7 to 12, the driving control device
[0275] The movement instruction data includes:
[0276] Before the moving body passes through the first area, a command to permit passing through the first area is confirmed.
[0277] [Technical Solution 14]
[0278] According to the driving control device described in technical solution 13,
[0279] The control unit determines whether it is necessary to confirm a command allowing at least one of the first and second moving bodies to pass through the first area located at either end of the traveling path based on information about whether there are the first and second moving bodies traveling in opposite directions on the traveling path.
[0280] [Technical Solution 15]
[0281] According to the driving control device described in technical solution 13,
[0282] There are a first driving path, a second driving path, and a third driving path connected to the first area,
[0283] The control unit determines whether it is necessary to confirm a command allowing at least one of the first and second moving bodies to pass through the first area based on information on whether there are first and second moving bodies entering the third moving path from the first and second moving paths via the first area.
[0284] [Technical Solution 16]
[0285] According to the driving control device described in technical solution 14 or 15,
[0286] The passing order determining unit,
[0287] The first moving body passes through the first area earlier than the second moving body passes through the first area, and
[0288] The first time when the second moving body passes through the first area is later than the second time when the second moving body passes through the first area, and
[0289] The first moving body passes through the first area earlier than the second moving body passes through the first area, and
[0290] When the time at which the second moving body of the first moving body passes through the first area is earlier than the time at which the second moving body of the second moving body passes through the first area,
[0291] By utilizing the fact that it is not necessary to confirm whether the first moving body has passed through the first first area before the second moving body passes through the first first area, it is determined whether it is necessary to confirm whether the second moving body is allowed to pass through the first first area.
[0292] [Technical Solution 17]
[0293] The travel control device according to any one of technical solutions 1 to 16,
[0294] The conflict condition includes any of the following situations:
[0295] There are two or more of the moving objects traveling in opposite directions on the travel path at the same time;
[0296] A situation where two or more of the moving objects moving in the same direction on a travel path collide with each other; and
[0297] Two or more of the moving bodies arrive at the intersection connected to the travel path at the same time, or when one or more of the moving bodies is waiting at the intersection connected to the travel path, another moving body passes through the travel path.
[0298] [Technical Solution 18]
[0299] A driving control method, comprising:
[0300] A step of determining a passing order of a plurality of moving bodies in a first area through which the plurality of moving bodies pass based on a collision condition in which the moving bodies collide with each other; and
[0301] A step of controlling the travel of the plurality of moving bodies based on the passing order.
[0302] [Technical Solution 19]
[0303] A computer program for causing a computer to perform the following steps:
[0304] A step of determining a passing order of a plurality of moving bodies in a first area through which the plurality of moving bodies pass based on a collision condition in which the moving bodies collide with each other; and
[0305] A step of controlling the travel of the plurality of moving bodies based on the passing order.
[0306] [Technical Solution 20]
[0307] A driving control system comprising:
[0308] Multiple mobile bodies;
[0309] A passing order determining unit determines a passing order of two or more of the plurality of moving objects in a first area through which the moving objects pass, based on a collision condition in which the moving objects collide with each other; and
[0310] The control unit controls the travel of the plurality of moving bodies based on the passing order.
[0311] Description of symbols
[0312] 1: Operational planning system
[0313] 100: Operation plan device
[0314] 101: Traveling road structure storage unit
[0315] 102: Path plan storage unit
[0316] 103: Operation plan storage department
[0317] 104: Status storage unit
[0318] 105: Driving Timing Planning Department
[0319] 106: Pass order determination unit
[0320] 107: Command Department
[0321] 108: Driving control unit
[0322] 109: Replanning and Judgment Department
[0323] 110: Path Planning Department
[0324] 111: Ministry of Communications
[0325] 200: Operation management device
[0326] 201: Ministry of Communications
[0327] 202: Status detection unit
[0328] 301_1~301_N:Moving body
[0329] 401_1~401_M:Sensor
[0330] 501_1~501K: communication device.
Claims
1. A travel control device for controlling a plurality of moving bodies in a moving area including a plurality of areas and a plurality of travel paths connecting the plurality of areas, comprising: a movement timing planning unit that generates, based on a plurality of path plans including an order of one or more areas through which the plurality of moving bodies pass and a conflict condition in which a conflict between the moving bodies occurs, a plurality of movement timing plans that specify the timing at which the plurality of moving bodies move on the travel road without changing the plurality of path plans; A passing order determining unit that determines a passing order of a plurality of first moving bodies among the plurality of moving bodies in a first area through which the plurality of first moving bodies pass, based on the plurality of moving timing plans and the conflict condition; and a control unit that controls the travel of the plurality of first moving bodies based on the passing order, The conflict condition includes any of the following situations: There are two or more of the moving objects traveling in opposite directions on the same travel route at the same time; A situation in which two or more of the moving bodies moving in the same direction on a travel path collide with each other; as well as Two or more of the moving bodies arrive at the intersection connected to the travel path at the same time, or when one or more of the moving bodies is waiting at the intersection connected to the travel path, another moving body passes through the travel path.
2. The travel control device according to claim 1, The passing order determination unit determines the passing order so as not to satisfy the conflicting condition.
3. The travel control device according to claim 1 or 2, The first area is an area included in the paths of the plurality of first moving bodies.
4. The travel control device according to claim 1 or 2, The passing order determination unit detects the first area based on the paths of the plurality of first moving objects.
5. The travel control device according to claim 1 or 2, A timing determination unit is provided, wherein the timing determination unit determines a passage time of the first area based on the paths of the plurality of first moving bodies, The passage order determination unit determines the passage order based on the passage time.
6. The travel control device according to claim 1 or 2, The passing order determining unit determines whether the travel path connected to the first area has a structure that can avoid the conflict, and determines the passing order without using the conflict condition if the travel path has the structure that can avoid the conflict.
7. The travel control device according to claim 1 or 2, comprising: an instruction unit that generates movement instruction data for the first moving body based on the passing order; and The communication unit transmits the movement instruction data to the moving object.
8. The travel control device according to claim 7, The movement instruction data includes: and a command to cause the first moving body to pass through the first area when the first moving body is allowed to pass through the first area.
9. The travel control device according to claim 8, The control unit determines whether to permit passage through the first area based on the passage order.
10. The travel control device according to claim 9, The control unit transmits, to the first moving body, either a notification of permission or a notification of non-permission of the passage, in relation to the passage of the first moving body through the first area.
11. The travel control device according to claim 9, When the first moving body is not allowed to pass through the first area, the control unit adjusts the arrival time of the first moving body at the first area by making the first moving body wait at a position different from the first area or slowing down the moving speed of the first moving body.
12. The travel control device according to claim 7, The control unit determines that the first moving body has passed through the first area, when receiving a passage completion notification including the fact that the first moving body has passed through the first area from the first moving body that has passed through the first area.
13. The travel control device according to claim 7, The movement instruction data includes: Before the first moving body passes through the first area, a command to permit passing through the first area is confirmed.
14. The travel control device according to claim 13, The control unit determines whether it is necessary to confirm a command allowing at least one of the second and third moving bodies to pass through the first area located at either end of the same driving path based on information about whether there are a second and third moving bodies traveling in opposite directions on the same driving path among the multiple first moving bodies.
15. The travel control device according to claim 13, There are a first driving path, a second driving path, and a third driving path connected to the first area, The control unit determines whether it is necessary to confirm a command to allow at least one of the second and third moving bodies to pass through the first area based on information about whether there are a second and third moving bodies among the multiple first moving bodies that enter the third driving path from the first driving path and the second driving path via the first area.
16. The travel control device according to claim 14, The passing order determining unit, The first time when the second moving body passes through the first area is earlier than the time when the second moving body passes through the second area, and The first time when the third moving body passes through the first area is later than the time when the second moving body passes through the first area, and The second moving body passes through the first area earlier than the third moving body passes through the first area, and When the second moving body passes through the first area at a time earlier than the third moving body passes through the first area at a time earlier, By utilizing the fact that it is not necessary to confirm whether the second moving body has passed through the first first area before the third moving body passes through the first first area, it is determined whether it is necessary to confirm whether the third moving body is allowed to pass through the first first area.
17. A travel control method is a method for controlling a plurality of moving bodies in a moving area including a plurality of areas and a plurality of travel paths connecting the plurality of areas, comprising: Based on a plurality of path plans including the order of one or more areas that the plurality of moving bodies pass through and a conflict condition that causes a conflict between the moving bodies, generating a plurality of movement timing plans that specify the timings at which the plurality of moving bodies move on the travel road without changing the plurality of path plans; determining, based on the plurality of movement timing plans and the conflict condition, a passing order of a plurality of first moving bodies among the plurality of moving bodies in a first area through which the plurality of first moving bodies pass; and Based on the passing order, the travel of the plurality of first moving bodies is controlled, The conflict condition includes any of the following situations: There are two or more of the moving objects traveling in opposite directions on the same travel route at the same time; A situation in which two or more of the moving bodies moving in the same direction on a travel path collide with each other; as well as Two or more of the moving bodies arrive at the intersection connected to the travel path at the same time, or when one or more of the moving bodies is waiting at the intersection connected to the travel path, another moving body passes through the travel path.
18. A computer program product, comprising a computer program, the program being configured to cause a computer to execute the steps of the travel control method according to claim 17.
19. A driving control system comprising: controlling a plurality of moving bodies in a moving area including a plurality of areas and a plurality of travel paths connecting the plurality of areas; a movement timing planning unit that generates, based on a plurality of path plans including an order of one or more areas through which the plurality of moving bodies pass and a conflict condition in which a conflict between the moving bodies occurs, a plurality of movement timing plans that specify the timing at which the plurality of moving bodies move on the travel road without changing the plurality of path plans; A passing order determining unit determines a passing order of two or more first moving bodies among the plurality of moving bodies in a first area through which the two or more first moving bodies pass, based on the plurality of moving timing plans and the conflict condition; and a control unit that controls the travel of the plurality of first moving bodies based on the passing order; The conflict condition includes any of the following situations: There are two or more of the moving objects traveling in opposite directions on the same travel route at the same time; A situation where two or more of the moving objects moving in the same direction on a travel path collide with each other; and Two or more of the moving bodies arrive at the intersection connected to the travel path at the same time, or when one or more of the moving bodies is waiting at the intersection connected to the travel path, another moving body passes through the travel path.
Citation Information
Patent Citations
Processing method of workpiece
JP2019197806A
Vehicle travel system and vehicle automatic traveling method
JP2000285373A