次に、図面を参照して本発明の実施の形態を説明する。図1は、本発明の一実施形態に係る搬送システム100を用いる工場10を示す模式図である。
本発明の一実施形態に係る搬送システム(走行システム)100は、例えば、図1に示すような、複数の処理装置1を有する半導体製造工場10等に設けられ、FOUP(Front Opening Unify Pod)等の搬送対象物を搬送するための自動搬送システムである。この搬送システム100は、図2に示すように、複数の搬送台車(走行装置であるビークル)2と、搬送台車管理部(コントローラ)3と、を備える。
処理装置1は、半導体を製造するための様々な処理を行う装置である。なお、搬送システム100が設けられる工場10には、処理装置1の代わりに、或いは処理装置1に加えて、種々の設備が備えられる。例えば、複数のFOUPを保管可能とされた自動倉庫や、部品や材料等の荷物を収納可能な多数の収納空間が形成されているスタッカラック等の保存装置等が配置されても良い。
搬送台車2は、軌道4の上で走行して、処理装置1の間で荷物を自動で搬送する搬送装置である。軌道4は、例えば床面に貼り付けられた磁気テープ等の誘導用テープ、或いはバーコード等からなる。また、軌道4は、搬送台車2の図略の走行輪が当該軌道4に沿って走行するように、搬送台車2側、及び軌道4側の少なくとも一方に設けられたガイド部であっても良い。更に、軌道4は、例えば工場10の天井から吊り下げられて設けられるガイド部等であっても良い。
搬送台車2は、図略の多関節のロボットアーム等を備えており、荷積み及び荷下ろしを行うことができる。搬送台車2としては、例えば、AGV(Automated Guided Vehicle)或いはOHT(Overhead Hoist Transfer)を用いることができる。
搬送台車2は、後述の搬送台車管理部3から割り付けられた搬送タスクに基づく走行計画に従って、自動走行を行う。具体的には、搬送台車2は、指定された荷積み指定位置P1から荷下ろし指定位置P2まで、指定荷物を搬送する。なお、当該自動走行は、衝突回避等による一時停止等を含む。
ところで、上記搬送タスクは、荷積み指定位置P1で荷積みした指定荷物を、荷下ろし指定位置P2まで搬送する搬送指令である。即ち、搬送タスクには、荷積み指定位置P1及び荷下ろし指定位置P2の位置情報等が含まれている。搬送タスクには、これに加えて、荷積み指定位置P1から荷下ろし指定位置P2まで搬送される対象となる荷物(指定荷物)の識別情報が含まれていても良い。
本実施形態の搬送タスクには、上記に加えて、第1指定時刻及び第2指定時刻が含まれている。第1指定時刻は、搬送台車が荷積み指定位置P1に到着すべき時刻として指定された時刻である。第2指定時刻は、搬送台車2が荷下ろし指定位置P2に到着すべき時刻として指定された時刻である。本明細書において、第2指定時刻Tsetは、到着時刻と呼ばれることもある。
上記走行計画は、搬送台車2の自動走行における走行経路及び走行タイミングに関する計画である。この走行計画は、搬送台車管理部3が搬送台車2に搬送タスクを割り付けること(又は、割付を試みること)に伴って立案される。
搬送台車2は、図2に示すように、台車制御部20と、台車信号送受信部21と、を備える。
台車制御部20は、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等を有する公知のコンピュータとして構成されている。
台車制御部20は、搬送台車2が備える図略の多関節のロボットアーム或いはホイスト等の移載機構による荷物の移載動作、及び当該搬送台車2が備える図略の走行機構による自動走行等を制御する。
台車信号送受信部21は、搬送台車管理部3と無線通信可能に構成されている。無線通信の方式は任意であるが、例えば、無線LANを用いることが考えられる。台車信号送受信部21は、無線通信により、搬送台車2の自己位置を搬送台車管理部3に送信したり、割り付けられた搬送タスク及び搬送タスクに対応する関連情報等を搬送台車管理部3から受信したりすることができる。なお、無線通信の方式として、漏洩フィーダー線や漏洩同軸ケーブルを用いた通信であっても良い。
搬送台車管理部3は、例えば、上述の台車制御部20と同じように、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等を有する公知のコンピュータとして構成される。
搬送台車管理部3は、図示しない上層の生産管理部等から与えられた複数の搬送タスクのそれぞれを、管理している複数の搬送台車2の何れかに割り付け、搬送台車2に対して、割り付ける搬送タスクに対応する走行計画を決定する。
搬送台車管理部3は、搬送タスクに対して、搬送台車2が出発位置から荷積み指定位置P1まで走行する走行計画と、荷積み指定位置P1(出発地点)から荷下ろし指定位置P2(到着地点)まで走行する走行計画と、をそれぞれ決定する。
ところで、上記出発位置とは、搬送タスクを開始する予め指定されたタスク開始時刻における搬送台車2の現在位置である。タスク開始時刻としては、例えば、搬送台車2が搬送台車管理部3から搬送タスクを受信した時刻を設定することができる。しかし、これに限定されず、タスク開始時刻は、搬送タスクを受信した後の任意の時刻に設定することもできる。
搬送台車管理部3は、予め生成された走行経路グラフ(第1グラフ)を記憶している。走行経路グラフは、搬送台車2が走行可能な経路を抽象化してグラフとして表したものである。当該走行経路グラフは、複数の地点ノードと、当該地点ノード同士の間を繋ぐ地点間エッジと、から構成される。この走行経路グラフにより、ある地点から他の地点に走行するための1又は複数のルートを探索することができる。搬送台車2の出発位置、荷積み指定位置P1及び荷下ろし指定位置P2は、何れも、走行経路グラフにおける地点ノードの形で特定される。
複数の地点ノードが示す現実の地点は、軌道4上に、例えば搬送台車2の単位時間あたりの移動量に対応する間隔をあけて並んで位置する。しかし、これに限定されず、地点ノードは、例えば、各処理装置1の位置を示すように設定しても良い。複数の地点ノードが示す現実の地点は、必ずしも距離的に等間隔で設定される必要がなく、搬送台車2の加減速度に応じて非等間隔で設定することも可能である。当該地点は、単位時間に対応する間隔で定められると、後述の状態遷移コストの計算が容易になるため好ましい。
それぞれの地点間エッジは、走行コストの情報を有している。走行経路グラフにおける走行コストは、当該地点間エッジにより繋がれる地点ノード同士のうち、1つの地点ノードから他の地点ノードまで搬送台車2が走行するのに必要となる時間として定義されている。この走行コストの情報を用いることで、ある地点から他の地点へ走行する場合の走行所要時間を計算により得ることができる。
図3には、走行経路グラフの例が示されている。図3において、地点ノードは、丸付き数字で描かれている。数字は、地点ノードを一意に特定する番号である。以下では、地点ノードを示す丸付き数字を、例えば地点ノード(1)というように、カッコつきの数字で表すことがある。地点間エッジは、2つの地点ノードを結ぶ矢印で表現されている。
本実施形態において、走行経路グラフは有向グラフとして表されているが、これは、軌道4の経路が一方通行であるためである。軌道4の両面通行が可能である場合は、走行経路グラフを無向グラフで表すこともできる。
以下では、図3に示す地点ノード(20)を搬送台車2の出発位置とし、地点ノード(1)を荷積み指定位置P1とし、地点ノード(5)を荷下ろし指定位置P2とした場合を例に説明する。
搬送台車管理部3は、先ず、搬送台車2が出発位置から最短時間で荷積み指定位置P1に到着するように、出発位置から荷積み指定位置P1までの走行計画を決定する。当該走行計画は、例えば、上述の走行経路グラフにおいて、出発位置の地点ノード(20)から荷積み指定位置P1の地点ノード(1)までの最短経路を、ダイクストラ法又はA*アルゴリズム等によって算出することにより得ることができる。
ダイクストラ法は、各地点ノードへの最短経路を、始点である地点ノード(20)の周辺から1箇所ずつ確定し、終点である地点ノード(1)まで徐々に範囲を広げていく最短経路探索方法である。なお、当該ダイクストラ法は公知であるため、詳細な説明を省略する。
続いて、搬送台車管理部3は、走行計画決定方法(ビークル走行決定方法)を用いて、搬送台車2が荷積み指定位置P1から荷下ろし指定位置P2まで走行する走行計画を決定する。本実施形態の走行計画決定方法は、搬送台車2が荷下ろし指定位置P2になるべく第2指定時刻Tsetに丁度間に合うように到着するように、搬送台車2の走行計画を決定することができる。即ち、JIT性を考慮した走行計画を決定することができる。
搬送台車2に割り付ける搬送タスクにおいて、荷積み指定位置P1を表す地点ノード(出発地点ノード)、及び、荷下ろし指定位置P2を表す地点ノード(到着地点ノード)は、任意に選択される。以下では、出発地点ノードが図3の地点ノード(1)に指定され、到着地点ノードが、図3の地点ノード(5)に指定された場合を例にして説明する。
搬送台車管理部3は、後述のコスト最小遷移経路(コスト最小グラフ経路)を求めるために、時空間グラフ(第2グラフ)を生成する。この時空間グラフは、搬送台車2の位置と走行タイミングを同時に表現するものである。
時空間グラフは、例えば図4に示すように、複数の状態ノードと、複数の状態遷移エッジと、を含む。状態ノードは、図4において丸印で表されている。状態ノードは、ある地点ノードに、ある時刻に、搬送台車2が位置する状態を表す。図4の丸印の中の数字は、地点ノードの番号である。図4において、状態ノード(丸印)の位置は、対応する時刻が古い程左に、新しい程右となるように配置されている。
それぞれの状態ノードは、搬送台車2の位置と、時刻と、の組合せを表している。例えば、図4の一番下の行にある8つの状態ノードは、搬送台車2が各時刻に地点ノード(1)に位置する状態のそれぞれを表している。
状態遷移エッジは、状態ノード同士の間を繋ぐエッジであって、搬送台車2が、当該状態遷移エッジの前に繋がれた状態ノードから、当該状態遷移エッジの後に繋がれた状態ノードに遷移可能であることを表している。
状態遷移エッジは、図4に示す台車停止エッジ(ビークル停止エッジ)5と、台車移動エッジ(ビークル移動エッジ)6と、を含む。
台車停止エッジ5とは、同一の地点ノードを示すとともに、単位時間だけ異なっている時刻を示す状態ノード同士を繋ぐエッジである。図4において、台車停止エッジ5は、水平の矢印で表される。
台車移動エッジ6とは、異なる地点ノードを示すとともに、単位時間だけ異なっている時刻を示す状態ノード同士を繋ぐエッジである。図4において、台車移動エッジ6は、斜めの矢印で表される。
時間を戻すことはできないため、状態遷移エッジは何れも、前の時刻の状態ノードから、単位時間だけ後の時刻の状態ノードへ向かう矢印で表現される。従って、時空間グラフは有向グラフである。
図4において最も左下に位置する状態ノードは、荷積み指定位置P1で荷積みを完了し荷積み指定位置P1から出発する出発時刻(例えば、後述の時刻t=0)に、地点ノード(1)に搬送台車2が位置する状態を表す。
このt=0の時刻は、時刻の基準として用いられるので、以下では基準時刻と呼ぶことがある。また、以下では、それぞれの状態ノードを特定するために、時刻tと、搬送台車2が位置する地点ノードの番号nと、を用いて、例えば[t=0,n=1]のように表すことがある。
[t=0,n=1]の状態ノード、言い換えれば図4の最も左下の状態ノードは、搬送台車2の走行に関する状態が様々に遷移する起点として考えることができる。従って、以下では、この状態ノードを起点状態ノードと呼ぶことがある。時空間グラフは、起点状態ノードを起点として展開するように作成される。
起点状態ノードは、t=0の時刻において地点ノード(1)に搬送台車2が位置する状態を示す。この状態から取り得る遷移としては、搬送台車2がそのまま地点ノード(1)に停止しているか、地点ノード(2)へ走行するか、の2とおりである。
搬送台車2が地点ノード(1)に停止する場合は、起点状態ノード[t=0,n=1]から、t=1の時刻において地点ノード(1)に搬送台車2が位置する状態を示す状態ノード[t=1,n=1]に、状態が遷移する(台車停止エッジ5)。
搬送台車2が地点ノード(1)から地点ノード(2)へ走行する場合は、起点状態ノード[t=0,n=1]から、t=1の時刻において地点ノード(2)に搬送台車2が位置する状態を示す状態ノード[t=1,n=2]に、状態が遷移する(台車移動エッジ6)。
このように、それぞれの状態遷移エッジは、単位時間だけ時間が経過することに伴う状態の遷移を表している。
図3の走行経路グラフで示すように、地点ノード(1)から搬送台車2が走行する場合、地点ノード(2)に行く以外の選択肢はない。地点ノード(2)〜(4)のそれぞれにおいても、当該地点ノードから搬送台車2が走行する場合の行先の選択肢(地点ノード)は1つだけである。従って、この場合の時空間グラフは、図4に示すように、1つの台車移動エッジ6と1つの台車停止エッジ5からなる2つの分岐が反復されるシンプルな形状となっている。
一方で、例えば地点ノード(22)から搬送台車2が走行する場合は、行先として、地点ノード(8)及び地点ノード(23)のうち何れかを選択できる。このように行先が分岐している場合、時空間グラフにおいては、行先の地点ノードに応じた数の台車移動エッジ6が生成される。従って、時空間グラフは、図4に示す例よりも複雑になる。搬送台車2が現在の地点ノードから何れの地点ノードに移動できるかは、走行経路グラフを参照することで容易に得ることができる。
前記時空間グラフを作成するにあたって、搬送台車管理部3は、それぞれの状態遷移エッジにおける状態遷移コストd
σaσbを、下記の式(1)を用いて計算する。
ただし、σは、時刻tに地点ノード(n)に搬送台車2が位置する状態を示す状態ノードである。n
σは、状態ノードが示す地点ノードの番号である。t
σは、状態ノードが示す時刻である。σ
aは、状態遷移エッジで繋がれる2つの状態ノードのうち、時刻が古い側(遷移前)の状態ノードであり、σ
bは、時刻が新しい側(遷移後)の状態ノードである。T
setは、荷下ろし指定位置P2に到着すべき時刻として指定された時刻(第2指定時刻)である。αは、後述の過早コストに関する第1パラメータである。γは、後述の遅滞コストに関する第2パラメータである。βは、後述の停止コストに関する第3パラメータである。
上記の式(1)に示すように、状態遷移エッジの状態遷移コストは、当該状態遷移エッジが示す遷移の後に対応する時刻tσbと、第2指定時刻Tsetと、の差に応じて設定されている。
式(1)の上側の式は、状態遷移エッジに含まれる台車移動エッジ6(図4において斜めに向かう矢印)における状態遷移コストを計算するために用いられる。
式(1)の上側の式には、下記の式(2)及び式(3)に示す項が含まれている。
式(2)の項は、搬送台車2の走行タイミングが早過ぎることを否定的に評価するためのコスト(過早コスト)を計算する項である。この過早コストの項は、任意の地点ノードに搬送台車2が移動するときの時刻t
σbが第2指定時刻T
set以降である場合は、ゼロとなるが、そうでない場合は、正の値となる。過早コストは、任意の地点ノードに搬送台車2が移動するときの時刻t
σbが第2指定時刻T
setよりも早ければ早い程、高くなるように計算される。式(2)に含まれる第1パラメータαは、重み付けのためのものであり、適宜設定することができる。
式(3)の項は、搬送台車2の走行タイミングが遅過ぎることを否定的に評価するためのコスト(遅滞コスト)を計算する項である。この遅滞コストの項は、任意の地点ノードに搬送台車2が移動するときの時刻t
σbが第2指定時刻T
set以前である場合は、ゼロとなるが、そうでない場合は、正の値となる。遅滞コストは、任意の地点ノードに搬送台車2が移動するときの時刻t
σbが第2指定時刻T
setよりも遅ければ遅い程、高くなるように計算される。式(3)に含まれる第2パラメータγは、重み付けのためのものであり、適宜設定することができる。
上記式(1)の下側の式は、状態遷移エッジに含まれる台車停止エッジ5(図4において水平に向かう矢印)における状態遷移コストを計算するために用いられる。
式(1)の下側の式には、下記の式(4)及び上記式(3)に示す項が含まれている。
式(4)の項は、搬送台車2が停止している(言い換えれば、搬送台車2が荷物の搬送に寄与していない)ことを否定的に評価するためのコスト(停止コスト)を計算する項である。この停止コストの項は、任意の地点ノードで搬送台車2が停止するときに、そのときの時刻t
σbが遅ければ遅いほど、高くなるように計算される。この停止コストにより、搬送台車2を効率的に活用して荷物を搬送することが促される。式(4)に含まれる第3パラメータβは、重み付けのためのものであり、適宜設定することができる。
ある地点ノードから他の地点ノードへ搬送台車2が走行して移動する場合、この状態遷移(台車移動エッジ6で表される状態遷移)に伴う状態遷移コストは、過早コスト及び遅滞コストの和である。一方、ある地点ノードで搬送台車2が停止する場合、この状態遷移(台車停止エッジ5で表される状態遷移)の状態遷移コストは、遅滞コスト及び停止コストの和である。
以上を総合的に考慮すれば、荷積み指定位置P1から荷下ろし指定位置P2へ走行する場合に、例えば図4の太線矢印に示すように、荷下ろし指定位置P2(地点ノード(5))への到着が第2指定時刻Tsetに遅れないぎりぎりのタイミングまで搬送台車2が荷積み指定位置P1(地点ノード(1))からあまり動かず、その後に走行を開始し、第2指定時刻Tsetぴったりのタイミングで搬送台車2が荷下ろし指定位置P2に到着すると、遅滞コストをゼロにできるとともに、停止コスト及び過早コストを小さくできることになる。
以下では、この時空間グラフにおいて、[t=0,n=1]の状態ノードを、スタート状態ノードと呼ぶことがある。また、[t=任意,n=5]の状態ノードを、ゴール状態ノードと呼ぶことがある。
スタート状態ノードは、起点状態ノードと一致する。スタート状態ノードは、時刻t=0に、荷積み指定位置P1に搬送台車2が位置する状態を表す状態ノードである。ゴール状態ノードは、任意の時刻tに、荷下ろし指定位置P2に搬送台車2が位置する状態を表す状態ノードである。図4において、スタート状態ノードはS、ゴール状態ノードはGで示されている。スタート状態ノードSから何れかのゴール状態ノードGへ至るグラフ経路は、タイミングはともかくとして、荷積み指定位置P1から荷下ろし指定位置P2までの荷物の搬送を実現できるグラフ経路である。
本実施形態の走行計画決定方法では、スタート状態ノードSから何れかのゴール状態ノードGに至るグラフ経路のうち、状態遷移コストの総和が最小となる経路(コスト最小グラフ経路)を、ダイクストラ法を用いて求める。第1パラメータα、第2パラメータγ、及び第3パラメータβの設定等にもよるが、図4の太線矢印で示したグラフ経路は、コスト最小グラフ経路となる可能性が高いグラフ経路である。
第1パラメータα、第2パラメータγ、及び第3パラメータβのそれぞれを適当に設定することで、本実施形態の走行計画決定方法は、JIT性のみに適した走行計画、搬送効率(即ち、ある搬送タスクに対応する自動走行に要した総走行時間)のみに適した走行計画、及びJIT性及び搬送効率(総走行時間)の両方を異なる重みで考慮した最適な走行計画等を決定することができる。例えば、第2パラメータγを第1パラメータα及び第3パラメータβよりも大きく設定することで、荷物の到着の遅れを避けることを重視した走行計画となる。
次に、上述のコスト最小遷移経路をダイクストラ法で求める方法に関して、具体的に説明する。この方法は、初期処理及びループ処理を含む。以下では、図5の各矢印の数字で示すように状態遷移コストが定められている場合を例として説明する。説明の煩雑さを避けるため、図5に示した状態遷移コストは、上述の式(1)には従っていない、説明用の簡単な整数値となっている。
初期処理においては、搬送台車管理部3は、上記のように作成された時空間グラフの起点状態ノード([t=0,n=1]の状態ノード)を確定ノードとし、当該起点状態ノードの確定コストを所定値(例えば0)とする。この状態が図5に示されている。図5以降では、確定ノードはハッチングで示され、確定コストは四角囲みの数値で示されている。
上記のように初期処理を行った後、搬送台車管理部3は、下記の第1ステップ、第2ステップ、第3ステップ、及び第4ステップを含むループ処理を行う。
ループ処理を開始すると、搬送台車管理部3は、確定ノードとなっていない他の状態ノードであって、確定ノードに対して状態遷移エッジによって繋がりながら隣接する状態ノードである隣接状態ノードを求める(第1ステップ)。
図5の状態では、確定ノードが[t=0,n=1]の1つだけである。従って、この状態で第1ステップが行われると、隣接状態ノードは、[t=1,n=1]と、[t=1,n=2]と、の2つとなる。
そして、搬送台車管理部3は、求めた隣接状態ノードのうち、初期処理又は前回のループ処理で新しく確定ノードとなった新確定ノードに対して状態遷移エッジによって繋がりながら隣接する隣接状態ノードのそれぞれに至る状態遷移コスト累積値を求める(第2ステップ)。
この第2ステップにおいては、搬送台車管理部3は、上記のように対象となったそれぞれの隣接状態ノードに至る状態遷移コスト累積値を、上記新確定ノードにおける確定コストに、新確定ノードと当該隣接状態ノードとを繋ぐ状態遷移エッジにおける状態遷移コスト(コスト)を加算することで求める。
第2ステップの結果が図6に示されている。新確定ノード[t=0,n=1]の確定コストは0であるので、隣接状態ノード[t=1,n=1]の状態遷移コスト累積値は、0に状態遷移コストの7を加算して、7となる。隣接状態ノード[t=1,n=2]の状態遷移コスト累積値は、0に状態遷移コストの2を加算して、2となる。図6において、状態遷移コスト累積値は、下線付きの数字で示されている。
続いて、搬送台車管理部3は、それぞれの隣接状態ノードについて、初回から今回までのループ処理における上記の第2ステップで求められた状態遷移コスト累積値のうち、最良(値が最小)である状態遷移コスト累積値を、状態遷移コスト累積最良値として求める(第3ステップ)。
図6の状態で、隣接状態ノード[t=1,n=1]の状態遷移コスト累積値は7であるが、初回のループであるので、当該隣接状態ノードに関しては、この状態遷移コスト累積値が最小である。従って、当該隣接状態ノードの状態遷移コスト累積最良値は7である。隣接状態ノード[t=1,n=2]も同様に考えて、状態遷移コスト累積最良値は2となる。
次に、搬送台車管理部3は、それぞれの隣接状態ノードのうち、上記のように求められた状態遷移コスト累積最良値が最も小さい隣接状態ノードを確定ノードとし、当該隣接状態ノードの状態遷移コスト累積最良値を確定コストとする(第4ステップ)。
第4ステップの結果が図7に示されている。最小となる状態遷移コスト累積最良値は2であるので、[t=1,n=2]の状態ノードが新しく確定ノードとなり、その確定コストは2となる。
搬送台車管理部3は、上記のループ処理を反復することで、確定ノード及び確定コストを1つずつ順次求めていく。
図7の状態から、第2ステップ、第3ステップ、及び第4ステップが再び行われた結果が、図8に示されている。図7の状態で、隣接状態ノードは、[t=1,n=1]と、[t=2,n=2]と、[t=2,n=3]と、の3つとなる。それぞれの隣接状態ノードの状態遷移コスト累積値は、[t=1,n=1]が7、[t=2,n=2]が3、[t=2,n=3]が5であり、これらの値がそのまま状態遷移コスト累積最良値となる。従って、図8に示すように[t=2,n=2]の状態ノードが新しく確定ノードとなり、その確定コストは3となる。
このように、ダイクストラ法では、スタート状態ノードの周辺から1つずつ順次確定し、ゴール状態ノードまで徐々に範囲を広げていく最短経路探索を行う。
上記のループ処理を繰り返していくと、やがて、図9の[t=5,n=5]の状態ノードで示すように、複数あるゴール状態ノードのうち何れかが確定ノードとなる。上述のとおり、状態ノードは、その状態遷移コスト累積最良値が小さいものから順に確定していくので(探索の最良優先性)、この時点で、当該確定ノードに至るグラフ経路がコスト最小遷移経路であるということができる。このように、図5の時空間グラフにおけるコスト最小遷移経路は、図9の太線矢印で示すグラフ経路として求めることができる。
搬送台車管理部3は、求めたコスト最小遷移経路に基づいて、搬送台車2が走行する走行経路(即ち、コスト最小遷移経路に含まれる各状態ノードが示す地点ノード)、及び走行タイミング(即ち、各位置に位置する時刻)を含む走行計画を決定する。
続いて、搬送台車管理部3は、搬送タスクのそれぞれを割り付ける対象の搬送台車2のそれぞれに対して、上記のように走行計画を仮決定した後、各搬送台車2が走行計画に従って自動走行を行うとき、互いに干渉するか否かを確認する。
異なる搬送台車2に対して、上記のように決定された走行計画に従って、搬送台車2同士間の衝突(干渉)が発生する場合、搬送台車管理部3は、衝突する同士の搬送台車2のうち、ランダムで選んだ搬送台車2に対して、決定した走行計画を変更する。
例えば、図10に示すように、ある搬送台車2に対して仮に決定されたコスト最小遷移経路(太い点線で示す経路)において、図5の2重丸で示す、[t=4,n=2]の状態ノード、及び、[t=5,n=3]の状態ノードにおいて、当該搬送台車2が他の搬送台車2と衝突することが判明したとする。
この場合、搬送台車管理部3は、衝突が検出された状態ノード(図5の2重丸)と、当該状態ノードと地点ノードが一致するが時刻が単位時間だけ前後する状態ノード(図5の太線の丸)と、のそれぞれへ遷移する状態遷移コストを増加させる。このコストの増加分は、衝突を防止するための罰則を意味する。
その後、搬送台車管理部3は、上記のように状態遷移コストを変更した時空間グラフにおいて、コスト最小遷移経路を再び求める。新しく求められたコスト最小遷移経路は、図10の実線の太線矢印で示すように、他の搬送台車2への衝突を回避できるものとなっている。
このように、搬送台車管理部3は、搬送台車2が自動走行を行うとき、互いに干渉しないように、それぞれの搬送タスクに対して、割付対象の搬送台車2の走行計画を効率良く決定することができる。
以上に説明したように、本実施形態の走行計画決定方法は、自動走行を行う搬送台車2の走行経路及び走行タイミングを決定する。この走行計画決定方法は、複数の地点ノードと、地点ノードと地点ノードの間を繋ぐ地点間エッジと、からなる走行経路グラフで表現される。搬送台車2の出発地点である地点ノード(1)と、到着地点である地点ノード(5)と、のそれぞれが指定され、地点ノード(1)を出発すべき出発時刻と、地点ノード(5)に到着すべき到着時刻と、が指定される。この場合、この走行計画決定方法では、搬送台車2が地点ノード(1)から地点ノード(5)へ走行する過程を表す時空間グラフを生成する。時空間グラフは、複数の状態ノードと、状態ノードと状態ノードの間を繋ぐ状態遷移エッジと、を含む。それぞれの状態ノードは、ある地点ノードに、ある時刻に、搬送台車2が存在する状態を表す。状態遷移エッジには、台車停止エッジ5と、台車移動エッジ6と、が含まれる。台車停止エッジ5は、ある地点ノードに、ある時刻に存在する搬送台車2が、次の時刻まで当該地点ノードに留まる場合を表す。台車移動エッジ6は、ある地点ノードに、ある時刻に存在する搬送台車2が、次の時刻には、当該地点ノードと地点間エッジで繋がれた他の地点ノードのそれぞれに移動する場合を表し、移動先の地点ノード毎に定められる。地点ノード(1)に、基準時刻(時刻t=0)に搬送台車2が存在する状態を表す状態ノードを起点状態ノードとするときに、時空間グラフは起点状態ノードを起点として生成される。それぞれの状態遷移エッジには、当該状態遷移エッジが示す遷移の後に対応する時刻tσbと、第2指定時刻Tsetと、の差に応じて大きくなる状態遷移コストが定められている。時空間グラフにおいて、起点状態ノードから、地点ノード(5)に搬送台車2が存在することを示す何れかの状態ノードに至る時空間グラフ経路のうち、状態遷移コストの総和が最小となるコスト最小遷移経路を、ダイクストラ法を用いて求める。コスト最小遷移経路に基づいて、搬送台車2の走行経路及び走行タイミングを決定する。
これにより、指定された荷積み指定位置P1から荷下ろし指定位置P2へ搬送台車2が走行するコスト最小遷移経路を効率良く求めることができる。また、状態遷移エッジにおける状態遷移コストが、当該エッジが示す遷移の後の時刻tσbと、指定された第2指定時刻Tsetと、の差に応じて定められているので、第2指定時刻Tsetで荷下ろし指定位置P2に到着するJIT性を考慮したコスト最小遷移経路を生成することができる。
また、本実施形態の走行計画決定方法において、第3パラメータβを第1パラメータαよりも大きく設定することができる。この場合、状態遷移コストは、対応する状態遷移エッジが示す遷移の後に対応する時刻tσbが第2指定時刻Tsetより遅い場合には、早い場合よりも、時間差が同じであっても大きく定められる。
これにより、第2指定時刻Tsetより遅い時刻で荷下ろし指定位置P2に到着する経路をコスト最小遷移経路として決定する可能性を大幅に小さくすることができる。
また、本実施形態の走行計画決定方法において、状態遷移コストは、過早コストと、遅滞コストと、停止コストと、に基づいて求められる。過早コストは、対応する状態遷移エッジが示す遷移の後に対応する時刻tσbが第2指定時刻Tsetより早い場合に加えられる。遅滞コストは、対応する状態遷移エッジが示す遷移の後に対応する時刻tσbが第2指定時刻Tsetより遅い場合に加えられる。停止コストは、搬送台車2がある地点ノードで停止する場合に加えられる。過早コストを重み付けする第1パラメータα、遅滞コストを重み付けする第2パラメータγ、及び、停止コストを重み付けする第3パラメータβのそれぞれが、設定可能である。
これにより、第1パラメータα、第2パラメータγ、及び第3パラメータβを適切に設定することで、JIT性及び搬送効率のそれぞれに対するユーザの重視度に対応する走行計画を決定することができる。
また、本実施形態の走行計画決定方法において、地点ノードが示す現実の地点の間隔は、搬送台車2の単位時間あたりの移動量に対応している。
これにより、状態遷移コストの算出を容易にすることができる。
また、本実施形態の走行計画決定方法においては、地点ノード(1)、地点ノード(5)、出発時刻、及び第2指定時刻Tsetのそれぞれが定められた複数の搬送台車2のそれぞれについて、コスト最小遷移経路を求めることにより、走行経路及び走行タイミングを仮決定する。仮決定された走行経路及び走行タイミングで搬送台車2をそれぞれ走行させる場合に搬送台車2同士で干渉が発生する場合には、干渉する搬送台車2のうち少なくとも1つについて、他の搬送台車2との干渉に対応する状態遷移エッジの状態遷移コストを大きくなるように変更して、コスト最小遷移経路を再び求めることにより走行経路及び走行タイミングを再決定する。
これにより、JIT性を考慮しながら、衝突回避経路を容易に決定することができる。
また、本実施形態の走行計画決定方法におけるコスト最小遷移経路を求める方法は、時空間グラフにおいて、起点状態ノードを確定ノードとし、当該起点状態ノードの確定コストを所定値とする初期処理を行った後、ループ処理を反復する。ループ処理は、第1ステップと、第2ステップと、第3ステップと、第4ステップと、を含む。第1ステップでは、確定ノードとなっていない状態ノードであって、何れかの確定ノードに対して隣接し状態遷移エッジによって繋がる状態ノードである隣接状態ノードを求める。第2ステップでは、隣接状態ノードのうち、初期処理又は前回のループ処理で新しく確定ノードとなった新確定ノードに対して隣接し状態遷移エッジによって繋がる隣接状態ノードのそれぞれを対象として、対象となる隣接状態ノードに至る状態遷移コスト累積値を、新確定ノードの確定コストに状態遷移エッジのコストを加算することにより求める。第3ステップでは、それぞれの隣接状態ノードについて、初回から今回までのループ処理における第2ステップで求められた状態遷移コスト累積値の中で最良の前記状態遷移コスト累積値である状態遷移コスト累積最良値を求める。第4ステップでは、第3ステップで求められた状態遷移コスト累積最良値が最も小さい隣接状態ノードを確定ノードとし、当該状態遷移コスト累積最良値を、当該確定ノードの確定コストとする。コスト最小遷移経路を求める方法は、ループ処理を反復することにより、確定ノード及び確定コストを順次求め、地点ノード(5)に搬送台車2が存在することを示す状態ノードに至るグラフ経路のうち、確定コストが最も小さくなる時空間グラフ経路をコスト最小遷移経路とする。
これにより、コスト最小遷移経路を効率良く探索することができるとともに、例えば、通常トレードオフの関係にあるジャストインタイム性と総走行時間のバランスを考慮した走行計画を決定することができる。
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
状態遷移コストの計算に用いられる時刻として、対応する状態遷移エッジが示す遷移の後に対応する時刻tσbに代えて、遷移の前に対応する時刻tσaを用いても良い。
搬送台車2が出発位置から荷積み指定位置P1まで走行する走行計画は、荷積み指定位置P1から荷下ろし指定位置P2まで走行する走行計画のように決定されても良い。即ち、荷積み指定位置P1から荷下ろし指定位置P2までの搬送台車2の走行計画に関して前述した本実施形態の走行計画決定方法が、出発位置から荷積み指定位置P1までの搬送台車2の走行計画に関して同様に適用されても構わない。この場合、荷積み指定位置P1に到着することに関するJIT性も考慮される。
搬送台車2は、走行計画に従って自動走行を行った後、現在位置で停止して待機しても良いし、予め設定された待機位置で停止して待機しても良いし、予め設定された待機経路に沿って走行しながら待機しても良い。なお、次回の走行計画を決定する易さから見た場合、搬送台車2が走行計画を実行した後、何れかの位置で停止して待機することが好ましい。
搬送台車2は、磁気テープの代わりに、他のものから構成された走行ラインに沿って走行しても良いし、テープ等から形成された走行ライン無しで自動走行を行っても良い。
搬送台車2としては、無人搬送車のAGVに限定されず、例えば、有軌道式無人搬送車のRGV(Rail Guided Vehicle)や、天井走行車のOHT(Overhead Hoist Transfer)、OHS(Over Head Shuttle)等を用いることもできる。
各搬送台車2の搬送領域は、予め設定されても良い。この場合、搬送台車2は、走行計画を完了した位置で待機していても良いし、その搬送領域内に予め設定された待機位置で待機しても良い。そして、領域毎に搬送台車管理部3を設けても良い。
本発明の走行計画決定方法は、搬送システム100以外に、複数のビークルを有する他の走行システム(例えば自動車の自動運転)にも適用することができる。