Route planning device, route planning method, and program

JPWO2022215314A5Inactive Publication Date: 2024-12-27
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023512825
Authority / Receiving Office
JP · JP
Patent Type
Applications
Priority Date
2022-01-14
Filing Date
2022-01-14
Publication Date
2024-12-27
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing route planning methods for multiple moving objects, such as robots, face challenges in efficiently replanning routes without causing collisions or deadlocks, especially when the environment changes or when robots deviate from their planned paths, leading to delays and inefficiencies.

Method used

A route planning device and method that predicts the future positions of moving objects, issues stop instructions to guide them to a predetermined position, and then replans their routes using these positions as a starting point, ensuring minimal disruption and avoiding collisions by considering the dependency between old and new route plans.

Benefits of technology

This approach allows for efficient replanning of routes without stopping robots excessively, preventing collisions and deadlocks, while maintaining movement efficiency and reducing power consumption, even in environments with frequent changes or dynamic obstacles.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This route planning device is provided with: a position prediction unit for predicting positions of a plurality of moving bodies after a prescribed amount of time has elapsed, the plurality of moving bodies moving according to a first route plan; and, a route planning unit for generating a second route plan by re-planning routes of the plurality of moving bodies on the basis of prediction results from the prediction unit during a period in which at least one of the plurality of moving bodies is moving according to the first route plan, and outputting a movement instruction based on the second route plan for each of the plurality of moving bodies.
Need to check novelty before this filing date? Find Prior Art

Description

Path planning device, path planning method, and program

[0001] The present disclosure relates to a route planning device, a route planning method, and a program for planning travel routes for a plurality of moving objects.

[0002] There are techniques for planning paths for multiple moving bodies (robots, etc.) (see Patent Documents 1 to 3 and Non-Patent Document 1).

[0003] JP 2020-149370 A JP 2004-280213 A JP 2009-20773 A

[0004] G. Sharon, et al., "Conflict-Based Search for Optimal Multi-Agent Pathfinding," Artificial Intelligence, Vol. 219, pp. 40-66 (2015)

[0005] There is a demand for later changing the route plans of multiple mobile objects that are moving according to the route plans.

[0006] It is desirable to provide a route planning device, a route planning method, and a program that are capable of efficiently re-planning routes for multiple moving objects.

[0007] A route planning device according to one embodiment of the present disclosure includes a position prediction unit that predicts the positions of multiple moving bodies moving according to a first route plan after a predetermined time has elapsed, and a route planning unit that, during a period in which at least one of the multiple moving bodies is moving according to the first route plan, replans the routes of the multiple moving bodies based on the prediction result of the prediction unit to generate a second route plan, and outputs movement instructions based on the second route plan to each of the multiple moving bodies.

[0008] A route planning method according to one embodiment of the present disclosure includes predicting the positions of multiple moving bodies moving according to a first route plan after a predetermined time has elapsed, replanning the routes of the multiple moving bodies based on the predicted results during a period in which at least one of the multiple moving bodies is moving according to the first route plan to generate a second route plan, and outputting movement instructions based on the second route plan to each of the multiple moving bodies.

[0009] A program according to one embodiment of the present disclosure causes a computer to perform processing including predicting the positions of multiple moving bodies moving according to a first route plan after a predetermined time has elapsed, replanning the routes of the multiple moving bodies based on the predicted results during a period in which at least one of the multiple moving bodies is moving according to the first route plan to generate a second route plan, and outputting movement instructions based on the second route plan to each of the multiple moving bodies.

[0010] A route planning device, route planning method, or program according to one embodiment of the present disclosure predicts the positions of multiple moving bodies moving according to a first route plan after a predetermined time has elapsed, and generates a second route plan by replanning the routes of the multiple moving bodies based on the predicted results during a period in which at least one of the multiple moving bodies is moving according to the first route plan.

[0011] 5 is an explanatory diagram schematically showing a first example of a path planning method using a technique according to a comparative example. FIG. 6 is an explanatory diagram schematically showing a second example of a path planning method using a technique according to a comparative example. FIG. 7 is an explanatory diagram schematically showing a problem with a method of path re-planning using a technique according to a comparative example. FIG. 8 is a block diagram schematically showing an example configuration of a path planning device according to a first embodiment of the present disclosure. FIG. 9 is a flowchart showing an example of a re-planning procedure using the path planning device according to the first embodiment. FIG. 10 is a flowchart showing a detailed example of the stop instruction processing of step S13 in FIG. 5. FIG. 11 is a flowchart showing a detailed example of the movement instruction processing of step S15 in FIG. 10. FIG. 11 is an explanatory diagram schematically showing an example of path interference between a plurality of robots. FIG. 12 is an explanatory diagram schematically showing an example display of an initial state of a user interface screen on a display unit of a path planning device according to a first embodiment. FIG. 13 is an explanatory diagram schematically showing an example screen display during path re-planning on the user interface screen shown in FIG. 10. FIG. 14 is an explanatory diagram schematically showing an example screen display after path re-planning is completed on the user interface screen shown in FIG. 11.

[0012] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. The description will be made in the following order: 0. Comparative Example (FIGS. 1 to 3) 1. First Embodiment (FIGS. 4 to 12) 1.0 Overview 1.1 Configuration 1.2 Operation 1.3 Application Example 1.4 Effects 2. Other Embodiments

[0013] <0. Comparative Example> (Outline of Path Planning Method Using Technology According to Comparative Example) Path planning is one of the important functions of an autonomous mobile robot. Path planning involves using a map of the surrounding environment to calculate the path a robot should take to reach its goal. Calculating paths for multiple robots simultaneously is called multi-robot path planning. Multi-robot path planning requires searching for a path that does not conflict with other robots, so the calculations are significantly more complex than path planning for a single robot. Conflict refers to a situation where a robot is unable to reach its goal due to collisions or deadlocks between robots.

[0014] FIG. 1 schematically shows a first example of a path planning method using a technique according to a comparative example. Multi-robot path planning is often performed on a graph structure such as that shown in FIG. 1. This graph represents the environment in which the robots move. The output of the path planning is expressed, for example, as the order of vertices to be passed through. FIG. 1 shows an example of path planning for two robots 1 and 2 in a graph structure having vertices A, B, C, D, E, F, G, and H. In FIG. 1, for example, the path planning for robot 1 is output as a plan to pass through vertices A, B, C, D, and H in that order.

[0015] In multi-robot path planning, in order to search for paths that do not conflict with each other, *Graph search algorithms such as Conflict-Based Search (CBS) (see Non-Patent Document 1) are sometimes used. Graph search algorithms require time due to complex processing. When the number of robots increases or when attempting to find a more optimal plan, it may take several seconds to several tens of seconds to find a solution. Here, an optimal plan generally refers to a set of routes that minimizes the total time it takes for the robot to reach the goal. A more optimal plan refers to a solution that allows the robot to reach the goal in the shortest time.

[0016] After the path planning is completed, there is a phase in which the robot actually moves along the searched path. One method for moving the robot is to control the order of arrival at vertices (see, for example, Patent Document 1). This is a technique in which the output of the path planning, which is generally expressed as the time of passing through vertices, is converted into the order of arrival at the vertices, and the robot is controlled to move in that exact order.

[0017] Fig. 2 shows a schematic diagram of a second example of a path planning method using a technique according to a comparative example. Assume that path planning for two robots, robot 1 and robot 2, is performed for the graph structure shown in Fig. 2, and the following plan is output. Generally, the output of a path plan is in the following format: Robot 1: Move from vertex A to vertex C [0, 2] → Move from vertex C to vertex D [2, 6] Robot 2: Wait at vertex B [0, 2] → Move from vertex B to vertex C [2, 5] → Move from vertex C to vertex E [5, 6]

[0018] The values ​​in brackets [ ] represent the start and end times of each movement or waiting. For example, "moving from vertex A to vertex C [0, 2]" means moving from vertex A to vertex C between time t = 0 and time t = 2. Here, the time required for movement is called cost. In the example of Figure 2, for example, the cost for robot 1 to move from vertex A to vertex C is 2.

[0019] This plan shows that two robots will pass through vertex C. It also shows that vertex C must be passed in the order robot 1 → robot 2. Conversely, as long as vertex C is passed in the order robot 1 → robot 2, this plan can be executed without conflict between robots 1 and 2. Therefore, robots 1 and 2 can be controlled so that the order in which they pass through (arrive at) the vertices is maintained. The advantage of this method is that the plan will not fail even if robots 1 and 2 are unable to move at the planned time for some reason. For example, even if robot 1's initial movement (from vertex A to vertex C) is delayed until time t = 4 due to a sudden obstacle, robot 2 is controlled to wait at vertex B until robot 1 passes vertex C, so the plan will not fail. If robot B were controlled to wait at vertex B until time t = 2 and then start moving toward vertex C, robot 2 could potentially reach vertex C before robot 1, potentially resulting in a plan failure.

[0020] (Outline of a Path Replanning Method Using Technology According to a Comparative Example) Next, path replanning will be described. Path replanning refers to later changing a robot's path that has already been planned. For example, a path is planned, movement instructions are issued to the robot, and while the robot is moving to the goal, another path is planned and the robot's movement instructions are also changed. When planning using a global optimization algorithm that optimizes the overall paths of multiple robots (an algorithm that minimizes the total time it takes for all robots to reach the goal), adding a new goal (for a certain robot) may change the paths of all robots (robots for which a goal has already been set). In other words, path replanning is performed at this time. Replanning is also performed when the graph structure changes due to a moving obstacle or when the robot's movement progress deviates from the planned progress. The technology disclosed herein is a method for this path replanning.

[0021] (Issues with the path re-planning method according to the comparative example) Path re-planning is generally performed according to the following steps A-1 to A-4. (Step A-1) A re-planning trigger is fired. (Step A-2) A path is searched for. (Step A-3) The current movement instruction is discarded. (Step A-4) A new movement instruction is issued to the robot based on the path found.

[0022] When re-planning a route, there is a delay between the start of re-planning and issuing the re-planned movement instructions to the robots. The delay is caused by the time required to search for a route (which, as mentioned above, can take anywhere from a few seconds to several tens of seconds) and the communication time required to issue movement instructions to the robots. This delay can cause problems with the movement of multiple robots. Problems that can arise include robots colliding with each other or deadlocks in their movements, preventing them from reaching the goal.

[0023] Below, three re-planning methods that can be considered as techniques according to comparative examples and the problems associated with these methods will be described.

[0024] (Method 1) Method of re-planning while ignoring delays This is a method of re-planning without any consideration of the delays mentioned above. In this case, the starting point of the path search is the robot's position at the start of the re-planning (step A-1). However, because the robot proceeds according to the original movement plan during the path search, the position of the robot when a new movement command is issued (step A-4) may differ from the starting point of the path search. This can cause problems such as collisions between robots or deadlocks. Figure 3 shows an example of a collision case.

[0025] FIG. 3 schematically illustrates the problems with the path replanning technique according to the comparative example. First, a path search is performed for robots 1 and 2, starting from their positions at the start of the path search for the replanning (step A-1 in FIG. 3A). When the path search is completed and a new movement command is issued (when the movement according to the new movement command begins, step A-4 in FIG. 3B), robots 1 and 2 are still moving along the old path. Therefore, robot 1 first turns back to return to the starting point at the start of the path search for the replanning. However, it collides with robot 2, which is moving according to the movement command according to the new path plan (step C in FIG. 3C). The path searched by the replanning is guaranteed to avoid collisions and deadlocks from the start point to the goal point, but the movement of robot 1 from its current location to the start point in the examples of FIGS. 3B and 3C is not included in the search results, and therefore is not guaranteed to avoid collisions and deadlocks. This results in the problem shown in FIG. 3C.

[0026] (Method 2) Method of stopping the movement of all robots during replanning The problem that occurs in Method 1 can be prevented by stopping the movement of all robots between the time when the replanning trigger is fired and the time when a route is searched (between Step A-1 and Step A-2). This is because the starting point of the route search and the robot position when a new movement command is issued (Step A-4) are the same. In this method, the replanning procedure is as follows: Steps A-1' to A-5'. (Step A-1') The replanning trigger is fired. (Step A-2') The movement of all robots is stopped. (Step A-3') A route is searched for, using the location where the robot stopped as the starting point. (Step A-4') The current movement command is discarded. (Step A-5') A new movement command is issued to the robot based on the searched route.

[0027] This method does not cause problems such as collisions or deadlocks (where the robot cannot reach the goal normally), but it does have other issues, such as reduced movement efficiency and wasted power consumption. When stopping a robot, it cannot stop immediately (it must brake and gradually slow down), resulting in a loss of time. Also, pausing and then starting again consumes more power than if it continued moving without stopping. With path planning using a global optimization algorithm, the more robots there are, the more frequently replanning is required, meaning that the waste caused by stopping each time increases.

[0028] (Method 3) A method of predicting the robot's future position and planning a path from that position as the starting point.

[0029] Finally, a possible approach is to predict the robot's future position and use that position as the starting point for path search. With this approach, if the prediction is accurate, the starting point for path search will be the same as the robot's position at the time a new movement command is issued, so collisions and deadlocks do not occur, and replanning can be performed without stopping the robot. However, if the prediction is incorrect, problems such as collisions and deadlocks may occur, as with Method 1. Since it is highly possible for predictions to be incorrect, this approach also has its challenges. For example, robot movement may take longer than predicted due to external factors such as moving obstacles. Another factor that can lead to prediction errors is the difficulty of accurately estimating the time required for algorithmic path search (Step A-2).

[0030] As explained above, all of the above re-planning methods 1 to 3 have problems. Therefore, it is desirable to develop a technology that enables re-planning of a path that keeps the robot moving as little as possible and prevents collisions and deadlocks between robots.

[0031] 1. First Embodiment In the following, an example in which a moving body is a robot will be described, but the technology of the present disclosure can also be applied to moving bodies other than robots.

[0032] [1.0 Overview] The technology disclosed herein is a new method for replanning a multi-robot path plan by minimizing the movement of multiple robots and preventing collisions or deadlocks between the robots. Steps B-1 to B-4 of the path planning method using the technology disclosed herein are shown below. (Step B-1) Predict the positions of multiple robots moving according to the old path plan (first path plan) before replanning after a predetermined time (T seconds). Step B-1 corresponds to step S12 in FIG. 5 (described below). T seconds is determined based on the time required for path search and the delay time until instructions are issued to each robot. The position of each moving robot is predicted taking into account the current position, the speed of each robot, and the rendezvous time between multiple robots. For robots for which no movement instructions have been issued, the current position becomes the predicted position.

[0033] (Procedure B-2) Determine a stop command position for each robot so that each robot stops near the position predicted in procedure B-1, and issue a stop command to each robot. Procedure B-2 corresponds to the stop command processing in step S13 of FIG. 5, which will be described later. However, a stop command is not issued to a robot that has not moved after T seconds. A robot that has not moved is either a robot that has not been issued a movement command in the first place, or a robot that has been issued a movement command but has completed its movement after T seconds. Before reaching the stop command position specified by the stop command, the robot may temporarily stop due to a rendezvous (for another (old path plan)). In other words, the algorithm proceeds with the old path plan (including the rendezvous) as is, and temporarily suspends the plan at a certain point. Note that the method for determining the stop command position by a stop command will be described later.

[0034] (Procedure B-3) A route search is performed for all robots, with the stop position instructed in procedure B-2 as the starting point. Procedure B-3 corresponds to the processing of step S14 in Fig. 5, which will be described later. The route search is performed during a period in which at least one of the multiple robots is moving according to the old route plan.

[0035] (Procedure B-4) Upon arriving at the designated stop position instructed in procedure B-2, the old movement instruction is discarded (step S53 in FIG. 7 described below), and a movement instruction is issued to each robot based on the new path plan (step S56 in FIG. 7 described below). Procedure B-4 corresponds to the movement instruction processing in step S15 in FIG. 5 described below. If, upon completion of the path search, the robot has already arrived at (stopped at) the designated stop position instructed in procedure B-2 (step S51 in FIG. 7 described below; Y), the old movement instruction is immediately discarded (step S53 in FIG. 7 described below), and a new movement instruction is issued. If the robot has not yet arrived at the designated stop position instructed in procedure B-2 (step S51 in FIG. 7 described below; N), the stop instruction is canceled (step S52 in FIG. 7 described below), and upon arriving at the designated stop position, a new movement instruction (the old movement instruction is discarded) is immediately issued. In this case, the robot can replan without stopping. However, if the new path plan interferes with the old path plan of another robot (step S54 in FIG. 7, which will be described later; Y), the robot will not start moving immediately, in order to prevent collisions and deadlocks, as will be described later.

[0036] The key point of the technology disclosed herein is that it prevents collisions and deadlocks from occurring even if the position prediction is incorrect by "issuing a stop command to stop the robot at (a little further from) the predicted position" and "taking into account the dependency between the old and new path plans."

[0037] By issuing a stop command to each robot to stop at (a little further from) the predicted position, all robots will move according to the old path plan until they reach the stop position, preventing collisions and deadlocks. In addition, the new path plan starts from the stop position and takes into account the dependency between the old and new path plans, preventing collisions and deadlocks even when moving along the new path plan.

[0038] If the prediction of each robot's position is correct, the path search will finish just before it stops, so the stop command can be canceled before each robot stops, and once it reaches the stop position, it can move on to a new path plan. In other words, it becomes possible to move by replanning without stopping each robot.

[0039] [1.1 Configuration] FIG. 4 schematically illustrates an example configuration of a route planning device 100 according to the first embodiment of the present disclosure, for implementing the route planning method according to the technology of the present disclosure described above.

[0040] The path planning device 100 includes a path planning unit 11, a display unit 12, a robot control unit 13, a communication unit 14, a robot information management unit 50, a re-planning determination unit 51, a robot position prediction unit 52, and a stop position determination unit 53.

[0041] In FIG. 4, for the sake of simplicity, only two robots, robots 1 and 2, are shown as the plurality of robots, but a configuration with three or more robots may also be used.

[0042] The path planning device 100 according to the first embodiment may be configured as a computer terminal including, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM. In this case, the processes performed by the path planning unit 11, the robot control unit 13, the robot information management unit 50, the re-planning determination unit 51, the robot position prediction unit 52, and the stop position determination unit 53 may be realized by the CPU executing processes based on programs stored in the ROM or RAM. Furthermore, the processes performed by the path planning device 100 may be realized by the CPU executing processes based on programs supplied from an external device via, for example, a wired or wireless network.

[0043] The re-planning determination unit 51 issues a re-planning instruction based on a re-planning trigger. Triggers for re-planning include the addition of a new destination, the detection of a moving obstacle, and the detection of a discrepancy between the plan and the movement progress. The re-planning trigger may be input from a higher-level system. The robots 1 and 2 may be equipped with sensors for detecting moving obstacles. The detection of a moving obstacle may be notified to the path planning device 100 by the robots 1 and 2 as an obstacle notification.

[0044] The robot position prediction unit 52 is a position prediction unit that predicts the positions of the robots 1 and 2 that are moving according to the old path plan (first path plan) based on the re-planning instruction from the re-planning determination unit 51. When the robot position prediction unit 52 receives the re-planning instruction, it first predicts the positions of the robots 1 and 2 T seconds from now. T may be a preset time interval, or may be a time interval that changes dynamically based on feedback from the time required for path search while the system is running, instruction delays to the robots 1 and 2, and the like. When predicting the positions of the robots 1 and 2, the robot position prediction unit 52 receives information such as the current positions and current paths of the robots 1 and 2 from the robot information management unit 50.

[0045] The stop position determination unit 53 determines a position (instructed stop position) at which the robots 1 and 2 are to be stopped based on the predicted position information from the robot position prediction unit 52. The stop position determination unit 53 outputs a stop instruction based on the determined instructed stop position to the robot control unit 13. The stop position determination unit 53 also outputs the stop position information to the path planning unit 11.

[0046] The path planning unit 11 re-plans the paths of the robots 1 and 2 to generate a new path plan (second path plan) during a period in which at least one of the robots 1 and 2 is moving according to the old path plan, and outputs movement instructions based on the new path plan to each of the robots 1 and 2. The path planning unit 11 generates the new path plan by performing a path search using as a start point the instructed stop positions of the robots 1 and 2 based on stop position information from the stop position determination unit 53. When performing the path search, the path planning unit 11 receives information such as the goal positions of the robots 1 and 2 from the robot information management unit 50. The path planning unit 11 outputs movement instructions for the robots 1 and 2 to the robot control unit 13 based on the results of the path search. The path planning unit 11 also outputs information on the new path to the robot information management unit 50.

[0047] The robot control unit 13 outputs the stop instruction from the stop position determination unit 53 and the movement instruction from the path planning unit 11 to the robots 1 and 2 via the communication unit 14. The robot control unit 13 also outputs the stop notification, movement completion notification, and obstacle notification from the robots 1 and 2 received via the communication unit 14 to the robot information management unit 50.

[0048] If there is any robot (1, 2) that has not arrived at the stop instruction position at the end of the path search by the path planning unit (11), the robot control unit (13) cancels the stop instruction for the robot that has not arrived at the stop instruction position and then outputs a movement instruction based on the new path plan.

[0049] In addition, as shown in Figure 8 described below, the robot control unit 13 outputs movement instructions to a robot as a second moving body, taking into consideration interference between the path of a robot as a first moving body (e.g., robot 1) based on the old path plan and the path of a robot as a second moving body (e.g., robot 2) based on the new path plan.

[0050] For example, when interference occurs between the path of the robot as the first moving body based on the old path plan and the path of the robot as the second moving body based on the new path plan, the robot control unit 13 outputs a movement instruction based on the new path plan to the robot as the second moving body after the movement of the robot as the first moving body based on the old path plan has finished. Alternatively, when interference occurs between the path of the robot as the first moving body based on the old path plan and the path of the robot as the second moving body based on the second path plan, the robot control unit 13 may temporarily suspend the movement of the robot as the second moving body based on the second path plan just before the position where the interference occurs. Then, after the movement of the robot as the first moving body to the position where the interference occurs has been completed, the robot control unit 13 may resume the movement of the robot as the second moving body.

[0051] The robot information management unit 50 manages various types of information required for path planning. The robot information management unit 50 stores new path information received from the path planning unit 11. The robot information management unit 50 also stores information such as the current positions of the robots 1 and 2 based on stop notifications and movement completion notifications from the robots 1 and 2 received via the robot control unit 13.

[0052] The display unit 12 is configured, for example, by a display, and displays information such as the paths of the robots 1 and 2 planned by the path planning unit 11. The display unit 12 displays, for example, user interface (UI) screens such as those shown in FIGS. 9 to 11 described below. For example, during a path search by the path planning unit 11, the display unit 12 displays the paths of an old path plan in a manner that makes it possible to distinguish between the path before the instructed stop position and the path after the instructed stop position. Furthermore, for example, after a new path plan is finalized, the display unit 12 displays the instructed stop position and the path of the new path plan.

[0053] [1.2 Operation] FIG. 5 is a flowchart showing an example of a re-planning procedure performed by the route planning device 100 according to the first embodiment.

[0054] First, the re-planning determination unit 51 outputs a re-planning instruction in response to the firing of a re-planning trigger (step S11). Next, the robot position prediction unit 52 predicts the positions of all robots after a predetermined time (T seconds) has elapsed (step S12).

[0055] Next, the stop position determination unit 53 performs a stop instruction process for each robot (step S13). Next, the path planning unit 11 performs a path search for all robots (step S14). Next, the robot control unit 13 performs a movement instruction process for each robot (step S15), and the re-planning process ends.

[0056] FIG. 6 is a flowchart showing a detailed example of the stop instruction process in step S13 in FIG.

[0057] First, the stop position determination unit 53 determines whether a robot will be moving after T seconds (step S31). If it determines that a robot will not be moving after T seconds (step S31; N), the stop position determination unit 53 ends the stop instruction process.

[0058] On the other hand, if it is determined that the robot is moving after T seconds (step S31; Y), the stop position determination unit 53 next determines a stop instruction position (step S32). Next, the stop position determination unit 53 issues a stop instruction (step S33), and ends the stop instruction process.

[0059] FIG. 7 is a flowchart showing a detailed example of the movement instruction process in step S15 in FIG.

[0060] First, the robot control unit 13 determines whether a stop command has been issued for a certain robot, or whether the robot has already reached the stop command position (step S51). If it determines that a stop command has not been issued for a certain robot, or that the robot has already reached the stop command position (step S51; Y), the robot control unit 13 then cancels the movement command in the old path plan for the certain robot (step S53). On the other hand, if it determines that a stop command has been issued for a certain robot, or that the certain robot has not yet reached the stop command position (step S51; N), the robot control unit 13 then cancels the stop command that was issued for the certain robot (step S52), and then cancels the movement command in the old path plan for the certain robot (step S53).

[0061] Next, the robot control unit 13 determines whether the new path plan of a certain robot interferes with the old path plan of another robot (step S54). If it is determined that the new path plan of a certain robot does not interfere with the old path plan of another robot (step S54; N), the robot control unit 13 then issues a movement instruction for the new path plan to the certain robot (step S56), and ends the movement instruction processing.

[0062] On the other hand, if it is determined that the new path plan of a certain robot interferes with the old path plan of another robot (step S54; Y), then the robot control unit 13 waits for the robot moving according to the interfering old path plan to finish moving (step S55). Next, the robot control unit 13 issues a movement instruction for the certain robot according to the new path plan (step S56), and ends the movement instruction processing.

[0063] (How to determine the stop instruction position) Next, we will describe how to determine the position at which to issue a stop instruction to each robot in step B-2 above. The stop instruction can be issued at the position predicted in step B-1, or at a position slightly ahead of the predicted position. By setting the stop instruction position to a position slightly ahead of the predicted position, it may be possible to prevent each robot from having to stop or slow down even if there is an error in the prediction (each robot has more time to stop). In an environment where each robot moves on a graph structure, another method is to issue a stop instruction at the next vertex of the predicted position.

[0064] (When the new path plan interferes with the old path plan of another robot) If the new path plan of one robot interferes with the old path plan of another robot, that is, if the path of the new path plan of one robot overlaps with the path of the old path plan of another robot, the new path plan must be started taking into consideration the dependencies (in what order each robot should move with respect to the interfering paths), there is a risk of collisions or deadlocks between multiple robots.

[0065] Figure 8 shows a schematic example of path interference between multiple robots. In Figure 8, (A) shows an example of an old path plan for robots 1 and 2. In Figure 8, (B) shows an example of a new path plan for robots 1 and 2.

[0066] In the case of Fig. 8(B), the new path plan of robot 2 interferes with the old path plan of robot 1. If robot 2 starts moving along the new path plan before robot 1 moves (according to the old path plan) from the state of Fig. 8(A) to the commanded stop position, robots 1 and 2 may collide, as shown in Fig. 8(B).

[0067] Whether a new path plan for one robot interferes with an old path plan for another robot is determined by comparing the paths of the new and old path plans and determining whether the paths pass through the same vertices or edges. If a new path plan for one robot interferes with an old path plan for another robot, a dependency is added to the new path plan in one of the following two patterns. (Pattern 1) If a new path plan for one robot (e.g., robot 2) interferes with an old path plan for another robot (e.g., robot 1), movement according to the new path plan begins after the movement of the interfering plan is completed. (Pattern 2) If a new path plan for one robot (e.g., robot 2) interferes with an old path plan for another robot (e.g., robot 1), the position of the interference is detected, and movement according to the new path plan is paused when the robot reaches the position of interference. Movement of the robot according to the new path plan is resumed as soon as the other robot completes its movement at the position of interference in the old path plan.

[0068] Pattern 2 partially takes into account dependencies, resulting in slightly better movement efficiency than Pattern 1. In the case of Pattern 2, the process of "waiting for the robot moving according to the interfering old path plan to finish moving" in step S55 in Fig. 7 is eliminated, and a movement instruction for the new path plan is issued immediately. However, the dependency with the old path plan is taken into account, and the movement is paused and resumed as appropriate.

[0069] (Case where route search fails) If the search takes too long and times out, or if there is no solution, the route search (step B-3) will fail. If it fails, the replanning can be canceled by canceling all stop instructions issued in step B-2. If canceled, each robot will continue to move according to the old route plan.

[0070] (When a robot cannot reach the instructed stop position due to a dynamic obstacle) If a robot cannot reach the instructed stop position in step B-2 due to a dynamic obstacle, it cannot start moving according to a new path plan in step B-4 no matter how much time passes. In this case, the inability to reach the instructed stop position must be detected in some way, and if this is detected, the robot that cannot reach the instructed stop position must be stopped on the spot, and the plan must be restarted from the position where it stopped as the starting point. There are the following methods for detecting that the instructed stop position cannot be reached: - Each robot detects the inability to reach the instructed stop position using information from an ultrasonic sensor or the like, and notifies the path planner. - It is determined from changes in the map of the environment. Maps of the environment include grid maps and topological maps. Changes in the map are detected based on sensor information from each robot.

[0071] The following shows the processing flow when a moving obstacle prevents the robots from reaching the instructed stop position. (Step 1) Predict the position of each robot T seconds from now. (Step 2) Instruct each robot to stop near the position predicted in step 1. (Step 3) Perform a path search using the position instructed to stop in step 2 as the starting point. (Step 4) Detect that a robot cannot reach the position instructed to stop in step 2 due to a moving obstacle. In the following steps, the detected robot is referred to as robot A. (Step 5) Stop robot A in place. (Step 6) Abort the re-planning flow that was carried out up to step 3. Cancel the stop command issued to each robot. (Step 7) Predict the position of each robot T seconds from now again. However, predict that robot A will still be in the same place T seconds from now. (Step 8) Instruct each robot to stop near the position predicted in step 7. (Step 9) Perform a path search using the position instructed to stop in step 8 as the starting point. At this time, if the map of the environment has been updated to reflect the dynamic obstacle, the plan will avoid passing through the path blocked by the dynamic obstacle. (Step 10) Upon arriving at the position instructed to stop in Step 8, the old movement instruction is discarded and a movement instruction is issued to each robot based on the new path plan.

[0072] (User Interface) Next, a user interface that makes use of the features of the technology of the present disclosure will be described.

[0073] FIG. 9 is a schematic diagram showing an example of the display of the user interface screen of the display unit 12 of the route planning device 100 in an initial state.

[0074] The user interface screen displays, for example, possible movement paths (movable ranges) 30 of a plurality of robots and possible stopping points (possible waiting points) 31 .

[0075] Fig. 10 schematically shows an example of a screen display during route re-planning on the user interface screen shown in Fig. 9. Fig. 11 schematically shows an example of a screen display after route re-planning is completed on the user interface screen shown in Fig. 9. Figs. 10 and 11 show an example of displaying routes for robots 1 and 2 as multiple robots.

[0076] One feature of the path planning method according to the technology disclosed herein is that, during replanning, the positions of multiple robots are predicted, a stop command is issued at (or near) the predicted position, and a new path is searched for using the stop command position as a starting point. Therefore, the user interface screen during replanning may display an "old path plan (before the stop command position)," an "old path plan (after the stop command position)," the stop command position, and a "new path plan (after the stop command position)." The "old path plan (before the stop command position)" is a path that will definitely be taken in the future, while the "old path plan (after the stop command position)" is a path that may change in the future. By clearly displaying the difference between these paths on the user interface screen, a user can easily distinguish between a path that each robot will definitely take and a path that may change in the future.

[0077] The display unit 12 displays a user interface screen such as that shown in FIG. 10 during route search by the route planning unit 11. During route search, a display 121 indicating that replanning is in progress may be displayed on the user interface screen, as shown in the example of FIG. 10. In the example of FIG. 10, the route before and after the stop instruction position is distinguished by a solid line and a dashed line. Note that the display format is not limited to the example of FIG. 10, and other patterns such as a distinction by line thickness or line color are also possible. Before the route search for replanning is completed, the old route is displayed as the route after the stop instruction position, and once the route search is completed, the display switches to a new route such as that shown in FIG. 11.

[0078] For example, after the new route plan is finalized, the display unit 12 may display 122 on the user interface screen indicating that the re-planning is complete, as shown in the example of Fig. 11. For example, as shown in the example of Fig. 11, the display unit 12 erases the route that was shown as a dotted line during the re-planning, and displays the new route obtained by the re-planning as a finalized route in a solid line.

[0079] [1.3 Application Example] FIG. 12 shows an example of a system to which the path planning device 100 according to the first embodiment is applied.

[0080] 12 shows an example of a system in which the path planning device 100 according to the first embodiment is applied to an automatic transport system in a factory using an automated guided vehicle (hereinafter referred to as AGV) 24. In this system, the AGV 24 is a moving body and corresponds to the robots 1 and 2 in FIG. 4. There are multiple AGVs 24.

[0081] The automatic transport system includes a production management system (MES) 21 , a transport control system (MCS) 22 , an AGV control system (MCP) 23 and an AGV 24 .

[0082] The MES 21 issues a transport instruction to the MCS 22 based on the manufacturing process. An example of the transport instruction here is "Transport C from device A to device B."

[0083] Based on the received transport instruction, the MCS 22 determines which AGV 24 to use and how to transport the item, and then issues the transport instruction to the MCP 23. For example, if AGV 24A is one of the multiple AGVs 24, an example of the transport instruction is "AGV 24A should transport item C from point A to point B."

[0084] When the MCP 23 receives a transportation instruction, it determines a specific movement route for the AGV 24. The MCP 23 has a route planning device 100 according to the first embodiment shown in Fig. 4. When a new transportation instruction comes from the MCS 22, the route planning device 100 executes replanning using the technology of the present disclosure, and even if the route is changed by the overall optimization algorithm, the AGV 24 can smoothly transition to the new route without stopping as much as possible.

[0085] [1.4 Effects] As described above, when replanning, the path planning device 100 according to the first embodiment predicts future robot positions and issues stop instructions to each robot based on that prediction. A path search is performed while each robot is moving, and if a solution is found before each robot stops, the stop instruction is canceled and a transition to movement instructions based on the new path plan is made. At this time, interference with the old path plan is taken into consideration when determining the timing to start movement according to the new path plan. This provides the following effects: 1. By minimizing the stopping of each robot when changing the plan, it is possible to improve movement efficiency (reach the goal faster) and save power. 2. It is possible to prevent collisions and deadlocks caused by plan changes. 3. Even when replanning is performed more frequently, there is little loss in movement efficiency, making it possible to operate a larger number of robots using the global optimization algorithm, and it is also possible to operate in environments with many moving obstacles.

[0086] Furthermore, according to the path planning device 100 according to the first embodiment, the user interface during replanning displays the path before the instructed stop position and the path after the instructed stop position in a distinguishable manner. This allows the user to easily distinguish between the path that each robot will definitely take and the path that may change in the future in a situation where the path changes due to replanning.

[0087] The effects described in this specification are merely examples and are not limiting, and other effects may also be achieved. The same applies to the effects of other embodiments described below.

[0088] 2. Other Embodiments The technology according to the present disclosure is not limited to the above-described embodiments, and various modifications are possible.

[0089] For example, the present technology may be configured as follows: According to the present technology configured as follows, the positions of multiple moving objects moving according to a first route plan after a predetermined time has elapsed are predicted, and the routes of the multiple moving objects are re-planned based on the prediction result during a period in which at least one of the multiple moving objects is moving according to the first route plan, thereby generating a second route plan. This makes it possible to efficiently re-plan the routes of the multiple moving objects.

[0090] (1) A route planning device comprising: a position prediction unit that predicts positions of multiple moving bodies moving according to a first route plan after a predetermined time has elapsed; and a route planning unit that, during a period in which at least one of the multiple moving bodies is moving according to the first route plan, re-plans routes of the multiple moving bodies based on a prediction result of the prediction unit to generate a second route plan and outputs a movement instruction based on the second route plan to each of the multiple moving bodies. (2) The route planning device described in (1) above, further comprising: a stop position determination unit that determines a stop instruction position for each of the multiple moving bodies based on the prediction result of the prediction unit and outputs a stop instruction to each of the multiple moving bodies. (3) The route planning device described in (2) above, wherein the stop position determination unit does not output the stop instruction to any of the multiple moving bodies that has not moved after the predetermined time has elapsed. (4) The route planning device described in (2) or (3) above, wherein the route planning unit performs a route search for the multiple moving bodies using the stop instruction position as a starting point. (5) The route planning device according to (4), further comprising: a control unit that, when any of the plurality of moving bodies has not arrived at the instructed stop position at the time when the route search by the route planning unit ends, cancels the stop instruction to the moving bodies that have not arrived at the instructed stop position, and then outputs a movement instruction based on the second route plan to the moving bodies that have not arrived at the instructed stop position. (6) The route planning device according to any one of (1) to (5), further comprising: a control unit that outputs a movement instruction to the second moving body in consideration of interference between a route of the first moving body based on the first route plan and a route of the second moving body based on the second route plan. (7) The route planning device according to (6), further comprising: a control unit that outputs the movement instruction based on the second route plan to the second moving body in consideration of interference between a route of the first moving body based on the first route plan and a route of the second moving body based on the second route plan, after movement of the first moving body based on the first route plan has ended.(8) The path planning device according to (6) above, wherein, when interference occurs between a path of the first moving body based on the first path plan and a path of the second moving body based on the second path plan, the control unit temporarily suspends movement of the second moving body based on the second path plan just before a position where interference occurs, and resumes movement of the second moving body after movement of the first moving body to the position where interference occurs is completed. (9) The path planning device according to (4) or (5) above, further comprising: a display unit that, during the path search by the path planning unit, displays the path of the first path plan in a manner that allows a path before the specified stop position and a path after the specified stop position to be distinguished. (10) The path planning device according to (9) above, wherein the display unit displays the specified stop position and the path of the second path plan after the second path plan is finalized. (11) A route planning method comprising: predicting positions of multiple moving bodies after a predetermined time has elapsed that are moving according to a first route plan; and during a period in which at least one of the multiple moving bodies is moving according to the first route plan, generating a second route plan by re-planning routes of the multiple moving bodies based on a result of the prediction, and outputting movement instructions based on the second route plan to each of the multiple moving bodies. (12) A program that causes a computer to execute processes including: predicting positions of multiple moving bodies after a predetermined time has elapsed that are moving according to a first route plan; and during a period in which at least one of the multiple moving bodies is moving according to the first route plan, generating a second route plan by re-planning routes of the multiple moving bodies based on a result of the prediction, and outputting movement instructions based on the second route plan to each of the multiple moving bodies.

[0091] This application claims priority based on Japanese Patent Application No. 2021-64450, filed on April 5, 2021, in the Japan Patent Office, the entire contents of which are incorporated herein by reference.

[0092] Those skilled in the art will recognize that various modifications, combinations, subcombinations, and variations may occur depending on design requirements and other factors, and are intended to be within the scope of the appended claims and their equivalents.

Claims

1. a position prediction unit that predicts positions of a plurality of moving objects moving according to the first route plan after a predetermined time has elapsed; a route planning unit that, during a period in which at least one of the plurality of moving bodies is moving according to the first route plan, re-plans routes of the plurality of moving bodies based on a prediction result of the position prediction unit to generate a second route plan, and outputs a movement instruction based on the second route plan to each of the plurality of moving bodies; Equipped Path planning device.

2. a stop position determination unit that determines a stop instruction position for each of the plurality of moving bodies based on a prediction result of the position prediction unit, and outputs a stop instruction for each of the plurality of moving bodies; Further equipped The route planning device according to claim 1 .

3. The stop position determination unit does not output the stop instruction to any of the plurality of moving bodies that has not moved after the predetermined time has elapsed. The route planning device according to claim 2 .

4. The route planning unit performs route search for the plurality of moving bodies with the stop instruction position as a starting point. The route planning device according to claim 2 .

5. a control unit that, when there is a moving body that has not arrived at the stop instruction position at a time point when the route search by the route planning unit is terminated among the plurality of moving bodies, cancels the stop instruction for the moving body that has not arrived at the stop instruction position and then outputs a movement instruction based on the second route plan; Further equipped The route planning device according to claim 4 .

6. a control unit that outputs a movement instruction for the second moving body, taking into consideration interference between a route of the first moving body based on the first route plan and a route of the second moving body based on the second route plan; Further equipped The route planning device according to claim 1 .

7. When interference occurs between a route of the first moving body based on the first route plan and a route of the second moving body based on the second route plan, the control unit outputs the movement instruction based on the second route plan to the second moving body after the movement of the first moving body based on the first route plan is completed. The path planning device according to claim 6.

8. When interference occurs between a route of the first moving body based on the first route plan and a route of the second moving body based on the second route plan, the control unit temporarily stops the movement of the second moving body based on the second route plan just before a position where interference occurs, and resumes the movement of the second moving body after the movement of the first moving body to the position where interference occurs is completed. The path planning device according to claim 6.

9. a display unit that displays the route of the first route plan in a manner that allows a route before the stop instruction position and a route after the stop instruction position to be distinguished from each other during the route search by the route planning unit; Further equipped The route planning device according to claim 4 .

10. After the second route plan is finalized, the display unit displays the stop instruction position and a route of the second route plan.

10. The path planning device according to claim 9.

11. predicting positions of a plurality of moving objects moving according to a first route plan after a predetermined time has elapsed; replanning routes of the plurality of moving bodies based on the predicted result to generate a second route plan during a period in which at least one of the plurality of moving bodies is moving according to the first route plan, and outputting a movement instruction based on the second route plan to each of the plurality of moving bodies; Includes Route planning methods.

12. predicting positions of a plurality of moving objects moving according to a first route plan after a predetermined time has elapsed; replanning routes of the plurality of moving bodies based on the predicted result to generate a second route plan during a period in which at least one of the plurality of moving bodies is moving according to the first route plan, and outputting a movement instruction based on the second route plan to each of the plurality of moving bodies; to cause a computer to execute a process including program.