Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7600964B2 - Mobile control device - Google Patents
[go: Go Back, main page]

JP7600964B2 - Mobile control device - Google Patents

Mobile control device Download PDF

Info

Publication number
JP7600964B2
JP7600964B2 JP2021185008A JP2021185008A JP7600964B2 JP 7600964 B2 JP7600964 B2 JP 7600964B2 JP 2021185008 A JP2021185008 A JP 2021185008A JP 2021185008 A JP2021185008 A JP 2021185008A JP 7600964 B2 JP7600964 B2 JP 7600964B2
Authority
JP
Japan
Prior art keywords
route
movement
agv
moving
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021185008A
Other languages
Japanese (ja)
Other versions
JP2023072447A (en
Inventor
真之 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2021185008A priority Critical patent/JP7600964B2/en
Publication of JP2023072447A publication Critical patent/JP2023072447A/en
Application granted granted Critical
Publication of JP7600964B2 publication Critical patent/JP7600964B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Warehouses Or Storage Devices (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

この明細書における開示は、移動体の移動を制御する移動体制御装置に関する。 The disclosure in this specification relates to a mobile object control device that controls the movement of a mobile object.

複数の移動体、たとえば自動無人搬送車(AGV:Automated Guided Vehicle)を制御する場合、各AGVの移動スケジュールを適切に設定しなければ、AGV間で衝突するおそれがある。したがって、AGV間の衝突を回避した移動スケジュールを設定する必要がある。従来、このような移動スケジュールを設定するためには、複数の目的地への巡回路の計画問題、すなわち最短路問題に代表される巡回経路長の最小化問題として取り扱われてきた。 When controlling multiple moving objects, such as automated guided vehicles (AGVs), collisions between AGVs may occur if the movement schedules of each AGV are not set appropriately. Therefore, it is necessary to set a movement schedule that avoids collisions between AGVs. Conventionally, in order to set such a movement schedule, the problem has been dealt with as a planning problem of routes to multiple destinations, that is, as a problem of minimizing the length of a route, as typified by the shortest route problem.

また複数のAGVを制御するシステムは、全てのAGVの位置を一つのホストコンピュータを用いて管理し、全てのAGVを同時に考慮して経路計画を実行する集中型の経路計画システムを基本としている。例えば、複数のAGVに対して、現在地から目的地までの経路候補を木構造で表現し、AGV間で衝突が生じないかどうかを逐次チェックしながら、探索木を登録、削除し、全てのAGVの動作を一括して探索するという集中型経路計画法がある。 Furthermore, systems that control multiple AGVs are based on a centralized route planning system that uses a single host computer to manage the positions of all AGVs and executes route planning taking all AGVs into account simultaneously. For example, one centralized route planning method represents route candidates from the current location to the destination for multiple AGVs in a tree structure, and registers and deletes the search tree while successively checking for collisions between AGVs, and searches for the operations of all AGVs at once.

このような集中型経路計画法では、経路計画対象となるAGV台数が増加したとき、可能な経路の候補が膨大となるため、最適な経路を短時間で探索することが困難である。そこで特許文献1に記載の分散型経路計画装置では、AGVが互いに通信して、各AGVがそれぞれ経路計画を計算することで、計算負荷を分散している。 In such a centralized route planning method, when the number of AGVs to be route-planned increases, the number of possible route candidates becomes enormous, making it difficult to search for the optimal route in a short time. Therefore, in the distributed route planning device described in Patent Document 1, the AGVs communicate with each other and each AGV calculates its own route plan, distributing the calculation load.

特開2004-280213号公報JP 2004-280213 A

特許文献1に記載の装置では、AGV同士の干渉を回避するために、経路における全ての干渉を発見して、各AGVにおいて回避計画計算を繰り返す必要がある。負荷は分散されているが、回避のための計算を繰り返す必要があり、合計の計算負荷が高いという問題がある。さらに最終的に得られる経路計画、すなわち移動スケジュールは、干渉を回避することを優先しているので、効率が良い最適な移動スケジュールでないおそれがある。 In the device described in Patent Document 1, in order to avoid interference between AGVs, it is necessary to find all interference on the route and repeat the calculation of the avoidance plan for each AGV. Although the load is distributed, there is a problem that the calculations for avoidance must be repeated, resulting in a high total calculation load. Furthermore, the final route plan, i.e., the movement schedule, prioritizes avoiding interference, so there is a risk that it may not be an optimal movement schedule with good efficiency.

そこで、開示される目的は前述の問題点を鑑みてなされたものであり、移動体のお互いの干渉を回避しつつ、全体の効率を最適化することができる移動体制御装置を提供することを目的とする。 The disclosed objective has been made in consideration of the above-mentioned problems, and aims to provide a mobile body control device that can optimize overall efficiency while avoiding interference between mobile bodies.

本開示は前述の目的を達成するために以下の技術的手段を採用する。 This disclosure employs the following technical means to achieve the above-mentioned objectives.

ここに開示された移動体制御装置は、経路上を移動する複数の移動体(30)の移動を制御する移動体制御装置であって、経路は、2つの移動体がすれ違えない経路であり、複数の移動体の出発地点と終着地点とを結ぶ移動経路、および移動経路を移動する移動工程を設定する設定部(141)と、移動経路および移動工程を入力値して、制約条件を満たしつつ所定の評価値を最小化することを目的とする混合整数計画問題を解くことによって、移動体の移動スケジュールを計算する計算部(144)と、移動スケジュールによって各移動体の移動を制御する移動制御部(145)と、を含み、制約条件には、経路を少なくとも移動体よりも大きい長さで分割した分割経路において、移動体が次の分割経路への移動が完了するまで、移動が完了前の分割経路は他の移動体による利用を禁止する衝突禁止条件があり、設定部は、少なくとも2つの移動体の移動経路が重複して、移動体の移動方向が対向することによって、移動体が干渉する可能性がある特定経路では、特定経路に1つの移動体が存在する場合には、移動体が存在する特定経路では他の移動体の使用を禁止するように移動工程を設定する。 The mobile body control device disclosed herein is a mobile body control device that controls the movement of multiple mobile bodies (30) moving on a route, the route being a route where two mobile bodies cannot pass each other, and includes a setting unit (141) that sets a moving route connecting a starting point and a destination point of the multiple mobile bodies and a moving process for moving along the moving route, a calculation unit (144) that uses the moving route and the moving process as input values and calculates a moving schedule for the mobile bodies by solving a mixed integer programming problem aimed at minimizing a predetermined evaluation value while satisfying constraint conditions, and a moving control unit (145) that controls the movement of each mobile body according to the moving schedule, and the constraint conditions include a collision prohibition condition that prohibits other mobile bodies from using a divided route that has not yet completed its movement until the moving body completes its movement to the next divided route in a divided route that divides the route at least by a length greater than the moving body, and the setting unit sets the moving process so that, in a specific route where the moving routes of at least two moving bodies overlap and the moving directions of the moving bodies are opposed to each other, the use of other moving bodies is prohibited on the specific route where the moving body exists when one moving body exists on the specific route.

このような移動体制御装置に従えば、経路は2つの移動体がすれ違えないので、移動経路が交錯する場合には、移動体の衝突を避けるために、一方の移動体を待機させて、他方の移動体を移動させた後に、一方の移動体を移動させる必要がある。そこで混合整数計画問題の制約条件に衝突禁止条件を用いて、移動体の衝突を避けつつ、評価値を最小化する移動スケジュールを計算する。評価値は、たとえば全ての移動体の移動が完了するまでの時間、全ての移動体の移動時間の総和、移動体の待機時間の総和などである。また混合整数計画問題を解くことによって移動スケジュールを決定するので、複数回計算を繰り返すことを抑制することができる。 According to such a mobile object control device, the route is such that two mobile objects cannot pass each other, so when the moving routes intersect, in order to avoid collisions between the mobile objects, one mobile object must wait and the other mobile object must be moved before moving. Therefore, a collision prohibition condition is used as a constraint condition for the mixed integer programming problem, and a moving schedule that minimizes the evaluation value while avoiding collisions between the mobile objects is calculated. The evaluation value can be, for example, the time until all mobile objects have completed moving, the sum of the moving times of all mobile objects, the sum of the waiting times of the mobile objects, etc. In addition, since the moving schedule is determined by solving the mixed integer programming problem, it is possible to reduce the need to repeat calculations multiple times.

さらに設定部は、移動体が存在する特定経路では、他の移動体が特定経路を使用することを禁止するので、特定経路に1つの移動体が存在すると、他の移動体が特定経路に進入することができない。たとえば隣接する分割経路に移動体がそれぞれ配置され、互いに位置が入れ替わることを想定する。この場合、移動前も入れ替わり移動後も、1つの分割経路には、1つの移動体が配置され、1つの分割経路に2つの移動体は配置されていないので、字面上では衝突はおきていない。しかし、実際に分割経路を移動する移動体では、経路ではすれ違えないので、衝突せずに入れ替わることはできない。このように衝突禁止条件だけであると、隣接する分割経路に存在する移動体の位置が入れ替わることが許容されるが、設定部によって特定経路への進入が禁止されるので、このような入れ替わることを防止することができる。これによって移動体のお互いの干渉を回避しつつ、全体の効率をより高めることができる。 Furthermore, since the setting unit prohibits other moving bodies from using a specific route on which a moving body exists, when one moving body exists on a specific route, other moving bodies cannot enter the specific route. For example, it is assumed that moving bodies are placed on adjacent divided routes and swap positions with each other. In this case, one moving body is placed on one divided route before the movement and after the swap, and two moving bodies are not placed on one divided route, so no collision occurs literally. However, moving bodies that actually move on divided routes cannot pass each other on the route, so they cannot swap without colliding. In this way, if there is only a collision prohibition condition, the positions of moving bodies on adjacent divided routes are allowed to swap, but since the setting unit prohibits entry into the specific route, such swapping can be prevented. This makes it possible to avoid interference between moving bodies while further increasing overall efficiency.

なお、前述の各手段の括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。 Note that the symbols in parentheses for each of the above-mentioned means are examples showing the correspondence with the specific means described in the embodiments described below.

移動制御システム100の構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of a mobility control system 100. AGV30の処理を示すフローチャート。4 is a flowchart showing the processing of the AGV 30. AGV30の他の処理を示すフローチャート。10 is a flowchart showing another process of the AGV 30. 検出装置50の処理を示すフローチャート。4 is a flowchart showing the process of the detection device 50. 検出装置50の他の処理を示すフローチャート。10 is a flowchart showing another process of the detection device 50. 搬送指示装置60の処理を示すフローチャート。4 is a flowchart showing the process of a transport instruction device 60. 搬送スケジュールを説明する図。FIG. 数式を説明する図。A diagram explaining the formula. サーバ40の処理を示すフローチャート。10 is a flowchart showing a process of the server 40. サーバ40の他の処理を示すフローチャート。10 is a flowchart showing another process of the server 40. 第1の計算事例を説明する図。FIG. 11 is a diagram for explaining a first calculation example. 第1の計算事例の搬送工程を示す図。FIG. 11 is a diagram showing a transport process of a first calculation example. 第1の計算事例の搬送スケジュールを示す図。FIG. 13 is a diagram showing a transportation schedule of a first calculation example. 第2の計算事例を説明する図。FIG. 11 is a diagram for explaining a second calculation example. 第2の計算事例の搬送工程を示す図。FIG. 13 is a diagram showing a transport process of a second calculation example. 第2の計算事例の搬送スケジュールを示す図。FIG. 13 is a diagram showing a transportation schedule of a second calculation example. 第3の計算事例を説明する図。FIG. 13 is a diagram for explaining a third calculation example. 第3の計算事例の搬送工程を示す図。FIG. 13 is a diagram showing a transport process of the third calculation example. 第3の計算事例の搬送スケジュールを示す図。FIG. 13 is a diagram showing a transportation schedule of a third calculation example. 第2実施形態のサーバ40の処理を示すフローチャート。10 is a flowchart showing a process of a server 40 according to a second embodiment. 第3実施形態のサーバ40の処理を示すフローチャート。13 is a flowchart showing a process of a server 40 according to a third embodiment. 第4実施形態のサーバ40の処理を示すフローチャート。13 is a flowchart showing a process of a server 40 according to a fourth embodiment.

以下、図面を参照しながら本開示を実施するための形態を、複数の形態を用いて説明する。各実施形態で先行する実施形態で説明している事項に対応している部分には同一の参照符を付すか、または先行の参照符号に一文字追加し、重複する説明を略する場合がある。また各実施形態にて構成の一部を説明している場合、構成の他の部分は、先行して説明している実施形態と同様とする。各実施形態で具体的に説明している部分の組合せばかりではなく、特に組合せに支障が生じなければ、実施形態同士を部分的に組合せることも可能である。 Below, with reference to the drawings, a number of modes for implementing the present disclosure will be described. In each embodiment, the same reference numerals will be used for parts that correspond to matters described in the preceding embodiment, or one character may be added to the preceding reference numeral, and duplicated explanations may be omitted. Furthermore, when part of the configuration is described in each embodiment, the other parts of the configuration will be the same as in the embodiment described previously. It is possible to combine not only the parts specifically described in each embodiment, but also partially combine embodiments together, provided that no particular hindrance occurs to the combination.

(第1実施形態)
本開示の第1実施形態に関して、図1~図19を用いて説明する。本実施形態の移動制御システム100は、経路上を移動する複数のAGV30の移動を制御する。移動制御システム100は、図1に示すように、AGV30、サーバ40、検出装置50および搬送指示装置60を含んで構成される。
First Embodiment
A first embodiment of the present disclosure will be described with reference to Fig. 1 to Fig. 19. A mobility control system 100 of this embodiment controls the movement of a plurality of AGVs 30 moving on a route. As shown in Fig. 1, the mobility control system 100 includes the AGVs 30, a server 40, a detection device 50, and a transport instruction device 60.

AGV30、サーバ40、検出装置50および搬送指示装置60は、それぞれ記憶媒体に記憶されているプログラムを実行し、各部を制御する制御部を有する。制御部は、少なくとも1つの演算処理装置(CPU)と、プログラムとデータとを記憶する記憶媒体とを有する。各装置の制御部は、たとえばコンピュータによって読み取り可能な記憶媒体を備えるマイクロコンピュータによって実現される。記憶媒体は、コンピュータによって読み取り可能なプログラムおよびデータを非一時的に格納する非遷移的実体的記憶媒体である。記憶媒体は、半導体メモリまたは磁気ディスクなどによって実現される。以下、それぞれの制御部を明示せず制御部に換えて、AGV30、サーバ40、検出装置50および搬送指示装置60と表記する場合がある。 The AGV 30, server 40, detection device 50, and transport instruction device 60 each have a control unit that executes a program stored in a storage medium and controls each unit. The control unit has at least one central processing unit (CPU) and a storage medium that stores programs and data. The control unit of each device is realized, for example, by a microcomputer equipped with a storage medium readable by a computer. The storage medium is a non-transient, tangible storage medium that non-temporarily stores programs and data readable by a computer. The storage medium is realized by a semiconductor memory, a magnetic disk, or the like. Hereinafter, the respective control units may be referred to as AGV 30, server 40, detection device 50, and transport instruction device 60 instead of the control unit without explicitly stating the respective control units.

AGV30は、移動体であり、電動モータを駆動源として、無人で経路上を走行する。AGV30は、移動スケジュールに従って移動する。移動スケジュールは、AGV30が物を搬送するので、搬送スケジュールともいう。AGV30は、AGV用受信部31、AGV用送信部32、位置検出部33およびAGV用制御部34を含んで構成される。 The AGV 30 is a mobile object that travels unmanned along a route using an electric motor as a drive source. The AGV 30 moves according to a movement schedule. The movement schedule is also called a transport schedule, since the AGV 30 transports objects. The AGV 30 is composed of an AGV receiver 31, an AGV transmitter 32, a position detector 33, and an AGV controller 34.

AGV用送信部32は、サーバ40と通信して、サーバ40に所定の情報を送信する。AGV用受信部31は、サーバ40と通信して、サーバ40からの情報を受信する。位置検出部33は、AGV30の現在の位置情報を取得する。位置情報は、AGV30の現在位置および進行方向を含む。位置検出部33は、検出した位置情報をAGV用送信部32からサーバ40に定期的に送信する。 The AGV transmitter 32 communicates with the server 40 and transmits predetermined information to the server 40. The AGV receiver 31 communicates with the server 40 and receives information from the server 40. The position detector 33 acquires current position information of the AGV 30. The position information includes the current position and traveling direction of the AGV 30. The position detector 33 periodically transmits the detected position information from the AGV transmitter 32 to the server 40.

位置検出部33は、複数のセンサ情報を組み合わせる複合測位により、位置情報を生成する。位置検出部33は、たとえばGNSS(Global Navigation Satellite System)受信機、慣性センサ、地図データベース、およびロケータECUを備えている。GNSS受信機は、複数の測位衛星からの測位信号を受信する。慣性センサは、AGV30に作用する慣性力を検出するセンサである。慣性センサは、例えばジャイロセンサおよび加速度センサを備える。地図データベースは、不揮発性メモリに記憶されており、経路のリンクデータおよびノードデータを含む。ロケータECUは、GNSS受信機で受信する測位信号、地図データベースの地図データ、および慣性センサの計測結果を組み合わせることにより、AGV30の現在位置を逐次測位する。現在位置は、例えば緯度経度の座標で表される。 The position detection unit 33 generates position information by composite positioning that combines information from multiple sensors. The position detection unit 33 includes, for example, a GNSS (Global Navigation Satellite System) receiver, an inertial sensor, a map database, and a locator ECU. The GNSS receiver receives positioning signals from multiple positioning satellites. The inertial sensor is a sensor that detects inertial forces acting on the AGV 30. The inertial sensor includes, for example, a gyro sensor and an acceleration sensor. The map database is stored in a non-volatile memory and includes link data and node data of the route. The locator ECU sequentially locates the current position of the AGV 30 by combining the positioning signals received by the GNSS receiver, the map data in the map database, and the measurement results of the inertial sensor. The current position is expressed, for example, in latitude and longitude coordinates.

AGV用制御部34は、AGV用受信部31が受信した搬送スケジュールに従って移動するように駆動部を制御する。搬送スケジュールには、移動経路と、各地点を出発する出発時刻、各地点に到着する到着時刻、および各地点に停止する停止時間などが含まれる。 The AGV control unit 34 controls the drive unit so that the vehicle moves according to the transport schedule received by the AGV receiving unit 31. The transport schedule includes the travel route, departure times from each point, arrival times at each point, and stopping times at each point.

次にAGV30の処理について、図2および図3のフローチャートを用いて説明する。図2および図3に示すフローチャートは、AGV30が電源投入状態において、短時間に繰り返し実行する。 Next, the processing of the AGV 30 will be described using the flowcharts in Figures 2 and 3. The flowcharts shown in Figures 2 and 3 are executed repeatedly in a short period of time when the AGV 30 is in a powered-on state.

まず、図2のフローチャートに関して説明する。ステップS1では、AGV用受信部31が搬送スケジュールを受信すると、ステップS2に移る。ステップS2では、搬送スケジュールに従って移動するように駆動部を制御し、本フローを終了する。これによってAGV30は、搬送スケジュールを受信すると、搬送スケジュールに従って移動する。 First, the flowchart in Figure 2 will be described. In step S1, when the AGV receiver 31 receives the transport schedule, the process proceeds to step S2. In step S2, the drive unit is controlled to move according to the transport schedule, and this flow ends. In this way, when the AGV 30 receives the transport schedule, it moves according to the transport schedule.

次に、図3のフローチャートに関して説明する。ステップS1では、位置検出部33によって現在位置を検出し、ステップS2に移る。ステップS2では、検出した現在位置を示す位置情報をサーバ40に送信するようにAGV用送信部32を制御し、本フローを終了する。これによってAGV30は、現在位置を定期的にサーバ40に送信する。 Next, the flowchart in Figure 3 will be described. In step S1, the current position is detected by the position detection unit 33, and the process proceeds to step S2. In step S2, the AGV transmission unit 32 is controlled to transmit position information indicating the detected current position to the server 40, and this flow ends. As a result, the AGV 30 periodically transmits its current position to the server 40.

次に、検出装置50に関して説明する。検出装置50は、経路に配置されて、経路の状態および経路上の物体を監視する。経路上の物体には、AGV30および経路上を移動する他の物体、たとえば人物などを含む。検出装置50は、監視した監視情報をサーバ40に送信する。また検出装置50は、サーバ40からの指示を出力する。指示は、たとえば人物の移動を許可または禁止を促す指示である。 Next, the detection device 50 will be described. The detection device 50 is placed on the route and monitors the state of the route and objects on the route. The objects on the route include the AGV 30 and other objects moving on the route, such as people. The detection device 50 transmits the monitored monitoring information to the server 40. The detection device 50 also outputs instructions from the server 40. The instructions are, for example, instructions to permit or prohibit the movement of people.

検出装置50は、図1に示すように、周辺監視部51、検出装置用受信部52、検出装置用送信部53および指示部54を含んで構成される。検出装置用送信部53は、サーバ40と通信して、サーバ40に所定の情報を送信する。検出装置用受信部52は、サーバ40と通信して、サーバ40からの情報を受信する。周辺監視部51は、検出装置50の周辺監視に用いられる。周辺監視部51は、検出した監視情報を検出装置用送信部53からサーバ40に送信する。 As shown in FIG. 1, the detection device 50 includes a periphery monitoring unit 51, a detection device receiving unit 52, a detection device transmitting unit 53, and an instruction unit 54. The detection device transmitting unit 53 communicates with the server 40 and transmits predetermined information to the server 40. The detection device receiving unit 52 communicates with the server 40 and receives information from the server 40. The periphery monitoring unit 51 is used to monitor the periphery of the detection device 50. The periphery monitoring unit 51 transmits the detected monitoring information from the detection device transmitting unit 53 to the server 40.

周辺監視部51は、監視情報として、経路を移動するAGV30およびAGV30以外の動作物体の移動情報を検出する。移動情報は、移動方向および移動速度である。動作物体は、たとえば人物である。周辺監視部51は、また監視情報として、経路上の異常を検出する。経路上の異常は、経路上に移動を妨げる障害物の有無を検出する。周辺監視部51は、経路上の異常を検出する異常情報をとして出力する。 The periphery monitoring unit 51 detects, as monitoring information, movement information of the AGV 30 moving along the route and moving objects other than the AGV 30. The movement information is the movement direction and movement speed. The moving object is, for example, a person. The periphery monitoring unit 51 also detects abnormalities on the route as monitoring information. The abnormalities on the route include the presence or absence of an obstacle on the route that impedes movement. The periphery monitoring unit 51 outputs abnormality information that detects abnormalities on the route.

周辺監視部51は、周辺をセンシングする。周辺監視部51は、たとえば画像センサおよび超音波ソナーによって実現される。画像センサは、周辺を撮像する撮像装置である。超音波ソナーは、探査波を送信して物体で反射される反射波を受信することで、検出装置50から物体上の測距点までの距離を検出するセンサである。測距点は、物体の表面上で探査波を反射した部位である。超音波ソナーのセンシング範囲は、周辺の所定範囲、たとえば数メートルである。 The periphery monitoring unit 51 senses the surroundings. The periphery monitoring unit 51 is realized by, for example, an image sensor and an ultrasonic sonar. The image sensor is an imaging device that captures images of the surroundings. The ultrasonic sonar is a sensor that detects the distance from the detection device 50 to a ranging point on an object by transmitting a search wave and receiving the reflected wave reflected by the object. The ranging point is the area on the surface of the object where the search wave is reflected. The sensing range of the ultrasonic sonar is a predetermined range in the surroundings, for example, several meters.

指示部54は、周辺に位置する動作物体、たとえば人物への移動を指示する。指示部54は、たとえば音声を出力、および画像を表示することで指示を行う。指示部54は、たとえば経路が交差する交点で、信号機と同様の役割をする。指示部54は、サーバ40から送信された指示を検出装置用受信部52から与えられると、受信した指示を出力する。 The instruction unit 54 instructs a moving object, such as a person, located in the vicinity to move. The instruction unit 54 gives instructions, for example, by outputting sound and displaying an image. The instruction unit 54 plays a role similar to a traffic light, for example, at an intersection where routes intersect. When the instruction unit 54 receives an instruction transmitted from the server 40 from the detection device receiver 52, it outputs the received instruction.

次に検出装置50の処理について、図4および図5のフローチャートを用いて説明する。図4および図5に示すフローチャートは、検出装置50が電源投入状態において、短時間に繰り返し実行する。 Next, the processing of the detection device 50 will be described using the flowcharts in Figures 4 and 5. The flowcharts shown in Figures 4 and 5 are executed repeatedly in a short period of time when the detection device 50 is in a powered-on state.

まず、図4のフローチャートに関して説明する。ステップS1では、周辺監視部51が移動物体、動作物体または経路異常を検出したか否かを判断し、検出した場合にはステップS2に移り、検出していない場合には、本フローを終了する。ステップS2では、検出した移動情報、または異常情報を監視情報としてサーバ40に送信するように検出装置用送信部53を制御し、本フローを終了する。これによって検出装置50は、監視情報をサーバ40に定期的に送信する。 First, the flowchart in Figure 4 will be described. In step S1, the periphery monitoring unit 51 determines whether or not a moving object, a moving object, or a path abnormality has been detected. If so, the process proceeds to step S2. If not, the process ends. In step S2, the detection device transmission unit 53 is controlled to transmit the detected movement information or abnormality information to the server 40 as monitoring information, and the process ends. This causes the detection device 50 to periodically transmit monitoring information to the server 40.

次に、図5のフローチャートに関して説明する。ステップS1では、検出装置用受信部52が指示を受信すると、ステップS2に移る。ステップS2では、受信した指示を出力するように指示部54を制御し、本フローを終了する。これによって検出装置50は、受信した指示部54を出力することができる。 Next, the flowchart in FIG. 5 will be described. In step S1, when the detection device receiver 52 receives an instruction, the process proceeds to step S2. In step S2, the instruction unit 54 is controlled to output the received instruction, and this flow ends. This allows the detection device 50 to output the received instruction unit 54.

次に、搬送指示装置60に関して説明する。搬送指示装置60は、複数のAGV30に対する搬送指示を受け付けて、サーバ40に搬送指示を送信する。搬送指示装置60は、たとえば管理者によって操作される情報端末である。搬送指示装置60は、図1に示すように、指示監視部61、搬送用受信部62、搬送用送信部63、および入力部64を含んで構成される。搬送指示装置60は、たとえば外部と通信可能なパーソナルコンピュータ(Personal Computer:略称PC)およびスマートフォンなどの携帯型情報端末によって実現される。 Next, the transport instruction device 60 will be described. The transport instruction device 60 accepts transport instructions for multiple AGVs 30 and transmits the transport instructions to the server 40. The transport instruction device 60 is, for example, an information terminal operated by an administrator. As shown in FIG. 1, the transport instruction device 60 includes an instruction monitoring unit 61, a transport receiving unit 62, a transport transmitting unit 63, and an input unit 64. The transport instruction device 60 is realized, for example, by a personal computer (abbreviated as PC) capable of communicating with the outside, a portable information terminal such as a smartphone, etc.

搬送用送信部63は、サーバ40と通信して、サーバ40に所定の情報を送信する。搬送用受信部62は、サーバ40と通信して、サーバ40からの情報を受信する。入力部64は、管理者によって操作されて、搬送指示が入力される。入力部64は、搬送指示が入力されると、搬送用送信部63から搬送指示をサーバ40に送信する。 The transportation transmitting unit 63 communicates with the server 40 and transmits predetermined information to the server 40. The transportation receiving unit 62 communicates with the server 40 and receives information from the server 40. The input unit 64 is operated by an administrator to input transportation instructions. When a transportation instruction is input, the input unit 64 transmits the transportation instruction from the transportation transmitting unit 63 to the server 40.

指示監視部61は、入力部64から入力される搬送指示を監視する。指示監視部61は、現在実行中の搬送指示とは異なる新たな搬送指示が入力されると、入力された搬送指示が新しい搬送指示であることを示す情報とともに、搬送用送信部63からサーバ40に送信する。換言すると、更新された搬送指示を搬送用送信部63から送信するように制御する。 The instruction monitoring unit 61 monitors transport instructions input from the input unit 64. When a new transport instruction different from the currently being executed transport instruction is input, the instruction monitoring unit 61 transmits the input transport instruction together with information indicating that the input transport instruction is a new transport instruction from the transport transmission unit 63 to the server 40. In other words, it controls the transport transmission unit 63 to transmit the updated transport instruction.

次に搬送指示装置60の処理について、図6のフローチャートを用いて説明する。図6に示すフローチャートは、搬送指示装置60が電源投入状態において、短時間に繰り返し実行する。ステップS1では、搬送指示の有無を監視し、ステップS2に移る。搬送指示の有無は、指示監視部61によって行われる。ステップS3では、搬送指示があったか否かを判断し、搬送指示があった場合にはステップS3に移り、搬送指示がない場合は、ステップS1に戻る。ステップS3では、搬送指示があったので、搬送指示をサーバ40に送信するように搬送用送信部63を制御し、本フローを終了する。これによって搬送指示装置60は、新しい搬送指示を受け付けると、新しい搬送指示がサーバ40に送信される。 Next, the processing of the transport instruction device 60 will be described using the flowchart in FIG. 6. The flowchart in FIG. 6 is executed repeatedly in a short period of time when the transport instruction device 60 is in a powered-on state. In step S1, the presence or absence of a transport instruction is monitored, and the process proceeds to step S2. The presence or absence of a transport instruction is determined by the instruction monitoring unit 61. In step S3, it is determined whether or not a transport instruction has been received, and if a transport instruction has been received, the process proceeds to step S3, and if no transport instruction has been received, the process returns to step S1. In step S3, since a transport instruction has been received, the transport transmission unit 63 is controlled to transmit the transport instruction to the server 40, and this flow ends. As a result, when the transport instruction device 60 receives a new transport instruction, the new transport instruction is transmitted to the server 40.

次に、サーバ40に関して説明する。サーバ40は、移動体制御装置であって、経路上を移動する複数のAGV30の移動を制御する。サーバ40は、具体的には、AGV30に移動スケジュールを送信して、AGV30の移動を制御する。サーバ40は、図1に示すように、記憶部41、サーバ用受信部42、サーバ用送信部43およびサーバ用制御部45を含んで構成される。 Next, the server 40 will be described. The server 40 is a mobile control device that controls the movement of multiple AGVs 30 moving along a route. Specifically, the server 40 transmits a movement schedule to the AGVs 30 to control the movement of the AGVs 30. As shown in FIG. 1, the server 40 includes a memory unit 41, a server receiving unit 42, a server transmitting unit 43, and a server control unit 45.

サーバ用送信部43は、AGV30、検出装置50、および搬送指示装置60と通信して、各装置に所定の情報を送信する。またサーバ用受信部42は、AGV30、検出装置50、および搬送指示装置60と通信して、各装置からの情報を受信する。記憶部41には、AGV30を管理するための情報が記憶されている。記憶部41には、搬送指示装置60から送信された搬送指示が記憶される。 The server transmitter 43 communicates with the AGV 30, the detection device 50, and the transport instruction device 60 to transmit predetermined information to each device. The server receiver 42 also communicates with the AGV 30, the detection device 50, and the transport instruction device 60 to receive information from each device. The memory unit 41 stores information for managing the AGV 30. The memory unit 41 stores transport instructions transmitted from the transport instruction device 60.

サーバ用制御部45は、制御部であって、記憶部41からの必要な情報を読み込み、AGV30の移動を制御する。サーバ用制御部45は、図1に示すように、機能ブロックとして、設定部141、予測部142、判定部143、計算部144、および移動制御部145を含んで構成される。またサーバ用制御部45は、取得部としても機能し、サーバ用受信部42を介して、位置情報および監視情報を取得する。したがってサーバ用制御部45は、AGV30の現在位置、経路を移動するAGV30以外の動作物体の移動情報、および経路における異常、すなわち経路の移動不可部分を取得する。 The server control unit 45 is a control unit that reads necessary information from the memory unit 41 and controls the movement of the AGV 30. As shown in FIG. 1, the server control unit 45 is configured to include functional blocks such as a setting unit 141, a prediction unit 142, a determination unit 143, a calculation unit 144, and a movement control unit 145. The server control unit 45 also functions as an acquisition unit, acquiring position information and monitoring information via the server receiving unit 42. Thus, the server control unit 45 acquires the current position of the AGV 30, movement information of moving objects other than the AGV 30 that are moving along the route, and abnormalities in the route, i.e., non-movable parts of the route.

設定部141は、複数のAGV30の出発地点と終着地点とを結ぶ移動経路、および移動経路を移動する移動工程を設定する。また経由地がある場合には、経由地を経由する移動経路を設定する。さらに経由地に順番がある場合には、経由地の順番を考慮した移動経路を設定する。さらにAGV30の移動に優先順位がある場合には、優先順を考慮して移動工程を設定する。 The setting unit 141 sets the travel routes connecting the departure points and destination points of the multiple AGVs 30, and the travel process for moving along the travel routes. If there are waypoints, the setting unit 141 sets the travel routes that pass through the waypoints. If there is an order to the waypoints, the setting unit 141 sets the travel routes taking into account the order of the waypoints. If there is an order of priority for the movement of the AGVs 30, the setting unit 141 sets the travel process taking into account the order of priority.

移動工程は、本実施形態では搬送工程ともいう。設定部141は、出発地点と終着地点とを結ぶ最短経路を移動経路として設定する。また設定部141は、複数のAGV30の移動経路の重複が少なくなるように移動経路を設定する。したがって、たとえば最短経路が複数ある場合には、重複が少ない移動経路を設定する。また最短経路を優先するか、重複をしないことを優先するかは、予め設定可能であってもよい。たとえば最短経路が1つしかなく、重複を回避できない場合には、重複回避を優先する場合には、最短経路よりも遠回りになる経路を設定してもよい。 The movement process is also referred to as a transport process in this embodiment. The setting unit 141 sets the shortest route connecting the starting point and the end point as the movement route. The setting unit 141 also sets the movement route so that there is less overlap between the movement routes of the multiple AGVs 30. Therefore, for example, if there are multiple shortest routes, a movement route with less overlap is set. Also, it may be possible to set in advance whether to prioritize the shortest route or to prioritize avoiding overlap. For example, if there is only one shortest route and overlap cannot be avoided, a route that is longer than the shortest route may be set if avoiding overlap is prioritized.

計算部144は、移動経路および移動工程を入力値して、制約条件を満たしつつ所定の評価値を最小化することを目的とする混合整数計画問題を解くことによって、移動体の移動スケジュールを計算する。 The calculation unit 144 inputs the travel route and travel process and calculates the travel schedule of the moving object by solving a mixed integer programming problem whose objective is to minimize a predetermined evaluation value while satisfying the constraint conditions.

具体的には、本実施形態では、blocking job shop型のスケジューリング問題を同時に複数の機械または設備を利用できるように定式化し、利用する経路に加え、先に利用する経路も工程に加えたスケジューリング問題にすることで、干渉を回避するzone controlを表現可能にしている。これによって干渉を回避しながら全体の効率を最適化する搬送スケジュールが計算可能になる。 Specifically, in this embodiment, a blocking job shop type scheduling problem is formulated so that multiple machines or equipment can be used simultaneously, and by creating a scheduling problem in which the route to be used and the route to be used first are added to the process, it is possible to express zone control that avoids interference. This makes it possible to calculate a transport schedule that optimizes overall efficiency while avoiding interference.

たとえば他のAGV30が進行方向に隣接する分割経路に存在する場合には、他のAGV30が通り過ぎてから、隣接する分割経路への進入を許可する。これは一般に、blocking job shop schedulingといわれる。これによって衝突を回避する。さらに本実施形態では、AGV30が存在する場所と重複経路の出入口も同時に確保して他のAGV30の重複経路への進入を禁止し、正面衝突回避のzone controlを表現する。このために、blocking job shop型のスケジューリング問題を、いわゆる複数機械同時利用へ定式化を拡張する。これによって干渉のない搬送スケジューリングを計算できるため、AGV30の動きを把握するための設備は不要となる。 For example, if another AGV 30 is present on an adjacent divided route in the direction of travel, the AGV is permitted to enter the adjacent divided route after the other AGV 30 has passed. This is generally called blocking job shop scheduling. This avoids collisions. Furthermore, in this embodiment, the location where the AGV 30 is present and the entrance and exit of the overlapping route are simultaneously secured, prohibiting other AGVs 30 from entering the overlapping route, thereby expressing zone control to avoid head-on collisions. For this reason, the formulation of the blocking job shop type scheduling problem is expanded to the so-called simultaneous use of multiple machines. This makes it possible to calculate transport scheduling without interference, eliminating the need for equipment to grasp the movement of the AGV 30.

移動制御部145は、搬送スケジュールによって各AGV30の移動を制御する。移動制御部145は、搬送スケジュールを各AGV30に送信するようにサーバ用送信部43を制御する。予測部142は、検出装置50が検出した監視情報に基づいて、AGV30以外の人などの動きを予測する。たとえば検出した人物が、経路のどちらの方向に進むのかを移動情報を用いて予測する。判定部143は、搬送スケジュールが更新されたとき、新たな搬送指示が発生したときに、搬送スケジュールを再計算すべきか否かを判断する。 The movement control unit 145 controls the movement of each AGV 30 according to the transport schedule. The movement control unit 145 controls the server transmission unit 43 to transmit the transport schedule to each AGV 30. The prediction unit 142 predicts the movement of people and other entities other than the AGV 30 based on the monitoring information detected by the detection device 50. For example, it predicts which direction along the route a detected person will move in using the movement information. The determination unit 143 determines whether or not to recalculate the transport schedule when the transport schedule is updated or a new transport instruction is issued.

次に、図7を用いて、搬送スケジュールに関して説明する。図7では、比較例では遅延や遠回りが起き、実施例では最適解が求まることを示す。経路は、複数の分割経路から構成される。たとえば図7に示す経路では、7つの分割経路から構成される。1つの分割経路には、1つのAGV30しか位置することができない。また経路は、2つのAGV30がすれ違えない。したがって分割経路でも、2つのAGV30がすれ違うことができない。 Next, the transport schedule will be described with reference to Figure 7. Figure 7 shows that delays and detours occur in the comparative example, while the optimal solution is found in the embodiment. The route is made up of multiple divided routes. For example, the route shown in Figure 7 is made up of seven divided routes. Only one AGV 30 can be positioned on one divided route. Furthermore, two AGVs 30 cannot pass each other on a route. Therefore, even on a divided route, two AGVs 30 cannot pass each other.

移動工程は、ある時刻にあるAGV30が位置する分割経路を示す。たとえば図7に示すように、現時点では、経路に7つの分割経路があり、第1分割経路R1に第1AGV30Aが位置し、第6分割経路R6に第2AGV30Bが位置する。そしてその後、各AGV30が移動することで、位置する分割経路が変化する。図7に示す例では、第1AGV30Aは、出発地点が第1分割経路R1であり、到着地点が第5分割経路R5である。また第2AGV30Bは、出発地点が第6分割経路R6であり、到着地点が第7分割経路R7である。この場合、2つの移動経路は、第2分割経路R2で交差するので、いずれか一方のAGV30を先に通過させ、他方を後に通過させることになる。 The movement process indicates the divided route on which a certain AGV 30 is located at a certain time. For example, as shown in FIG. 7, at present, there are seven divided routes on the route, with the first AGV 30A located on the first divided route R1 and the second AGV 30B located on the sixth divided route R6. Then, as each AGV 30 moves, the divided route on which they are located changes. In the example shown in FIG. 7, the first AGV 30A starts on the first divided route R1 and arrives on the fifth divided route R5. The second AGV 30B starts on the sixth divided route R6 and arrives on the seventh divided route R7. In this case, the two movement routes intersect at the second divided route R2, so one AGV 30 will pass first and the other will pass later.

第1比較例では、第2AGV30Bを先に第2分割経路R2を通過させ、その後に第1AGV30Aを第2分割経路R2を通過している。これによって第2AGV30Bの移動は先に完了するが、第1AGV30Aを待たせることで、全体の搬送時間が長くなる。 In the first comparative example, the second AGV 30B passes through the second divided route R2 first, and then the first AGV 30A passes through the second divided route R2. This allows the second AGV 30B to complete its movement first, but by making the first AGV 30A wait, the overall transport time becomes longer.

また第2比較例では、第2AGV30Bを最短経路ではなく、第2分割経路R2を迂回させ、第1AGV30Aと第2AGV30Bを同時に移動させている。これによって第2AGV30Bを遠回りさせることになり、移動全体が非効率となる。 In the second comparative example, the second AGV 30B is made to detour along the second divided route R2 instead of the shortest route, and the first AGV 30A and the second AGV 30B are moved simultaneously. This causes the second AGV 30B to take a longer route, making the entire movement inefficient.

そして第1実施例では、第1AGV30Aを先に第2分割経路R2を通過させ、その後に第2AGV30Bを第2分割経路R2を通過している。第2AGV30Bを待たせて、先に第1AGV30Aを通過させることで、効率的な移動を実現しつつ、衝突を回避している。このように本実施形態では、衝突を回避し、全ての移動が完了するまでの時間を短くするように移動スケジュールを設定する。 In the first embodiment, the first AGV 30A passes through the second divided route R2 first, and then the second AGV 30B passes through the second divided route R2. By making the second AGV 30B wait and allowing the first AGV 30A to pass first, efficient movement is achieved while avoiding collisions. In this way, in this embodiment, the movement schedule is set to avoid collisions and shorten the time it takes for all movements to be completed.

次に、具体的な搬送スケジュールの計算方法に関して図8を用いて説明する。計算部144は、前述のように、移動経路および移動工程を入力値して、制約条件を満たしつつ所定の評価値を最小化することを目的とする混合整数計画問題を解くことによって、移動体の移動スケジュールを計算する。混合整数計画問題は、混合整数最適化問題ともいい、整数値を取る変数と実数値を取る変数が混在している整数計画問題のことである。整数計画問題は、整数変数を含む最適化問題のことである。スケジューリング問題とは、人や機械といったリソースに対してジョブのスケジュールを割当てる問題である。本実施形態では、リソースは経路に該当し、ジョブがAGV30の移動に該当する。 Next, a specific method for calculating the transport schedule will be described with reference to FIG. 8. As described above, the calculation unit 144 inputs the movement route and movement process, and calculates the movement schedule of the moving body by solving a mixed integer programming problem whose objective is to minimize a predetermined evaluation value while satisfying the constraint conditions. A mixed integer programming problem is also called a mixed integer optimization problem, and is an integer programming problem that has a mixture of variables that take integer values and variables that take real values. An integer programming problem is an optimization problem that includes integer variables. A scheduling problem is a problem of assigning a job schedule to resources such as people and machines. In this embodiment, the resource corresponds to the route, and the job corresponds to the movement of the AGV 30.

最適化問題とは、条件を満たす候補の中から目的に対して最適なものを数学的に見つける問題である。最適化問題は、決定変数、目的関数および制約条件という3つの要素から構成される。決定変数は、意思決定や制御の対象で、値を決めたいものである。本実施形態では、決定変数は、搬送スケジュールが該当する。目的関数は、決定変数が目的に対して良いか悪いかを判断するための関数である。本実施形態では、メイクスパンを最小化、すなわち最後のジョブの終了時間が早くなることを目的とする関数である。 An optimization problem is a problem of mathematically finding the optimum for a given objective from among candidates that satisfy certain conditions. An optimization problem is composed of three elements: decision variables, objective functions, and constraints. A decision variable is the object of decision-making or control, and is the value to be determined. In this embodiment, the decision variable corresponds to the transport schedule. An objective function is a function for determining whether the decision variable is good or bad for a given objective. In this embodiment, the objective is to minimize the makespan, i.e., to finish the last job earlier.

制約条件は、候補となる決定変数が満たす必要のある条件である。本実施形態では、制約条件には、衝突禁止条件が含まれる。衝突禁止条件は、経路を少なくともAGV30よりも大きい長さで分割した分割経路において、1つの分割経路には、1つのAGV30の存在を許可し、2つのAGV30の存在を禁止する条件である。換言すると、衝突禁止条件は、分割経路において、AGV30が次の分割経路への移動が完了するまで、移動が完了前の分割経路は他のAGV30による利用を禁止する条件である。 Constraint conditions are conditions that candidate decision variables must satisfy. In this embodiment, the constraint conditions include a collision prohibition condition. The collision prohibition condition is a condition that permits the presence of one AGV 30 on a divided route in which a route is divided into routes with a length at least greater than that of an AGV 30, but prohibits the presence of two AGVs 30 on each divided route. In other words, the collision prohibition condition is a condition that prohibits other AGVs 30 from using a divided route that has not yet completed its movement until the AGV 30 has completed its movement to the next divided route.

また最適化問題に入力される搬送工程は、少なくとも2つのAGV30の移動経路が重複して、AGV30の移動方向が対向することによって、AGV30が干渉する可能性がある特定経路では、特定経路に1つのAGV30が存在する場合には、AGV30が存在する特定経路に他のAGV30の使用を禁止するように設定されている。 The transport process input to the optimization problem is set so that, in a specific route where the movement paths of at least two AGVs 30 overlap and the movement directions of the AGVs 30 are opposed to each other, which may result in interference between the AGVs 30, if one AGV 30 is present on the specific route, the use of other AGVs 30 on the specific route on which the AGV 30 is present is prohibited.

さらに設定部141は、特定経路に1つのAGV30が存在する場合には、AGV30が存在する特定経路のうち移動体の移動方向の部分への他のAGV30の使用を禁止し、移動方向とは反対方向の部分の使用を許可するように移動工程を設定する。 Furthermore, when one AGV 30 is present on a specific route, the setting unit 141 sets the movement process so as to prohibit the use of other AGVs 30 on the portion of the specific route on which the AGV 30 is present in the direction of movement of the moving body, and to permit use on the portion in the opposite direction to the direction of movement.

図8の右端の欄に示すように、本実施形態は、blocking job shop schedulingに示す式を用いる。図8の左の欄に示す一般的なjob shopスケジューリングの定式化に対して、図8の右の欄に示す式は、blocking job shop スケジューリングの定式化である。 As shown in the rightmost column of FIG. 8, this embodiment uses the formula shown in blocking job shop scheduling. In contrast to the formulation of general job shop scheduling shown in the left column of FIG. 8, the formula shown in the right column of FIG. 8 is a formulation of blocking job shop scheduling.

次に図8の右の本実施形態の式に関して説明する。ジョブやプロセスに関する情報は、変数の添え字で示す。たとえば、Sα,iは、ジョブαのi番目のタスクであることを示す添え字である。sは、ジョブの開始時間を示し、pはジョブの処理時間を示し、Cmaxは、スケジュールのメイクスパンを示す。Rは、リソースの集合を示し、Pは製品の集合を示し、QαおよびQβは、製品αと製品βのジョブの集合を示す。Mは、大きい正の数を示す。そしてxα,i,β,jは、0-1の整数を示し、Jα,iとJβ,jの製造手順を示す。 Next, the formula of this embodiment on the right side of FIG. 8 will be explained. Information about a job or process is indicated by the subscript of the variable. For example, S α,i is a subscript indicating that it is the i-th task of job α. s indicates the start time of the job, p indicates the processing time of the job, and C max indicates the makespan of the schedule. R indicates a set of resources, P indicates a set of products, and Q α and Q β indicate sets of jobs for product α and product β. M indicates a large positive number. And x α,i,β,j indicates an integer between 0 and 1, and indicates the manufacturing procedures of J α,i and J β,j .

式(1)の目的関数は、メイクスパンを最小化することを目的とする。そして、式(2)のCmaxは各製品の最後のジョブの最大終了時間を表している。式(3)は開始時刻に対する非負の制約を示し、式(4)は各ジョブが先行するジョブ動作の後に動作することを示している。したがって、次のジョブα,i+1の開始時刻は、処理終了時刻Sα,i+pα,iよりも製造資源の分だけ遅くなければならない。 The objective function in equation (1) aims to minimize the makespan. And, Cmax in equation (2) represents the maximum finishing time of the last job of each product. Equation (3) shows a non-negative constraint on the starting time, and equation (4) shows that each job runs after the preceding job runs. Therefore, the starting time of the next job α,i+1 must be later than the processing finishing time S α,i +p α,i by the manufacturing resource.

式(5)、(6)は、移動体が次の分割経路へ移動が完了してからでないとその分割経路は他の移動体により利用を許さない衝突禁止条件である。xα,i,β,jは、ジョブαのi番目のタスクが製品βのj番目のジョブよりも先に操作された場合に0を取る決定変数を表す。 Equations (5) and (6) are collision prohibition conditions that prohibit other moving objects from using the next divided path until the moving object has completed moving to that next divided path. xα,i,β,j represents a decision variable that takes the value 0 when the i-th task of job α is operated before the j-th job of product β.

次に、サーバ40の処理について、図9および図10のフローチャートを用いて説明する。図9および図10に示すフローチャートは、サーバ40が電源投入状態において、短時間に繰り返し実行する。 Next, the processing of the server 40 will be described using the flowcharts in Figures 9 and 10. The flowcharts shown in Figures 9 and 10 are executed repeatedly in a short period of time when the server 40 is in a powered-on state.

まず、図9のフローチャートに関して説明する。ステップS1では、搬送工程を取得し、ステップS2に移る。ステップS2では、計算部144が搬送スケジュールを計算し、ステップS3に移る。ステップS3では、搬送スケジュールをAGV30へ送信するようにサーバ用送信部43を制御し、本フローを終了する。このようにサーバ用制御部45は、搬送工程に基づいて、搬送スケジュールを計算し、計算した搬送スケジュールをAGV30に送信する。 First, the flowchart in Figure 9 will be described. In step S1, the transport process is acquired, and the process proceeds to step S2. In step S2, the calculation unit 144 calculates the transport schedule, and the process proceeds to step S3. In step S3, the server transmission unit 43 is controlled to transmit the transport schedule to the AGV 30, and this flow ends. In this way, the server control unit 45 calculates the transport schedule based on the transport process, and transmits the calculated transport schedule to the AGV 30.

次に、図10のフローチャートに関して説明する。ステップS1では、搬送指示をサーバ用受信部42が受信し、ステップS2に移る。ステップS2では、判定部143が新しい搬送指示によって搬送スケジュールの再計算の有無が必要か否かを判断する。そして、ステップS2では、再計算が必要な場合には、ステップS3に移り、必要でない場合には、本フローを終了する。再計算が必要な場合とは、新たなAGV30が追加された場合、新たな搬送先が追加された場合である。再計算が不要な場合とは、新しい搬送指示が搬送先および搬送経路は変わらないが、搬送量がかわった場合などである。 Next, the flowchart in FIG. 10 will be described. In step S1, the server receiving unit 42 receives a transport instruction, and the process proceeds to step S2. In step S2, the determination unit 143 determines whether or not the new transport instruction requires recalculation of the transport schedule. If recalculation is required in step S2, the process proceeds to step S3, and if not, the process ends. Recalculation is required when a new AGV 30 has been added, or when a new transport destination has been added. Recalculation is not required when, for example, the new transport instruction does not change the transport destination or transport route, but the transport amount has changed.

ステップS3では、新しい搬送指示における搬送工程を取得し、ステップS4に移る。ステップS4では、計算部144が搬送スケジュールを計算し、ステップS5に移る。ステップS5では、搬送スケジュールをAGV30へ送信するようにサーバ用送信部43を制御し、本フローを終了する。このようにサーバ用制御部45は、搬送指示によって再計算が必要な場合には、新しい搬送工程に基づいて、搬送スケジュールを再計算し、再計算した搬送スケジュールをAGV30に送信する。 In step S3, the transport process in the new transport instruction is obtained, and the process proceeds to step S4. In step S4, the calculation unit 144 calculates the transport schedule, and the process proceeds to step S5. In step S5, the server transmission unit 43 is controlled to transmit the transport schedule to the AGV 30, and this flow ends. In this way, when recalculation is required due to the transport instruction, the server control unit 45 recalculates the transport schedule based on the new transport process, and transmits the recalculated transport schedule to the AGV 30.

次に、搬送スケジュールの3つの計算事例に関して、図11~図19を用いて説明する。まず第1の計算事例に関して説明する。第1の計算事例の経路には、図11に示すように、7つの分割経路があり、スタート時点では、第1分割経路R1に第1AGV30Aが位置し、第5分割経路R5に第2AGV30Bが位置する。そして、第1AGV30Aは、出発地点が第1分割経路R1であり、到着地点が第6分割経路R6である。また第2AGV30Bは、出発地点が第5分割経路R5であり、到着地点が第7分割経路R7である。この場合、2つのAGV30の移動経路のうち、第2分割経路R2、第3分割経路R3および第4分割経路R4が重複する特定経路となる。特定経路では、AGV30の移動方向が対向することによって、AGV30が干渉する可能性がある。この場合、特定経路では、いずれか一方のAGV30を先に通過させ、他方を後に通過させることになる。 Next, three calculation examples of the transport schedule will be described with reference to Figures 11 to 19. First, the first calculation example will be described. As shown in Figure 11, the route in the first calculation example has seven divided routes, and at the start, the first AGV 30A is located on the first divided route R1, and the second AGV 30B is located on the fifth divided route R5. The first AGV 30A starts from the first divided route R1 and arrives at the sixth divided route R6. The second AGV 30B starts from the fifth divided route R5 and arrives at the seventh divided route R7. In this case, the second divided route R2, the third divided route R3, and the fourth divided route R4 of the movement routes of the two AGVs 30 overlap to form a specific route. In the specific route, the movement directions of the AGVs 30 are opposed to each other, which may cause interference between the AGVs 30. In this case, one of the AGVs 30 will pass first along the specific route, and the other will pass later.

図12には、搬送工程を示す。第1AGV30Aの搬送工程では、第1分割経路R1を出発地点とし、次に第2分割経路R2に移動する。その場合、第2分割経路R2は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第2分割経路R2だけでなく、第4分割経路R4も使用中とする。実際は、第2分割経路R2しか使用していないが、仮想的に第4分割経路R4を使用しているとして、他のAGV30が特定経路に進入すること防ぐ。その後、第1AGV30Aが第2分割経路R2から第3分割経路R3に移動すると、同様に、第3分割経路R3は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第3分割経路R3だけでなく、第4分割経路R4も使用中とする。 Figure 12 shows the transport process. In the transport process of the first AGV 30A, the first divided route R1 is the starting point, and then the first divided route R2 is moved to. In this case, since the second divided route R2 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the second divided route R2 but also the fourth divided route R4 is considered to be in use. In reality, only the second divided route R2 is used, but the fourth divided route R4 is considered to be in use virtually, and other AGVs 30 are prevented from entering the specific route. After that, when the first AGV 30A moves from the second divided route R2 to the third divided route R3, similarly, since the third divided route R3 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the third divided route R3 but also the fourth divided route R4 is considered to be in use.

その後、第1AGV30Aが第3分割経路R3から第4分割経路R4に移動すると、第4分割経路R4は特定経路であるが、移動方向の前方には特定経路はないので、現在位置である第4分割経路R4だけを使用中とする。その後、第1AGV30Aが第4分割経路R4から第6分割経路R6に移動して、第1AGV30Aの移動は終了する。 After that, when the first AGV 30A moves from the third split route R3 to the fourth split route R4, the fourth split route R4 is a specific route, but there is no specific route ahead in the direction of movement, so only the fourth split route R4, which is the current position, is considered to be in use. After that, the first AGV 30A moves from the fourth split route R4 to the sixth split route R6, and the movement of the first AGV 30A ends.

同様に、第2AGV30Bの搬送工程では、第5分割経路R5を出発地点とし、次に第4分割経路R4に移動する。その場合、第4分割経路R4は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第4分割経路R4だけでなく、第2分割経路R2も使用中とする。実際は、第4分割経路R4しか使用していないが、仮想的に第2分割経路R2を使用しているとして、他のAGV30が特定経路に進入すること防ぐ。その後、第2AGV30Bが第4分割経路R4から第3分割経路R3に移動すると、同様に、第3分割経路R3は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第3分割経路R3だけでなく、第2分割経路R2も使用中とする。 Similarly, in the transport process of the second AGV 30B, the fifth split route R5 is the starting point, and then the second split route R4 is moved to. In this case, since the fourth split route R4 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the fourth split route R4 but also the second split route R2 is considered to be in use. In reality, only the fourth split route R4 is used, but the second split route R2 is considered to be in use virtually, and other AGVs 30 are prevented from entering the specific route. After that, when the second AGV 30B moves from the fourth split route R4 to the third split route R3, similarly, since the third split route R3 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the third split route R3 but also the second split route R2 is considered to be in use.

その後、第2AGV30Bが第3分割経路R3から第2分割経路R2に移動すると、第2分割経路R2は特定経路であるが、移動方向の前方には特定経路はないので、現在位置である第2分割経路R2だけを使用中とする。その後、第2AGV30Bが第2分割経路R2から第7分割経路R7に移動して、第2AGV30Bの移動は終了する。 After that, when the second AGV 30B moves from the third divided route R3 to the second divided route R2, the second divided route R2 is a specific route, but since there is no specific route ahead in the direction of movement, only the second divided route R2, which is the current position, is considered to be in use. After that, the second AGV 30B moves from the second divided route R2 to the seventh divided route R7, and the movement of the second AGV 30B ends.

図13には、搬送スケジュールを示す。搬送スケジュールは、図12の搬送工程を入力して、前述の数式(1)のメイクスパンが最小値となるように計算されたものである。図13に示す搬送スケジュールは、ある時刻に、各AGV30が使用する分割経路を示す。 Figure 13 shows the transport schedule. The transport schedule is calculated by inputting the transport process in Figure 12 so that the makespan in the above formula (1) is the minimum value. The transport schedule shown in Figure 13 shows the divided routes used by each AGV 30 at a certain time.

図13に示すように、第1時刻t1には、第1AGV30Aが第1分割経路R1に位置し、第2AGV30Bが第5分割経路R5に位置する。その後、第2時刻t2には、第1AGV30Aが第2分割経路R2に移動し、仮想的に第4分割経路R4を使用する。第2時刻t2では、第2AGV30Bは移動していない。その後、第3時刻t3では、第1AGV30Aが第3分割経路R3に移動し、仮想的に第4分割経路R4を使用する。第3時刻t3でも、第2AGV30Bは移動していない。その後、第4時刻t4では、第1AGV30Aが第4分割経路R4に移動する。第4時刻t4でも、第2AGV30Bは移動していない。 As shown in FIG. 13, at the first time t1, the first AGV 30A is located on the first split route R1, and the second AGV 30B is located on the fifth split route R5. Thereafter, at the second time t2, the first AGV 30A moves to the second split route R2, virtually using the fourth split route R4. At the second time t2, the second AGV 30B is not moving. Thereafter, at the third time t3, the first AGV 30A moves to the third split route R3, virtually using the fourth split route R4. At the third time t3, the second AGV 30B is not moving either. Thereafter, at the fourth time t4, the first AGV 30A moves to the fourth split route R4. At the fourth time t4, the second AGV 30B is not moving either.

その後、第5時刻t5には、第1AGV30Aが第6分割経路R6に移動し、第1AGV30Aの移動が終了する。第5時刻t5では、第2AGV30Bも第5分割経路R5から第4分割経路R4に移動する。その後、第6時刻t6~第8時刻t8では、第2AGV30Bが、順次、第3分割経路R3、第2分割経路R2、および第7分割経路R7に移動して、第2AGV30Bの移動が終了する。 After that, at the fifth time t5, the first AGV 30A moves to the sixth split route R6, and the movement of the first AGV 30A ends. At the fifth time t5, the second AGV 30B also moves from the fifth split route R5 to the fourth split route R4. After that, from the sixth time t6 to the eighth time t8, the second AGV 30B moves in sequence to the third split route R3, the second split route R2, and the seventh split route R7, and the movement of the second AGV 30B ends.

このように第1の計算事例では、2台のAGV30の移動経路に特定経路があるが、干渉することなく、順番に特定経路を使用することで、無駄なAGV30の移動もなく、移動を完了することができる。 In this way, in the first calculation example, there is a specific route in the movement route of the two AGVs 30, but by using the specific route in turn without interference, the movement can be completed without unnecessary movement of the AGVs 30.

次に、第2の計算事例に関して、図14~図16を用いて説明する。第2の計算事例の経路には、図14に示すように、8つの分割経路があり、スタート時点では、第1分割経路R1に第1AGV30Aが位置し、第8分割経路R8に第2AGV30Bが位置する。そして、第1AGV30Aは、出発地点が第1分割経路R1であり、第8分割経路R8以外の分割経路を通過して、再び出発地点に戻る。したがって第1AGV30Aの到着地点も、第1分割経路R1となる。 Next, the second calculation example will be explained using Figures 14 to 16. As shown in Figure 14, the route in the second calculation example has eight divided routes, and at the start, the first AGV 30A is located on the first divided route R1, and the second AGV 30B is located on the eighth divided route R8. The first AGV 30A starts from the first divided route R1, passes through the divided routes other than the eighth divided route R8, and returns to the starting point again. Therefore, the arrival point of the first AGV 30A is also the first divided route R1.

また第2AGV30Bは、出発地点が第8分割経路R8であり、第1分割経路R1以外の分割経路を通過して、再び出発地点に戻る。したがって第2AGV30Bの到着地点も、第8分割経路R8となる。この場合、2つのAGV30の移動経路のうち、第2分割経路R2~第6分割経路R6が重複する特定経路となる。 The second AGV 30B starts from the eighth divided route R8, passes through divided routes other than the first divided route R1, and returns to the starting point. Therefore, the arrival point of the second AGV 30B is also the eighth divided route R8. In this case, the second divided route R2 to the sixth divided route R6 are overlapping specific routes among the travel routes of the two AGVs 30.

図15には、搬送工程を示す。第1AGV30Aの搬送工程では、第1分割経路R1を出発地点とし、次に第2分割経路R2に移動する。その場合、第2分割経路R2は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第2分割経路R2だけでなく、特定経路への入口である第6分割経路R6も使用中とする。実際は、第2分割経路R2しか使用していないが、仮想的に第6分割経路R6を使用しているとして、他のAGV30が特定経路に進入すること防ぐ。その後、第1AGV30Aが第2分割経路R2から第3分割経路R3、第4分割経路R4、第5分割経路R5と順次、移動し、その間は第6分割経路R6も使用中とする。 Figure 15 shows the transport process. In the transport process of the first AGV 30A, the first divided route R1 is the starting point, and then it moves to the second divided route R2. In this case, since the second divided route R2 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the second divided route R2 but also the sixth divided route R6, which is the entrance to the specific route, is considered to be in use. In reality, only the second divided route R2 is in use, but the sixth divided route R6 is considered to be in use virtually, preventing other AGVs 30 from entering the specific route. After that, the first AGV 30A moves from the second divided route R2 to the third divided route R3, the fourth divided route R4, and the fifth divided route R5 in sequence, and during that time the sixth divided route R6 is also considered to be in use.

その後、第1AGV30Aが第6分割経路R6に移動すると、第6分割経路R6は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第6分割経路R6だけでなく、進行方向の前方に位置する特定経路の出入口である第2分割経路R2も使用中とする。その後、第1AGV30Aが第7分割経路R7に移動し、同様に第2分割経路R2も使用中とする。その後、第1AGV30Aが第2分割経路R2および第1分割経路R1の順に移動して、第1AGV30Aの移動は終了する。 After that, when the first AGV 30A moves to the sixth split route R6, since the sixth split route R6 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the sixth split route R6 but also the second split route R2, which is the entrance/exit of the specific route located ahead in the direction of travel, is considered to be in use. After that, the first AGV 30A moves to the seventh split route R7, and similarly the second split route R2 is also considered to be in use. After that, the first AGV 30A moves in the order of the second split route R2 and the first split route R1, and the movement of the first AGV 30A ends.

同様に、第2AGV30Bの搬送工程では、第8分割経路R8を出発地点とし、次に第6分割経路R6に移動する。その場合、第6分割経路R6は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第6分割経路R6だけでなく、第2分割経路R2も使用中とする。実際は、第6分割経路R6しか使用していないが、仮想的に第2分割経路R2を使用しているとして、他のAGV30が特定経路に進入すること防ぐ。その後、第2AGV30Bが第6分割経路R6から第5分割経路R5、第4分割経路R4、第3分割経路R3と順次、移動し、その間は第2分割経路R2も使用中とする。 Similarly, in the transport process of the second AGV 30B, the eighth split route R8 is the starting point, and then it moves to the sixth split route R6. In this case, since the sixth split route R6 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the sixth split route R6 but also the second split route R2 are considered to be in use. In reality, only the sixth split route R6 is in use, but the second split route R2 is considered to be in use virtually, preventing other AGVs 30 from entering the specific route. After that, the second AGV 30B moves from the sixth split route R6 to the fifth split route R5, the fourth split route R4, and the third split route R3 in sequence, and during this time the second split route R2 is also considered to be in use.

その後、第2AGV30Bが第2分割経路R2に移動すると、第2分割経路R2は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第2分割経路R2だけでなく、進行方向の前方に位置する直近の特定経路の出入口である第6分割経路R6も使用中とする。その後、第2AGV30Bが第7分割経路R7に移動し、同様に第6分割経路R6も使用中とする。その後、第2AGV30Bが第6分割経路R6および第8分割経路R8の順に移動して、第2AGV30Bの移動は終了する。 After that, when the second AGV 30B moves to the second split route R2, since the second split route R2 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the second split route R2 but also the sixth split route R6, which is the entrance/exit of the closest specific route located ahead in the direction of travel, is considered to be in use. After that, the second AGV 30B moves to the seventh split route R7, and similarly the sixth split route R6 is also considered to be in use. After that, the second AGV 30B moves in the order of the sixth split route R6 and the eighth split route R8, and the movement of the second AGV 30B ends.

図16には、搬送スケジュールを示す。搬送スケジュールは、図15の搬送工程を入力して、前述の数式(1)のメイクスパンが最小値となるように計算されたものである。図16に示す搬送スケジュールは、ある時刻に、各AGV30が使用する分割経路を示す。 Figure 16 shows the transport schedule. The transport schedule is calculated by inputting the transport process in Figure 15 so that the makespan in the above formula (1) is the minimum value. The transport schedule shown in Figure 16 shows the divided routes used by each AGV 30 at a certain time.

図16に示すように、第1時刻t1には、第1AGV30Aが第1分割経路R1に位置し、第2AGV30Bが第8分割経路R8に位置する。その後、第2時刻t2には、第1AGV30Aが第2分割経路R2に移動し、仮想的に第6分割経路R6を使用する。第2時刻t2では、第2AGV30Bは移動していない。その後、第3時刻t3~第6時刻t6までは、第1AGV30Aが、順次、第3分割経路R3、第4分割経路R4、第5分割経路R5、第6分割経路R6と移動する。そして第6時刻t6では、第6分割経路R6だけでなく、第2分割経路R2を仮想的に使用する。その後、第7時刻t7では、第7分割経路R7に移動し、仮想的に第2分割経路R2も使用する。その後、第8時刻t8、第9時刻t9では、順次、第2分割経路R2、第1分割経路R1と移動して、第1AGV30Aの移動が終了する。 As shown in FIG. 16, at the first time t1, the first AGV 30A is located on the first split route R1, and the second AGV 30B is located on the eighth split route R8. Thereafter, at the second time t2, the first AGV 30A moves to the second split route R2, virtually using the sixth split route R6. At the second time t2, the second AGV 30B is not moving. Thereafter, from the third time t3 to the sixth time t6, the first AGV 30A moves in sequence to the third split route R3, the fourth split route R4, the fifth split route R5, and the sixth split route R6. Then, at the sixth time t6, not only the sixth split route R6 but also the second split route R2 is virtually used. Thereafter, at the seventh time t7, it moves to the seventh split route R7, virtually using the second split route R2 as well. Then, at the eighth time t8 and the ninth time t9, the first AGV 30A moves sequentially along the second divided path R2 and the first divided path R1, completing its movement.

第9時刻t9では、第2AGV30Bの移動が開始し、第6分割経路R6に移動し、仮想的に第2分割経路R2も使用する。その後、第10時刻t10~第13時刻t13までは、第2AGV30Bが、順次、第5分割経路R5、第4分割経路R4、第3分割、第2分割経路R2と移動する。そして第13時刻t13では、第2分割経路R2だけでなく、第6分割経路R6を仮想的に使用する。その後、第14時刻t14では、第7分割経路R7に移動し、仮想的に第6分割経路R6も使用する。その後、第15時刻t15、第16時刻t16では、順次、第6分割経路R6、第8分割経路R8と移動して、第2AGV30Bの移動が終了する。 At the ninth time t9, the second AGV 30B starts moving, moving to the sixth split route R6 and virtually using the second split route R2 as well. After that, from the tenth time t10 to the thirteenth time t13, the second AGV 30B moves in sequence along the fifth split route R5, the fourth split route R4, the third split route, and the second split route R2. Then, at the thirteenth time t13, not only the second split route R2 but also the sixth split route R6 is virtually used. After that, at the fourteenth time t14, it moves to the seventh split route R7 and virtually uses the sixth split route R6 as well. After that, at the fifteenth time t15 and the sixteenth time t16, it moves in sequence along the sixth split route R6 and the eighth split route R8, and the movement of the second AGV 30B ends.

このように第2の計算事例でも同様に、2台のAGV30の移動経路に特定経路があるが、干渉することなく、順番に特定経路を使用することで、無駄なAGV30の移動もなく、移動を完了することができる。 Similarly, in the second calculation example, there is a specific route in the movement route of the two AGVs 30, but by using the specific route in turn without interference, the movement can be completed without unnecessary movement of the AGVs 30.

次に、第3の計算事例に関して、図17~図19を用いて説明する。第3の計算事例の経路には、図17に示すように、10つの分割経路があり、スタート時点では、第1分割経路R1に第1AGV30Aが位置し、第8分割経路R8に第2AGV30Bが位置し、第5分割経路R5に第3AGV30Cが位置する。そして、第1AGV30Aは、出発地点が第1分割経路R1であり、第2分割経路R2、第4分割経路R4、第6分割経路R6、第7分割経路R7、第9分割経路R9と順次、通過して、第10分割経路R10が到着点である。そして、第2AGV30Bは、出発地点が第8分割経路R8であり、第9分割経路R9、第7分割経路R7、第6分割経路R6、第4分割経路R4、第2分割経路R2と順次、通過して、第3分割経路R3が到着点である。また第3AGV30Cは、出発地点が第5分割経路R5であり、第6分割経路R6、第7分割経路R7、第9分割経路R9と順次、通過して、第10分割経路R10が到着点である。この場合、3つのAGV30の移動経路のうち、第2分割経路R2、第4分割経路R4、第6分割経路R6、第7分割経路R7、第9分割経路R9が重複する特定経路となる。 Next, the third calculation example will be explained using Figures 17 to 19. As shown in Figure 17, the route in the third calculation example has ten divided routes, and at the start, the first AGV 30A is located on the first divided route R1, the second AGV 30B is located on the eighth divided route R8, and the third AGV 30C is located on the fifth divided route R5. The first AGV 30A starts from the first divided route R1, passes through the second divided route R2, the fourth divided route R4, the sixth divided route R6, the seventh divided route R7, and the ninth divided route R9 in that order, and arrives at the tenth divided route R10. The second AGV 30B starts from the eighth divided route R8, passes through the ninth divided route R9, the seventh divided route R7, the sixth divided route R6, the fourth divided route R4, and the second divided route R2, and arrives at the third divided route R3. The third AGV 30C starts from the fifth divided route R5, passes through the sixth divided route R6, the seventh divided route R7, and the ninth divided route R9, and arrives at the tenth divided route R10. In this case, the second divided route R2, the fourth divided route R4, the sixth divided route R6, the seventh divided route R7, and the ninth divided route R9 are overlapping specific routes among the travel routes of the three AGVs 30.

図18には、搬送工程を示す。第1AGV30Aの搬送工程では、第1分割経路R1を出発地点とし、次に第2分割経路R2に移動する。その場合、第2分割経路R2は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第2分割経路R2だけでなく、第6分割経路R6および第9分割経路R9も使用中とする。実際は、第2分割経路R2しか使用していないが、仮想的に第6分割経路R6および第9分割経路R9を使用しているとして、他のAGV30が特定経路に進入すること防ぐ。その後、第1AGV30Aが第2分割経路R2から第4分割経路R4、第6分割経路R6、第7分割経路R7、第9分割経路R9と順次、移動し、その間は第9分割経路R9も使用中とする。また第1AGV30Aが第7分割経路R7に移動するまで、第6分割経路R6も使用中とする。その後、第1AGV30Aが第10分割経路R10に移動して、第1AGV30Aの移動は終了する。 Figure 18 shows the transportation process. In the transportation process of the first AGV 30A, the first divided route R1 is the starting point, and then it moves to the second divided route R2. In this case, since the second divided route R2 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the second divided route R2 but also the sixth divided route R6 and the ninth divided route R9 are assumed to be in use. In reality, only the second divided route R2 is in use, but the sixth divided route R6 and the ninth divided route R9 are assumed to be in use virtually, and other AGVs 30 are prevented from entering the specific route. After that, the first AGV 30A moves from the second divided route R2 to the fourth divided route R4, the sixth divided route R6, the seventh divided route R7, and the ninth divided route R9 in sequence, and the ninth divided route R9 is also assumed to be in use during that time. Also, the sixth divided route R6 is assumed to be in use until the first AGV 30A moves to the seventh divided route R7. After that, the first AGV 30A moves to the tenth divided route R10, and the movement of the first AGV 30A ends.

第2AGV30Bの搬送工程では、第8分割経路R8を出発地点とし、次に第9分割経路R9に移動する。その場合、第9分割経路R9は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第9分割経路R9だけでなく、第2分割経路R2および第6分割経路R6も使用中とする。実際は、第9分割経路R9しか使用していないが、仮想的に第2分割経路R2および第6分割経路R6を使用しているとして、他のAGV30が特定経路に進入すること防ぐ。その後、第2AGV30Bが第9分割経路R9から第7分割経路R7、第6分割経路R6、第4分割経路R4、第2分割経路R2と順次、移動し、その間は第2分割経路R2も使用中とする。また第2AGV30Bが第4分割経路R4に移動するまで、第6分割経路R6も使用中とする。その後、第2AGV30Bが第3分割経路R3に移動して、第2AGV30Bの移動は終了する。 In the transport process of the second AGV 30B, the eighth divided route R8 is the starting point, and then it moves to the ninth divided route R9. In this case, since the ninth divided route R9 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the ninth divided route R9 but also the second divided route R2 and the sixth divided route R6 are considered to be in use. In reality, only the ninth divided route R9 is used, but the second divided route R2 and the sixth divided route R6 are considered to be in use virtually, and other AGVs 30 are prevented from entering the specific route. After that, the second AGV 30B moves from the ninth divided route R9 to the seventh divided route R7, the sixth divided route R6, the fourth divided route R4, and the second divided route R2 in sequence, and during that time, the second divided route R2 is also in use. Also, the sixth divided route R6 is considered to be in use until the second AGV 30B moves to the fourth divided route R4. After that, the second AGV 30B moves to the third divided path R3, and the movement of the second AGV 30B ends.

第3AGV30Cの搬送工程では、第5分割経路R5を出発地点とし、次に第6分割経路R6に移動する。その場合、第6分割経路R6は特定経路であるので、特定経路への他のAGV30の進入を禁止するために、第6分割経路R6だけでなく、第9分割経路R9も使用中とする。実際は、第6分割経路R6しか使用していないが、仮想的に第9分割経路R9を使用しているとして、他のAGV30が特定経路に進入すること防ぐ。その後、第3AGV30Cが第6分割経路R6から第7分割経路R7、第9分割経路R9と順次、移動し、その間は第9分割経路R9も使用中とする。その後、第3AGV30Cが第10分割経路R10に移動して、第3AGV30Cの移動は終了する。 In the transport process of the third AGV 30C, the fifth split route R5 is the starting point, and then the third AGV 30 moves to the sixth split route R6. In this case, since the sixth split route R6 is a specific route, in order to prohibit other AGVs 30 from entering the specific route, not only the sixth split route R6 but also the ninth split route R9 is considered to be in use. In reality, only the sixth split route R6 is in use, but the ninth split route R9 is considered to be in use virtually, preventing other AGVs 30 from entering the specific route. After that, the third AGV 30C moves from the sixth split route R6 to the seventh split route R7 and the ninth split route R9 in sequence, and during that time the ninth split route R9 is also considered to be in use. After that, the third AGV 30C moves to the tenth split route R10, and the movement of the third AGV 30C ends.

図19には、搬送スケジュールを示す。搬送スケジュールは、図19の搬送工程を入力して、前述の数式(1)のメイクスパンが最小値となるように計算されたものである。図19に示す搬送スケジュールは、ある時刻に、各AGV30が使用する分割経路を示す。 Figure 19 shows the transport schedule. The transport schedule is calculated by inputting the transport process in Figure 19 and making the makespan of the above-mentioned formula (1) the minimum value. The transport schedule shown in Figure 19 shows the divided routes used by each AGV 30 at a certain time.

図19に示すように、第1時刻t1には、第1AGV30Aが第1分割経路R1に位置し、第2AGV30Bが第8分割経路R8に位置し、第3AGV30Cが第5分割経路R5に位置する。その後、第2時刻t2には、第2AGV30Bが第9分割経路R9に移動し、仮想的に第2分割経路R2および第6分割経路R6を使用する。第2時刻t2では、第1AGV30Aおよび第3AGV30Cは移動していない。その後、第3時刻t3、第4時刻t4、第5時刻t5では、第2AGV30Bが、順次、第7分割経路R7、第6分割経路R6、第4分割経路R4と移動する。そして第5時刻t5では、第6分割経路R6は使用されていないので、第3AGV30Cが移動を開始し、第6分割経路R6に移動し、第9分割経路R9も仮想的に使用する。 As shown in FIG. 19, at the first time t1, the first AGV 30A is located on the first split route R1, the second AGV 30B is located on the eighth split route R8, and the third AGV 30C is located on the fifth split route R5. Then, at the second time t2, the second AGV 30B moves to the ninth split route R9, virtually using the second split route R2 and the sixth split route R6. At the second time t2, the first AGV 30A and the third AGV 30C are not moving. Then, at the third time t3, the fourth time t4, and the fifth time t5, the second AGV 30B moves in sequence to the seventh split route R7, the sixth split route R6, and the fourth split route R4. Then, at the fifth time t5, the sixth split route R6 is not being used, so the third AGV 30C starts moving, moves to the sixth split route R6, and virtually uses the ninth split route R9 as well.

その後、第6時刻t6では、第2AGV30Bは、第2分割経路R2に移動する。そして第6時刻t6、第7時刻t7では、第3AGV30Cは第7分割経路R7、第9分割経路R9と順次移動する。その後、第8時刻t8では、第2AGV30Bが第3分割経路R3に移動して、第2AGV30Bの移動が終了する。また第3AGV30Cは、第10分割経路R10に移動して、第3AGV30Cの移動が終了する。 After that, at the sixth time t6, the second AGV 30B moves to the second split route R2. Then, at the sixth time t6 and the seventh time t7, the third AGV 30C moves to the seventh split route R7 and the ninth split route R9 in sequence. Then, at the eighth time t8, the second AGV 30B moves to the third split route R3, and the movement of the second AGV 30B ends. Also, the third AGV 30C moves to the tenth split route R10, and the movement of the third AGV 30C ends.

第1AGV30Aは、第8時刻t8から移動を開始して、第13時刻t13まで、順次、第2分割経路R2、第4分割経路R4、第6分割経路R6、第7分割経路R7、第9分割経路R9、第10分割経路R10と移動するそして、第1AGV30Aは、第10分割経路R10に移動して移動が終了する。 The first AGV 30A starts moving at the eighth time t8, and moves sequentially along the second split path R2, the fourth split path R4, the sixth split path R6, the seventh split path R7, the ninth split path R9, and the tenth split path R10 until the thirteenth time t13.Then, the first AGV 30A moves to the tenth split path R10, and the movement ends.

このように第3の計算事例でも同様に、3台のAGV30の移動経路に特定経路があるが、干渉することなく、順番に特定経路を使用することで、無駄なAGV30の移動もなく、移動を完了することができる。 Similarly, in the third calculation example, there is a specific route among the movement routes of the three AGVs 30, but by using the specific route in turn without interference, the movement can be completed without unnecessary movement of the AGVs 30.

以上説明したように本実施形態の移動制御システム100では、経路は2つのAGV30がすれ違えないので、移動経路が交錯する場合には、AGV30の衝突を避けるために、一方のAGV30を待機させて、他方のAGV30を移動させた後に、一方のAGV30を移動させる必要がある。そこで混合整数計画問題の制約条件に衝突禁止条件を用いて、移動体の衝突を避けつつ、評価値を最小化する搬送スケジュールを計算する。評価値は、全てのAGV30の移動が完了するまでの時間、全てのAGV30の移動時間の総和、AGV30の待機時間の総和などであり、本実施形態ではメイクスパン、すなわち全ての移動体の移動が完了するまでの時間を評価値としている。また混合整数計画問題を解くことによって搬送スケジュールを決定するので、複数回計算を繰り返すことを抑制することができる。 As described above, in the movement control system 100 of this embodiment, the route does not allow two AGVs 30 to pass each other, so when the movement routes intersect, in order to avoid collisions between the AGVs 30, one AGV 30 must be put on hold and the other AGV 30 must be moved before the other AGV 30 is moved. Therefore, a collision prohibition condition is used as a constraint condition for the mixed integer programming problem to calculate a transport schedule that minimizes the evaluation value while avoiding collisions between the moving bodies. The evaluation value is the time until all AGVs 30 complete their movements, the sum of the movement times of all AGVs 30, the sum of the waiting times of AGVs 30, etc., and in this embodiment, the makespan, that is, the time until all moving bodies complete their movements, is used as the evaluation value. In addition, since the transport schedule is determined by solving the mixed integer programming problem, it is possible to suppress the need to repeat calculations multiple times.

さらに設定部141は、特定経路に1つのAGV30が存在すると、他のAGV30が特定経路に進入することができないように搬送工程を設定する。衝突禁止条件だけであると、隣接する分割経路に存在するAGV30の位置が入れ替わることが許容されるが、設定部141によって特定経路への進入が禁止されるので、このような入れ替わることを防止することができる。これによってAGV30のお互いの干渉を回避しつつ、全体の効率をより高めることができる。 Furthermore, the setting unit 141 sets the transport process so that when one AGV 30 is present on a specific route, other AGVs 30 cannot enter the specific route. If there were only a collision prohibition condition, the positions of the AGVs 30 present on adjacent divided routes would be allowed to be swapped, but since the setting unit 141 prohibits entry into the specific route, such swapping can be prevented. This makes it possible to avoid interference between the AGVs 30 while further increasing overall efficiency.

また本実施形態では、設定部141は、特定経路に1つのAGV30が存在する場合には、AGV30が存在する特定経路のうちAGV30の移動方向の部分への他のAGV30の使用を禁止し、移動方向とは反対方向の部分の使用を許可するように搬送工程を設定する。これによって特定経路の全体を進入禁止にするよりも、効率よく特定経路を使用することができる。したがって干渉を回避しつつ、有効に特定経路を活用して効率化することができる。 In addition, in this embodiment, when one AGV 30 is present on a specific route, the setting unit 141 sets the transport process so that other AGVs 30 are prohibited from using the portion of the specific route in the direction of movement of the AGV 30 on which the AGV 30 is present, and is permitted to use the portion in the opposite direction to the direction of movement. This allows the specific route to be used more efficiently than if the entire specific route were prohibited from entry. Therefore, it is possible to effectively utilize the specific route while avoiding interference, thereby improving efficiency.

また本実施形態では、計算部144は、移動経路および搬送工程が設定部141によって変更された場合には、新しい移動経路および搬送工程を入力して、搬送スケジュールを計算する。これによって新しい情報を用いて搬送スケジュールを計算することができる。したがって搬送工程の変更に柔軟に対応することができる。 In addition, in this embodiment, when the movement path and transport process are changed by the setting unit 141, the calculation unit 144 inputs the new movement path and transport process and calculates the transport schedule. This makes it possible to calculate the transport schedule using new information. Therefore, it is possible to flexibly respond to changes in the transport process.

(第2実施形態)
次に、本開示の第2実施形態に関して、図20を用いて説明する。本実施形態では、AGV30の位置情報を用いて、搬送スケジュールを再計算する点に特徴を有する。図20は、本実施形態のサーバ40の処理を示すフローチャートである。図20に示すフローチャートは、サーバ40が電源投入状態において、短時間に繰り返し実行する。
Second Embodiment
Next, a second embodiment of the present disclosure will be described with reference to Fig. 20. This embodiment is characterized in that the transport schedule is recalculated using the position information of the AGV 30. Fig. 20 is a flowchart showing the processing of the server 40 of this embodiment. The flowchart shown in Fig. 20 is repeatedly executed in a short period of time when the server 40 is in a power-on state.

ステップS1では、各AGV30の位置情報を、サーバ用受信部42を介して取得し、ステップS2に移る。ステップS2では、位置情報と搬送スケジュール上の予定位置とを比較して、乖離を計算し、ステップS3に移る。 In step S1, the location information of each AGV 30 is acquired via the server receiver 42, and the process proceeds to step S2. In step S2, the location information is compared with the planned location on the transport schedule, the deviation is calculated, and the process proceeds to step S3.

ステップS3では、乖離が許容範囲内であるか否かを判断し、許容範囲内である場合には、再計算が不要として本フローを終了する。乖離が許容範囲外である場合には、再計算が必要として、ステップS4に移る。 In step S3, it is determined whether the deviation is within the allowable range, and if it is within the allowable range, recalculation is not necessary and the flow ends. If the deviation is outside the allowable range, recalculation is necessary and the flow proceeds to step S4.

ステップS4では、現在位置を考慮して、搬送スケジュールを再計算して、ステップS5に移る。ステップS5では、再計算した搬送スケジュールをサーバ用送信部43から各AGV30に送信するように制御し、本フローを終了する。 In step S4, the transport schedule is recalculated taking into account the current location, and the process proceeds to step S5. In step S5, the recalculated transport schedule is controlled to be transmitted from the server transmission unit 43 to each AGV 30, and this flow ends.

このように計算部144は、AGV30の現在位置と、搬送スケジュールのおける予定位置との差が所定値より大きい場合には、搬送スケジュールを再計算する。これによってAGV30の現在位置と予定位置との乖離に起因して、AGV30が干渉するなどを抑制することができる。 In this way, the calculation unit 144 recalculates the transport schedule when the difference between the current position of the AGV 30 and the planned position in the transport schedule is greater than a predetermined value. This makes it possible to prevent interference by the AGV 30 due to the deviation between the current position of the AGV 30 and the planned position.

(第3実施形態)
次に、本開示の第3実施形態に関して、図21を用いて説明する。本実施形態では、検出装置50の監視情報を用いて、搬送スケジュールを再計算する点に特徴を有する。図21は、本実施形態のサーバ40の処理を示すフローチャートである。図21に示すフローチャートは、サーバ40が電源投入状態において、短時間に繰り返し実行する。
Third Embodiment
Next, a third embodiment of the present disclosure will be described with reference to Fig. 21. This embodiment is characterized in that a transport schedule is recalculated using monitoring information from the detection device 50. Fig. 21 is a flowchart showing the processing of the server 40 in this embodiment. The flowchart shown in Fig. 21 is repeatedly executed in a short period of time when the server 40 is in a power-on state.

ステップS1では、検出装置50から監視情報を、サーバ用受信部42を介して取得し、ステップS2に移る。ステップS2では、監視情報を用いて、AGV30以外の動作物体、たとえば人物の移動方向および移動速度を予測し、ステップS3に移る。 In step S1, monitoring information is acquired from the detection device 50 via the server receiver 42, and the process proceeds to step S2. In step S2, the monitoring information is used to predict the direction and speed of movement of a moving object other than the AGV 30, such as a person, and the process proceeds to step S3.

ステップS3では、動作物体によって搬送スケジュールを再計算する必要があるか否かを判断し、再計算が必要な場合は、ステップS4に移り、再計算が不要な場合は本フローを終了する。再計算が必要な場合は、人物の移動によって、AGV30と人物が干渉するおそれがある場合である。 In step S3, it is determined whether or not the transport schedule needs to be recalculated based on the moving object. If recalculation is necessary, the process proceeds to step S4. If recalculation is not necessary, the process ends. Recalculation is necessary when there is a risk of interference between the AGV 30 and the person due to the movement of the person.

ステップS4では、人物の移動情報を考慮して、搬送スケジュールを再計算して、ステップS5に移る。ステップS5では、再計算した搬送スケジュールをサーバ用送信部43から各AGV30に送信するように制御し、ステップS6に移る。ステップS6では、検出装置50へ動作物体への指示を送信するようにサーバ用制御部45を制御し、本フローを終了する。 In step S4, the transport schedule is recalculated taking into account the movement information of the person, and the process proceeds to step S5. In step S5, the recalculated transport schedule is controlled so that it is transmitted from the server transmission unit 43 to each AGV 30, and the process proceeds to step S6. In step S6, the server control unit 45 is controlled so that it transmits instructions to the moving object to the detection device 50, and this flow ends.

このように設定部141は、移動情報から動作物体の動きを予測して、動作物体を含む移動経路および移動工程を設定する。そして計算部144は、新しい移動経路および移動工程を入力値して、搬送スケジュールを計算する。これによってAGV30と動作物体が干渉するなどを抑制することができる。またサーバ用制御部45は、動作物体への指示を出力するので、たとえば動作物体が止まるように検出装置50の指示部54によって指示することができる。これによって動作物体、たとえば人物は、指示に従って、AGV30の通過を待つ、またはAGV30より先に移動を、安全に行うことができる。 In this way, the setting unit 141 predicts the movement of the animated object from the movement information, and sets a movement route and movement process including the animated object. The calculation unit 144 then inputs the new movement route and movement process to calculate a transport schedule. This makes it possible to prevent interference between the AGV 30 and the animated object. The server control unit 45 also outputs instructions to the animated object, so that, for example, the instruction unit 54 of the detection device 50 can instruct the animated object to stop. This allows the animated object, for example a person, to safely wait for the AGV 30 to pass, or to move ahead of the AGV 30, according to the instructions.

また動作物体への指示を行う場合には、搬送スケジュールを計算する制約条件にAGV30および動作物体の移動の優先順位が設定された優先条件を含む。たとえば動作物体を優先させるのか、AGV30の移動を優先させるのかの条件である。優先順位は、たとえば条件によって変わってもよく、事前に固定されていてもよい。たとえば時間帯によって、優先順位を変えてもよい。また優先度は、AGV30同士および人物との干渉を防ぎながら移動を実現させるために、人物を待たせても良い。またAGV30と混在移動体である人物の優先順位を搬送量や混雑度に応じて決定してもよい。このような優先度、優先順位は、記憶部41に記憶されている。そして優先度に従ったスケジュール計算を、たとえば人物の移動を優先する待ち時間を許さないというno-waitの制約条件を追加することで実現することができる。 When instructions are given to the moving object, the constraint conditions for calculating the transport schedule include a priority condition that sets the priority of the movement of the AGV 30 and the moving object. For example, it is a condition as to whether the moving object or the movement of the AGV 30 is to be prioritized. The priority may vary depending on the conditions, or may be fixed in advance. For example, the priority may vary depending on the time of day. Furthermore, the priority may be set so that the person is made to wait in order to realize the movement while preventing interference between the AGVs 30 and the person. Furthermore, the priority of the person who is a mixed moving object with the AGV 30 may be determined according to the transport volume and the degree of congestion. Such priority and priority order are stored in the memory unit 41. Then, the schedule calculation according to the priority can be realized by adding a no-wait constraint condition that does not allow a waiting time in which the movement of the person is prioritized.

(第4実施形態)
次に、本開示の第4実施形態に関して、図22を用いて説明する。本実施形態では、検出装置50の監視情報を用いて、搬送スケジュールを再計算する点に特徴を有する。図22は、本実施形態のサーバ40の処理を示すフローチャートである。図22に示すフローチャートは、サーバ40が電源投入状態において、短時間に繰り返し実行する。
Fourth Embodiment
Next, a fourth embodiment of the present disclosure will be described with reference to Fig. 22. This embodiment is characterized in that a transport schedule is recalculated using monitoring information from the detection device 50. Fig. 22 is a flowchart showing the processing of the server 40 in this embodiment. The flowchart shown in Fig. 22 is repeatedly executed in a short period of time when the server 40 is in a power-on state.

ステップS1では、検出装置50から監視情報を、サーバ用受信部42を介して取得し、ステップS2に移る。ステップS2では、監視情報を用いて、経路に異常があるか否かを判断し、異常がある場合は、ステップS3に移り、異常がない場合は、本フローを終了する。 In step S1, monitoring information is acquired from the detection device 50 via the server receiver 42, and the process proceeds to step S2. In step S2, the monitoring information is used to determine whether or not there is an abnormality in the route. If there is an abnormality, the process proceeds to step S3, and if there is no abnormality, the process ends.

経路異常には、静的な異常と動的な異常を含む。静的な異常は、事前にわかっている工事などの異常である。動的な異常とは、AGV30の自動制御などに起因する一時停止、荷崩れなどの物理的な不具合による一時停止などが含まれる。 Route abnormalities include static and dynamic abnormalities. Static abnormalities are abnormalities such as construction that are known in advance. Dynamic abnormalities include temporary stops caused by the automatic control of the AGV30, and temporary stops due to physical problems such as cargo shifting.

ステップS3では、経路に異常があるので、異常によって搬送スケジュールを再計算する必要があるか否かを判断し、再計算が必要な場合は、ステップS4に移り、再計算が不要な場合は本フローを終了する。再計算が必要な場合は、異常によって搬送スケジュールの経路で搬送できない場合である。 In step S3, since there is an abnormality in the route, it is determined whether or not the transport schedule needs to be recalculated due to the abnormality. If recalculation is necessary, proceed to step S4, and if recalculation is not necessary, end this flow. Recalculation is necessary when an abnormality prevents transport via the route in the transport schedule.

ステップS4では、経路異常を考慮して、搬送工程を設定し直し、ステップS5に移る。ステップS5では、経路異常を考慮して、搬送スケジュールを再計算して、ステップS6に移る。ステップS6では、再計算した搬送スケジュールをサーバ用送信部43から各AGV30に送信するように制御し、本フローを終了する。 In step S4, the transport process is reconfigured taking into account the route abnormality, and the process proceeds to step S5. In step S5, the transport schedule is recalculated taking into account the route abnormality, and the process proceeds to step S6. In step S6, the recalculated transport schedule is controlled to be transmitted from the server transmission unit 43 to each AGV 30, and the process ends.

このように設定部141は、経路異常がある場合には、移動不可部分を回避する移動経路を設定する。これによって異常がある経路は、AGV30が移動することを抑制することができる。 In this way, when there is a route abnormality, the setting unit 141 sets a movement route that avoids the non-movable portion. This makes it possible to prevent the AGV 30 from moving on the route with the abnormality.

(その他の実施形態)
以上、本開示の好ましい実施形態について説明したが、本開示は前述した実施形態に何ら制限されることなく、本開示の主旨を逸脱しない範囲において種々変形して実施することが可能である。
Other Embodiments
Although the preferred embodiments of the present disclosure have been described above, the present disclosure is not limited to the above-described embodiments and can be modified in various ways without departing from the spirit and scope of the present disclosure.

前述の実施形態の構造は、あくまで例示であって、本開示の範囲はこれらの記載の範囲に限定されるものではない。本開示の範囲は、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味及び範囲内での全ての変更を含むものである。 The structures of the above-described embodiments are merely examples, and the scope of the present disclosure is not limited to the scope of these descriptions. The scope of the present disclosure is indicated by the description of the claims, and further includes all modifications within the meaning and scope equivalent to the description of the claims.

前述の第1実施形態では、移動体は、AGV30によって実現されているが、AGV30に限るものではない。移動体は、同時刻に同じ位置に存在すると衝突や、デッドロックが発生する移動体にはすべて利用可能である。 In the first embodiment described above, the moving object is realized by the AGV 30, but is not limited to the AGV 30. The moving object can be any moving object that would cause a collision or deadlock if it were to exist in the same position at the same time.

たとえば移動体は、閉空間における搬送ロボットであってもよい。閉空間とは、移動体のみが存在できるエリアを区切り、移動体が走行する空間である。移動体は、例えば、製造現場、病院、空港およびデパート内のパトロールロボット、監視ロボット、案内ロボットおよび搬送ロボットであってもよい。 For example, the mobile body may be a transport robot in a closed space. A closed space is a space that defines an area where only the mobile body can exist and in which the mobile body travels. The mobile body may be, for example, a patrol robot, a surveillance robot, a guide robot, or a transport robot in a manufacturing site, a hospital, an airport, or a department store.

また移動体は、道路を走行する車、タクシーおよびバスのようにドライバーが自律的に運転するモビリティであってもよい。その場合は、サーバ用制御部45によって実現されていた機能、たとえば計算部144および設定部141などを車両側に備え、車両側からサーバ40へ目的地と経路を送信してもよい。またサーバ用制御部45とAGV30とが処理が分担するように構成してもよく、たとえば計算部144の機能をサーバ40が有し、設定部141の機能をAGV30が有して、相互に通信することで経路を決定してもよい。さらに移動体は、自動運転車のように運転の仕方を管制制御されるようなモビリティであってもよい。また移動体は、電車および飛行機であってもよい。線路を共有しながら走行する電車、および滑走路を共有しながら利用する飛行機のスケジューリングにも利用することができる。さらに移動体は、ガントリークレーンおよび荷物搬送用のエレベーターなど経路や空間を占有しながら動くものであってもよい。 The moving body may also be a mobility that is driven autonomously by a driver, such as a car, taxi, or bus that runs on a road. In that case, the functions realized by the server control unit 45, such as the calculation unit 144 and the setting unit 141, may be provided on the vehicle side, and the destination and route may be transmitted from the vehicle side to the server 40. The server control unit 45 and the AGV 30 may also be configured to share processing, for example, the server 40 may have the function of the calculation unit 144, and the AGV 30 may have the function of the setting unit 141, and the route may be determined by mutual communication. The moving body may also be a mobility whose driving method is controlled, such as an autonomous vehicle. The moving body may also be a train or an airplane. It can also be used for scheduling trains that run while sharing tracks, and airplanes that use while sharing runways. The moving body may also be something that moves while occupying a route or space, such as a gantry crane and an elevator for transporting luggage.

前述の第1実施形態では、経路は固定されていたが、固定でなくてもよい。経路は、たとえば事前に固定している必要はなく、途中で変更になってもよい。経路が都度変わっても、それを工程に反映し、再度スケジューリング計算をすれば良い。また経路を都度変える制御方法であってもよい。したがって移動体は、無軌道AGVのように監視装置を用いて経路を計算するような移動体であってもよい。 In the first embodiment described above, the route is fixed, but it does not have to be fixed. For example, the route does not have to be fixed in advance and may be changed along the way. Even if the route changes each time, this can be reflected in the process and the scheduling calculations can be performed again. A control method in which the route is changed each time may also be used. Therefore, the mobile object may be a mobile object that calculates the route using a monitoring device, such as a trackless AGV.

またスケジューリング対象は経路全体であってもよく、経路が交差する交差点、経路が重複する特定経路の出入口のみでも良い。経路の交差点ごとにフォーカスを当てて、都度計算してもよい。また、その結果を搬送システムや信号機のような制御に応用することもできる。また設定部141は、特定経路に1つのAGV30がある場合は、特定経路の全体を他のAGV30の使用を禁止するように搬送工程を設定してもよい。 The scheduling target may be the entire route, or only intersections where routes intersect, or entrances and exits of specific routes where routes overlap. Calculations may be performed each time with a focus on each intersection of the route. The results may also be applied to control of transportation systems and traffic lights. Furthermore, when there is one AGV 30 on a specific route, the setting unit 141 may set the transportation process so that the use of other AGVs 30 is prohibited on the entire specific route.

前述の第1実施形態では、図8に示す数式によって搬送スケジュールを決定しているが、このような数式に限るものではない。図8に示した本実施形態の数式は、一例であって、他の式によって搬送スケジュールを計算してもよい。 In the first embodiment described above, the transport schedule is determined by the formula shown in FIG. 8, but the formula is not limited to this. The formula in this embodiment shown in FIG. 8 is only an example, and the transport schedule may be calculated by other formulas.

前述の第1実施形態では、位置検出部33は、GNSS受信器を用いて、AGV30の位置を検出しているが、このような構成に限るものではない。たとえば電波を送受信するIoTルータおよびIoTタグを用いて、IoTタグをAGV30に設け、IoTルータを複数の固定位置に設け、IoTルータと通信する電波強度でIoTタグの位置、すなわちAGV30の位置を推定してもよい。 In the first embodiment described above, the position detection unit 33 detects the position of the AGV 30 using a GNSS receiver, but the present invention is not limited to this configuration. For example, an IoT router and an IoT tag that transmit and receive radio waves may be used, and the IoT tag may be provided on the AGV 30, and the IoT router may be provided at multiple fixed positions, and the position of the IoT tag, i.e., the position of the AGV 30, may be estimated based on the radio wave intensity communicating with the IoT router.

前述の第1実施形態において、サーバ用制御部45によって実現されていた機能は、前述のものとは異なるハードウェアおよびソフトウェア、またはこれらの組み合わせによって実現してもよい。サーバ用制御部45は、たとえば他の制御装置と通信し、他の制御装置が処理の一部または全部を実行してもよい。サーバ用制御部45が電子回路によって実現される場合、それは多数の論理回路を含むデジタル回路、またはアナログ回路によって実現することができる。 The functions realized by the server control unit 45 in the first embodiment described above may be realized by hardware and software different from those described above, or a combination of these. The server control unit 45 may, for example, communicate with another control device, and the other control device may execute some or all of the processing. When the server control unit 45 is realized by an electronic circuit, it may be realized by a digital circuit including a large number of logic circuits, or an analog circuit.

30…AGV(移動体) 31…AGV用受信部 32…AGV用送信部
33…位置検出部 34…AGV用制御部 40…サーバ 41…記憶部
42…サーバ用受信部 43…サーバ用送信部 45…サーバ用制御部(取得部)
50…検出装置 51…周辺監視部 52…検出装置用受信部
53…検出装置用送信部 54…指示部 60…搬送指示装置 61…指示監視部
62…搬送用受信部 63…搬送用送信部 64…入力部
100…移動制御システム 141…設定部 142…予測部 143…判定部
144…計算部 145…移動制御部
30 AGV (mobile object) 31 AGV receiving unit 32 AGV transmitting unit 33 Position detection unit 34 AGV control unit 40 Server 41 Storage unit 42 Server receiving unit 43 Server transmitting unit 45 Server control unit (acquisition unit)
50: Detection device 51: Surroundings monitoring unit 52: Detection device receiving unit 53: Detection device transmitting unit 54: Instruction unit 60: Transport instruction device 61: Instruction monitoring unit 62: Transport receiving unit 63: Transport transmitting unit 64: Input unit 100: Movement control system 141: Setting unit 142: Prediction unit 143: Determination unit 144: Calculation unit 145: Movement control unit

Claims (7)

経路上を移動する複数の移動体(30)の移動を制御する移動体制御装置であって、
前記経路は、2つの前記移動体がすれ違えない経路であり、
複数の前記移動体の出発地点と終着地点とを結ぶ移動経路、および前記移動経路を移動する移動工程を設定する設定部(141)と、
前記移動経路および前記移動工程を入力値して、制約条件を満たしつつ所定の評価値を最小化することを目的とする混合整数計画問題を解くことによって、前記移動体の移動スケジュールを計算する計算部(144)と、
前記移動スケジュールによって各前記移動体の移動を制御する移動制御部(145)と、を含み、
前記制約条件には、前記経路を少なくとも前記移動体よりも大きい長さで分割した分割経路において、前記移動体が次の前記分割経路への移動が完了するまで、移動が完了前の前記分割経路は他の前記移動体による利用を禁止する衝突禁止条件があり、
前記設定部は、少なくとも2つの前記移動体の前記移動経路が重複して、前記移動体の移動方向が対向することによって、前記移動体が干渉する可能性がある特定経路では、前記特定経路に1つの前記移動体が存在する場合には、前記移動体が存在する前記特定経路では他の前記移動体の使用を禁止するように前記移動工程を設定する移動体制御装置。
A mobile object control device that controls the movement of a plurality of mobile objects (30) moving on a route,
the route is a route in which the two moving bodies cannot pass each other,
A setting unit (141) that sets a travel route connecting a starting point and a destination point of a plurality of the moving bodies and a travel process for traveling along the travel route;
a calculation unit (144) that calculates a movement schedule of the moving object by solving a mixed integer programming problem having an objective of minimizing a predetermined evaluation value while satisfying a constraint condition, using the movement route and the movement process as input values;
a movement control unit (145) that controls the movement of each of the moving bodies according to the movement schedule;
The constraint conditions include a collision prohibition condition that prohibits another moving object from using a divided route obtained by dividing the route into divided routes at least at a length greater than that of the moving object until the moving object has completed moving to the next divided route, and
The setting unit is a mobile body control device that sets the movement process so that, when one of the moving bodies is present on a specific route where the movement paths of at least two of the moving bodies overlap and the moving directions of the moving bodies are opposed, which may cause interference between the moving bodies, the setting unit prohibits the use of the other moving body on the specific route on which the moving body is present.
前記設定部は、前記特定経路に1つの前記移動体が存在する場合には、前記移動体が存在する前記特定経路のうち前記移動体の移動方向の部分への他の前記移動体の使用を禁止し、移動方向とは反対方向の部分の使用を許可するように前記移動工程を設定する請求項1に記載の移動体制御装置。 The mobile body control device according to claim 1, wherein the setting unit sets the movement process so that, when one of the mobile bodies is present on the specific route, the setting unit prohibits other mobile bodies from using the specific route on the portion of the specific route on which the mobile body is present in the direction of movement of the mobile body, and allows the use of the portion in the opposite direction to the direction of movement of the mobile body. 前記計算部は、前記移動経路および前記移動工程が前記設定部によって変更された場合には、新しい前記移動経路および前記移動工程を入力値して、前記移動スケジュールを計算する請求項1または2に記載の移動体制御装置。 The mobile object control device according to claim 1 or 2, wherein when the travel route and the travel process are changed by the setting unit, the calculation unit inputs the new travel route and the travel process to calculate the travel schedule. 前記移動体の現在位置を取得する取得部(45)をさらに含み、
前記計算部は、前記移動体の現在位置と、前記移動スケジュールのおける予定位置との差が所定値より大きい場合には、前記移動スケジュールを再計算する請求項1~3のいずれか1つに記載の移動体制御装置。
Further comprising an acquisition unit (45) for acquiring a current position of the moving body,
4. The mobile object control device according to claim 1, wherein the calculation unit recalculates the movement schedule when a difference between a current position of the mobile object and a planned position in the movement schedule is greater than a predetermined value.
前記経路を移動する前記移動体以外の動作物体の移動情報を取得する取得部(45)と、
前記動作物体に移動を指示する指示部(54)と、をさらに含み、
前記設定部は、前記移動情報から前記動作物体の動きを予測して、前記動作物体を含む前記移動経路および前記移動工程を設定し、
前記計算部は、新しい前記移動経路および前記移動工程を入力値して、前記移動スケジュールを計算し、
前記移動制御部は、前記指示部に前記動作物体への指示を出力するように制御する請求項1~4のいずれか1つに記載の移動体制御装置。
An acquisition unit (45) for acquiring movement information of an action object other than the moving body moving along the route;
An instruction unit (54) for instructing the operation object to move,
the setting unit predicts a movement of the action object from the movement information, and sets the movement path and the movement process including the action object;
the calculation unit calculates the movement schedule using the new movement route and the movement process as input values;
5. The mobile object control device according to claim 1, wherein the movement control section controls the instruction section to output an instruction to the operating object.
前記制約条件には、前記移動体および前記動作物体の移動の優先順位が設定された優先条件を含む請求項5に記載の移動体制御装置。 The mobile object control device according to claim 5, wherein the constraint conditions include a priority condition that sets the priority of the movement of the mobile object and the moving object. 前記経路における移動不可部分を取得する取得部(45)をさらに含み、
前記設定部は、前記移動不可部分を回避する前記移動経路を設定する請求項1~6のいずれか1つに記載の移動体制御装置。
An acquisition unit (45) for acquiring an immovable portion of the route,
7. The mobile object control device according to claim 1, wherein the setting unit sets the movement route so as to avoid the non-movable portion.
JP2021185008A 2021-11-12 2021-11-12 Mobile control device Active JP7600964B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021185008A JP7600964B2 (en) 2021-11-12 2021-11-12 Mobile control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021185008A JP7600964B2 (en) 2021-11-12 2021-11-12 Mobile control device

Publications (2)

Publication Number Publication Date
JP2023072447A JP2023072447A (en) 2023-05-24
JP7600964B2 true JP7600964B2 (en) 2024-12-17

Family

ID=86424443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021185008A Active JP7600964B2 (en) 2021-11-12 2021-11-12 Mobile control device

Country Status (1)

Country Link
JP (1) JP7600964B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117325185B (en) * 2023-11-27 2024-04-09 成都越凡创新科技有限公司 Method for removing deadlock of mobile robot and scheduling equipment
WO2025116305A1 (en) * 2023-11-29 2025-06-05 주식회사 도구공간 Method for controlling traveling of plurality of mobile robots
CN119479363B (en) * 2025-01-16 2025-06-03 天津赛象云科技有限公司 AGV traffic control system and method based on collision detection and arrival time

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280213A (en) 2003-03-13 2004-10-07 Japan Science & Technology Agency Distributed route planning apparatus and method, distributed route planning program
WO2023007849A1 (en) 2021-07-30 2023-02-02 Mitsubishi Electric Corporation Global multi-vehicle decision making system for connected and automated vehicles in dynamic environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280213A (en) 2003-03-13 2004-10-07 Japan Science & Technology Agency Distributed route planning apparatus and method, distributed route planning program
WO2023007849A1 (en) 2021-07-30 2023-02-02 Mitsubishi Electric Corporation Global multi-vehicle decision making system for connected and automated vehicles in dynamic environment

Also Published As

Publication number Publication date
JP2023072447A (en) 2023-05-24

Similar Documents

Publication Publication Date Title
JP7651071B2 (en) Global Multi-Vehicle Decision-Making System for Connected and Autonomous Vehicles in Dynamic Environments
JP7600964B2 (en) Mobile control device
US11414130B2 (en) Methods and systems for lane changes using a multi-corridor representation of local route regions
JP7669451B2 (en) Information processing device, information processing method, computer program, and information processing system
US10317911B2 (en) Creating aisle access for autonomous vehicle parking
JP7014018B2 (en) Control system
US9298186B2 (en) Methods for operation of autonomous vehicles in special control zones
JP2025512114A (en) SYSTEM AND METHOD FOR COOPERATIVE CONTROL OF CONNECTED AUTONOMOUS VEHICLES (CAV) AND MANUALLY OPERATED CONNECTED VEHICLES (MCV)
JP2021012690A (en) System for controlling plural autonomous vehicles on mine site
CN107437337A (en) Automatic guided vehicle magnitude of traffic flow control method, system and its traffic controller
CN114620058A (en) Trajectory planning method, trajectory planning device, computing apparatus, moving object, and storage medium
CN113470422A (en) Housing area management device
CN114287024B (en) Traffic control system, computer-readable storage device, traffic control method, and travel control device
JP7260792B2 (en) Control device and control system
US11280624B2 (en) Control device, control system, movable object, control method, and program
US20250054387A1 (en) Management system
JP2024123692A (en) Mobile control device
CN115167454B (en) Control method, device, electronic device and storage medium for robot
JP7609642B2 (en) Route Guidance System
US20260111041A1 (en) Information processing method, information processing device, and recording medium
JP2025067407A (en) Operation management device
CN119301535A (en) Systems and methods for inbound and outbound autonomous vehicle operations
CN121219758A (en) Mobile body control device, mobile body control system, control of mobile body, and mobile body control method
CN117589181A (en) A method, device and vehicle for determining vehicle driving trajectory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240307

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20241031

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20241105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241118

R150 Certificate of patent or registration of utility model

Ref document number: 7600964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150