Driving system, driving method, and driving program

JP7918036B2Active Publication Date: 2026-09-09SHARP KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022131603
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-22
Publication Date
2026-09-09
Estimated Expiration
2042-08-22

AI Technical Summary

Benefits of technology

【0009】 本開示によれば、複数の自動走行装置における行き詰まりの発生を抑制して走行効率を向上させることが可能な走行システム、走行方法、及び走行プログラムを提供することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007918036000001
    Figure 0007918036000001
  • Figure 0007918036000002
    Figure 0007918036000002
  • Figure 0007918036000003
    Figure 0007918036000003
Patent Text Reader

Abstract

To provide a traveling system, a traveling method, and a traveling program capable of suppressing the occurrence of deadlock in a plurality of automatic traveling devices and improving traveling efficiency.SOLUTION: A traveling system includes: a setting processing unit that sets a traveling route corresponding to each of multiple automatic traveling devices; a calculation processing unit that calculates an evaluation value indicating the degree of influence applied to the traveling of other automatic traveling devices by a first automatic traveling device when the first automatic traveling device obstructs the traveling of the other automatic traveling devices; and a change processing unit that changes the traveling route set in the first automatic traveling device by the setting processing unit when the evaluation value calculated by the calculation processing unit is greater than or equal to a threshold value.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a traveling system, a traveling method, and a traveling program for causing an automatic traveling device to travel.

Background Art

[0002] Conventionally, traveling systems are known which cause an automatic traveling device (such as an AGV or an unmanned transport device) to travel to a target position along a preset traveling route. In addition, for example, a system is also known that avoids interference between automatic traveling devices by setting a virtual obstacle on the traveling route on which an automatic traveling device travels, thereby preventing other automatic traveling devices from entering the traveling route (see Patent Document 1, for example).

Prior Art Literature

Patent Literature

[0003]

Patent Document 1

Summary of the Invention

Problem to be Solved by the Invention

[0004] However, with conventional technology, when attempting to implement a large-scale traveling system with a large number of automatic traveling devices, for example, a phenomenon in which a plurality of automatic traveling devices interfere with each other's travel, stop on the spot, and become deadlocked (so-called deadlock or gridlock) is more likely to occur.

[0005] An object of the present disclosure is to provide a traveling system, a traveling method, and a traveling program capable of suppressing the occurrence of deadlock among a plurality of automatic traveling devices and improving traveling efficiency.

Means for Solving the Problem

[0006] A driving system according to one aspect of this disclosure is a driving system that drives each of a plurality of automatic driving devices to a target location. The driving system comprises a setting processing unit, a calculation processing unit, and a modification processing unit. The setting processing unit sets a driving path corresponding to each of the plurality of automatic driving devices. The calculation processing unit calculates an evaluation value indicating the degree of influence that the first automatic driving device has on the driving of the other automatic driving devices when the first automatic driving device obstructs the driving of the other automatic driving devices. The modification processing unit modifies the driving path set for the first automatic driving device by the setting processing unit when the evaluation value calculated by the calculation processing unit is equal to or greater than a threshold.

[0007] A driving method according to another aspect of the present disclosure is a driving method for driving each of a plurality of automatic driving devices to a target location, wherein one or more processors perform the following actions: setting a driving path corresponding to each of the plurality of automatic driving devices; calculating an evaluation value indicating the degree of influence that the first automatic driving device has on the driving of the other automatic driving devices when the first automatic driving device obstructs the driving of the other automatic driving devices; and changing the driving path corresponding to the first automatic driving device when the evaluation value is equal to or greater than a threshold.

[0008] A driving program according to another aspect of the present disclosure is a driving program that causes each of a plurality of automatic driving devices to travel to a target location, and causes one or more processors to perform the following actions: setting a driving path corresponding to each of the plurality of automatic driving devices; calculating an evaluation value indicating the degree of influence that the first automatic driving device has on the travel of the other automatic driving devices when the first automatic driving device obstructs the travel of the other automatic driving devices; and changing the driving path corresponding to the first automatic driving device when the evaluation value is equal to or greater than a threshold. [Effects of the Invention]

[0009] According to this disclosure, it is possible to provide a driving system, a driving method, and a driving program that can improve driving efficiency by suppressing the occurrence of jams in multiple automated driving devices. [Brief explanation of the drawing]

[0010] [Figure 1] Figure 1 is a block diagram showing the configuration of a driving system according to an embodiment of this disclosure. [Figure 2] Figure 2 is a schematic diagram showing the configuration of a facility to which the driving system according to the embodiment of this disclosure is applied. [Figure 3] Figure 3 shows an example of product information used in a driving system according to the embodiment of this disclosure. [Figure 4] Figure 4 shows an example of order information used in a driving system according to the embodiment of this disclosure. [Figure 5] Figure 5 shows an example of transport information used in the driving system according to the embodiment of this disclosure. [Figure 6A] Figure 6A shows a specific example of a situation where an automated driving system becomes stuck. [Figure 6B] Figure 6B shows a specific example of a situation where an automated driving system becomes stuck. [Figure 6C] Figure 6C shows a specific example of a situation where an automated driving system becomes stuck. [Figure 6D] Figure 6D shows a specific example of a situation where an automated driving system becomes stuck. [Figure 6E] Figure 6E shows a specific example of a situation where an automated driving system becomes stuck. [Figure 7] Figure 7 shows an example of a travel path according to the present disclosure. [Figure 8] Figure 8 shows an example of a stalled state in an automated driving system according to an embodiment of this disclosure. [Figure 9] Figure 9 shows an example of an evaluation value calculated by the driving system according to the embodiment of this disclosure. [Figure 10] Figure 10 is a flowchart showing an example of a procedure for a driving process performed by a driving system according to the embodiment of this disclosure. Description of Embodiments

[0011] Embodiments of the present disclosure are described below with reference to the accompanying drawings to facilitate understanding of the present disclosure. The following embodiments are examples embodying the present disclosure, and do not limit the technical scope of the present disclosure.

[0012] Travel System 10 As shown in FIG. 1, the travel system 10 according to an embodiment of the present disclosure includes a management server 1 and an automatic traveling device 2 (also referred to as an AGV or an unmanned conveying device). The management server 1 and the automatic traveling device 2 can communicate with each other via a communication network N1 such as a wireless LAN.

[0013] The travel system 10 is a system in which a plurality of passages through which the automatic traveling device 2 can travel are set, and a passage to be traveled among the plurality of passages is designated as a travel route for the automatic traveling device 2 to convey a conveyance target from a storage position to a target position. The travel system 10 is applied to, for example, facilities such as factories and warehouses that store products (conveyance targets). For example, when the travel system 10 receives a product order from a customer (customer terminal), it outputs a travel instruction (conveyance instruction) to the automatic traveling device 2. Upon acquiring the travel instruction, the automatic traveling device 2 moves to the storage position (storage shelf) of the product, picks the product, and conveys the product to a delivery location. A customer can place an order for a product by accessing a website (order page) operated by an order server (not shown) using an information processing device (customer terminal) such as a personal computer or a smartphone.

[0014] Said order server is capable of accepting orders for said product from each of a plurality of customer terminals, aggregates the received respective order information and outputs the same to management server 1. Management server 1 manages the operation of each of a plurality of automatic traveling devices 2, and outputs travel instructions to each automatic traveling device 2 based on said order information. Based on said travel instructions, the automatic traveling device 2 autonomously travels along a preset travel route, picks the product included in said order information from a storage shelf and conveys the product to a delivery location. The autonomous traveling method for the automatic traveling device 2 is not particularly limited, and a well-known method, for example, a method using a magnetic tape installed on a floor surface and a marker that defines traveling operation (control information) can be employed.

[0015] Additionally, the automatic traveling device 2 is equipped with, for example, a plurality of containers (accommodating portions), and by accommodating the ordered products of customers per container, products for a plurality of customers can be collectively conveyed through one picking travel (travel that patrols from a standby location past each shelf to the delivery location). For example, when the automatic traveling device 2 is loaded with two containers, the automatic traveling device 2 can collectively convey ordered products for two customers. Management server 1 outputs said travel instructions corresponding to order information of one or a plurality of customers to each automatic traveling device 2.

[0016] Figure 2 shows an example of a facility W1 to which the travel system 10 is applied. In the facility W1 shown in Figure 2, a plurality of storage shelves (storage positions) that store products (objects to be conveyed) are arranged. Figure 2 exemplifies 16 storage shelves T1~T16. For each of the storage shelves T1~T16, positions (picking positions p1~p16) at which the automatic traveling device 2 picks products are set.

[0017] Furthermore, a standby location for the automatic traveling device 2 is set in the facility W1. For example, in the facility W1, a standby location P1 where AGV1 stands by, a standby location P2 where AGV2 stands by, and a standby location P3 where AGV3 stands by are set. Each automatic traveling device 2 stands by at a predetermined standby location when it has not received a travel instruction from management server 1.

[0018] When each automated driving device 2 receives a driving instruction from the management server 1, it moves from its waiting area to the storage shelf where the ordered goods are stored. For example, when AGV 1 receives a driving instruction from the management server 1 that includes the goods in storage shelf T1 as part of the order information, it moves to the picking position p1 corresponding to storage shelf T1 according to a pre-set driving route. At the picking position p1, it picks the ordered goods or receives the ordered goods from the worker in charge of picking, and then moves to the dispatch location according to a pre-set driving route.

[0019] In this embodiment, the driving system 10 corresponds to the driving system according to the disclosure, but the driving system according to the disclosure may consist of the management server 1 alone, or it may include one or more components from the management server 1 and the automatic driving device 2.

[0020] [Management Server 1] As shown in Figure 1, the management server 1 is a server comprising a control unit 11, a storage unit 12, an operation display unit 13, and a communication unit 14, etc. Note that the management server 1 is not limited to a single computer, but may be a computer system in which multiple computers operate collaboratively. Furthermore, the various processes performed by the management server 1 may be distributed and executed by one or more processors.

[0021] The communication unit 14 is a communication interface that connects the management server 1 to the communication network N1 by wire or wireless connection and performs data communication with one or more automatic driving devices 2 via the communication network N1 in accordance with a predetermined communication protocol.

[0022] The operation display unit 13 is a user interface comprising a display unit such as a liquid crystal display or an organic EL display that displays various types of information, and an operation unit such as a mouse, keyboard, or touch panel that accepts input.

[0023] The storage unit 12 is a non-volatile storage unit such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) that stores various types of information. Specifically, the storage unit 12 stores data such as product information D1, order information D2, transport information D3, and evaluation value information D4. Product information D1 includes information about products stored in facility W1. Order information D2 includes information about customer orders. Transport information D3 includes information about the storage location of products for customer orders. Evaluation value information D4 includes information about evaluation values ​​that indicate the degree of influence that the automated driving device has on the operation of other automated driving devices. Figure 3 shows an example of product information D1, Figure 4 shows an example of order information D2, Figure 5 shows an example of transport information D3, and Figure 9 shows an example of evaluation value information D4.

[0024] As shown in Figure 3, product information D1 includes information such as the corresponding "product ID," "product name," and "shelf ID" for each product. The product ID is the identification information of the product, and the product name is the name of the product. The shelf ID is the identification information of the storage shelf where the product is stored. In this embodiment, for example, "T1" indicating storage shelf T1, "T2" indicating storage shelf T2, and "T3" indicating storage shelf T3 are registered as shelf IDs.

[0025] Product information D1 is pre-stored in the storage unit 12, for example, through a registration operation by the administrator of facility W1. The administrator can also update product information D1 as needed.

[0026] As shown in Figure 4, the order information D2 contains information such as the corresponding "unit order ID," "customer ID," "ordered product," "quantity," and "order date and time" for each order. The unit order ID is the identification information for a single order, and the customer ID is the identification information for the customer who ordered the product. The ordered product is the name of the product ordered by the customer, and the quantity is the number of ordered products ordered. The order date and time is the date and time when the order was received from the customer.

[0027] Order information D2 is registered by the control unit 11 each time the management server 1 (or order server) receives an order from a customer.

[0028] As shown in Figure 5, the transport information D3 includes information such as the corresponding "set order ID," "unit order ID," and "shelf ID" for each set order formed by combining unit orders. The set order ID is the identification information for the set order formed by combining unit orders. The control unit 11 generates a set order by combining unit orders based on information such as the storage location of the goods, the current location of the automatic driving device 2, and the operation rules.

[0029] The transport information D3 is included in the travel instruction transmitted to the automated driving device 2. For example, when AGV1 receives a travel instruction that includes the transport information D3 of "SET1", AGV1 moves to the location of shelf ID "T3" included in the transport information D3. Then, AGV1 picks the items with unit order IDs "O1", "O2", "O3", and "O4" from storage shelf T3.

[0030] The control unit 11 generates transport information D3 (see Figure 5) by referring to product information D1 (see Figure 3). Details of evaluation value information D4 (see Figure 9) will be described later.

[0031] In another embodiment, some or all of the product information D1, order information D2, transport information D3, and evaluation value information D4 may be stored on another server accessible from the management server 1 via the communication network N1. In this case, the control unit 11 of the management server 1 may acquire the information from the other server and execute various processes such as the driving process described later (see Figure 10).

[0032] Furthermore, the storage unit 12 stores control programs, such as a driving program, which causes the control unit 11 to execute the driving process described later (see Figure 10). For example, the driving program is non-temporarily recorded on a computer-readable recording medium such as a CD or DVD, and is read by a reading device (not shown), such as a CD drive or DVD drive, provided by the management server 1 and stored in the storage unit 12.

[0033] The control unit 11 includes control devices such as a CPU, ROM, and RAM. The CPU is a processor that performs various arithmetic operations. The ROM is a non-volatile memory unit that stores control programs such as a BIOS and OS in advance to allow the CPU to perform various arithmetic operations. The RAM is a volatile or non-volatile memory unit that stores various information and is used as a temporary memory (work area) for the various processes performed by the CPU. The control unit 11 controls the management server 1 by executing various control programs stored in advance in the ROM or memory unit 12 using the CPU.

[0034] Incidentally, with conventional technology, when attempting to realize a large-scale driving system with a large number of autonomous driving devices, a phenomenon called a deadlock or gridlock is likely to occur where multiple autonomous driving devices obstruct each other's movement and stop in place. Figures 6A to 6E show specific examples of this deadlock phenomenon.

[0035] For example, as shown in Figure 6A, AGV5 is stopped at picking position p1 on storage shelf T1. If AGV1's destination is set to storage shelf T1, AGV1 will stop at position pa, which is before AGV5, because AGV5 is stopped at storage shelf T1 (see Figure 6B). Next, if AGV2's destination is set to storage shelf T1, AGV2 will stop at position pb, which is before AGV1, because AGV1 is stopped at position pa on its travel path (see Figure 6C). Next, if AGV3's destination is set to storage shelf T1, AGV3 will stop at position pc, which is before AGV2, because AGV2 is stopped at position pb on its travel path (see Figure 6D). Next, if AGV4's destination is set to storage shelf T1, AGV4 will stop at position pd, which is before AGV3, because AGV3 is stopped at position pc on its travel path (see Figure 6E).

[0036] When the situation shown in Figure 6E occurs, AGV5 becomes unable to move, resulting in AGV1 to AGV4 being unable to travel along their respective set routes (the aforementioned deadlock state). When such a deadlock occurs, a problem arises in which the driving efficiency decreases.

[0037] Therefore, the management server 1 according to this embodiment has a configuration that can suppress the occurrence of deadlocks (the aforementioned deadlocks) in the multiple automatic driving devices 2 and improve driving efficiency, as shown below.

[0038] Specifically, as shown in Figure 1, the control unit 11 includes various processing units such as a reception processing unit 111, a setting processing unit 112, a driving processing unit 113, a calculation processing unit 114, and a change processing unit 115. The control unit 11 functions as these various processing units by executing various processes according to the driving program using the CPU. Some or all of these processing units may be composed of electronic circuits. The driving program may also be a program that causes multiple processors to function as processing units.

[0039] The reception processing unit 111 receives transport requests (picking orders) for goods (items to be transported) corresponding to the automated driving device 2. Specifically, the reception processing unit 111 receives order information D2 (see Figure 4) corresponding to orders from multiple customers. For example, the reception processing unit 111 receives order information D2 (see Figure 4) that includes orders from customers CUSTOM1 and CUSTOM2.

[0040] Furthermore, when the reception processing unit 111 receives order information D2, it generates transport information D3. For example, when the reception processing unit 111 receives order information D2 (see Figure 4) containing four orders (unit orders) from customers CUSTOM1 and CUSTOM2, it refers to product information D1 (see Figure 3) and generates transport information D3 (see Figure 5) for "SET1". For example, the reception processing unit 111 consolidates multiple products stored in the same area from among the multiple products included in order information D2 into a single order (set order) and generates transport information D3. The reception processing unit 111 also generates transport information D3 assigned to each of the multiple containers mounted on the automated driving device 2.

[0041] Based on the transport request received by the reception processing unit 111, the setting processing unit 112 sets the travel route from the current position of the automatic travel device 2 to the storage position (storage shelf).

[0042] Specifically, the setting processing unit 112 acquires the current position of all automatic driving devices 2. Each automatic driving device 2 transmits information such as its current position, driving speed, direction of travel, and driving status (driving or waiting) to the management server 1 in real time. Based on the information transmitted from each automatic driving device 2, the setting processing unit 112 selects one automatic driving device 2 and assigns the transport information D3 to it.

[0043] The setting processing unit 112 sets the starting position and destination position for the assigned automated driving device 2. Figure 7 schematically shows a part of the facility W1. Symbols A to R indicate points within the facility W1, and the straight lines connecting each point indicate the paths that the automated driving device 2 can travel. For example, if the reception processing unit 111 assigns the transport information D3 of "SET1" to AGV1, as shown in Figure 7, the setting processing unit 112 sets point P as the starting position for AGV1 and point I (picking position p3) as the destination position.

[0044] When the setting processing unit 112 sets the starting position and destination position for the AGV1, it sets the travel route from the starting position to the destination position. Specifically, the setting processing unit 112 performs an operation simulation for all automated driving devices 2 and sets the travel route and control information that minimizes the total transport time for all automated driving devices 2.

[0045] For example, the setting processing unit 112 first observes the driving status of the other automated guided vehicles 2 (current position, driving speed, reserved driving route, and estimated arrival time of the reserved driving route). Next, the setting processing unit 112 performs operation simulations in parallel for all automated guided vehicles 2 and sets the driving route for AGV 1 to move from point P to point I so that the total transport time of all AGVs is minimized.

[0046] Furthermore, the setting processing unit 112 sets control information that defines the operation of the automatic driving device 2, associating it with markers on the driving path. Specifically, the setting processing unit 112 sets control information that includes information specifying the direction of travel towards the next marker position at each marker position (straight, left turn, right turn, etc.) and information such as driving speed, acceleration, stopping, turning, etc. at each marker position. The markers are provided at points A to R.

[0047] The driving processing unit 113 controls the automatic driving of the automatic driving device 2. Specifically, the driving processing unit 113 outputs a driving instruction to the automatic driving device 2, which includes driving path information including the driving path and the control information. Here, the driving processing unit 113 outputs the driving path information and the control information to the AGV 1. When the AGV 1 receives the driving path information and the control information, it starts driving along the set driving path. In this way, the driving processing unit 113 controls the automatic driving by outputting driving instructions to each automatic driving device 2.

[0048] The calculation processing unit 114 calculates an evaluation value indicating the degree of influence that an automated guided vehicle (AGV) 2 has on the movement of other automated guided vehicles (AGVs) 2 when the AGV 2 obstructs the movement of other automated guided vehicles (AGVs) 2. Specifically, when a deadlock occurs as shown in Figure 6E, the calculation processing unit 114 calculates an evaluation value according to the number of other automated guided vehicles (AGVs) 2 that obstruct the movement of AGV 2. For example, the calculation processing unit 114 calculates an evaluation value that increases as the number of other automated guided vehicles (AGVs) 2 that obstruct the movement of AGV 2 increases. For example, when the first AGV obstructs the movement of the second AGV, the calculation processing unit 114 calculates an evaluation value according to the number of second and third AGVs when the second AGV, whose movement has been obstructed by the first AGV, further obstructs the movement of the third AGV. In this way, if the movement of the second AGV is obstructed by the first AGV, and the second AGV further obstructs the movement of the third AGV, that is, if a chain reaction of secondary obstructions to movement occurs, the calculation processing unit 114 adds the number of AGVs whose movement is obstructed in a chain reaction and calculates the evaluation value. Furthermore, if tertiary or quaternary obstructions to movement occur, the calculation processing unit 114 adds the number of those vehicles and calculates the evaluation value.

[0049] Here, a specific example of the method for calculating the evaluation value will be explained. Figure 8 shows three AGVs, AGV2 and AGV3, that are stuck, as an example for the sake of simplicity. AGV3 is stopped at the picking position px of the destination. The travel paths of AGV1 and AGV2 also include the picking position px. AGV2 stops at position py because AGV3 is stopped at picking position px, and AGV1 stops at position pz because AGV2 is stopped at position py. Thus, the travel of AGV2 and AGV1 is being obstructed by AGV3.

[0050] The calculation processing unit 114 updates (increments) the counter value at a predetermined interval and calculates an evaluation value corresponding to each of the AGVs 1 to 3 for each counter value. Figure 9 shows an example of evaluation value information D4 related to the calculated evaluation value. The counter value "t0" indicates that each of the AGVs 1 to 3 is traveling along the set travel path (a state in which no deadlock has occurred).

[0051] [Counter value "t1"] The counter value "t1" indicates the state in which each of AGV1 to 3 has stopped on its travel path and is stuck (see Figure 8). At the first counter value "t1" in which a stuck state occurs, the calculation processing unit 114 calculates "1" as the evaluation value for AGV1. For example, the calculation processing unit 114 calculates the minimum value of "1" as the evaluation value for AGV1 because AGV1 does not obstruct the movement of the other AGVs.

[0052] Furthermore, at counter value "t1", the calculation processing unit 114 calculates "2" as the evaluation value of AGV2. For example, the calculation processing unit 114 calculates "2" as the evaluation value of AGV2 because AGV2 hinders the movement of other AGV1s, making it a higher evaluation value than that of AGV1. Specifically, the calculation processing unit 114 calculates "2" as the evaluation value of AGV2 by adding "1" to the sum of the evaluation value of AGV2 at the previous counter value "t0" ("0") and the evaluation value of AGV1 at counter value "t1" ("1") which AGV2 hinders the movement of AGV1.

[0053] Furthermore, at counter value "t1", the calculation processing unit 114 calculates "4" as the evaluation value for AGV3. For example, the calculation processing unit 114 calculates "4" as the evaluation value for AGV3 because AGV3 hinders the movement of AGV2 and AGV1, and therefore is greater than the evaluation value for AGV2. Specifically, the calculation processing unit 114 calculates "4" as the evaluation value for AGV3 by adding "1" to the sum of the evaluation value of AGV3 at the previous counter value "t0" ("0"), the evaluation value of AGV2 at counter value "t1" ("2") which AGV3 hinders, and the evaluation value of AGV1 at counter value "t1" ("1") which AGV3 also hinders, and using this sum as the evaluation value for AGV3.

[0054] [Counter value "t2"] In the subsequent counter value "t2", the calculation processing unit 114 calculates "2" as the evaluation value of AGV1. For example, since AGV1 does not obstruct the movement of other AGVs, the calculation processing unit 114 calculates "2" as the evaluation value of AGV1, which is obtained by adding "1" to the evaluation value of AGV1 "1" from the previous counter value "t1".

[0055] Furthermore, at counter value "t2", the calculation processing unit 114 calculates "5" as the evaluation value for AGV2. For example, the calculation processing unit 114 calculates "5" as the evaluation value for AGV2 because AGV2 hinders the movement of other AGV1s, making it a higher evaluation value than that of AGV1. Specifically, the calculation processing unit 114 calculates "5" as the evaluation value for AGV2 by adding "1" to the sum of the evaluation value of AGV2 at the previous counter value "t1" ("2") and the evaluation value of AGV1 at counter value "t2" ("2") which AGV2 hinders the movement of AGV1.

[0056] Furthermore, at counter value "t2", the calculation processing unit 114 calculates "12" as the evaluation value for AGV3. For example, the calculation processing unit 114 calculates "12" as the evaluation value for AGV3 because AGV3 hinders the movement of AGV2 and AGV1, and therefore has a higher evaluation value than AGV2. Specifically, the calculation processing unit 114 calculates "12" as the evaluation value for AGV3 by adding "1" to the sum of the evaluation value of AGV3 at the previous counter value "t1" ("4"), the evaluation value of AGV2 at counter value "t2" ("5") which AGV3 hinders, and the evaluation value of AGV1 at counter value "t2" ("2") which AGV3 also hinders, which AGV3.

[0057] [Counter value "t3"] In the subsequent counter value "t3", the calculation processing unit 114 calculates "3" as the evaluation value of AGV1. For example, since AGV1 does not obstruct the movement of other AGVs, the calculation processing unit 114 calculates "3" as the evaluation value of AGV1, which is obtained by adding "1" to the evaluation value of AGV1 "2" from the previous counter value "t2".

[0058] Furthermore, at counter value "t3", the calculation processing unit 114 calculates "9" as the evaluation value for AGV2. For example, the calculation processing unit 114 calculates "9" as the evaluation value for AGV2 because AGV2 hinders the movement of other AGV1s, and therefore has a higher evaluation value than AGV1. Specifically, the calculation processing unit 114 calculates "9" as the evaluation value for AGV2 by adding "1" to the sum of the evaluation value of AGV2 at the previous counter value "t2" ("5") and the evaluation value of AGV1 at counter value "t3" ("3") which AGV2 hinders the movement of AGV1.

[0059] Furthermore, at counter value "t3", the calculation processing unit 114 calculates "25" as the evaluation value of AGV3. For example, the calculation processing unit 114 calculates "25" as the evaluation value of AGV3 because AGV3 hinders the movement of AGV2 and AGV1, and therefore has a higher evaluation value than AGV2. Specifically, the calculation processing unit 114 calculates "25" as the evaluation value of AGV3 by adding "1" to the sum of the evaluation value of AGV3 at the previous counter value "t2" ("12"), the evaluation value of AGV2 at counter value "t3" ("9") which AGV3 hinders, and the evaluation value of AGV1 at counter value "t3" ("3") which AGV3 also hinders, and adding "1".

[0060] [Counter value "t4"] In the subsequent counter value "t4", the calculation processing unit 114 calculates "4" as the evaluation value of AGV1. For example, since AGV1 does not obstruct the movement of other AGVs, the calculation processing unit 114 calculates "4" as the evaluation value of AGV1, which is the value obtained by adding "1" to the evaluation value of AGV1 of "3" from the previous counter value "t3".

[0061] Furthermore, at counter value "t4", the calculation processing unit 114 calculates "14" as the evaluation value of AGV2. For example, the calculation processing unit 114 calculates "14" as the evaluation value of AGV2 because AGV2 hinders the movement of other AGV1s. Specifically, the calculation processing unit 114 calculates "14" as the evaluation value of AGV2 by adding "1" to the sum of the evaluation value of AGV2 at the previous counter value "t3" ("9") and the evaluation value of AGV1 at counter value "t4" ("4") which AGV2 hinders the movement of AGV1.

[0062] Furthermore, at counter value "t4", the calculation processing unit 114 calculates "44" as the evaluation value for AGV3. For example, the calculation processing unit 114 calculates "44" as the evaluation value for AGV3 because AGV3 hinders the movement of AGV2 and AGV1, and therefore has a higher evaluation value than AGV2. Specifically, the calculation processing unit 114 calculates "44" as the evaluation value for AGV3 by adding "1" to the sum of the evaluation value of AGV3 at the previous counter value "t3" ("25"), the evaluation value of AGV2 at counter value "t4" ("14") which AGV3 hinders, and the evaluation value of AGV1 at counter value "t4" ("4") which AGV3 also hinders, which AGV3.

[0063] [Counter value "t5"] In the subsequent counter value "t5", the calculation processing unit 114 calculates "5" as the evaluation value of AGV1. For example, since AGV1 does not obstruct the movement of other AGVs, the calculation processing unit 114 calculates "5" as the evaluation value of AGV1, which is obtained by adding "1" to the evaluation value of AGV1 of "4" from the previous counter value "t4".

[0064] Furthermore, at counter value "t5", the calculation processing unit 114 calculates "20" as the evaluation value for AGV2. For example, the calculation processing unit 114 calculates "20" as the evaluation value for AGV2 because AGV2 hinders the movement of other AGV1s, and therefore has a higher evaluation value than AGV1. Specifically, the calculation processing unit 114 calculates "20" as the evaluation value for AGV2 by adding "1" to the sum of the evaluation value of AGV2 at the previous counter value "t4" ("14") and the evaluation value of AGV1 at counter value "t5" ("5") which AGV2 hinders the movement of AGV1.

[0065] Furthermore, at counter value "t5", the calculation processing unit 114 calculates "70" as the evaluation value for AGV3. For example, the calculation processing unit 114 calculates "70" as the evaluation value for AGV3 because AGV3 hinders the movement of AGV2 and AGV1, and therefore has a higher evaluation value than AGV2. Specifically, the calculation processing unit 114 calculates "70" as the evaluation value for AGV3 by adding "1" to the sum of the evaluation value of AGV3 at the previous counter value "t4" ("44"), the evaluation value of AGV2 at counter value "t5" ("20") which AGV3 hinders, and the evaluation value of AGV1 at counter value "t5" ("5") which AGV3 also hinders, which AGV3.

[0066] [Counter value "t6"] In the subsequent counter value "t6", the calculation processing unit 114 calculates "6" as the evaluation value of AGV1. For example, since AGV1 does not obstruct the movement of other AGVs, the calculation processing unit 114 calculates "6" as the evaluation value of AGV1, which is obtained by adding "1" to the evaluation value of AGV1 "5" from the previous counter value "t5".

[0067] Furthermore, at counter value "t6", the calculation processing unit 114 calculates "27" as the evaluation value of AGV2. For example, the calculation processing unit 114 calculates "27" as the evaluation value of AGV2 because AGV2 hinders the movement of other AGV1s. Specifically, the calculation processing unit 114 calculates "27" as the evaluation value of AGV2 by adding "1" to the sum of the evaluation value of AGV2 at the previous counter value "t5" ("20") and the evaluation value of AGV1 at counter value "t6" ("6") which AGV2 hinders the movement of ("6").

[0068] Furthermore, at counter value "t6", the calculation processing unit 114 calculates "104" as the evaluation value of AGV3. For example, the calculation processing unit 114 calculates "104" as the evaluation value of AGV3 because AGV3 hinders the movement of AGV2 and AGV1, and therefore has a higher evaluation value than AGV2. Specifically, the calculation processing unit 114 calculates "104" as the evaluation value of AGV3 by adding "1" to the sum of the evaluation value of AGV3 at the previous counter value "t5" ("70"), the evaluation value of AGV2 at counter value "t6" ("27") which AGV3 hinders, and the evaluation value of AGV1 at counter value "t6" ("6") which AGV3 also hinders, which AGV3.

[0069] In this way, the calculation processing unit 114 updates the evaluation values ​​of AGV1 to AGV3 each time the counter value is updated while the aforementioned deadlock occurs. In the example in Figure 8, AGV2 obstructs the movement of AGV1, so the degree to which AGV2 influences the movement of AGV1 increases over time. Also, AGV3 obstructs the movement of both AGV1 and AGV2, so the degree to which AGV3 influences the movement of both AGV1 and AGV2 increases over time. Furthermore, since AGV3 obstructs the movement of two AGVs (AGV1 and AGV2), and AGV2 obstructs the movement of one AGV (AGV1), the evaluation value of AGV3 becomes larger than the evaluation value of AGV2.

[0070] The modification processing unit 115 modifies the travel route set for the automatic driving device 2 by the setting processing unit 112 if the evaluation value calculated by the calculation processing unit 114 is equal to or greater than a threshold. Specifically, the modification processing unit 115 sets a detour route that is different from the travel route set for the automatic driving device 2 (first AGV) by the setting processing unit 112. The detour route is a route from the current stopping position to the destination position, and is a route different from the pre-set route.

[0071] Furthermore, when the first AGV is stopped, the change processing unit 115 sets a retraction position different from the target position of the first AGV and sets a retraction route to the retraction position. The retraction route is a route from the current stopping position to the retraction position to which the AGV will be temporarily retracted, and is a route different from a pre-set route.

[0072] For example, if the threshold for the evaluation value is set to "100", in the example shown in Figure 9, at counter value "t5", the evaluation value of AGV3 becomes "104", which is above the threshold. In this case, the change processing unit 115 changes the travel path set for AGV3 at counter value "t5". Specifically, the change processing unit 115 sets a detour path for AGV3. Alternatively, the change processing unit 115 may set a relocation position different from the target position of AGV3 and set a relocation path to the relocation position.

[0073] When the change processing unit 115 changes the travel route, the travel processing unit 113 outputs a travel instruction to AGV3 that includes the changed route information. As a result, AGV3 travels along the changed route (detour route, escape route, etc.) from the stopping position (for example, picking position px in Figure 8). When AGV3 moves from the stopping position, the deadlock state (see Figure 8) is resolved, and AGV2 and AGV1 become able to travel along the travel route.

[0074] Here, if there are multiple automated driving devices 2 whose evaluation values ​​exceed the threshold, the change processing unit 115 changes the respective driving routes set for each of the automated driving devices 2. For example, in the example shown in Figure 8, if the evaluation values ​​of AGV3 and AGV2 exceed the threshold, the change processing unit 115 changes the driving route set for AGV3 and the driving route set for AGV2, respectively. Note that the change processing unit 115 may set different routes for AGV3 and AGV2.

[0075] As described above, the calculation processing unit 114 calculates an evaluation value for each of the multiple automatic driving devices 2, and the modification processing unit 115 modifies the driving route corresponding to one or more automatic driving devices 2 whose evaluation value is equal to or greater than the threshold.

[0076] In another embodiment, the modification processing unit 115 may change the travel route corresponding to the automatic driving device 2 with the largest evaluation value among a plurality of automatic driving devices 2 whose evaluation value is equal to or greater than the threshold. For example, in the example shown in Figure 8, if the evaluation values ​​of AGV3 and AGV2 are equal to or greater than the threshold, the modification processing unit 115 may change the travel route only for AGV3, which has the larger evaluation value.

[0077] In another embodiment, the modification processing unit 115 may identify an automated driving device 2 whose evaluation value is equal to or greater than the threshold, and whose driving route can be changed, and modify the driving route corresponding to the identified automated driving device 2. For example, in the example shown in Figure 8, if the evaluation values ​​of AGV3 and AGV2 are equal to or greater than the threshold, and the driving route of AGV3 cannot be changed, that is, if a detour route or escape route cannot be set for AGV3, the modification processing unit 115 may modify only the driving route of AGV2.

[0078] [Travel process] The following describes the driving process performed in the driving system 10 with reference to Figure 10. Specifically, in this embodiment, the driving process is performed by the control unit 11 of the management server 1. The control unit 11 is also capable of executing multiple driving processes in parallel in response to multiple transport requests to multiple automatic driving devices 2. When the control unit 11 causes the automatic driving device 2 to start transport work in response to a transport request, it starts executing the driving process shown in Figure 10.

[0079] This disclosure can be understood as a disclosure of a driving method that performs one or more steps included in the driving process. Furthermore, the one or more steps included in the driving process described herein may be omitted as appropriate. In addition, the execution order of each step in the driving process may differ to the extent that similar effects are produced. Furthermore, although this description uses the case in which the control unit 11 executes each step in the driving process as an example, a driving method in which one or more processors distribute and execute each step in the driving process can also be considered as another embodiment.

[0080] First, in step S1, the control unit 11 sets a travel path for each AGV. Specifically, the control unit 11 generates transport information D3 (see Figure 5) based on the transport request corresponding to the order information D2 (see Figure 4), and sets a travel path for each AGV according to the transport information D3.

[0081] Next, in step S2, the control unit 11 outputs a travel instruction to each AGV. Specifically, the control unit 11 outputs the travel route information and the control information to each AGV to start the transport operation (automatic travel). As a result, each of the multiple AGVs starts automatic travel according to the set travel route.

[0082] Next, in step S3, the control unit 11 determines whether or not a deadlock has occurred. For example, as shown in Figure 8, if the three AGVs 1 to 3 stop on the travel path, the control unit 11 determines that a deadlock has occurred. If the control unit 11 determines that a deadlock has occurred (S3: Yes), it moves the process to step S4. On the other hand, if the control unit 11 determines that a deadlock has not occurred (S3: No), it moves the process to step S7.

[0083] In step S4, the control unit 11 calculates the evaluation value for each AGV. Specifically, the control unit 11 sets a counter value and calculates the evaluation value corresponding to each of AGV1 to AGV3 (see Figure 9). For example, the control unit 11 sets the counter value to "t1" and calculates the evaluation value "1" for AGV1, "2" for AGV2, and "4" for AGV3.

[0084] Next, in step S5, the control unit 11 determines whether the evaluation value is equal to or greater than the threshold. If the control unit 11 determines that the evaluation value is equal to or greater than the threshold (S5: Yes), it proceeds to step S6. On the other hand, if the control unit 11 determines that the evaluation value is less than the threshold (S5: No), it proceeds to step S7.

[0085] In step S7, the control unit 11 determines whether the impasse has been resolved. For example, in the example shown in Figure 8, if AGV3 moves from the stopping position (picking position px), the control unit 11 determines that the impasse has been resolved. If the control unit 11 determines that the impasse has been resolved (S7: Yes), it moves the process to step S8, where it resets the counter value, and then moves the process to step S9. On the other hand, if the control unit 11 determines that the impasse has not been resolved (S7: No), it moves the process to step S4. Returning to step S4, the control unit 11 updates (increments) the counter value and calculates the evaluation value corresponding to each of AGV1 to 3 at the next counter value (see Figure 9).

[0086] When the evaluation value exceeds the threshold (S5:Yes), in step S6, the control unit 11 changes the travel route set in step S2. For example, if the threshold for the evaluation value is set to "100", in the example shown in Figure 9, at counter value "t5", the evaluation value of AGV3 becomes "104", which exceeds the threshold (S5:Yes). In this case, the control unit 11 changes the travel route set for AGV3 at counter value "t5" (S6). For example, the control unit 11 sets a detour route or an escape route for AGV3.

[0087] When the control unit 11 changes the travel path of AGV3, it outputs a travel instruction to AGV3 that includes the route information of the changed travel path. As a result, AGV3 travels along the changed travel path. Once AGV3 moves from its stopping position, AGV1 and AGV2 become able to travel along the travel path. After step S6, the control unit 11 moves the process to step S7.

[0088] In step S7, the control unit 11 determines whether the impasse has been resolved. For example, in the example shown in Figure 8, if AGV3 moves from the stopping position (picking position px) by traveling along the modified travel path, the control unit 11 determines that the impasse has been resolved. If the control unit 11 determines that the impasse has been resolved (S7:Yes), it moves the process to step S8, where it resets the counter value, and then moves the process to step S9. On the other hand, if the control unit 11 determines that the impasse has not been resolved (S7:No), it moves the process to step S4. Returning to step S4, the control unit 11 updates (increments) the counter value and calculates the evaluation value corresponding to each of AGV1 to 3 in the next counter value (see Figure 9). In this case, if the next AGV whose evaluation value is equal to or greater than the threshold (for example, AGV2) (S5:Yes), the control unit 11 changes the travel path (S6).

[0089] In step S8, the control unit 11 determines whether each AGV has finished traveling along its travel path. For example, the control unit 11 determines that travel has ended when each AGV has completed the travel process in response to the transport request. When each AGV has finished traveling along its travel path, the control unit 11 terminates the travel process (S8: Yes). The control unit 11 repeats the processes in steps S3 to S6 until each AGV has finished traveling along its travel path (S8: No).

[0090] As described above, the driving system 10 according to this embodiment is a driving system that drives each of the multiple automatic driving devices to a target location. The driving system 10 also sets a driving path corresponding to each of the multiple automatic driving devices and calculates an evaluation value indicating the degree of influence that the first automatic driving device has on the driving of the other automatic driving devices when the first automatic driving device obstructs the driving of the other automatic driving devices. Furthermore, if the evaluation value is above a threshold, the driving system 10 changes the driving path set for the first automatic driving device.

[0091] According to the above configuration, for example, if a deadlock occurs in which multiple automated driving devices stop, the automated driving devices are made to take a detour or move to a safer location when the evaluation value exceeds a threshold. This makes it possible to resolve the deadlock.

[0092] The threshold may be set based on the scale of the automated driving system installation (number of automated driving systems, area of ​​facility, etc.). Alternatively, the threshold may be set according to the number of automated driving systems that have become stuck. For example, the threshold may be set to a smaller value the more automated driving systems that have become stuck, and to a larger value the fewer automated driving systems that have become stuck.

[0093] [Disclosure Note] The following is an overview of the disclosures extracted from the above-described embodiments. Note that each configuration and processing function described below can be selected and combined as desired.

[0094] <Note 1> A driving system that drives each of multiple automated driving devices to a target location, A setting processing unit that sets a driving route corresponding to each of the aforementioned multiple automatic driving devices, A calculation processing unit calculates an evaluation value indicating the degree of influence that the first automatic driving device has on the driving of other automatic driving devices when the first automatic driving device obstructs the driving of other automatic driving devices. If the evaluation value calculated by the calculation processing unit is equal to or greater than a threshold, the setting processing unit changes the driving route set for the first automatic driving device, A driving system equipped with the following features.

[0095] <Note 2> The calculation processing unit calculates the evaluation value according to the number of other automatic driving devices that obstruct the driving of the first automatic driving device. The driving system described in Appendix 1.

[0096] <Note 3> The calculation processing unit calculates the evaluation value such that the evaluation value increases as the number of other automatic driving devices that obstruct the driving of the first automatic driving device increases. The driving system described in Appendix 2.

[0097] <Note 4> The calculation processing unit calculates the evaluation value according to the number of second automatic driving devices when the first automatic driving device obstructs the driving of the second automatic driving device. The driving system described in Appendix 3.

[0098] <Note 5> The calculation processing unit calculates the evaluation value according to the number of the second and third automatic driving devices when the second automatic driving device, whose movement is obstructed by the first automatic driving device, further obstructs the movement of the third automatic driving device. The driving system described in Appendix 4.

[0099] <Note 6> The modification processing unit sets a detour route different from the travel route set for the first automatic driving device by the setting processing unit. A driving system as described in any of the appendices 1 to 5.

[0100] <Note 7> The modification processing unit, when the first automatic driving device is stopped, sets a retraction position different from the target position of the first automatic driving device and sets a retraction route to the retraction position. A driving system as described in any of the appendices 1 to 6.

[0101] <Note 8> The calculation processing unit calculates the evaluation value for each of the plurality of automatic driving devices, The modification processing unit modifies the travel path corresponding to one or more automatic driving devices whose evaluation value is equal to or greater than the threshold. A driving system as described in any of the appendices 1 to 7.

[0102] <Note 9> The modification processing unit modifies the driving path corresponding to the automatic driving device with the highest evaluation value among a plurality of automatic driving devices whose evaluation value is equal to or greater than the threshold. A driving system as described in any of the appendices 1 to 8.

[0103] <Note 10> The modification processing unit identifies an automatic driving device capable of changing the driving route among a plurality of automatic driving devices whose evaluation value is equal to or greater than the threshold, and modifies the driving route corresponding to the identified automatic driving device. A driving system as described in any of the appendices 1 to 9. [Explanation of symbols]

[0104] 1: Management Server 2: Automatic driving system 10: Driving System 11: Control Unit 12: Storage section 13: Operation display section 14: Communications Department 111: Reception Processing Section 112: Configuration Processing Unit 113: Driving section 114: Calculation Processing Unit 115: Change Processing Unit

Claims

1. A driving system that drives each of multiple automated driving devices to a target location, A setting processing unit that sets a driving route corresponding to each of the aforementioned multiple automatic driving devices, A calculation processing unit calculates an evaluation value indicating the degree of influence that the first automatic driving device has on the driving of the second and third automatic driving devices, in accordance with the number of the second and third automatic driving devices, when the first automatic driving device obstructs the driving of the second automatic driving device and the second automatic driving device obstructs the driving of the third automatic driving device. If the evaluation value calculated by the calculation processing unit is equal to or greater than a threshold, the setting processing unit changes the driving route set for the first automatic driving device, A driving system equipped with the following features.

2. The calculation processing unit calculates the evaluation value such that the evaluation value increases as the number of second and third automatic driving devices that obstruct the driving of the first automatic driving device increases. The driving system according to claim 1.

3. The modification processing unit sets a detour route that is different from the travel route set for the first automatic driving device by the setting processing unit. The driving system according to claim 1.

4. The modification processing unit, when the first automatic driving device is stopped, sets a retraction position different from the target position of the first automatic driving device and sets a retraction route to the retraction position. The driving system according to claim 1.

5. The calculation processing unit calculates the evaluation value for each of the plurality of automatic driving devices, The modification processing unit modifies the travel path corresponding to one or more automatic driving devices whose evaluation value is equal to or greater than the threshold. A driving system according to any one of claims 1 to 4.

6. The modification processing unit modifies the driving path corresponding to the automatic driving device with the highest evaluation value among a plurality of automatic driving devices whose evaluation value is equal to or greater than the threshold. A driving system according to any one of claims 1 to 4.

7. The modification processing unit identifies an automatic driving device capable of changing the driving route among a plurality of automatic driving devices whose evaluation value is equal to or greater than the threshold, and modifies the driving route corresponding to the identified automatic driving device. A driving system according to any one of claims 1 to 4.

8. A driving system that drives each of multiple automated driving devices to a target location, A setting processing unit that sets a driving route corresponding to each of the aforementioned multiple automatic driving devices, A calculation processing unit calculates an evaluation value indicating the degree of influence the first automatic driving device has on the operation of the other multiple automatic driving devices, based on the total number of the other multiple automatic driving devices, when the operation of the other multiple automatic driving devices is obstructed in a chain reaction due to the first automatic driving device. If the evaluation value calculated by the calculation processing unit is equal to or greater than a threshold, the setting processing unit changes the driving route set for the first automatic driving device, A driving system equipped with the following features.

9. A driving system that drives each of multiple automated driving devices to a target location, A setting processing unit that sets a driving route corresponding to each of the aforementioned multiple automatic driving devices, A calculation processing unit calculates an evaluation value indicating the degree of influence the first automatic driving device has on the driving of the second and third automatic driving devices, according to the number of second and third automatic driving devices, when the first automatic driving device stops at a first position on the first travel path to a first destination position, the second travel path to a second destination position of the second automatic driving device includes the first position, the second automatic driving device stops at a second position before the first position on the second travel path, the third travel path to a third destination position of the third automatic driving device includes the second position, and the third automatic driving device stops at a third position before the second position on the third travel path. If the evaluation value calculated by the calculation processing unit is equal to or greater than a threshold, the setting processing unit changes the first travel route set for the first automatic travel device to a detour route different from the first travel route, which is a detour route from the first position to the first target position, A driving system equipped with the following features.

10. A driving method for driving each of multiple automated driving devices to a target location, One or more processors Setting a driving path corresponding to each of the aforementioned multiple automatic driving devices, When the first automatic driving device obstructs the driving of the second automatic driving device, and the second automatic driving device obstructs the driving of the third automatic driving device, an evaluation value is calculated that indicates the degree of influence the first automatic driving device has on the driving of the second and third automatic driving devices, according to the number of the second and third automatic driving devices. If the aforementioned evaluation value is equal to or greater than a threshold, the driving route set for the first automatic driving device is changed, A driving method that performs this task.

11. A driving program that causes each of multiple automated driving devices to travel to a target location, Setting a driving path corresponding to each of the aforementioned multiple automatic driving devices, When the first automatic driving device obstructs the driving of the second automatic driving device, and the second automatic driving device obstructs the driving of the third automatic driving device, an evaluation value is calculated that indicates the degree of influence the first automatic driving device has on the driving of the second and third automatic driving devices, according to the number of the second and third automatic driving devices. If the aforementioned evaluation value is equal to or greater than a threshold, the driving route set for the first automatic driving device is changed, A program to run on one or more processors.

Citation Information

Patent Citations

  • System and program of operation control for autonomous mobile body

    JP2005242489A

  • Mobile body control device, mobile body control method, and program

    JP2021144276A

  • Systems and Methods for Controlling Autonomous Vehicles that Provide a Vehicle Service to Users

    US20180341274A1

  • Autonomous driving vehicle and autonomous driving system

    WO2015068249A1