【解決手段】搬送タスク割付方法は、複数の搬送タスクのそれぞれを、複数の搬送台車に仮に割り付けるステップS101と、搬送台車の走行計画を決めるステップS102と、走行計画に従って走行する搬送台車に割り付けられた搬送タスクに対するタスク評価値J
に基づいて、少なくとも1つの搬送タスクに対して、現在割り付けられた搬送台車を変更するステップS105と、所定条件を満たした最良全体割付評価値に対応する全体割付を確定するステップS106と、を含む。
自動走行を行う複数のビークルを備える走行システムにおいて、第1指定位置及び第2指定位置の位置情報を含む走行指令を、前記ビークルに割り付ける走行指令割付方法であって、
複数の前記走行指令のそれぞれを、複数の前記ビークルの何れかに仮に割り付ける第1ステップと、
複数の前記ビークルのそれぞれに対して、前記ビークルが、出発位置から、前記第1ステップで仮に割り付けられた前記走行指令に含まれる前記第1指定位置と前記第2指定位置の順に走行する走行計画を、複数の前記ビークルが行う前記自動走行が相互に干渉しないように決める第2ステップと、
前記第2ステップで決められた前記走行計画のそれぞれに従って前記ビークルのそれぞれが自動走行を行う場合において、各前記走行指令に対する指令評価値、及び、全ての前記走行指令が複数の前記ビークルのそれぞれに割り付けられた各組合せの全体である全体割付に対する全体割付評価値を算出する第3ステップと、
前記第3ステップで算出した前記指令評価値に基づいて、少なくとも1つの前記走行指令に対して、現在割り付けられた前記ビークルを変更する第4ステップと、
前記第2ステップ、前記第3ステップ及び前記第4ステップを繰り返し実行して得られた複数の前記全体割付評価値における最良全体割付評価値の推移が収束したと判定した場合に、最新の前記最良全体割付評価値に対応する前記全体割付を確定する第5ステップと、
を含むことを特徴とする走行指令割付方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記特許文献1の構成においては、搬送シナリオのスケジュールを作成するためには、数理計画法を用いたコンピュータ演算処理等が必要となる。しかし、例えば、搬送台車の数が数千台といった規模になる半導体工場等における搬送システムでは、数理計画法を用いたコンピュータ演算処理では、総搬送時間の短縮及び/又はジャストインタイム(JIT:Just In Time)搬送のためのスケジュールを現実的な時間で作成することが難しく、改善の余地が残されていた。
【0006】
本発明は以上の問題を鑑みてなされたものであり、その目的は、総走行時間及びJIT性のうち少なくとも1つに適した走行指令の割付を、短時間の演算処理で得ることができる走行指令割付方法を提供することにある。
【0007】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【0008】
本発明の第1の観点によれば、以下の走行指令割付方法が提供される。即ち、この走行指令割付方法は、自動走行を行う複数のビークルを備える走行システムにおいて、第1指定位置及び第2指定位置の位置情報を含む走行指令を、前記ビークルに割り付ける。この走行指令割付方法は、第1ステップと、第2ステップと、第3ステップと、第4ステップと、第5ステップと、を含む。前記第1ステップでは、複数の前記走行指令のそれぞれを、複数の前記ビークルの何れかに仮に割り付ける。前記第2ステップでは、複数の前記ビークルのそれぞれに対して、前記ビークルが、出発位置から、前記第1ステップで仮に割り付けられた前記走行指令に含まれる前記第1指定位置と前記第2指定位置の順に走行する走行計画を決める。前記走行計画は、複数の前記ビークルが行う前記自動走行が相互に干渉しないように決められる。前記第3ステップでは、前記第2ステップで決められた前記走行計画のそれぞれに従って前記ビークルのそれぞれが自動走行を行う場合において、各前記走行指令に対する指令評価値、及び、全ての前記走行指令が複数の前記ビークルのそれぞれに割り付けられた各組合せの全体である全体割付に対する全体割付評価値を算出する。前記第4ステップでは、前記第3ステップで算出した前記指令評価値に基づいて、少なくとも1つの前記走行指令に対して、現在割り付けられた前記ビークルを変更する。前記第5ステップでは、前記第2ステップ、前記第3ステップ及び前記第4ステップを繰り返し実行して得られた複数の前記全体割付評価値における最良全体割付評価値の推移が収束したと判定した場合に、最新の前記最良全体割付評価値に対応する前記全体割付を確定する。
【0009】
これにより、短時間の演算処理で、全体割付評価値が良い割付を得ることができる。この効果は特に、多数のビークルを有する大型工場の搬送システム、大型自動倉庫等において好適である。
【0010】
前記の走行指令割付方法においては、以下のようにすることが好ましい。即ち、この走行指令割付方法に含まれる前記第4ステップでは、前記第3ステップで算出した全ての前記指令評価値のうち、値が最も悪い前記指令評価値に対応する前記走行指令を優先解決走行指令として、複数の前記ビークルのそれぞれに仮に割り付ける。前記第4ステップでは、前記優先解決走行指令に対して、それぞれの前記ビークルの前記走行計画を決め、各前記ビークルが、決められた前記優先解決走行指令に対する前記走行計画に従って走行する場合における前記指令評価値のそれぞれを各前記ビークルに対応付けて算出する。前記第4ステップでは、算出した全ての前記指令評価値のうち最良指令評価値に対応する前記ビークルに前記優先解決走行指令を割り付ける。
【0011】
これにより、仮に割り付けられた走行指令に対して、最も評価が悪い割付に対応する走行指令を優先的に割付けし直すことで、理想に近い全体割付を見つけるまでの処理時間の短縮を図ることができる。
【0012】
前記の走行指令割付方法においては、以下のようにすることが好ましい。即ち、この走行指令割付方法が用いる前記全体割付評価値は、前記走行計画に従って走行する前記ビークルが前記第2指定位置に到着する予測到着時刻と予め設定された指定到着時刻との差である誤差時間と、予め設定された開始時刻から前記ビークルが前記第2指定位置に到着するまでの総走行時間と、に基づいて計算される。前記最良全体割付評価値は、複数の前記全体割付評価値のうち、最小値をとる前記全体割付評価値である。
【0013】
これにより、予測到着時刻と指定到着時刻との誤差、或いは当該誤差の2乗の値等で表したJIT性と、総走行時間と、の両方を考慮して、理想に近い割付を得ることができる。
【0014】
前記の走行指令割付方法においては、以下のようにすることが好ましい。即ち、この走行指令割付方法が用いる前記全体割付評価値は、第1パラメータによって重み付けした前記誤差時間と、第2パラメータによって重み付けした前記総走行時間と、に基づいて算出される。前記第1パラメータ及び前記第2パラメータのそれぞれは調整可能である。
【0015】
これにより、それぞれのパラメータを調整することで、JIT性及び総走行時間のそれぞれに対する重視度に応じた割付を得ることができる。また、何れかの重みをゼロにすることで、JIT性及び総走行時間の何れか1つのみを考慮した割付を得ることもできる。
【0016】
前記の走行指令割付方法において、以下のようにすることが好ましい。即ち、この走行指令割付方法が用いる前記指令評価値は、前記走行計画に従って走行する前記ビークルが前記第2指定位置に到着する予測到着時刻と予め設定された指定到着時刻との差である誤差時間と、予め設定された開始時刻から前記ビークルが前記第2指定位置に到着するまでの総走行時間と、に基づいて計算される。前記全体割付評価値は、当該全体割付評価値に対応する前記全体割付におけるそれぞれの前記指令評価値の総和である。
【0017】
これにより、ビークル単体の走行に対して、JIT性及び総走行時間の両方を考慮した割付を得ることができる。
【0018】
前記の走行指令割付方法において、以下のようにすることが好ましい。即ち、前記走行指令には、前記第2指定位置に到着すべき時刻である指定到着時刻が含まれる。前記第1ステップでは、前記走行指令のそれぞれに対して、前記ビークルのそれぞれに割り付けられた場合における初期評価値のそれぞれに基づいて、前記走行指令を仮に割り付ける対象の前記ビークルを決める。前記初期評価値は、予め設定された開始時刻から前記指定到着時刻までの予定対応時間から、前記走行指令が割り付けられた前記ビークルが、現在位置から前記第2指定位置まで移動するために必要とする最短時間を減じた余裕時間に基づく値である。前記初期評価値は、1つの前記走行指令に対して全ての前記ビークルのそれぞれに仮に割り付けるように、全ての前記走行指令のそれぞれが全ての前記ビークルのそれぞれに仮に割り付けられた場合の全ての組合せに対して計算される。前記第1ステップでは、計算された全ての前記初期評価値に基づいて、値が大きい前記初期評価値の順に、当該初期評価値に対応する前記ビークルに、当該初期評価値に対応する前記走行指令を仮に割り付ける。
【0019】
これにより、初期割付において、複数の走行指令を複数のビークルに合理的に仮に割り付けることができ、理想に近い全体割付を得るまでの時間の短縮を図ることができる。
【0020】
前記の走行指令割付方法においては、以下のようにすることが好ましい。即ち、前記ビークルは、荷積み指定位置である前記第1指定位置で指定荷物を荷積みし、荷下ろし指定位置である前記第2指定位置で荷下ろしを行う搬送台車である。前記走行指令は、前記搬送台車を前記第1指定位置まで走行させてから前記第2指定位置まで走行させる搬送指令である。
【0021】
これにより、複数の搬送台車のそれぞれに対する搬送指令の良好な全体割付を短時間で得ることができる。
【0022】
本発明の第2の観点によれば、以下の構成のコントローラが提供される。即ち、このコントローラは、前記の走行指令割付方法を用いて、前記走行指令に割り付ける前記ビークルを決める。
【0023】
これにより、短時間の演算処理で、割付評価値が良い全体割付を得ることができる。この効果は特に、多数のビークルを有する大型工場の搬送システム、大型自動倉庫等に好適である。
【0024】
本発明の第3の観点によれば、以下の構成の搬送システムが提供される。即ち、この搬送システムは、前記のコントローラと、前記コントローラによって割り付けられた走行指令に基づいて自動走行を行う複数の搬送装置と、を備える。
【0025】
これにより、複数の搬送指令を効率的かつ合理的に搬送装置に割り付けることができ、搬送システムの作業効率を向上させることができる。
【発明を実施するための形態】
【0027】
次に、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施形態に係る搬送システム100を用いる工場10を示す模式図である。
【0028】
本発明の一実施形態に係る搬送システム100は、例えば、
図1に示すような、複数の処理装置1を有する半導体製造工場10等に設けられ、FOUP(Front Opening Unify Pod)等の搬送対象物を搬送するための自動搬送システムである。この搬送システム100は、
図2に示すように、複数の搬送台車(ビークル)2と、搬送台車管理部(コントローラ)3と、を備える。
【0029】
処理装置1は、半導体を製造するための様々な処理を行う装置である。なお、搬送システム100が設けられる工場10には、処理装置1の代わりに、或いは処理装置1に加えて、種々の設備が備えられる。例えば、複数のFOUPを保管可能とされた自動倉庫や、部品や材料等の荷物を収納可能な多数の収納空間が形成されているスタッカラック等の保存装置等が配置されても良い。
【0030】
搬送台車2は、軌道4の上で走行して、処理装置1の間で荷物を自動で搬送する搬送装置である。軌道4は、例えば床面に貼り付けられた磁気テープ等の誘導用テープ、或いはバーコード等からなる。また、軌道4は、搬送台車2の図略の走行輪が当該軌道4に沿って走行するように、搬送台車2側、及び軌道4側の少なくとも一方に設けられたガイド部であっても良い。更に、軌道4は、例えば工場10の天井から吊り下げられて設けられるガイド部等であっても良い。
【0031】
搬送台車2は、図略の多関節のロボットアーム等を備えており、荷積み及び荷下ろしを行うことができる。搬送台車2としては、例えば、AGV(Automated Guided Vehicle)或いはOHT(Overhead Hoist Transfer)を用いることができる。
【0032】
搬送台車2は、後述の搬送台車管理部3から割り付けられた搬送タスク(走行指令)に従って、自動走行を行う。具体的には、搬送台車2は、予め指定されたタスク開始時刻(開始時刻)になると、割り付けられた搬送タスクを開始する。搬送タスクを開始した搬送台車2は、当該搬送タスクに応じて設定された走行経路に沿って自動走行を行って、荷積み指定位置(第1指定位置)P1から荷下ろし指定位置(第2指定位置)P2まで指定荷物を搬送する。
【0033】
なお、当該自動走行は、他の搬送台車2との衝突回避等のための一時停止、荷積み指定位置P1までの荷物無しの走行、荷積み指定位置P1から荷下ろし指定位置P2まで指定荷物を搬送する搬送走行、荷物に対する荷積み、荷下ろしを含んでいる。即ち、本実施形態において、搬送台車2の自動走行とは、搬送タスクを開始してから、(A)荷積み指定位置P1まで走行し、(B)荷積み指定位置P1において荷物を荷積みし、(C)荷積み指定位置P1から荷下ろし指定位置P2まで走行し、(D)荷下ろし指定位置P2で荷下ろしを完了するまでの一連の動作を意味する。
【0034】
タスク開始時刻としては、例えば、搬送台車2が搬送台車管理部3から搬送タスクを受信した時刻を設定することができる。しかし、これに限定されず、タスク開始時刻は、搬送タスクを受信した後の任意の時刻に設定することもできる。
【0035】
上記搬送タスクは、荷積み指定位置P1で荷積みした指定荷物を、荷下ろし指定位置P2まで搬送する搬送指令である。即ち、搬送タスクには、荷積み指定位置P1及び荷下ろし指定位置P2の位置情報等が含まれている。搬送タスクには、これに加えて、荷積み指定位置P1から荷下ろし指定位置P2まで搬送される対象となる荷物(指定荷物)の識別情報が含まれていても良い。
【0036】
本実施形態の搬送タスクには、上記に加えて、第1指定時刻及び第2指定時刻が含まれている。第1指定時刻は、搬送台車2が荷積み指定位置P1に到着すべき時刻として指定された時刻である。第2指定時刻は、搬送台車2が荷下ろし指定位置P2に到着すべき時刻として指定された時刻(指定到着時刻)である。
【0037】
搬送台車2は、
図2に示すように、台車制御部20と、台車信号送受信部21と、を備える。
【0038】
台車制御部20は、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等を有する公知のコンピュータとして構成されている。
【0039】
台車制御部20は、搬送台車2が備える図略の多関節のロボットアーム或いはホイスト等の移載機構による荷物の移載動作、及び当該搬送台車2が備える図略の走行機構による自動走行等を制御する。
【0040】
台車信号送受信部21は、搬送台車管理部3と無線通信可能に構成されている。無線通信の方式は任意であるが、例えば、無線LANを用いることが考えられる。台車信号送受信部21は、無線通信により、搬送台車2の自己位置を搬送台車管理部3に送信したり、割り付けられた搬送タスク及び搬送タスクに対応する関連情報等を搬送台車管理部3から受信したりすることができる。なお、無線通信の方式として、漏洩フィーダー線や漏洩同軸ケーブルを用いた通信であっても良い。
【0041】
搬送台車管理部3は、図示しない上層の生産管理部等から与えられた複数の搬送タスクのそれぞれを、管理している複数の搬送台車2の何れかに割り付けるために用いられる。搬送台車管理部3は、例えば、上述の台車制御部20と同じように、図示しないCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等を有する公知のコンピュータとして構成される。
【0042】
搬送台車管理部3は、
図3のフローチャートに示す搬送タスク割付方法(走行指令割付方法)を用いて、搬送タスクのそれぞれをどの搬送台車2に割り付けるかを決める。
【0043】
具体的には、搬送台車管理部3は、与えられた所定数(例えば、管理している搬送台車2の台数と同数)の搬送タスクに対して、下記の搬送タスク割付方法を用いて、それぞれの搬送タスクを各搬送台車2に割り付ける搬送タスク割付を行う。
【0044】
所定数の搬送タスクが与えられた状態で
図3のフローチャートが開始されると、搬送台車管理部3は、先ず、与えられた所定数の搬送タスクのそれぞれを、管理する搬送台車2の何れかに仮に割り付ける初期割付を行う(ステップS101)。なお、当該ステップS101は、第1ステップに相当する。
【0045】
当該初期割付において、搬送台車管理部3は、与えられた所定数の搬送タスクのそれぞれを、管理している全ての搬送台車2に対して仮割付が完了するまで、搬送タスクを1つずつ、搬送台車2の何れか1つに仮に割り付けていく。
【0046】
具体的に説明すると、この初期割付において、搬送台車2の台数に搬送タスクの個数を乗じた数の、搬送タスクと搬送台車2の組合せが仮に形成される。これと同時に、又はその後、搬送台車管理部3は、上記のように形成した組合せのそれぞれにおいて、割り付けられた搬送タスクに対して搬送台車2の対応余裕を表すタスク対応余裕度(初期評価値)を計算する。
【0047】
タスク対応余裕度は、例えば以下のように計算される。即ち、対象となる搬送タスクで指定されたタスク開始時刻から第2指定時刻までの時間を計算し、これを予定搬送時間(予定対応時間)とする。また、対象となる搬送タスクが割り付けられる搬送台車2が出発位置から荷積み指定位置P1を経由して荷下ろし指定位置P2まで走行するのに必要となる最短の時間を計算し、これを走行最短時間とする。なお、出発位置とは、タスク開始時刻における搬送台車2の現在位置である。タスク対応余裕度は、予定搬送時間から走行最短時間を減じた時間である。
【0048】
搬送台車管理部3は、上記のように計算した全てのタスク対応余裕度のうち、値が大きいタスク対応余裕度の順(即ち、搬送タスクに対する対応余裕が大きい搬送台車2の順)に、当該タスク対応余裕度に対応する搬送タスクを、当該タスク対応余裕度に対応する搬送台車2に仮に割り付ける。
【0049】
タスク対応余裕度が大きい順に各搬送タスクを搬送台車2に割り付けることで、後述するステップS102における衝突回避によって遅れが生じることを抑制できる。即ち、衝突回避による指定時刻からの誤差への影響を少なくすることができる。
【0050】
このように初期割付を行うことで、搬送タスクが1対1で搬送台車2に仮に割り付けられる。なお、初期割付は、上記のように行われることに限定されず、任意の順で(例えば、ランダムに)搬送タスクを搬送台車2に仮に割り付けることもできる。
【0051】
初期割付が上記のように行われた後、搬送台車管理部3は、
図3に示すステップS102(第2ステップ)に進んで、搬送台車2のそれぞれが走行する、割り付けられた搬送タスクに対する走行経路を生成する。
【0052】
ステップS102において、搬送台車管理部3は、搬送タスクを実行するための、搬送台車2の走行計画を生成する。当該走行計画は、走行経路と、衝突回避情報と、を含む。
【0053】
走行経路は、例えば、JIT性のみを考慮し、ダイクストラ法等を用いて、出発位置から荷積み指定位置P1までの最短経路、及び、荷積み指定位置P1から荷下ろし指定位置P2までの最短経路を探索することで決められる。衝突回避情報は、例えば、JIT性を考慮して決められた走行経路に基づいて、ダイクストラ法等を用いて、他の搬送台車2との衝突回避を実現するように生成される。
【0054】
走行計画に含まれる走行経路には、搬送台車2に割り付けられた搬送タスクに含まれる荷積み指定位置P1と荷下ろし指定位置P2が含まれる。
【0055】
例えば、
図4に示すように、第1搬送台車2−1の走行経路(
図4の細線で示す走行経路)には、第1出発位置S1、第1荷積み指定位置P1−1、第1荷下ろし指定位置P2−1が含まれている。第1搬送台車2−1は、第1出発位置S1、第1荷積み指定位置P1−1、第1荷下ろし指定位置P2−1の順に走行する。
【0056】
第2搬送台車2−2の走行経路(
図4の鎖線で示す走行経路)には、第2出発位置S2、第2荷積み指定位置P1−2、第2荷下ろし指定位置P2−2が含まれている。第2搬送台車2−2は、第2出発位置S2、第2荷積み指定位置P1−2、第2荷下ろし指定位置P2−2の順に走行する。
【0057】
第3搬送台車2−3の走行経路(
図4の点線で示す走行経路)には、第3出発位置S3、第3荷積み指定位置P1−3、第3荷下ろし指定位置P2−3が含まれている。第3搬送台車2−3は、第3出発位置S3、第3荷積み指定位置P1−3、第3荷下ろし指定位置P2−3の順に走行する。
【0058】
走行計画に含まれる衝突回避情報には、各搬送台車2が行う自動走行が互いに干渉しないように、生成された走行経路における一時停止位置や、各一時停止位置における停止時間等が含まれている。
【0059】
搬送台車2は、上記のように生成された走行計画に従って自動走行を行うことで、他の搬送台車2との衝突を回避しながら、出発位置から、荷積み指定位置P1と荷下ろし指定位置P2との順に走行し、指定荷物を荷積み指定位置P1から荷下ろし指定位置P2まで搬送することができる。
【0060】
搬送台車管理部3は、上記のように、初期割付で割り付けられた搬送タスクのそれぞれに応じて、各搬送台車2の走行計画を生成した後、
図3に示すステップS103(第3ステップ)に進む。
【0061】
ステップS103において、搬送台車管理部3は、搬送タスクに応じて生成した走行計画のそれぞれに従って搬送台車2が自動走行を行う場合、各搬送台車2が搬送タスクに対して行う自動走行におけるJIT性及び総走行時間を総合的に表すタスク評価値(指令評価値)J
lのそれぞれを、下記の式(1)を用いて計算する。或いは、絶対値のn乗の値を用いて計算しても良い。
【数1】
【0062】
また、搬送台車管理部3は、全ての搬送タスクに対する現在の全ての割付の全体である全体割付の良否を判断するための全体割付評価値Jを、下記の式(2)を用いて計算する。
【数2】
【0063】
上記式(2)に示すように、当該全体割付評価値Jは、それぞれの搬送タスクに対応するタスク評価値J
lのそれぞれの総和である。
【0064】
ところで、上記式(1)及び式(2)に含まれるK
ltは、二値の何れか(具体的には、0又は1)をとる変数であって、時刻tで搬送タスクlに対応する荷積みが完了しているときに0となり、完了していないときに1となる。D
ltは、二値の何れか(具体的には、0又は1)をとる変数であって、時刻tで搬送タスクlに対応する荷下ろしが完了しているときに0となり、完了していないときに1となる。J
ulは、荷積み指定位置P1に到着して荷積みが完了したタイミングを指定する第3指定時刻(即ち、上記第1指定時刻に荷積み時間を加えた時刻)である。J
glは、荷下ろし指定位置P2に到着し荷下ろしが完了したタイミングを指定する第4指定時刻(即ち、上記第2指定時刻に荷下ろし時間を加えた時刻)である。なお、当該第3指定時刻J
ul、及び第4指定時刻J
glは、予め設定されても良いし、第1指定時刻及び第2指定時刻に基づいて算出されても良い。
【0065】
即ち、上記式(1)及び式(2)に含まれる下記式(3)の部分は、搬送台車2の荷積みにおいて、荷積み指定位置P1に到着し荷積みを完了する予測荷積み時刻と第3指定時刻J
ulとの差である誤差時間の絶対値を表す。ただし、誤差時間の絶対値の代わりに、当該絶対値をn乗した値を用いても良い(例えば2乗する場合は、絶対値にしないで2乗しても同じことになる)。
【数3】
下記式(4)の部分は、
図4(b)に示す搬送台車2の荷下ろしにおいて、荷下ろし指定位置P2に到着し荷下ろしを完了する予測荷下ろし時刻と第4指定時刻J
glとの差である誤差時間の絶対値を表す。なお、荷下ろし時間がほぼ一定であるため、この式(4)の部分は、荷下ろし指定位置P2に到着する予測到着時刻と第2指定時刻との差である誤差時間に相当する。誤差時間の絶対値の代わりに、当該絶対値をn乗した値を用いても良い(例えば2乗する場合は、絶対値にしないで2乗しても同じことになる)。
【数4】
下記式(5)の部分は、搬送タスクが開始されるタスク開始時刻から当該搬送タスクが完了するまで、搬送台車2が要した総時間である。この総時間は、
図4(b)に総走行時間として示されている。即ち、本実施形態において、総走行時間とは、対象となる搬送タスクが割り付けられた搬送台車2が、その搬送タスクの実行を開始してから完了するまでに拘束される時間である。
【数5】
上記式(3)、式(4)、式(5)を用いて、各搬送台車2に対して生成された上記走行計画に基づいて、各搬送台車2における荷積み指定位置P1での誤差時間、荷下ろし指定位置P2での誤差時間、及び総走行時間が算出される。このようにして、JIT性及び総走行時間を総合的に考慮したタスク評価値J
l及び全体割付評価値Jを得ることができる。
【0066】
上記式(1)及び式(2)に含まれるα(第1パラメータ)は、JIT性に対する重みであって、必要に応じて調整することができる。β(第2パラメータ)は、総走行時間に対する重みであって、必要に応じて調整することができる。極端に言えば、第2パラメータβを0とすると、上記式(1)及び式(2)は、JIT性のみを考慮したタスク評価値J
l及び全体割付評価値Jを表すことになる。第1パラメータαを0とすると、上記式(1)及び式(2)は、総走行時間のみを考慮したタスク評価値J
l及び全体割付評価値Jを表すことになる。
【0067】
JIT性及び総走行時間のそれぞれについて重みを調整することで、ユーザがJIT性及び総走行時間のそれぞれをどれほど重視するかに応じたタスク評価値J
l及び全体割付評価値J(ひいては、搬送タスクの割付)を得ることができる。
【0068】
その後、搬送台車管理部3は、
図3のステップS103で計算したタスク評価値J
l及び全体割付評価値Jと、当該タスク評価値J
l及び全体割付評価値Jに対応する搬送タスクと搬送台車2との組合せ、及び全体割付と、を関連付けて記憶する。
【0069】
続いて、搬送台車管理部3は、ステップS102〜ステップS105を今まで反復した直近の所定回数のループ回のうち、全体割付評価値Jが実質的に改善したループ回が1回でもあったか否かを判定する(ステップS104)。即ち、ステップS102〜ステップS105を反復する中で、当初のループ回では、最も良好な全体割付評価値Jの記録が更新されることも多いが、ループ回を重ねるにつれて、最も良好な全体割付評価値Jの更新が難しくなる。即ち、全体割付評価値Jの推移(向上)が収束する。ステップS104は、全体割付評価値Jがより良くなる探索を継続せず打ち切るべきか否かの判定を意味している。
【0070】
ステップS104で、最良全体割付評価値(ループ回毎に計算された全体割付評価値Jのうち、値が最も小さい全体割付評価値J)の記録が直近の所定ループ回のうち1回でも更新された場合は、ステップS105(第4ステップ)に進む。更新が1回もなかった場合には、探索を打ち切ってステップS106に進む。
【0071】
ステップS105において、搬送台車管理部3は、ステップS103で計算した複数のタスク評価値J
lのうち、値が最も大きい(悪い)最大タスク評価値J
l_maxに対応する搬送タスクを優先解決タスク(優先解決走行指令)として選択する。そして、搬送台車管理部3は、得られた優先解決タスクの割付対象の搬送台車2を、下記のように決定する。
【0072】
具体的には、搬送台車管理部3は、上記のように決められた優先解決タスクを、全ての搬送台車2の先頭に仮に割り付ける。なお、優先解決タスクを搬送台車2の先頭に割り付けることは、搬送台車2が当該優先解決タスクを先に対応するように割り付けることを意味する。言い換えれば、既に他の搬送タスクが割り付けられた搬送台車2において、当該優先解決タスクは、他の搬送タスクより優先的に実行されるように当該搬送台車2に割り付けられる。
【0073】
その後、搬送台車管理部3は、優先解決タスクに対して、それぞれの搬送台車2が自動走行を行うための上記走行計画を再び生成する。搬送台車管理部3は、生成した走行計画のそれぞれに従って搬送台車2が自動走行を行う場合の上記タスク評価値である優先タスク評価値J
l1のそれぞれを、各搬送台車2に対応付けて計算する。
【0074】
続いて、搬送台車管理部3は、優先解決タスクに対するそれぞれの優先タスク評価値J
l1のうち、値が最も小さい優先タスク評価値J
l1である最良優先タスク評価値(最良指令評価値)に対応する搬送台車2の先頭に上記優先解決タスクを割り付けて、ステップS102に戻る。
【0075】
なお、最良優先タスク評価値に対する搬送台車2が、優先解決タスクが仮に元々割り付けられていた搬送台車2と一致する場合も考えられる。この場合には割付けを変更できないので、搬送台車管理部3は、タスク評価値J
lのうち値が2番目に大きい(悪い)タスク評価値J
lを優先解決タスクとして、上記と同様に、当該優先解決タスクを割り付ける対象の搬送台車2を決める。このように、ステップS105では、少なくとも1つの搬送タスクに対して、現在割り付けられた搬送台車2を変更する。その後、処理はステップS102に戻る。
【0076】
ステップS102において、搬送台車管理部3は、ステップS105で変更された後の全体割付に対して、それぞれの搬送台車2の走行計画を生成する。
【0077】
ところで、搬送台車2に割り付けられた搬送タスクのそれぞれに対して、予め設定されたタスク開始時刻から時間を計測しているので、優先解決タスクより後ろに割り付けられた搬送タスクに対応する上記タスク評価値J
lの値は、他の搬送タスクに対応するタスク評価値J
lより大きくなる可能性が高い。従って、優先解決タスクより後ろに割り付けられた搬送タスクは、次回以降に優先解決タスクとして他の搬送台車2に再割付となる可能性が高くなる。
【0078】
このように、搬送台車管理部3は、ステップS102からステップS105を繰り返して実行し、実行するたびに得られた全体割付及びそれに対応する全体割付評価値Jを記憶する。
【0079】
ステップS104の判断で、最良全体割付評価値Jの推移が収束しており、これ以上の大幅な全体割付評価値Jの向上が見込めないと判定した場合、搬送台車管理部3は、記憶された全体割付評価値Jのうち、値が最も小さい全体割付評価値に対応する全体割付を確定する(ステップS106)。なお、当該ステップS106は、第5ステップに相当する。
【0080】
図5(a)のJIT性及び総走行時間の関係を示すグラフに示すように、誤差時間が短い(JIT性が良い)ことを追求するほど、総走行時間が長くなる傾向がある。即ち、JIT性のみを考慮する場合、総走行時間が長くなり、搬送効率が低下してしまう。一方、総走行時間のみを考慮する場合、JIT性が悪化し、処理装置1等の作業効率が低下してしまう。本実施形態の搬送タスク割付方法を用いることで、ユーザがα及びβを調整することで、工場10の生産特性等に応じた搬送タスクの割付を容易に得ることができる。
【0081】
図5は、本実施形態の搬送タスク割付方法、及び従来の数理計画法等の厳密解法のそれぞれを、同等の条件下でのシミュレーションを行った結果を示している。
図5(b)の目的関数とは、上述の式(2)の値を意味する。
図5(a)に示すように、本実施形態の搬送タスク割付方法は、従来の解法とほぼ同様な割付を得ることができる。
【0082】
そして、上述のように、本実施形態の搬送タスク割付方法は、仮に割り付けられた全体割付において、タスク評価値J
lが最も悪い搬送タスクを優先して割付対象の搬送台車2を決めていく手法(いわゆる、ヒューリスティック解法)を用いることで、
図5(b)に示すように、従来の数理計画法等に比べて、ユーザの要望に適した全体割付をより短い時間で得られることが確かめられた。
【0083】
以上に説明したように、本実施形態の搬送タスク割付方法は、自動走行を行う複数の搬送台車2を備える搬送システムにおいて、荷積み指定位置P1及び荷下ろし指定位置P2の位置情報を含む搬送タスクを、搬送台車2に割り付ける。この搬送タスク割付方法は、ステップS101と、ステップS102と、ステップS103と、ステップS105と、ステップS106と、を含む。ステップS101では、複数の搬送タスクのそれぞれを、複数の搬送台車2に仮に割り付ける。ステップS102では、複数の搬送台車2のそれぞれに対して、搬送台車2が出発位置から、ステップS101で仮に割り付けられた搬送タスクに含まれる荷積み指定位置P1と荷下ろし指定位置P2の順に走行する走行計画を決める。この走行計画は、搬送台車2が行う自動走行が相互に干渉しないように決められる。ステップS103では、ステップS102で決められた走行計画のそれぞれに従って搬送台車2のそれぞれが自動走行を行う場合において、各搬送タスクに対するタスク評価値J
l、及び、全体の搬送タスクが複数の搬送台車2のそれぞれに割り付けられた各組合せの全体である全体割付に対する全体割付評価値Jを算出する。ステップS105では、ステップS103で算出したタスク評価値J
lに基づいて、少なくとも1つの搬送タスクに対して、現在割り付けられた搬送台車2を変更する。ステップS106では、ステップS102、ステップS103、及びステップS105を繰り返し実行して得られた複数の全体割付評価値Jにおける最良全体割付評価値の推移が収束したと判定した場合に、最新の最良全体割付評価値に対応する全体割付を確定する。
【0084】
これにより、短時間の計算処理で、全体割付評価値が良い割付を確定することができる。従って、本実施形態の構成は、多数(例えば、数十台から数百台、或いは数千台)の搬送台車2を有する大型工場の搬送システム、大型自動倉庫等において特に好適である。
【0085】
また、本実施形態の搬送タスク割付方法において、ステップS105では、ステップS103で算出した全てのタスク評価値J
lのうち、値が最も大きいタスク評価値J
lに対応する搬送タスクを優先解決タスクとして、複数の搬送台車2のそれぞれに仮に割り付ける。ステップS105では、優先解決タスクに対して、それぞれの搬送台車2の走行計画を決め、各搬送台車2が、決められた優先解決タスクに対する走行計画に従って走行する場合におけるタスク評価値J
lのそれぞれを各搬送台車2に対応付けて算出する。ステップS105では、算出した全てのタスク評価値J
lのうち最良タスク評価値に対応する搬送台車2に優先解決タスクを割り付ける。
【0086】
これにより、仮に割り付けられた搬送タスクに対して、最も評価が悪い割付に対応する搬送タスクを優先的に割付けし直すことで、理想に近い全体割付を見つけるまでの処理時間の短縮を図ることができる。
【0087】
また、本実施形態の搬送タスク割付方法において、全体割付評価値Jは、走行情報に従って走行する搬送台車2が荷下ろし指定位置P2に到着し荷下ろしを完了する予測完了時刻と予め設定された第2指定時刻との差である誤差時間と、予め設定されたタスク開始時刻から搬送台車2が荷下ろし指定位置P2に到着し荷下ろしを完了するまでの総走行時間と、に基づいて計算される。最良全体割付評価値は、複数の全体割付評価値Jのうち、最小値をとる全体割付評価値Jである。
【0088】
これにより、予測完了時刻と第2指定時刻との誤差、或いはその2乗の値等で表したJIT性と、総走行時間と、の両方を考慮して、理想に近い割付を得ることができる。
【0089】
また、本実施形態の搬送タスク割付方法において、全体割付評価値Jは、αによって重み付けした誤差時間と、βによって重み付けした総走行時間と、に基づいて算出される。α及びβのそれぞれは調整可能である。
【0090】
これにより、それぞれのパラメータを調整することで、JIT性及び総走行時間のそれぞれに対する重視度に応じた割付を得ることができる。また、何れかの重みをゼロにすることで、JIT性及び総走行時間の何れか1つのみを考慮した割付を得ることもできる。
【0091】
また、本実施形態の搬送タスク割付方法において、タスク評価値J
lは、走行計画に従って走行する搬送台車2が荷下ろし指定位置P2に到着し荷下ろしを完了する予測完了時刻と予め設定された第2指定時刻との差である誤差時間と、予め設定されたタスク開始時刻から搬送台車2が荷下ろし指定位置P2に到着し荷下ろしを完了するまでの総走行時間と、に基づいて計算される。全体割付評価値Jは、当該全体割付評価値Jに対応する全体割付におけるそれぞれのタスク評価値J
lの総和である。
【0092】
これにより、搬送台車2単体の走行に対して、JIT性及び総走行時間の両方を考慮した割付を得ることができる。
【0093】
また、本実施形態の搬送タスク割付方法において、搬送タスクには、第2指定時刻が含まれる。ステップS101では、搬送タスクのそれぞれに対して、搬送台車2のそれぞれに割り付けられた場合におけるタスク対応余裕度のそれぞれに基づいて、搬送タスクを仮に割り付ける対象の搬送台車2を決める。タスク対応余裕度は、予め設定されたタスク開始時刻から第2指定時刻までの予測搬送時間から、搬送タスクが割り付けられた搬送台車が、出発位置から荷下ろし指定位置P2まで移動するのに必要とする最短時間を減じた余裕期間に基づく値である。タスク対応余裕度は、1つの搬送タスクに対して全ての搬送台車2のそれぞれに仮に割り付けるように、全ての搬送タスクのそれぞれが全ての搬送台車2のそれぞれに仮に割り付けられた場合の全ての組合せに対して計算される。ステップS101では、計算された全てのタスク対応余裕度に基づいて、値が大きいタスク対応余裕度の順に、当該タスク対応余裕度に対応する搬送台車2に、当該タスク対応余裕度に対応する搬送タスクを仮に割り付ける。
【0094】
これにより、初期割付において、複数の搬送タスクを複数の搬送台車2に合理的に仮に割り付けることができ、理想に近い全体割付を得るまでの時間の短縮を図ることができる。
【0095】
また、本実施形態の搬送タスク割付方法において、搬送台車2は、荷積み指定位置P1で指定荷物を荷積みし、荷下ろし指定位置P2で荷下ろしを行う搬送台車である。搬送タスクは、搬送台車2を荷積み指定位置P1まで走行させてから荷下ろし指定位置P2まで走行させる搬送指令である。
【0096】
これにより、複数の搬送台車のそれぞれに対する搬送タスクの良好な全体割付を短時間で得ることができる。
【0097】
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【0098】
搬送台車2は、搬送タスクを完了した後、現在位置で停止しても良いし、予め設定された待機位置で停止しても良いし、予め設定された待機経路に沿って走行しながら待機しても良い。なお、走行計画の生成し易さという観点で考えると、搬送台車2が搬送タスクを完了した後、何れかの位置で停止して待機することが好ましい。
【0099】
搬送台車2は、磁気テープの代わりに、他のものから構成された走行ラインに沿って走行しても良いし、テープ等から形成された走行ライン無しで自動走行を行っても良い。
【0100】
搬送台車2としては、無人搬送車のAGVに限定されず、例えば、有軌道式無人搬送車(RGV;Rail Guided Vehicle)や、天井走行車(OHS;Over Head Shuttle)等を用いることもできる。
【0101】
各搬送台車2の搬送領域は、予め設定されても良い。この場合、搬送台車2は、搬送タスクを完了した位置で待機していても良いし、その搬送領域内に予め設定された待機位置で待機しても良い。そして、領域毎に搬送台車管理部3を設けても良い。
【0102】
荷下ろし指定位置P2のみに対して、JIT性及び総時間の両方を考慮して、搬送台車2が出発位置から荷下ろし指定位置P2までの走行を決めても良い。
【0103】
搬送台車管理部3は、管理している搬送台車2の台数分より多い又は少ない搬送タスクに対して、上記搬送タスク割付を行っても良い。
【0104】
第1指定時刻及び第2指定時刻は、荷積み指定位置P1に到着する時刻及び荷下ろし指定位置P2に到着する時刻の代わりに、第3指定時刻J
ul及び第4指定時刻J
glとして指定されても良い。また、第1指定時刻及び第2指定時刻の代わりに、荷積み期間及び荷下ろし期間を用いることもできる。
【0105】
荷積み及び荷下ろしに関する作業は、搬送タスクにより指示されても良いし、荷積み指定位置P1及び荷下ろし指定位置P2に到着した後、搬送台車管理部3から別途に指示されても良い。
【0106】
本発明の搬送タスク割付方法は、搬送システム100以外に、複数のビークルを有する他の走行システムにも適用することができる。