Vehicle scheduling device, control method, and program

JP7643642B2Active Publication Date: 2025-03-11NEC CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024519453
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-10-07
Filing Date
2022-09-28
Publication Date
2025-03-11
Estimated Expiration
2042-09-28

AI Technical Summary

Benefits of technology

【0009】 本開示によれば、タスクの実行順序およびタスクを実行する車両の移動ルートを決定する新たな技術が提供される。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007643642000002
    Figure 0007643642000002
  • Figure 0007643642000003
    Figure 0007643642000003
  • Figure 0007643642000004
    Figure 0007643642000004
Patent Text Reader

Abstract

The vehicle scheduling device (2000) obtains task list information (10) indicating tasks assigned to a subject to which a subject vehicle is assigned. The vehicle scheduling device (2000) determines an execution order of the tasks of the subject vehicle using a cost matrix indicating a minimum cost for each pair of locations, selects a travel route for each task, generates schedule information (20), and detects conflicts between the subject vehicle and temporary obstacles. When a conflict is detected, the vehicle scheduling device (2000) updates the cost matrix to update the minimum cost for the pair of locations until no conflict is detected, and iteratively generates schedule information (20).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure generally relates to techniques for determining, for a vehicle, an order in which tasks are to be performed and a route that the vehicle will travel to perform the tasks. [Background technology]

[0002] There are situations where vehicles are used to perform tasks. For example, a logistics company may use automatic guided vehicles (AGVs) to receive and deliver packages in a warehouse. Each vehicle performs multiple tasks assigned to it in sequence as it moves around a workspace, e.g., a warehouse.

[0003] In order to manage these vehicles, it is necessary to determine in advance the task execution order and movement route for each vehicle. Non-Patent Document 1 discloses a technology for simultaneously determining the task execution order and movement route for each of multiple vehicles. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] Ayoub Insa Correa, Andre Langevin, and Louis-Martin Rousseau, "Scheduling and routing of automated guided vehicles: A hybrid approach," Computers & Operations Research, Volume 34, Issue 6, pages 1688-1707, June 2007. [Non-Patent Document 2] Chryssi Malandraki and Mark S. Daskin, "Time Dependent Vehicle Routing Problems: Formulations, Properties and Heuristic Algorithms," Transportation Science, Volume 26, Issue 3, pages 185-200, August 1992. [Non-Patent Document 3] Guni Sharon, Roni Stern, Ariel Felner, and Nathan Sturtevant, "Conflict-Based Search for Optimal Multi-Agent Path Finding," 26th AAAI Conference on Artificial Intelligence, July 22, 2012. Summary of the Invention [Problem to be solved by the invention]

[0005] In Non-Patent Document 1, the task execution order and movement routes are determined simultaneously for multiple vehicles. Therefore, when a new vehicle is added, it is necessary to determine the task execution order and movement routes again for not only the newly added vehicle but all vehicles. The purpose of the present disclosure is to provide a new technology for determining the task execution order and the movement routes of the vehicles that execute the tasks. [Means for solving the problem]

[0006] The vehicle scheduling device of the present disclosure includes at least one processor and a memory that stores instructions, and the at least one processor executes the instructions to obtain task list information indicating tasks assigned to subjects to which at least one target vehicle is assigned, the target vehicles execute each assigned task at a task point corresponding to the task, determine an execution order of the tasks for each target vehicle by solving a vehicle routing problem using a cost matrix indicating a minimum cost for each pair of points in a workspace, and select, for each task, a task route that is a route with a minimum cost for traveling to the task point of the task based on the determined task execution order; the method is configured to: generate, for each target vehicle, schedule information for the target vehicle indicating the execution order of the tasks assigned to the target vehicle and the task path of each task; detect external conflicts, which are conflicts between the target vehicle and temporary obstacles whose positions change over time; and if one or more external conflicts are detected, further update the cost matrix to update the minimum cost of the pair of points where the conflicts are detected; and repeatedly determine the execution order of the tasks, select the task path for each task, generate the schedule information, detect the conflicts, and update the cost matrix until detection of the target vehicle and the temporary obstacles is no longer detected.

[0007] The control method of the present disclosure is performed by a computer. The control method includes: acquiring task list information indicating tasks assigned to a target person to which at least one target vehicle is assigned, the target vehicle executes each assigned task at a task point corresponding to the task; determining an execution order of the tasks for each target vehicle by solving a vehicle routing problem using a cost matrix indicating a minimum cost for each pair of points in a workspace; selecting, for each task, a task route that is a route with a minimum cost for traveling to the task point of the task based on the determined execution order of the task; and, for each target vehicle, selecting a task route that is a route with a minimum cost for traveling to the task point of the task based on the determined execution order of the task. generating schedule information for the target vehicle indicating a row order and the task path for each task; and detecting external conflicts, which are conflicts between the target vehicle and temporary obstacles whose positions change over time, and if one or more external conflicts are detected, updating the cost matrix to update the minimum cost of the pair of points where the conflicts are detected; and further repeating the determining of the execution order of the tasks, the selecting of the task path for each task, the generating of the schedule information, the detecting of the conflicts, and the updating of the cost matrix until no conflicts between the target vehicle and the temporary obstacles are detected.

[0008] The non-transitory computer-readable storage medium of the present disclosure stores a program that causes a computer to execute the control method of the present disclosure described above. Effect of the Invention

[0009] According to the present disclosure, a new technique is provided for determining the execution order of tasks and the travel route of a vehicle that executes the tasks. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a diagram showing an overview of an apparatus according to a first embodiment. [Diagram 2]FIG. 11 is a diagram illustrating an example of a task execution schedule. [Diagram 3] FIG. 2 is a block diagram showing an example of a functional configuration of the vehicle scheduling device. [Figure 4] FIG. 2 is a block diagram showing an example of a hardware configuration of a computer that realizes the vehicle scheduling device. [Diagram 5] 4 is a flowchart showing an example of a process performed by the vehicle scheduling device of the first embodiment. [Figure 6] FIG. 13 is a diagram showing task list information in a table format. [Figure 7] FIG. 2 illustrates a time-dependent cost matrix. [Figure 8] FIG. 2 illustrates a time-dependent path matrix. [Figure 9] FIG. 13 is a diagram showing a part of a grid map indicated by map information. [Figure 10] FIG. 2 is a diagram showing schedule information in a table format. [Figure 11] FIG. 13 is a diagram illustrating an example of a reservation table. [Figure 12] 13 is a flowchart showing an example of a process performed by the vehicle scheduling device of the first embodiment when a plurality of target vehicles are assigned to a target person. [Figure 13] FIG. 11 is a diagram illustrating an overview of a vehicle scheduling device according to a second embodiment. [Figure 14] 13 is a flowchart showing an example of a process performed by a vehicle scheduling device 2000 of the second embodiment. [Figure 15] FIG. 1 illustrates a time-independent cost matrix. [Figure 16] FIG. 2 illustrates a time-independent path matrix. [Figure 17] FIG. 1 illustrates a time-independent grid map. [Figure 18] 13 is a flowchart showing an example of a process performed by the vehicle scheduling device of the second embodiment when a plurality of target vehicles are assigned to a target person. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings. In each drawing, the same elements are denoted by the same reference numerals, and duplicated explanations will be omitted as necessary. Furthermore, the storage unit is composed of one or more storage devices.

[0012] EMBODIMENT 1 <Summary> 1 shows an overview of a vehicle scheduling device 2000 according to embodiment 1. The overview shown in FIG. 1 shows an example of the operation of the vehicle scheduling device 2000 to facilitate understanding of the vehicle scheduling device 2000, and is not intended to limit or narrow the range of possible operations of the vehicle scheduling device 2000.

[0013] The vehicle scheduling device 2000 acquires task list information 10 and generates schedule information 20 from the task list information 10. The task list information 10 indicates tasks assigned to a subject, such as a vehicle operator. The subject is a person for whom the vehicle scheduling device 2000 generates schedule information 20. Hereinafter, a vehicle assigned to a subject is referred to as a subject vehicle. The schedule information 20 indicates an execution schedule for the tasks (a more detailed explanation will be given later).

[0014] The subject vehicle may be any type of autonomous vehicle, such as an automated guided vehicle (AGV), a drone, etc. However, the subject vehicle does not necessarily have to be an autonomous vehicle, but may be any type of vehicle that is manually driven by a subject.

[0015] The target vehicle is configured to move around a workspace to perform assigned tasks. The workspace is any location where the target vehicle can move around to perform tasks. For example, the workspace may be a warehouse, an airport, etc. The workspace includes a number of locations where the target vehicle can perform tasks. Hereinafter, the location where a task is performed is referred to as the task location of the task.

[0016] There may be various types of tasks to be performed by the target vehicle. For example, the tasks may include receiving a package to be delivered, delivering the package, inspecting equipment, repairing equipment, and the like. Since each task must be performed at a specified location (i.e., the task location), the target vehicle needs to travel to the task location to perform the task. Note that the task does not necessarily have to be performed by the target vehicle alone, and may be performed in cooperation with a worker or the like. For example, the target vehicle delivers the package to the task location, and the worker unloads the package from the target vehicle.

[0017] As described above, the schedule information 20 indicates the execution schedule of tasks. Since tasks are executed by moving within the warehouse 40, the execution schedule of tasks is represented by the order in which the tasks are executed and the route for moving to each task point (hereinafter referred to as a task route). There may be one or more routes between points. The task route of a certain task is the route along which the target vehicle is scheduled to move, and is the route with the smallest cost among all possible routes from the task point of the previous task to the task point of the task.

[0018] FIG. 2 shows an example of a task execution schedule. In this example, the target vehicle 30 must be located at point S1 first and at point S4 last. There are four tasks to be executed: tasks Xa, Xb, Xc, and Xd, which are executed at points S2, S3, S5, and S6, respectively. The vehicle scheduling device 2000 determines the execution order of the tasks as "Xa → Xc → Xd → Xb." Therefore, the order of the points to be visited by the target vehicle 30 is determined as "S1 → S2 → S5 → S6 → S3 → S4." Next, the vehicle scheduling device 2000 selects P2, P4, P6, and P10 as task routes for the tasks Xa, Xc, Xd, and Xb, respectively. Furthermore, route P11 is selected for the movement from point S3 to point S4. As a result, schedule information 20 is generated that represents an execution schedule of: 1) moving from point S1 to point S2 via path P2 and executing task Xa, 2) moving from point S2 to point S5 via path P4 and executing task Xc, 3) moving from point S5 to point S6 via path P6 and executing task Xd, 4) moving from point S6 to point S3 via path P10 and executing task Xb, and 5) moving from point S3 to point S4.

[0019] To generate the schedule information 20, the vehicle scheduling device 2000 determines the execution order of tasks for the target vehicles 30 and selects a task path for each task. The execution order of the tasks is determined by solving a vehicle routing problem (VRP) using a cost matrix. Here, the VRP is a generalization of the traveling salesman problem (TSP) that can handle multiple vehicles. Therefore, when there is one vehicle, the problem solved to determine the execution order of the tasks can also be called a TSP.

[0020] In this embodiment, a time-dependent VRP (TDVRP) is employed to generate the schedule information 20. The time-dependent VRP can handle time-dependent costs, and the travel cost for each pair of locations changes over time. Thus, in this embodiment, the cost matrix is ​​called a time-dependent cost matrix 100, which indicates the travel cost for each pair of locations and each time point. The cost associated with a pair of locations in the time-dependent cost matrix 100 is the cost of the path with the lowest cost among the possible paths that the pair can take. Here, the terms "time-dependent cost matrix 100" and "cost matrix 100" are used interchangeably in this embodiment.

[0021] After determining the execution order of the tasks, the vehicle scheduling device 2000 selects a task route from among the routes that each task can take. For each task, the route with the smallest cost is selected as the task route. The vehicle scheduling device 2000 generates schedule information using the result of determining the execution order of the tasks and the task route of each task.

[0022] Before determining the schedule information 20 of the target vehicle 30, the vehicle scheduling device 2000 further takes into account the conflict between the target vehicle 30 and a temporary obstacle. A temporary obstacle is an obstacle that occupies a certain area of ​​the workspace for a certain period of time. For example, a vehicle other than the target vehicle 30 may be a temporary obstacle. In another example, a person performing some tasks in the workspace may also be a temporary obstacle.

[0023] The schedule information 20 of the target vehicle 30 may indicate a task execution schedule in which the target vehicle 30 conflicts with a temporary obstacle. Therefore, the vehicle scheduling device 2000 repeatedly generates the schedule information 20 taking conflicts into consideration until the schedule information 20 indicates a schedule without conflicts.

[0024] Specifically, after generating the schedule information 20, the vehicle scheduling device 2000 checks whether the target vehicle 30 is in conflict with a temporary obstacle. If a conflict is detected, the vehicle scheduling device 2000 re-generates the schedule information 20 taking into account the detected conflict. If no conflict is detected, the vehicle scheduling device 2000 ends the generation of the schedule information 20 (i.e., the schedule information of the target vehicle 30 is finalized).

[0025] The impact of conflicts is taken into account by updating the time-dependent cost matrix 100 based on the detected conflicts. Specifically, the cost of the path indicated by the time-dependent cost matrix 100 may not be the minimum due to conflicts. Therefore, the time-dependent cost matrix 100 is updated to indicate the path with the minimum cost for each pair of points based on the detected conflicts.

[0026] The vehicle scheduling device 2000 solves the TDVRP again using the updated cost matrix 100 to determine the execution order of tasks for the target vehicle 30. Since the detected conflicts are reflected in the cost matrix 100, the solution of the TDVRP indicates the execution order of tasks that allows the target vehicle 30 to avoid the occurrence of the detected conflicts.

[0027] <Examples of effects> According to the vehicle scheduling device 2000, the task execution schedule of the target vehicle 30 is repeatedly updated until the target vehicle is no longer competing with temporary obstacles such as other vehicles. In this way, the task execution schedule of the target vehicle 30 is determined taking into account the task execution schedules of the other vehicles that have already been determined, so there is no need to regenerate the task execution schedules of the other vehicles. In other words, the task execution schedule of each vehicle can be generated on a first-come, first-served basis. Therefore, the task execution schedule of each vehicle can be generated efficiently. Furthermore, the vehicle scheduling device 2000 of the first embodiment is more likely to generate schedule information 20 that allows the target vehicle 30 to work more cost-effectively than that of the second embodiment, since the TDVRP is more likely to provide a more cost-effective solution than the VRP using time-independent costs adopted in the vehicle scheduling device 2000 of the second embodiment.

[0028] A more detailed description of the vehicle scheduling apparatus 2000 is provided below.

[0029] <Example of functional configuration> FIG. 3 illustrates an example of a functional configuration of the vehicle scheduling device 2000. The vehicle scheduling device 2000 includes an acquisition unit 2020, a generation unit 2040, a conflict detection unit 2060, and an update unit 2080. The acquisition unit 2020 acquires task list information 10. The generation unit 2040 determines the execution order of tasks by solving the TDVRP using the time-dependent cost matrix 100, and generates schedule information 20 by selecting a task path for each task. The conflict detection unit 2060 detects conflicts with the target vehicle 30 and temporary obstacles. If a conflict is detected, the update unit 2080 updates the time-dependent cost matrix 100 based on the detected conflict. The generation of the schedule information 20, the conflict detection, and the update of the cost matrix 100 are repeated until no conflict is detected.

[0030] <Example of hardware configuration> The vehicle scheduling device 2000 may be realized by one or more computers. Each of the one or more computers may be a dedicated computer created for implementing the vehicle scheduling device 2000, or may be a general-purpose computer such as a personal computer (PC), a server machine, or a mobile device.

[0031] The vehicle scheduling device 2000 can be realized by installing an application on a computer. The application is realized by a program that causes the computer to function as the vehicle scheduling device 2000. In other words, the program implements the functional components of the vehicle scheduling device 2000.

[0032] 4 is a block diagram showing an example of a hardware configuration of a computer 1000 that realizes the vehicle scheduling device 2000. In FIG. 4, the computer 1000 includes a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120.

[0033] The bus 1020 is a data communication path for the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 to transmit and receive data to and from each other. The processor 1040 is a processor such as a central processing unit (CPU), a graphics processing unit (GPU), or a field-programmable gate array (FPGA). The memory 1060 is a main storage element such as a random access memory (RAM) or a read only memory (ROM). The storage device 1080 is an auxiliary storage element such as a hard disk, a solid state drive (SSD), or a memory card. The input / output interface 1100 is an interface between the computer 1000 and a peripheral device (such as a keyboard, a mouse, or a display device). The network interface 1120 is an interface between the computer 1000 and a network. The network may be a local area network (LAN) or a wide area network (WAN).

[0034] The storage device 1080 may store the programs described above. Processor The component 1040 executes the programs to realize the functional components of the vehicle scheduling device 2000 .

[0035] The computer 1000 is not limited to the configuration shown in Fig. 4. For example, as described above, the vehicle scheduling device 2000 may be realized by a plurality of computers. In this case, the computers may be connected to each other via a network.

[0036] <Processing flow> FIG. 5 is a flowchart showing an example of a process performed by the vehicle scheduling device 2000. The acquisition unit 2020 acquires the task list information 10 (S102). The generation unit 2040 initializes the time-dependent cost matrix 100 (S104). The generation unit 2040 uses the time-dependent cost matrix 100 to determine the execution order of the tasks (S106). The generation unit 2040 selects a task path for each task (S108). The generation unit 2040 generates the schedule information 20 (S110). The conflict detection unit 2060 performs conflict detection using the schedule information 20 (S112). If no conflict is detected (S112: No), the vehicle scheduling device 2000 outputs the schedule information 20 (S116).

[0037] On the other hand, if a conflict is detected (S112: YES), the update unit 2080 updates the time-dependent cost matrix 100 based on the detected conflict (S114).

[0038] After updating the time-dependent cost matrix 100, the process of the vehicle scheduling device 2000 returns to step S106. As a result, the generation of schedule information 20 (S106 to S110), the detection of conflicts (S112), and the update of the cost matrix 100 (S114) are repeated until no conflicts are detected in step S112 (in other words, until the schedule information 20 of the target vehicle 30 indicates a schedule without conflicts).

[0039] <Getting task list information: S102> The acquisition unit 2020 acquires task list information 10 (S102). The task list information 10 indicates tasks assigned to a subject of a target vehicle 30. Here, it is assumed that the subject is assigned a single target vehicle 30 for executing his / her tasks. Therefore, all of the tasks indicated in the task list information 10 of the subject are assigned to a single target vehicle 30. A case where a plurality of vehicles are assigned to a subject will be described later.

[0040] The task list information 10 may be prepared in advance for each subject. Specifically, each task list information 10 is prepared in association with the identifier of the corresponding subject. Thus, the acquisition unit 2020 acquires the task list information 10 associated with the identifier of the subject of the target vehicle 30.

[0041] 6 shows the task list information 10 in table format. A worker identifier 12, which is an identifier of a subject, is associated with the task list information 10. The task list information 10 includes a task identifier 14, a task location 16, a required time 18, and a required capacity 19.

[0042] The task identifier 14 indicates the identifier of the task. The task location 16 indicates the task location of the task. If the task is to receive a package, the task location 16 indicates the location to which the target vehicle 30 moves to receive the package. The required time 18 indicates the length of time that the target vehicle 30 is estimated to have to stay at the task location to perform the task. If the task is to receive a package, the required time 18 may indicate the time required for the target vehicle 30 to receive the package at the task location. The required capacity 19 indicates the capacity required for the target vehicle 30 to perform the task. For example, if the task is to receive a package, the required capacity 19 may indicate the amount of package to be delivered. Here, if there is one target vehicle 30, the capacity of the target vehicle 30 needs to be larger than the maximum value of the required capacity 19 indicated by the task list information 10. Note that if there is no need to consider the capacity of the target vehicle 30 (for example, if it is certain in advance that the capacity of the target vehicle 30 is much larger than the amount of package to be delivered), the task list information 10 does not need to indicate the required capacity 19.

[0043] There are various methods for the acquisition unit 2020 to acquire the task list information 10. For example, the task list information 10 is stored in advance in a storage unit accessible by the vehicle scheduling device 2000 in association with the identifier of the subject. In this case, the acquisition unit 2020 acquires the task list information 10 associated with the identifier of the subject of the target vehicle 30 from the storage unit. The acquisition unit 2020 acquires the identifier of the subject of the target vehicle 30 by any method, such as receiving a user input specifying the identifier of the subject of the target vehicle 30.

[0044] In another example, the acquisition unit 2020 may acquire the task list information 10 by receiving task list information 10 transmitted from a mobile device operated by the subject of the target vehicle 30 or another computer such as a PC.

[0045] <Initialization of time-dependent cost matrix 100: S104> The generating unit 2040 initializes a time-dependent cost matrix 100 (S104). The time-dependent cost matrix 100 indicates the minimum travel cost for each pair of points and each time point. FIG. 7 shows the time-dependent cost matrix 100. The time-dependent cost matrix 100 may be a three-dimensional matrix, where a first index (x coordinate) of a cell represents a start point of a travel, a second index (y coordinate) of a cell represents an end point of a travel, and a third index (z coordinate) of a cell represents a time point.

[0046] A cell (Si, Sj, Tk) of the cost matrix 100 may indicate the minimum travel cost from point Si to point Sj, with the travel start time being Tk. For example, the coordinates of the shaded cell shown in FIG. 7 are (S5, S7, T4). Therefore, the value indicated by this cell indicates the minimum travel cost from point S5 to S7 at the travel start time T4.

[0047] In order to initialize the time-dependent cost matrix 100, it is necessary to find a route with the minimum cost for each pair of points and each time point. To this end, the generating unit 2040 may first initialize a time-dependent route matrix indicating a route with the minimum cost for each pair of points and each time point.

[0048] 8 shows the time-dependent path matrix 110. Note that hereinafter, the terms "time-dependent path matrix 110" and "path matrix 110" are used interchangeably. The path matrix 110 may be a three-dimensional matrix, where the first index (x coordinate) of a cell represents the start point of a movement, the second index (y coordinate) of a cell represents the end point of a movement, and the third index (z coordinate) of a cell represents a time point.

[0049] A cell (Si, Sj, Tk) of the time-dependent route matrix 110 may indicate a route with the minimum travel cost from point Si to point Sj, with the travel start time being Tk. For example, the coordinates of the shaded cell shown in FIG. 8 are (S5, S7, T4). Therefore, the value indicated by this cell indicates a route with the minimum travel cost from point S5 to S7 at the travel start time T4.

[0050] When initializing the path matrix 110, it can be assumed that the cost of each path is constant over time. Thus, for each pair of start and end points, the generator 2040 determines the path with the smallest cost among the possible paths for the pair by solving the shortest path problem using map information in which the cost of each path is constant. The map information can store a grid map of the workspace. Target vehicle 3 If the target vehicle 30 moves in two dimensions through the workspace (e.g., if the target vehicle 30 is a car), the grid information indicates a two-dimensional grid map of the floor surface of the workspace. If the target vehicle 30 moves in three dimensions through the workspace (e.g., if the target vehicle 30 is a drone), the grid information indicates a three-dimensional grid map of the workspace. The grid map also indicates the location of each point and any permanent obstacles, such as walls, shelves, or desks.

[0051] Fig. 9 shows a part of the grid map shown by the map information. The grid map in Fig. 9 shows the positions of points S1 and S2. In addition, the positions of permanent obstacles are shown by diagonal lines. Each path from point S1 to point S2 can be represented by a series of positions (grids) through which the target vehicle 30 can move.

[0052] Since the cost of each path is assumed to be constant over time, any algorithm for solving the shortest path problem can be used to find the shortest path for each pair of points, such as Dijkstra's algorithm, an A* search algorithm, or a space time A* algorithm. However, as described in more detail below, if the costs vary over time, the shortest path problem is solved using an algorithm that can handle time-dependent costs, such as the space time A* algorithm.

[0053] After the time-dependent path matrix 110 is initialized, the generating unit 2040 initializes the time-dependent cost matrix 100 based on the time-dependent path matrix 110. Specifically, each cell of the time-dependent cost matrix 100 should indicate the cost of the path indicated by the corresponding cell of the time-dependent path matrix. Thus, for each pair of i, j, k, the generating unit 2040 initializes the time-dependent path matrix 110 The cost indicated by cell (Si, Sj, Tk) of is set to cell (Si, Sj, Tk) of the time-dependent cost matrix 100.

[0054] <Schedule information generation: S106 to S110> The generation unit 2040 determines the execution order of the tasks (S106) and selects a task route for each task (S108), thereby generating schedule information 20 (S110). Figure 10 shows the schedule information 20 in table format. The schedule information 20 includes four types of data for each task: a task identifier 22, a task location 24, a task route 26, and a start time 28.

[0055] The task identifier 22 indicates an identifier of the task. The target point 24 indicates a point where the target vehicle 30 performs the task. The task path 26 indicates the task path along which the target vehicle 30 moves to the task point. The start time 28 indicates the time at which the task starts moving to the task point. In the schedule information 20, the tasks are preferably sorted in ascending order of start time to make it easier to understand the order in which the tasks are performed.

[0056] The generation unit 2040 determines the execution order of tasks assigned to the target vehicle 30 by solving the TDVRP using the time-dependent cost matrix 100. In order to solve the TDVRP, the starting point, the destination, the list of tasks to be executed, the capacity of the target vehicle 30, and the time-dependent cost function must be provided to an algorithm for solving the TDVRP. The starting point is the initial position of the target vehicle 30. The destination is the position to which the target vehicle 30 moves when all tasks are completed. For example, the vehicle storage location in the workspace may be set as the starting point and the destination.

[0057] The generating unit 2040 uses the task list information 10 as a list of tasks to be executed. Furthermore, the generating unit 2040 uses the time-dependent cost matrix 100 as a time-dependent cost function. The departure point, destination, and capacity of the target vehicle 30 may be defined in advance in association with the target vehicle 30. Therefore, the generating unit 2040 may acquire information indicating the departure point, destination, and capacity of the target vehicle 30 (hereinafter referred to as vehicle information) from, for example, a storage unit in which information is stored in advance.

[0058] The generation unit 2040 obtains an execution sequence of tasks to be executed by the target vehicle 30 as a solution to the TDVRP. There are various algorithms that can be used to solve the TDVRP. One example is the Mixed Integer Linear Programming (MILP). In another example, a metaheuristic algorithm such as the Tabu search algorithm or the iterative local search algorithm can also be employed. The generation unit 2040 may use any of these algorithms.

[0059] After determining the execution order of the tasks, the generation unit 2040 selects a task route for each task. For example, the generation unit 2040 uses the time-dependent route matrix 110. Specifically, for each task, the generation unit 2040 extracts a route indicated by a cell corresponding to the start point, task point, and start time of the task from the time-dependent route matrix 110, and sets the extracted route as the task route for the task. Here, the start point of a task is the task point of the previous task.

[0060] Assume that the (n-1)th task includes traveling to a point Sn-1 at time Tn-1 to receive a package, and the nth task includes traveling to a point Sn at time Tn to drop off the package. In this case, the route indicated by the cell (Sn-1, Sn, Tn) of the route matrix 110 is used as the task route of the nth task.

[0061] The start time of a task can be calculated as the sum of the travel time from the first task to the previous task and the duration (e.g., the time required to pick up a package). The travel time of a task can be calculated using the cost of the task route and the speed of the target vehicle 30. The calculation of the start time of a task can be formulated as follows:

number

[0062] After selecting the task route for each task, the generation unit 2040 generates schedule information 20 indicating the execution order of the tasks determined as described above and the task route for each route.

[0063] <Conflict detection: S112> The conflict detection unit 2060 performs conflict detection on the target vehicle 30 (S112). There can be two types of situations that can be treated as conflicts. The first type of conflict is called a vertex conflict, in which the target vehicle 30 and a temporary obstacle are scheduled to occupy the same position at the same time point.

[0064] A temporary obstacle is a type of obstacle that does not permanently but temporarily occupies a specific area of the work space. For example, a temporary obstacle can be a vehicle to which schedule information 20 has already been generated and that is assigned to a person other than the target vehicle 30. In another example, a temporary obstacle may be a person who is scheduled to occupy a specific area of the work space to do something, such as operating a device.

[0065] Suppose that during times T2 to T4, the target vehicle V1 is scheduled to work at location S1. Further, another vehicle V2 is scheduled to work at location S1 during times T1 to T3 (T1 < T2 < T3 < T4). In this case, since vehicles V1 and V2 occupy the same position S1 during times T2 to T3, they have a vertex conflict during times T2 to T3.

[0066] The second type of conflict is called an edge conflict, in which two vehicles are scheduled to cross each other. Suppose that during times T1 to T2, the target vehicle V1 moves from position A to B. At the same time, during times T1 to T2, another vehicle V2 moves from position B to A. In this case, although vehicles V1 and V2 do not occupy the same position at the same time point, they still conflict while crossing each other (also known as a crossover conflict).

[0067] The conflict detection unit 2060 obtains, for each temporary obstacle, event information indicating a schedule of an event occupying a certain area of ​​the working space. Specifically, the event information may indicate the position of the temporary obstacle at each time point. Some event information is pre-stored, for example, in a storage unit accessible by the vehicle scheduling device 2000. Here, when the temporary obstacle is a vehicle, the conflict detection unit 2060 uses the schedule information 20 of the temporary obstacle as the event information.

[0068] For each temporary obstacle, the conflict detection unit 2060 uses the schedule information 20 of the target vehicle 30 and the event information of the temporary obstacle to determine whether the target vehicle 30 conflicts with the temporary obstacle (in other words, whether they are scheduled to be located at the same place at the same time) by comparing the target vehicle's position and the temporary obstacle's position at each time point. If the conflict detection unit 2060 determines that the target vehicle 30 conflicts with the temporary obstacle, it adds information about the detected conflict to the conflict information. The conflict information indicates the position and duration of the conflict. Here, the conflict information is initialized to empty before starting the conflict detection.

[0069] <Update of cost matrix 100: S114> If one or more conflicts are detected for the target vehicle 30 (S112: Yes), the update unit 2080 updates the time-dependent cost matrix 100 The update unit 2080 may update the time-dependent cost matrix 100 using the time-dependent path matrix 110. In this case, the update unit 2080 may first update the time-dependent path matrix 110 by solving a shortest path problem with an algorithm that can handle time-dependent costs, such as the space-time A* algorithm.

[0070] The spatio-temporal A* algorithm works with a data structure called the reservation table, which is a time-dependent grid map that indicates the location of each obstacle for each time instant. Permanent obstacles, as indicated by the map information, are treated in the reservation table as obstacles that occupy one or more grids at each time instant. On the other hand, conflicts, as indicated by the conflict information, are treated in the reservation table as obstacles that occupy one or more grids only while there is a conflict at that location.

[0071] The update unit 2080 generates a reservation table using the map information and the conflict information. Specifically, for each permanent obstacle indicated by the map information, the update unit 2080 places the permanent obstacle at a position in the reservation table corresponding to the position of the permanent obstacle in the map information at each time point. Furthermore, for each conflict indicated by the conflict information, the update unit 2080 places each conflict as an obstacle at a position in the reservation table corresponding to the position of the conflict in the conflict information during the time period indicated by the conflict information.

[0072] FIG. 11 shows an example of a reservation table. In this example, the reservation table shows a time-dependent grid map 120 from time T0 to Tn. The map information shows permanent obstacles at locations (1,1) and (2,4). The conflict information shows conflict A occurring at location (3,2) from time Ta to Tb, and conflict B occurring at location (4,3) from time Tc to Td (T0 <Ta<Tb<Tc<Td<Tn)。

[0073] In this case, from time T0 to Ta, the reservation table shows permanent obstacles at positions (1,1) and (2,4). From time Ta to Tb, the reservation table additionally shows conflict A at position (3,2). From time Tb to Tc, the reservation table again shows only two permanent obstacles. Then, from time Tc to Td, the reservation table additionally shows conflict B at position (4,3). After time Td, the reservation table again shows only two permanent obstacles.

[0074] A reservation table is generated for each pair of points. Then, the update unit 2080 solves the shortest path problem using the reservation table for each pair of points. In this way, the update unit 2080 updates the time-dependent path matrix 110 by finding a path with the minimum cost for each pair of points and each time point. Here, if no conflict is detected on the path of the pair of points, there is no need to update the path of the pair.

[0075] After updating the time-dependent path matrix 110, the update unit 2080 updates the time-dependent cost matrix 110 based on the updated path matrix 110. Here, the update of the time-dependent cost matrix 100 based on the time-dependent path matrix 110 can be performed in the same manner as the initialization of the time-dependent cost matrix 100 based on the time-dependent path matrix 110 described above.

[0076] <Output of schedule information 20: S116> If no conflict is detected by the conflict detection unit 2060 (S112: No), the vehicle scheduling device 2000 outputs the schedule information 20. The schedule information 20 can be output in various ways. For example, the vehicle scheduling device 2000 may store the schedule information 20 in a storage unit. In another example, the vehicle scheduling device 2000 may output the schedule information 20 to a display device so as to cause the display device to display the schedule information 20. In another example, the vehicle scheduling device 2000 may transmit the schedule information 20 to a mobile device operated by the subject person or another computer such as a PC. Here, it is preferable that the schedule information 20 is output in association with the identifier of the subject vehicle 30.

[0077] <How to handle multiple target vehicles 30> A subject may be assigned two or more target vehicles 30. In this case, unlike the case where a subject is assigned a single target vehicle 30, the target vehicles 30 may compete with each other. How to handle multiple target vehicles 30 will be described below.

[0078] 12 is a flowchart showing an example of processing performed by the vehicle scheduling device 2000 when multiple target vehicles 30 are assigned to a target person. The acquisition unit 2020 acquires task list information 10 (S202). Next, the generation unit 2040 initializes the time-dependent cost matrix 100 and the time-dependent route matrix (S204). These processing are performed in the same manner as when a single target vehicle 30 is assigned to the target person.

[0079] The generation unit 2040 determines the execution order of tasks for each target vehicle 30 (S206). In order to determine the execution order of tasks for each target vehicle 30, it is necessary to determine the allocation of tasks to each target vehicle 30. In this regard, by solving the TDVRP, it is possible to simultaneously allocate tasks to each target vehicle 30 and determine the execution order of tasks for each target vehicle 30. Specifically, the algorithm for solving the TDVRP further inputs the number of vehicles and the capacity of each vehicle, and outputs the execution order of tasks for each vehicle. Therefore, the generation unit 2040 can obtain the execution order of tasks for each target vehicle 30 as a result of solving the TDVRP. Here, the number of target vehicles 30 and the capacity of each vehicle can be included in the vehicle information described above.

[0080] After determining the execution order of the tasks for each target vehicle 30, the generation unit 2040 selects a task route for each task (S208). The task route is selected using the time-dependent route matrix 110, similar to the case where a single target vehicle 30 is assigned to a target person. As a result of the task route selection for each task, the generation unit 2040 generates schedule information 20 for each target vehicle 30 (S210).

[0081] Competition The detection unit 2060 performs conflict detection. When a subject is assigned multiple target vehicles 30, two types of conflicts may occur: internal conflicts and external conflicts. An internal conflict is a conflict between the target vehicles 30. On the other hand, an external conflict is a conflict between the target vehicles 30 and temporary obstacles, which has already been described above.

[0082] Competition The detection unit 2060 may first detect an internal conflict (S212). Competition For each pair of target vehicles 30, the detection unit 2060 detects internal conflicts between them by comparing their schedule information 20. Specifically, if two target vehicles 30 are scheduled to be located at the same place at the same time, they conflict with each other.

[0083] If an internal conflict is detected (S212: Yes), the update unit 2080 updates the cost matrix 100 and the path matrix 110 based on the detected internal conflict (S214). To update the path matrix 110 based on the detected internal conflict, the update unit 2080 performs internal conflict resolution, thereby calculating a new path with the minimum cost for the pair of points where the internal conflict is detected. Competition The detector 2060 can use any internal contention resolution algorithm, such as the contention-based search algorithm disclosed by et al., “Computer-Based Conflict Resolution Algorithm for Detecting Multiple Conflicts,” in Proc.

[0084] As a result of the internal conflict resolution, a route with the smallest cost is updated for the pair of points where the internal conflict is detected. Therefore, the update unit 2080 updates the time-dependent route matrix 110 based on the result of the internal conflict resolution. The update unit 2080 also updates the time-dependent cost matrix 100 based on the updated route matrix 110. The method of updating the cost matrix 100 based on the updated route matrix 110 is the same as the method of initializing the cost matrix 100 based on the initialized route matrix 110.

[0085] If no internal conflict is detected (S212: NO), the conflict detection unit 2060 performs external conflict detection (S216). The method of detecting an external conflict (i.e., a conflict between the target vehicle 30 and a temporary obstacle) has already been described above. It should be noted that since there are multiple target vehicles 30, the external conflict detection is performed for each target vehicle 30.

[0086] If no external conflict is detected (S216: No), the vehicle scheduling device 2000 outputs the schedule information 20 (S220) since no conflict is detected in this case. On the other hand, if an external conflict is detected (S216: Yes), the update unit 2080 updates the time-dependent cost matrix 100 and the time-dependent route matrix 110 based on the detected external conflict (S218). This process can be performed in the same way as when a single target vehicle 30 is assigned to a target person.

[0087] After the time-dependent cost matrix 100 and the time-dependent path matrix 110 are updated (S214 or S218), Vehicle Scheduling The device 2000 determines the execution order of the tasks, selects a task route for each task, and regenerates the schedule information 20 (S206, S208, and S210). Then, it detects internal and external conflicts again (S212 and S216). These processes are repeated until no conflicts are detected (S216: No).

[0088] <Correction of schedule information for other vehicles> In the above explanation, it is the schedule information 20 of the target vehicle 30 that is updated to avoid the conflict. However, when the target vehicle 30 conflicts with a vehicle other than the target vehicle 30 (hereinafter, referred to as an obstructing vehicle), the conflict may be avoided by updating the schedule information 20 of the obstructing vehicle instead of the schedule information 20 of the target vehicle 30.

[0089] Suppose that it is detected that the target vehicle 30 is in conflict with the vehicle V1 whose schedule information 20 has been confirmed and stored in the storage unit. In this case, the conflict can be avoided by updating the schedule information 20 of the vehicle V1 and, at the same time, confirming the schedule information 20 of the target vehicle 30.

[0090] When an external conflict between the target vehicle 30 and the obstructed vehicle is detected, the update unit 2080 may check whether the update of the schedule information 20 of the obstructed vehicle has been approved. When the update has been approved, the schedule information 20 of the obstructed vehicle is repeatedly updated in the same manner as the repeated update of the schedule information 20 of the target vehicle 30 described above until the conflict is no longer detected. In this case, the vehicle scheduling device 2000 outputs the schedule information 20 without updating the schedule information 20 of the target vehicle 30 based on the conflict. Furthermore, the vehicle scheduling device 2000 updates the schedule information 20 of the obstructed vehicle until the conflict is no longer detected, and then outputs the schedule information 20. When the update of the schedule information 20 of the obstructed vehicle is not approved, the vehicle scheduling device 2000 repeatedly generates the schedule information 20 of the target vehicle 30 until the conflict is no longer detected.

[0091] There are various methods by which the vehicle scheduling device 2000 confirms approval of the update of the schedule information 20 of the disabled vehicle. For example, the vehicle scheduling device 2000 transmits an approval request for the update of the schedule information 20 to an address previously associated with the disabled vehicle, for example, the email address of the operator of the disabled vehicle. In this case, the vehicle scheduling device 2000 receives a response to the request, and confirms whether the response indicates approval of the update of the schedule information 20 of the disabled vehicle. If the response indicates approval of the update of the schedule information 20 of the disabled vehicle, the vehicle scheduling device 2000 repeatedly updates the schedule information 20 of the disabled vehicle.

[0092] In another example, the schedule information 20 may have an approval flag indicating whether the update is approved. In this case, the vehicle scheduling device 2000 checks whether there is an approval flag in the schedule information 20 of the disabled vehicle indicating that the update is approved. If the approval flag in the schedule information 20 of the disabled vehicle indicates that the update is approved, the vehicle scheduling device 2000 performs a repeat update of the schedule information 20 of the disabled vehicle. The value of the approval flag may be preset by the operator of the disabled vehicle.

[0093] EMBODIMENT 2 <Summary> 13 shows an overview of the vehicle scheduling device 2000 of the embodiment 2. Here, the overview shown in FIG. 13 shows an example of the operation of the vehicle scheduling device 2000 to facilitate understanding of the vehicle scheduling device 2000, and is not intended to limit or narrow the range of possible operations of the vehicle scheduling device 2000.

[0094] The vehicle scheduling device 2000 of the second embodiment differs from the first embodiment in that it assumes that the cost of traveling between each pair of locations is constant over time. Thus, instead of the time-dependent cost matrix 100, the vehicle scheduling device 2000 of this embodiment employs a time-independent cost matrix 200 that indicates the cost of traveling between each pair of locations, which is constant regardless of when the target vehicle 30 starts traveling.

[0095] Since the cost is assumed to be constant over time, the execution order of the tasks assigned to the target vehicle 30 can be determined by solving any VRP that handles time-independent costs. For example, when the capacity of the vehicle is taken into consideration, a capacitated VRP is adopted. In this case, the execution order of the tasks assigned to the target vehicle 30 is obtained as the solution of the CVRP.

[0096] When a conflict is detected, the vehicle scheduling apparatus 2000 updates the time-independent cost matrix 200 based on the conflict. Because the time-independent cost matrix 200 does not deal with time-based costs, the time-independent cost matrix 200 treats temporary obstacles the same as permanent obstacles. Specifically, a location where a conflict is detected is considered to be occupied by an obstacle regardless of when the conflict occurred.

[0097] <Examples of effects> Like the vehicle scheduling device 2000 of the first embodiment, the vehicle scheduling device 2000 of the second embodiment repeatedly updates the task execution schedule of the target vehicle 30 until the target vehicle 30 is no longer competing with a temporary obstacle. Therefore, the vehicle scheduling device 2000 of the second embodiment can efficiently generate the task execution schedule of each vehicle for the same reasons as the vehicle scheduling device 2000 of the second embodiment. Furthermore, the vehicle scheduling device 2000 of the second embodiment is likely to take less time to determine the schedule information 20 than the first embodiment, because solving the VRDP using a time-independent cost is likely to take less time than solving the TDVRP.

[0098] A more detailed description of the vehicle scheduling apparatus 2000 is provided below.

[0099] <Example of functional configuration> The vehicle scheduling device 2000 of the second embodiment may have the same functional configuration as the vehicle scheduling device 2000 of the first embodiment. Therefore, an example of the functional configuration of the vehicle scheduling device 2000 can also be shown in FIG.

[0100] The generating unit 2040 of the second embodiment differs from the first embodiment in that it solves the VRP using a time-independent cost instead of the TDVRP to determine the execution order of tasks. Furthermore, it uses a time-independent cost matrix 200 instead of the time-dependent cost matrix 100. The updating unit 2080 of the second embodiment differs from the first embodiment in that it updates the time-independent cost matrix 200 instead of the time-dependent cost matrix 100 based on the detected conflicts.

[0101] <Example of hardware configuration> The vehicle scheduling device 2000 of the second embodiment may be realized by one or more computers similar to those that realize the vehicle scheduling device 2000 of the second embodiment. Therefore, the hardware configuration thereof can also be shown in FIG.

[0102] <Processing flow> 14 is a flowchart showing an example of processing performed by the vehicle scheduling device 2000 of the embodiment 2. In FIG. 14, the processing with thick borders (steps S304, S306, S308, and S314) differs from the corresponding processing of the embodiment 1 shown in FIG.

[0103] The acquisition unit 2020 acquires the task list information 10 (S302). The generation unit 2040 initializes the time-independent cost matrix 200 (S304). The generation unit 2040 uses the time-independent cost matrix 200 to determine the execution order of the tasks (S306). The generation unit 2040 selects a task route for each task (S308). The generation unit 2040 generates the schedule information 20 (S310). The conflict detection unit 2060 performs conflict detection using the schedule information 20 (S312). If no conflict is detected (S312: No), the vehicle scheduling device 2000 outputs the schedule information 20 (S316). On the other hand, if a conflict is detected (S312: Yes), the update unit 2080 updates the time-independent cost matrix 200 based on the detected conflict (S314).

[0104] After updating the time-independent cost matrix 200, the process of the vehicle scheduling device 2000 returns to step S306. As a result, the generation of schedule information 20 (S306 to S310), the detection of conflicts (S312), and the update of the time-independent cost matrix 200 (S314) are repeated until no conflicts are detected in step S312.

[0105] <Getting task list information: S302> The acquiring unit 2020 acquires the task list information 10 in the same manner as in the first embodiment.

[0106] <Initialization of time-independent cost matrix 200: S304> The generator 2040 initializes a time-independent cost matrix 200 (S304). The time-independent cost matrix 200 indicates the minimum travel cost for each pair of points, each of which is constant over time. FIG. 15 illustrates the time-independent cost matrix 200. The time-independent cost matrix 200 may be a two-dimensional matrix, where a first index (x coordinate) of a cell represents a start point of a travel, and a second index (y coordinate) of a cell represents an end point of a travel, respectively.

[0107] A cell (Si, Sj) of the cost matrix 200 can indicate the minimum travel cost from point Si to point Sj. For example, the coordinates of the shaded cell shown in Fig. 15 are (S5, S7). Therefore, the value indicated by this cell indicates the minimum travel cost from point S5 to S7.

[0108] To initialize the time-independent cost matrix 200, the generator 2040 of the second embodiment may use a time-independent path matrix in the same way that the generator 2040 of the first embodiment uses the time-dependent path matrix 110. The time-independent path matrix indicates paths that minimize the cost for each pair of points, which is constant over time.

[0109] 16 illustrates a time-independent path matrix 210. Hereinafter, the terms "time-independent path matrix 210" and "path matrix 210" are used interchangeably. The path matrix 210 may be a two-dimensional matrix, where the first index (x coordinate) of a cell represents the start point of a movement, and the second index (y coordinate) of a cell represents the end point of a movement, respectively.

[0110] A cell (Si, Sj) of the time-independent route matrix 210 can indicate a route with the lowest travel cost from point Si to point Sj. For example, the coordinates of the shaded cell shown in FIG. 16 are (S5, S7). Therefore, the value indicated by this cell indicates a route with the lowest travel cost from point S5 to S7.

[0111] For each pair of start and end points, the generator 2040 determines the path that has the lowest cost among the possible paths for that pair by solving the shortest path problem using the map information described above. Since the cost of each path is assumed to be constant over time, any algorithm for solving the shortest path problem, such as Dijkstra's algorithm, A* search algorithm, or space-time A* algorithm, can be used to find the shortest path for each pair of points.

[0112] After the time-independent path matrix 210 is initialized, the generating unit 2040 initializes the time-independent cost matrix 200 based on the time-independent path matrix 210 in a manner similar to the initialization of the time-dependent cost matrix 100 based on the time-dependent path matrix 110. Specifically, each cell of the time-independent cost matrix 200 should indicate the cost of the path indicated by the corresponding cell of the time-independent path matrix 210. Therefore, for each pair of i and j, the generating unit 2040 sets the cost indicated by the cell (Si, Sj) of the time-independent path matrix 210 to the cell (Si, Sj) of the time-independent cost matrix 200.

[0113] <Schedule information generation: S306~S310> The generating unit 2040 generates the schedule information 20 (S310) by determining the execution order of the tasks (S306) and selecting the task route of each task (S308). The generating unit 2040 determines the execution order of the tasks assigned to the target vehicle 30 by solving the VRP using the time-independent cost matrix 200. In order to solve the VRP using the time-independent cost, it is necessary to provide the starting point, the destination, the list of tasks to be performed, and the time-independent cost function to an algorithm for solving the VRP. Note that, when the CVRP is adopted, the capacity of the target vehicle 30 is also provided to the algorithm. The starting point, the destination, and the list of tasks to be performed are as described in the first embodiment. The generating unit 2040 uses the time-independent cost matrix 200 as the time-independent cost function.

[0114] The generation unit 2040 obtains, as a solution to the VRP, an execution sequence of tasks to be executed by the target vehicle 30. There are various algorithms for solving the VRP. For example, a metaheuristic algorithm such as MILP, Tabu search algorithm, or iterative local search algorithm can be adopted to solve the VRP.

[0115] After determining the execution order of the tasks, the generating unit 2040 selects a task route for each task. In this embodiment, the generating unit 2040 can use the time-independent route matrix 210. Specifically, for each task, the generating unit 2040 extracts a route indicated by a cell corresponding to the start point and task point of the task from the time-independent route matrix 210, and sets the extracted route as the task route of the task.

[0116] Suppose that the (n-1)th task includes traveling to a point Sn-1 to receive a package, and the nth task includes traveling to a point Sn to drop off the package. In this case, the route indicated by the cell (Sn-1, Sn) of the route matrix 210 is used as the task route of the nth task.

[0117] The generating unit 2040 of the second embodiment generates the schedule information 20 in the same manner as in the first embodiment after selecting a task route for each task.

[0118] <Conflict detection: S312> The conflict detection unit 2060 performs conflict detection for the target vehicle 30 (S312). The conflict detection unit 2060 of the second embodiment detects conflicts in the same manner as in the first embodiment.

[0119] <Update of cost matrix 200: S314> If one or more conflicts are detected for the target vehicle 30 (S312: YES), the update unit 2080 updates the time-independent cost matrix 200 based on the conflict information. The update unit 2080 may update the time-independent cost matrix 200 using the time-independent path matrix 210. In this case, the update unit 2080 may first update the time-independent path matrix 210 by solving a shortest path problem using any algorithm.

[0120] In order to reflect the detected conflict in the solution of the shortest path problem, the update unit 2080 generates a time-independent grid map based on the map information and the conflict information, and inputs it to the algorithm for solving the shortest path problem. This time-independent grid map is the same as the grid map indicated by the map information, except that there is an obstacle in the grid corresponding to the position where the conflict was detected.

[0121] FIG. 17 illustrates a time-independent grid map 220. In this example, assume that the map information indicates permanent obstacles at positions (1,1) and (2,4). Additionally, the conflict information indicates conflict A occurring at position (3,2) from time Ta to Tb, and conflict B occurring at position (4,3) from time Tc to Td (T0 <Ta<Tb<Tc<Td<Tn)。

[0122] In this case, the time independent grid map 220 shows obstacles at locations (1,1) and (2,4) as indicated by the map information, as well as an obstacle at (3,2) corresponding to conflict A and an obstacle at (4,3) corresponding to conflict B.

[0123] A time independent grid map 220 is generated for each pair of points. An update unit 2080 then solves the shortest path problem for each pair of points using the time independent grid map 220. This allows the update unit 2080 to update the time independent path matrix 210 by finding the least cost path for each pair of points.

[0124] After updating the time-independent path matrix 210, the update unit 2080 updates the time-independent cost matrix 200 based on the updated path matrix 210. Here, the update of the time-independent cost matrix 200 based on the time-independent path matrix 210 can be performed in the same manner as the initialization of the time-independent cost matrix 200 based on the time-independent path matrix 210 described above.

[0125] <Output of schedule information 20: S316> If no conflict is detected by the conflict detection unit 2060 (S312: No), the vehicle scheduling device 2000 outputs (S316) the schedule information 20. The schedule information 20 of the second embodiment is output in the same manner as in the first embodiment.

[0126] <How to handle multiple target vehicles 30> The vehicle scheduling device 2000 of the second embodiment handles multiple target vehicles 30 in the same manner as in the first embodiment, except that the travel cost between points is assumed to be constant over time. Fig. 18 is a flowchart showing an example of processing performed by the vehicle scheduling device 2000 of the second embodiment when multiple target vehicles 30 are assigned to a target person. In Fig. 18, the processing with thick borders (steps S404, S406, S408, S414, and S418) differs from that of the first embodiment shown in Fig. 12.

[0127] The acquisition unit 2020 acquires the task list information 10 (S402). Next, the generation unit 2040 initializes the time-independent cost matrix 200 and the time-independent route matrix 210 (S404). These processes are performed in the same manner as when a single target vehicle 30 is assigned to a target person.

[0128] The generation unit 2040 determines the execution order of tasks for each target vehicle 30 (S406). As in the first embodiment, the generation unit 2040 can simultaneously assign tasks to each target vehicle 30 and determine the execution order of tasks for each target vehicle 30 by solving the VRP. Specifically, the algorithm for solving the VRP further inputs the number of vehicles and outputs the execution order of tasks for each vehicle. Therefore, the generation unit 2040 can obtain the execution order of tasks for each target vehicle 30 as a result of solving the VRP. Here, when the CVRP is adopted, the capacity of each vehicle is also given to the algorithm for solving the CVRP.

[0129] After determining the execution order of the tasks for each target vehicle 30, the generation unit 2040 selects a task route for each task (S408). The task route is selected using the time-independent route matrix 210, similar to the case where a single target vehicle 30 is assigned to a target person. As a result of the selection of the task route for each task, the generation unit 2040 generates schedule information 20 for each target vehicle 30 (S410).

[0130] Next, the detection unit 2060 may detect an internal conflict (S412). If an internal conflict is detected (S412: Yes), the update unit 2080 updates the cost matrix 200 and the path matrix 210 based on the detected internal conflict (S414). The update unit 2080 of the second embodiment calculates a new path with the minimum cost for the pair of points where the internal conflict is detected by resolving the internal conflict, as in the first embodiment. The update unit 2080 updates the time-independent path matrix 210 based on the result of resolving the internal conflict. The update unit 2080 also updates the time-independent cost matrix 200 based on the updated path matrix 210.

[0131] If no internal conflict is detected (S412: NO), the conflict detection unit 2060 performs external conflict detection (S416), similarly to the first embodiment.

[0132] If no external conflict is detected (S416: No), the vehicle scheduling device 2000 outputs the schedule information 20 (S420) since no conflict is detected in this case. On the other hand, if an external conflict is detected (S416: Yes), the update unit 2080 updates the time-independent cost matrix 200 and the time-independent route matrix 210 based on the detected external conflict (S418). This process can be performed in the same way as when a single target vehicle 30 is assigned to a target person.

[0133] After the time-independent cost matrix 200 and the time-independent path matrix 210 are updated (S414 or S418), the device 2000 determines the execution order of the tasks, selects the task path of each task, and generates the schedule information 20 again (S406, S408, and S410). Then, it detects internal conflicts and external conflicts again (S412, S416). The repeated execution of these processes continues until no conflicts are detected (S416: No).

[0134] <Correction of schedule information for other vehicles> Similar to the vehicle scheduling device 2000 of the first embodiment, the vehicle scheduling device 2000 of the second embodiment may repeatedly update the schedule information 20 of an impaired vehicle that competes with the subject vehicle if the update is approved.

[0135] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-mentioned embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present invention.

[0136] The program referred to in this disclosure includes a set of instructions (or software code) that, when loaded into a computer, causes the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, the computer-readable medium or tangible storage medium includes random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray® disk or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, the transitory computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.

[0137] A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes. <Additional Notes> (Appendix 1) At least one processor; A memory for storing instructions; wherein the at least one processor executes the instructions to: At least one target vehicle acquires task list information indicating tasks assigned to an assigned target vehicle, and the target vehicle executes each assigned task at a task location corresponding to the task; determining an order for performing the tasks for each target vehicle by solving a vehicle routing problem using a cost matrix that indicates the minimum cost for each pair of points in the workspace; For each task, select a task route that is a route that minimizes the cost of traveling to the task point of the task based on the determined task execution order; generating, for each target vehicle, schedule information for the target vehicle indicating the execution sequence of the tasks assigned to the target vehicle and the task path for each task; Detecting an external conflict between the target vehicle and a temporary obstacle whose position changes over time; and If one or more external conflicts are detected, then: updating the cost matrix to update the minimum cost of the pair of points where the conflict is detected; iteratively performing the determining of the execution order of the tasks, the selecting of the task path for each task, the generating of the schedule information, the detecting of the conflicts, and the updating of the cost matrix until detection of the target vehicle and the temporary obstacle is no longer detected. A vehicle scheduling device configured as follows. (Appendix 2) The detection of the external conflict comprises: obtaining, for each temporary obstacle, event information indicative of a position of said temporary obstacle at each time point; comparing the schedule information of the subject vehicle with the event information of each temporary obstacle to determine that the subject vehicle is in conflict with the temporary obstacle if the subject vehicle and the temporary obstacle are scheduled to be at the same location at the same time as each other. 2. A vehicle scheduling apparatus as described in claim 1. (Appendix 3) the execution order of the tasks for each target vehicle is determined by solving a time-dependent vehicle routing problem; the cost matrix is ​​constructed to indicate time-dependent costs; and The initialization of the cost matrix may be initializing a path matrix by solving a shortest path problem using map information of the workspace, the path matrix indicating, for each pair of points and each time instant, a least cost path among one or more possible paths between the points, the map information indicating the location of each point and the location of any permanent obstacles whose locations do not change over time; for each pair of points and each time instant, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix; 3. A vehicle scheduling apparatus according to claim 1 or 2. (Appendix 4) The update of the cost matrix may be generating, for each time point, a reservation table indicating the location of each point, the location of permanent obstacles, and the location of the external conflicts based on the map information and the results of the detection of the external conflicts; updating the path matrix by solving a shortest path problem using the reservation table; and for each pair of points and each time instant, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. 4. A vehicle scheduling apparatus as described in claim 3. (Appendix 5) the cost matrix is ​​constructed to indicate time-independent costs; and The initialization of the cost matrix may be initializing a path matrix by solving a shortest path problem using map information of the workspace, the path matrix indicating, for each pair of points, a least cost path among one or more possible paths between the points, the map information indicating the location of each point and the location of any permanent obstacles whose locations do not change over time; for each pair of points, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix; 3. A vehicle scheduling apparatus according to claim 1 or 2. (Appendix 6) The update of the cost matrix may be generating a grid map based on the map information and the results of the detection of the external conflict, the grid map indicating the location of each point, the location of permanent obstacles, and the location of the external conflict; updating the path matrix by solving a shortest path problem using the grid map; and for each pair of points, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. 6. A vehicle scheduling apparatus as described in claim 5. (Appendix 7) The at least one processor executes the instructions to if two or more target vehicles are assigned to the target person, detecting an internal conflict between the target vehicles before detecting the external conflict; If one or more internal conflicts are detected, updating the path matrix by performing internal conflict resolution to update the path with the lowest cost for the pair of points for which the internal conflict is detected; and iteratively performing the selection of the task path for each task, the generation of the schedule information, the detection of internal conflicts, and the updating of the path matrix until no internal conflicts are detected. 7. A vehicle scheduling apparatus according to claim 4 or 6. (Appendix 8) The at least one processor executes the instructions to if one or more external conflicts are detected and the temporary obstacle is a vehicle other than the subject vehicle; determining whether the update of the schedule information of the temporary obstruction is approved; and if the schedule information of the temporary obstacle is approved, instead of repeatedly generating the schedule information of the target vehicle, repeatedly updating the schedule information of the temporary obstacle until no external conflicts are detected. 8. A vehicle scheduling apparatus according to any one of claims 1 to 7. (Appendix 9) A control method performed by a computer, comprising the steps of: obtaining task list information indicating tasks assigned to at least one target vehicle by a target vehicle, the target vehicle executing each assigned task at a task location corresponding to the task; determining an order of execution of the tasks for each target vehicle by solving a vehicle routing problem using a cost matrix in which a minimum cost for each pair of points in a workspace is plotted; selecting, for each task, a task route that is a route that minimizes the cost of traveling to the task point of the task based on the determined execution order of the task; generating, for each target vehicle, schedule information for the target vehicle indicating the execution order of the tasks assigned to the target vehicle and the task path of each task; detecting an external conflict between the target vehicle and a temporary obstacle whose position changes over time; If one or more external conflicts are detected, updating the cost matrix to update the minimum cost of the pair of points where the conflict is detected; and The control method further comprising repeatedly performing the determining of the execution order of the tasks, the selecting of the task path for each task, the generating of the schedule information, the detecting of the conflicts, and the updating of the cost matrix until detection of the target vehicle and the temporary obstacle is no longer detected. (Appendix 10) The detection of the external conflict comprises: obtaining, for each temporary obstacle, event information indicative of a position of said temporary obstacle at each time point; comparing the schedule information of the subject vehicle with the event information of each temporary obstacle to determine that the subject vehicle is in conflict with the temporary obstacle if the subject vehicle and the temporary obstacle are scheduled to be at the same location at the same time as each other. 10. The control method according to claim 9. (Appendix 11) the execution order of the tasks for each target vehicle is determined by solving a time-dependent vehicle routing problem; the cost matrix is ​​constructed to indicate time-dependent costs; and The initialization of the cost matrix may be initializing a path matrix by solving a shortest path problem using map information of the workspace, the path matrix indicating, for each pair of points and each time instant, a least cost path among one or more possible paths between the points, the map information indicating the location of each point and the location of any permanent obstacles whose locations do not change over time; for each pair of points and each time instant, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix; 11. The control method according to claim 9 or 10. (Appendix 12) The update of the cost matrix may be generating, for each time point, a reservation table indicating the location of each point, the location of permanent obstacles, and the location of the external conflicts based on the map information and the results of the detection of the external conflicts; updating the path matrix by solving a shortest path problem using the reservation table; and for each pair of points and each time instant, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. 12. The control method according to claim 11. (Appendix 13) the cost matrix is ​​constructed to indicate time-independent costs; and The initialization of the cost matrix may be initializing a path matrix by solving a shortest path problem using map information of the workspace, the path matrix indicating, for each pair of points, a least cost path among one or more possible paths between the points, the map information indicating the location of each point and the location of any permanent obstacles whose locations do not change over time; for each pair of points, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix; 11. The control method according to claim 9 or 10. (Appendix 14) The update of the cost matrix may be generating a grid map based on the map information and the results of the detection of the external conflict, the grid map indicating the location of each point, the location of permanent obstacles, and the location of the external conflict; updating the path matrix by solving a shortest path problem using the grid map; and for each pair of points, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. 14. The control method according to claim 13. (Appendix 15) if two or more target vehicles are assigned to the target person, detecting an internal conflict between the target vehicles before detecting the external conflict; If one or more internal conflicts are detected, updating the path matrix by performing internal conflict resolution to update the path with the lowest cost for the pair of points for which the internal conflict is detected; and iteratively performing the selection of the task path for each task, the generation of the schedule information, the detection of internal conflicts, and the updating of the path matrix until no internal conflicts are detected. 15. The control method according to claim 12 or 14. (Appendix 16) if one or more external conflicts are detected and the temporary obstacle is a vehicle other than the subject vehicle; determining whether the update of the schedule information of the temporary obstruction is approved; and if the schedule information of the temporary obstacle is approved, instead of repeatedly generating the schedule information of the target vehicle, repeatedly updating the schedule information of the temporary obstacle until no external conflicts are detected. 16. The control method according to any one of appendixes 9 to 15. (Appendix 17) On the computer, causing at least one target vehicle to obtain task list information indicating tasks assigned to the assigned target vehicle, the target vehicle performing each assigned task at a task location corresponding to the task; determining an order of execution of the tasks for each target vehicle by solving a vehicle routing problem using a cost matrix in which a minimum cost for each pair of points in a workspace is plotted; selecting, for each task, a task route that is a route that minimizes the cost of traveling to the task point of the task based on the determined execution order of the task; generating, for each target vehicle, schedule information for the target vehicle indicating the execution order of the tasks assigned to the target vehicle and the task path of each task; detecting external conflicts between the target vehicle and a temporary obstacle whose position changes over time; If one or more external conflicts are detected, updating the cost matrix to update the minimum cost of the pair of points where the conflict is detected; and A non-transitory computer-readable storage medium storing a program that causes the system to further repeatedly perform the determination of the execution order of the tasks, the selection of the task path for each task, the generation of the schedule information, the detection of the conflicts, and the updating of the cost matrix until detection of the target vehicle and the temporary obstacle is no longer detected. (Appendix 18) The detection of the external conflict comprises: obtaining, for each temporary obstacle, event information indicative of a position of said temporary obstacle at each time point; comparing the schedule information of the subject vehicle with the event information of each temporary obstacle to determine that the subject vehicle is in conflict with the temporary obstacle if the subject vehicle and the temporary obstacle are scheduled to be at the same location at the same time as each other. 18. The storage medium of claim 17. (Appendix 19) the execution order of the tasks for each target vehicle is determined by solving a time-dependent vehicle routing problem; the cost matrix is ​​constructed to indicate time-dependent costs; and The initialization of the cost matrix may be initializing a path matrix by solving a shortest path problem using map information of the workspace, the path matrix indicating, for each pair of points and each time instant, a least cost path among one or more possible paths between the points, the map information indicating the location of each point and the location of any permanent obstacles whose locations do not change over time. and for each pair of points and each time instant, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. 19. A storage medium according to claim 17 or 18. (Appendix 20) The update of the cost matrix may be generating, for each time point, a reservation table indicating the location of each point, the location of permanent obstacles, and the location of the external conflicts based on the map information and the results of the detection of the external conflicts; updating the path matrix by solving a shortest path problem using the reservation table; and for each pair of points and each time instant, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. 20. The storage medium of claim 19. (Appendix 21) the cost matrix is ​​constructed to indicate time-independent costs; and The initialization of the cost matrix may be initializing a path matrix by solving a shortest path problem using map information of the workspace, the path matrix indicating, for each pair of points, a least cost path among one or more possible paths between the points, the map information indicating the location of each point and the location of any permanent obstacles whose locations do not change over time; and for each pair of points, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. 19. A storage medium according to claim 17 or 18. (Appendix 22) The update of the cost matrix may be generating a grid map based on the map information and the results of the detection of the external conflict, the grid map indicating the location of each point, the location of permanent obstacles, and the location of the external conflict; updating the path matrix by solving a shortest path problem using the grid map; and for each pair of points, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. 22. A storage medium as described in claim 21. (Appendix 23) The program causes the computer to if two or more target vehicles are assigned to the target person, detecting an internal conflict between the target vehicles before detecting the external conflict; If one or more internal conflicts are detected, updating the path matrix by performing internal conflict resolution to update the path that has the lowest cost for the pair of points for which the internal conflict is detected; and further causing the selection of the task path for each task, the generation of the schedule information, the detection of the internal conflicts, and the updating of the path matrix to be repeated until no internal conflicts are detected. 23. A storage medium according to claim 20 or 22. (Appendix 24) The program causes the computer to if one or more external conflicts are detected and the temporary obstacle is a vehicle other than the subject vehicle; determining whether the update of the schedule information of the temporary obstruction is approved; and if the schedule information of the temporary obstacle is approved, instead of repeatedly generating the schedule information of the target vehicle, further performing: repeatedly updating the schedule information of the temporary obstacle until no external conflicts are detected. 24. A storage medium according to any one of appendixes 17 to 23.

[0138] This application claims priority based on Japanese Patent Application No. 2021-165351, filed on October 7, 2021, the disclosure of which is incorporated by reference in its entirety into this specification. [Explanation of symbols]

[0139] 10 Task List Information 20 Schedule Information 30 Target vehicle 100 Time-dependent cost matrix 110 Time-dependent path matrices 120 Grid Map 1000 Computers 1020 Bus 1040 Processor 1060 Memory 1080 Storage Device 1100 Input / Output Interface 1120 Network Interface 2000 Vehicle Scheduling Device 2020 Acquisition Department 2040 Generation part 2060 Conflict Detection Unit 2080 Update Department

Claims

1. obtain task list information indicating tasks assigned to a subject to which at least one subject vehicle is assigned; The target vehicle executes each assigned task at a task point corresponding to the task; determining an order of execution of the tasks for each target vehicle by solving a vehicle routing problem using a cost matrix that indicates the minimum cost for each pair of points in the workspace; For each task, select a task route that is a route that minimizes the cost of traveling to the task point of the task based on the determined task execution order; generating, for each target vehicle, schedule information for the target vehicle indicating the execution sequence of the tasks assigned to the target vehicle and the task path for each task; Detecting an external conflict between the target vehicle and a temporary obstacle whose position changes over time; If one or more external conflicts are detected, updating the cost matrix to update the minimum cost of the pair of points where the conflict is detected; A vehicle scheduling device that repeatedly determines the execution order of the tasks, selects the task path for each task, generates the schedule information, detects the conflicts, and updates the cost matrix until a conflict between the target vehicle and the temporary obstacle is no longer detected.

2. The detection of the external conflict comprises: obtaining, for each temporary obstacle, event information indicative of a position of said temporary obstacle at each time point; comparing the schedule information of the subject vehicle with the event information of each temporary obstacle to determine that the subject vehicle is in conflict with the temporary obstacle if the subject vehicle and the temporary obstacle are scheduled to be at the same location at the same time as each other. The vehicle scheduling apparatus of claim 1 .

3. the execution order of the tasks for each target vehicle is determined by solving a time-dependent vehicle routing problem; the cost matrix indicates time-dependent costs; The initialization of the cost matrix is initializing a path matrix by solving a shortest path problem using the map information of the workspace; the path matrix indicates, for each pair of points and each time instant, a path that has the lowest cost among one or more possible paths between the points; the map information indicates the location of each point and the location of any permanent obstacles whose locations do not change over time; for each pair of points and each time instant, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix; 3. A vehicle scheduling device according to claim 1 or 2.

4. The update of the cost matrix may be generating, for each time point, a reservation table indicating the location of each point, the location of permanent obstacles, and the location of the external conflicts based on the map information and the results of the detection of the external conflicts; updating the path matrix by solving a shortest path problem using the reservation table; and for each pair of points and each time instant, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. The vehicle scheduling apparatus of claim 3.

5. the cost matrix represents time-independent costs; The initialization of the cost matrix is initializing a path matrix by solving a shortest path problem using the map information of the workspace; the path matrix indicates, for each pair of points, a minimum-cost path among one or more possible paths between the points; the map information indicates the location of each point and the location of any permanent obstacles whose locations do not change over time; for each pair of points, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix; 3. A vehicle scheduling device according to claim 1 or 2.

6. The update of the cost matrix may be generating a grid map based on the map information and the results of the detection of the external conflict, the grid map indicating the location of each point, the location of permanent obstacles, and the location of the external conflict; updating the path matrix by solving a shortest path problem using the grid map; and for each pair of points, setting the cost of the path represented by a cell of the path matrix to a corresponding cell of the cost matrix. The vehicle scheduling apparatus of claim 5.

7. If two or more target vehicles are assigned to the target person, detecting an internal conflict, which is a conflict between the target vehicles, before detecting the external conflict; If one or more internal conflicts are detected, updating the path matrix by performing internal conflict resolution to update the path with the lowest cost for the pair of points for which the internal conflict is detected; repeating the selection of the task path for each task, the generation of the schedule information, the detection of internal conflicts, and the updating of the path matrix until no internal conflicts are detected.

7. A vehicle scheduling apparatus according to claim 4 or 6.

8. if one or more external conflicts are detected and the temporary obstacle is a vehicle other than the subject vehicle; determining whether the update of the schedule information of the temporary obstruction is approved; if updating the schedule information for the temporary obstacle is approved, then instead of repeatedly generating the schedule information for the target vehicle, repeatedly updating the schedule information for the temporary obstacle until no external conflicts are detected. A vehicle scheduling apparatus according to any one of claims 1 to 7.

9. A control method performed by a computer, comprising the steps of: obtaining task list information indicating tasks assigned to subjects to which at least one subject vehicle is assigned; The target vehicle executes each assigned task at a task point corresponding to the task; determining an order of execution of the tasks for each target vehicle by solving a vehicle routing problem using a cost matrix in which a minimum cost for each pair of points in a workspace is plotted; selecting, for each task, a task route that is a route that minimizes the cost of traveling to the task point of the task based on the determined execution order of the task; generating, for each target vehicle, schedule information for the target vehicle indicating the execution order of the tasks assigned to the target vehicle and the task path of each task; detecting an external conflict between the target vehicle and a temporary obstacle whose position changes over time; If one or more external conflicts are detected, updating the cost matrix to update the minimum cost of the pair of points where the conflict is detected; and iteratively performing the determining of the execution order of the tasks, the selecting of the task path for each task, the generating of the schedule information, the detecting of the conflicts, and the updating of the cost matrix until no conflict between the target vehicle and the temporary obstacle is detected.

10. obtaining task list information indicative of tasks assigned to subjects to which at least one subject vehicle is assigned; The target vehicle executes each assigned task at a task point corresponding to the task; determining an order of execution of the tasks for each target vehicle by solving a vehicle routing problem using a cost matrix in which a minimum cost for each pair of points in a workspace is plotted; selecting, for each task, a task route that is a route that minimizes the cost of traveling to the task point of the task based on the determined execution order of the task; generating, for each target vehicle, schedule information for the target vehicle indicating the execution order of the tasks assigned to the target vehicle and the task path of each task; detecting an external conflict between the target vehicle and a temporary obstacle whose position changes over time; If one or more external conflicts are detected, updating the cost matrix to update the minimum cost of the pair of points where the conflict is detected; A program that causes the computer to repeatedly perform the determination of the execution order of the tasks, the selection of the task path for each task, the generation of the schedule information, the detection of the conflicts, and the updating of the cost matrix until a conflict between the target vehicle and the temporary obstacle is no longer detected.

Citation Information

Patent Citations

  • Material distribution method for automobile assembly line

    CN111667212A

  • Robot control device

    JP2006326703A

  • Route determination device, route determination method, and route determination program

    JP2018151328A

  • Running control device, running control method and computer program

    JP2021149216A

  • Multi-vehicle coordination-based vehicle scheduling system, method, electronic apparatus, and storage medium

    WO2021184265A1