(57)【特許請求の範囲】
【請求項１】
停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を、与えられた走行経路に従い走行する複数の無人車の運行を、前記ノードの配列に関する情報に基づいて制御する無人車搬送制御装置において、
所定のノードにおいて、停止している待機中の複数の無人車の情報を記憶する記憶手段と、
この記憶手段から運行候補の待機中の無人車を抽出する抽出手段と、
この抽出手段により抽出された待機中の無人車に与えられる運行先の目標ノードの情報と、運行中の他の無人車の前記走行路における走行経路の情報と、前記ノードの配置に関する情報とに基づき、前記走行路に対応して、無人車の走行をシミュレーションして、このシミュレーション結果により最適な走行経路を探索する探索手段と、
この探索された走行経路に対する評価値を求める評価手段と、
この評価手段による、待機中の無人車の評価値を記憶する記憶手段と、
この記憶手段に記憶される、複数の運行候補の待機中の無人車のおのおのの前記評価値に基づき、最適な評価値を有する待機中の無人車を選択する選択手段と、
を具備してなることを特徴とする無人車搬送制御装置。
【請求項２】
停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する無人車搬送制御方法において、
所定のノードにおいて、停止している待機中の複数の無人車の情報を記憶手段に記憶する第一のステップと、
第一のステップにおいて記憶手段に記憶された複数の無人車の中から運行候補の待機中の無人車を抽出する第二のステップと、
この第二のステップにおいて抽出された待機中の無人車に与えられる、運行先の目標ノードの情報と、運行中の他の無人車の前記走行路における走行経路の情報と、前記ノードの配置に関する情報とに基づき、前記走行路に対応して、無人車の走行をシミュレーションする第三のステップと、
第三のステップのシミュレーション結果により、最適な走行経路を探索する第四のステップと、
この第四のステップで求められる走行経路に対する評価値を求め、得られた待機中の無人車の評価値のデータを記憶手段に記憶する第五のステップと、
第五のステップにおいて、前記記憶手段に記憶される、複数の運行候補の待機中の無人車のおのおのの前記評価値に基づき、最適な評価値を有する待機中の無人車を選択する第六のステップと、
を有することを特徴とする無人車搬送制御方法。
【請求項３】
所定の時刻における前記複数の無人車の確定走行経路および与えられた作業内容を記憶する計画指示記憶手段と、
前記各無人車の状態を監視する第１の処理と、与えられた作業を完了した無人車が発生する度に、前記計画指示記憶手段に新たな作業を設定し、前記第１の手段および前記第２の手段を起動して走行経路を探索させる第２の処理と、該探索の結果に基づいて前記各無人車に動作指示を与える第３の処理を並列かつ周期的に行うことで、前記複数の無人車の運行を制御する運行制御手段と
を具備してなることを特徴とする請求項１に記載の無人車搬送制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工場などの無人搬送システムにおいて、待機中の無人車に対して、配車割り付けを行う無人車搬送制御装置に関する。
【０００２】
【従来の技術】
工場などの自動搬送システムは、生産量の増大に伴い、複数台の無人搬送車（以下、無人車）を効率的に運行させる必要が生じている。ところが、狭隘な走行路に無数の無人車を投入した場合、無人車同士の干渉が発生し、搬送能力の低下を引き起こすため、干渉を回避できる無人車制御が求められている。
【０００３】
図９は、複数台の無人車を走行制御する、従来例としての無人車の最適経路決定装置の構成を示すブロック図である（特開平０６−２８９９２９参照）。図９は、最適経路決定装置１００の構成を示すブロック図である。
【０００４】
地図データメモリ２００は、走行路の地図データが記憶されている。すなわち、走行路上において無人車が停止可能なノードの座標や、その接続関係のデータが記憶されている。また、無人車データメモリ２０１は、無人車のデータが記憶されている。最適経路生成器２０２は、図示しない制御局から無人車に搬送指示が送られると、与えられた搬送指示から出発ノードと目標ノードとを決める。
【０００５】
また、グラフ生成器２０３における静的グラフ生成部２０４は、地図データメモリ２００に記憶されている地図データより経路のコストを計算し、コストデータを探索グラフメモリ２０５へ書き込む。さらに、角度ポテンシャル計算部２０５は、無人車データメモリ２０１に記憶されている無人車の速度データから角度ポテンシャルコストを計算し、探索グラフデータメモリ２０５へ書き込む。
【０００６】
そして、最適経路生成器２０２は、探索グラフデータメモリ２０５に記憶されているコストデータと角度ポテンシャルコストのデータとに基づき、与えられた搬送指示に対応した無人車の最適経路を求める。
【０００７】
つぎに、図１０および図１１を用いて、上述した従来例における無人車に対する配車割り付けの動作について説明する。図１０は、無人車の梯子型走行路の構造を示す図である。通常、無人車の走行路としては、図１０に示す梯子型、および正方格子型のように規則性を有する場合がほとんどである。
【０００８】
図１１は、図１０の梯子型走行路における配車要求時の状況を示す図である。たとえば、走行路には、無人車＃１、無人車＃２および無人車＃３が運行している。無人車＃１は、ノード１８からノード２１へ、経路ノード１８→ノード１９→ノード２０→ノード２１の順に進行している。また、無人車＃２は、ノード１６において待機中である。同様に、無人車＃３は、ノード２２において待機中である。
【０００９】
以下、前述した前提条件における、図９に示す最適経路決定装置１００により、行われる配車割り付けについて説明する。
ここで、ノード２０において、荷物の積み込み要求が発生した場合、最適経路決定装置１００は、荷物を積み込むための配車割り付けを行う。上述の条件下において、この積み込み要求に対しては、待機中の無人車＃２と無人車＃３とのどちらかが、最適経路決定装置１００により、荷物の積み込みへ割り付けられる。そして、ここでの問題は、無人車＃２と無人車＃３とのどちらが割り付けられるかである。
【００１０】
まず、配車割り付けに際して、最適経路決定装置１００は、待機している無人車＃２の出発点から目標点までの移動距離が最短となる経路を抽出する。同様に、最適経路決定装置１００は、待機している無人車＃３の出発点から目標点までの移動距離が最短となる経路を抽出する。
【００１１】
次に、最適経路決定装置１００は、出発点から目標点までの移動距離を基にして、抽出された経路の評価値を算定する。その結果、無人車＃２と無人車＃３とにおいて、最適経路決定装置１００は、評価値の良い方に、荷物の積み込みに対する割り付けを行う。
【００１２】
上述した割り付けの基準となる評価値には、大別して距離に基づく評価値Ａと、時間に基づく評価値Ｂとの２種類がある。評価値Ａを用いて、配車割り付けを行った場合、得られる結果は、出発地から目的地までの無人車の最短移動距離の経路である。すなわち、割り付けされる無人車は、出発点から目標点までの移動距離の積算値が最小となる位置で待機している無人車である。
【００１３】
また、評価値Ｂを用いて、配車割り付けを行った場合、得られる結果は、出発点から目標点までの無人車が移動に要する時間において、最短移動時間の経路が得られる。すなわち、割り付けされる無人車は、出発点から目標点までの無人車の移動時間の積算値が最小となる位置で待機している無人車である。
【００１４】
ここで、図１０の梯子型走行路における各ノードの座標データを示す図１２の表に基づき、最適経路決定装置１００は、図１３の示す探索グラフを作成する。この探索グラフは、時間を’ｍｓｅｃ’単位で評価値とした場合に得られる。
【００１５】
また、距離を’ｍｍ’単位で評価値とした場合の探索グラフは、図１３の探索グラフの垂直方向の経路に対するコストを’３３３３’から’１０００’に置き換えたグラフである。この図１３に示す探索グラフには、最適経路決定装置１００が、最適な無人車の経路を探索するための基となる評価値が示されている。
【００１６】
図１３が示す探索グラフで、最適経路決定装置１００は、最適な無人車の運行する経路の探索を行う。しかし、図１０に示す梯子型走行路において求められる最適な経路は、評価値Ａと評価値Ｂとのどちらを用いて求めても差がない。そこで、以下の説明における経路探索は、図１３に示す評価値Ｂを用いて行う。
【００１７】
最適経路決定装置１００は、上述した経路探索により無人車＃２の最短経路を「ノード１６→ノード１７→ノード１８→ノード１９→ノード２０」と求めている。この経路の移動時間の積算値は、「９０００（ｍｓｅｃ）」である。
【００１８】
また、最適経路決定装置１００は、無人車＃３の最短距離を「ノード２２→ノード２１→ノード２０」と求めている。この経路の移動時間の積算値は、「６０００（ｍｓｅｃ）」である。結果として、最適経路決定装置１００は、荷物の積み込みに対して無人車＃３を割り付ける。
【００１９】
【発明が解決しようとする課題】
しかしながら、従来の無人車搬送制御装置により割り付けられた無人車＃３の経路は、図１１で示す無人車＃１が運行する経路に対して、ノード２０とノード２１との間で逆向きに重なり合う。図１１に示す状況の場合、走行中の無人車＃１は、無人車同士の衝突を防止するため、ノード２１までのノードに対する進入許可が与えられている。
【００２０】
そのため、無人車＃１は、作業を行うために、ノード２１へ進入する。そして、無人車＃１が、作業を終了してノード２１を出発するまで、無人車＃３は、ノード２２において待機することになる。
また、逆に無人車＃３がノード１９へ進入すると、無人車＃１は、ノード１８で待機することになる。
【００２１】
上述したように、無人車＃１の走行する経路と、無人車＃３の走行する経路とが、競合するため、無人車＃１および無人車＃３のどちらか一方は、他方の作業が終了するまで待機させられることになる。
【００２２】
すなわち、走行中の無人車＃１の経路に対して、走行方向が逆の経路となる無人車＃３に、配車の割り付けが行われると、無人車＃１と無人車＃３とのどちらか一方は、他方の作業が終了するまで待機する。そのため、搬送に利用されている無人車全体の搬送能力は、低下する。
【００２３】
本発明はこのような背景の下になされたもので、走行中の無人車の経路などに基づき、待機中の無人車の中から、目標点へ最短の時間で到達可能な無人車に配車の割り付けが行える無人車搬送制御装置を提供することを目的とする。
【００２４】
【課題を解決するための手段】
請求項１記載の発明は、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を、与えられた走行経路に従い走行する複数の無人車の運行を、前記ノードの配列に関する情報に基づいて制御する無人車搬送制御装置において、所定のノードにおいて、停止している待機中の複数の無人車の情報を記憶する記憶手段と、この記憶手段から運行候補の待機中の無人車を抽出する抽出手段と、この抽出手段により抽出された待機中の無人車に与えられる運行先の目標ノードの情報と、運行中の他の無人車の前記走行路における走行経路の情報と、前記ノードの配置に関する情報とに基づき、前記走行路に対応して、無人車の走行をシミュレーションして、このシミュレーション結果により最適な走行経路を探索する探索手段と、この探索された走行経路に対する評価値を求める評価手段と、この評価手段による、待機中の無人車の評価値を記憶する記憶手段と、この記憶手段に記憶される、複数の運行候補の待機中の無人車のおのおのの前記評価値に基づき、最適な評価値を有する待機中の無人車を選択する選択手段とを具備してなることを特徴とする。
【００２５】
請求項２記載の発明は、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する無人車搬送制御方法において、所定のノードにおいて、停止している待機中の複数の無人車の情報を記憶手段に記憶する第一のステップと、第一のステップにおいて記憶手段に記憶された複数の無人車の中から運行候補の待機中の無人車を抽出する第二のステップと、この第二のステップにおいて抽出された待機中の無人車に与えられる、運行先の目標ノードの情報と、運行中の他の無人車の前記走行路における走行経路の情報と、前記ノードの配置に関する情報とに基づき、前記走行路に対応して、無人車の走行をシミュレーションする第三のステップと、第三のステップのシミュレーション結果により、最適な走行経路を探索する第四のステップと、この第四のステップで求められる走行経路に対する評価値を求め、得られた待機中の無人車の評価値のデータを記憶手段に記憶する第五のステップと、第五のステップにおいて、前記記憶手段に記憶される、複数の運行候補の待機中の無人車のおのおのの前記評価値に基づき、最適な評価値を有する待機中の無人車を選択する第六のステップとを有することを特徴とする。
【００２６】
請求項３記載の発明は、請求項１に記載の無人車搬送制御装置において、所定の時刻における前記複数の無人車の確定走行経路および与えられた作業内容を記憶する計画指示記憶手段と、前記各無人車の状態を監視する第１の処理と、与えられた作業を完了した無人車が発生する度に、前記計画指示記憶手段に新たな作業を設定し、前記第１の手段および前記第２の手段を起動して走行経路を探索させる第２の処理と、該探索の結果に基づいて前記各無人車に動作指示を与える第３の処理を並列かつ周期的に行うことで、前記複数の無人車の運行を制御する運行制御手段とを具備してなることを特徴とする。
【００２７】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の一実施形態による無人車搬送制御装置１の構成を示すブロック図である。この図において、２は、配車割付部であり、ＣＰＵ（中央処理装置）、ＲＯＭ（リードオンメモリ）およびＲＡＭ（ランダムアクセスメモリ）などから構成される処理装置である。
【００２８】
運行計画部３は、ＣＰＵ等により構成され、各無人車の最適な走行経路および動作順序を決定する。
【００２９】
４は、搬送実行テーブルメモリ４であり、無人搬送システムに与えられる仕事に関するデータをプールしておく記憶領域である。５は、評価値格納メモリであり、運行計画部３において計画された各無人車の確定経路、及び、走行路上において無人車が停止可能な各ノードに関する予約シーケンス等を記憶する領域である。配車割付部２は、評価値格納メモリ５内のデータをチェック・参照し、各無人車への走行指示を出力する。
【００３０】
６は、計画指示データメモリであり、各無人車をどのように扱うかを指示するデータ、具体的には、経路確定レベル、目的ノード（目標点）、作業時間の各データが格納されている。運行計画部３は、これらのデータに基づいて、経路計画および動作計画を立てる。各データについて以下に説明する。
【００３１】
経路確定レベル：  各無人車の走行経路の確定状況を示すデータであり、「未定」、「目的ノードまで確定」、「退避先ノードまで確定」の３種類がある。
「未定」は、現在ノードから目的ノードまでの経路は確定しておらず、故にその経路を求める必要があることを示す。
【００３２】
「目的ノードまで確定」は、現在ノードから目的ノードまでの経路が確定していることを意味する。目的ノード以降の経路については、運行計画部２において退避先ノードが付け加えられることによって、そこまでの経路が追加される可能性がある。退避先ノードを決定する退避動作については、後述する。
【００３３】
「退避先ノードまで確定」は現在ノードから目的ノードを経て退避先ノードまでの経路が確定していることを意味する。退避先ノード以降の経路については、運行計画部３においてさらに退避先ノードが追加されることによって、そこまでの経路が追加される可能性がある。
【００３４】
７は各無人車の状態に関するデータメモリであり、無人車が待機状態にあるのか、運行状態にあるのか等の無人車の状態に関するデータが記憶されている。
【００３５】
８は、走行路データメモリであり、走行路上において無人車が停止可能な各ノードの座標と、その接続関係およびコストなどに関するデータが納められている。
【００３６】
配車割付部２は、搬送実行テーブルメモリ４および無人車データメモリ７を参照して、未割当の仕事の存在および仕事を持たない無人車の存在を確認した場合、その参照データを元に、計画指示データメモリ６に経路確定レベル・目的ノード・作業時間をセットし、運行計画部３を起動する。
【００３７】
次に、運行計画部３の動作について、説明する。
まず、運行計画部３は、自身内部に記憶される経路探索指示に従って、各無人車の出発ノードおよび目標ノードを結ぶ経路を全て求める。次に、走行路データメモリ８に記憶されたコスト（図１４参照）から、各経路のコストをそれぞれ積算し、そのコストが最小となる経路を最適経路に選択する。ただし、経路探索指示に後述する方向付けの方向情報が含まれる場合には、方向付けされたアークを逆方向に走行する経路は選択されない。同様に、経路探索指示に後述する通行禁止の方向情報が含まれる場合には、通行禁止のアークを通る経路は選択されない。
以上の方法で求めた経路およびそのコストは、自身の内部記憶部へ記憶される。ただし、ここで作成された経路は、他の無人車の走行経路は考慮されていず、走行路の競合がない場合にのみ最適な経路となる。
【００３８】
また、運行計画部３は、木の探索手法を用いて逆走行区間のない走行経路を求め、その結果を自身の内部記憶部へ記憶する。
ここでいう「木」は、図１５に示すような下方にかけて分岐を行う構成をとる。ここで、Ｎ１、Ｎ２、・・・は分岐条件が入った分岐点であり、このうち分岐点Ｎ１は分岐を開始するルート分岐点である。また、例えば、分岐点Ｎ２を現在の分岐点とすると、分岐点Ｎ１は分岐点Ｎ２の親分岐点となり、分岐点Ｎ３およびＮ４は分岐点Ｎ２の子分岐点となる。探索は、基本的に上位の分岐点から下位の分岐点にかけて行われるが、探索不能の場合には、一旦親分岐点に戻り（以降、バックトラックと呼ぶ）、他の分岐点へ分岐する。
【００３９】
図１６は、運行計画部３の行う経路計画処理を示すフローチャートであり、この図をもとに以下で説明を行う。
まず、ステップ１において、運行計画部３は、経路計画処理を開始する。
【００４０】
ステップＳＰ２において、運行計画部３は、内部に記憶された探索指示に基づき、各無人車の走行経路を求める。ここで、運行計画部３は、上述した方法により経路を探索し、その結果である初期経路を自身の内部記憶部へ記憶する。なお、この探索指示には、計画指示データメモリ６に記憶されたデータにより決まる無人車の目標ノードが含まれる。
【００４１】
ステップＳＰ３において、運行計画部３は、木のルート分岐点を空にする。
【００４２】
ステップＳＰ４において、運行計画部３は、内部に記憶される各無人車の走行経路に基づいて、任意の二つの無人車が互いに逆方向に移動を行う区間（逆方向区間）を求め、これを無人車の全ての組み合わせについて行う。
【００４３】
ステップＳＰ５において、ステップＳＰ４の結果により、運行計画部３は、逆方向区間が無ければ処理を終了し（ステップＳＰ１７）、逆方向区間がある場合には次のステップＳＰ６へ進む。また、逆方向区間が無い場合は、そのときの走行経路が最終的な走行経路となる。
【００４４】
ステップＳＰ６では、運行計画部３は、各無人車の経路の逆方向区間のコストを積算する。ここで、逆方向区間のコストは走行路データメモリ１０５から読み出される。また、ある逆方向区間で他の複数の無人車の経路と逆向きの競合を起こしている場合には、その競合の回数分コストを積算する。ただし、走行路上の隣り合う２点間を結ぶ経路がそれ以外に存在しない場合には、その区間は逆方向区間に含めない。
【００４５】
ステップＳＰ７において、運行計画部３は、各無人車に付けられた符号を、逆走行区間のコストの大きい順に並べた競合無人車集合を作成する。
【００４６】
ステップＳＰ８において、運行計画部３は、この競合無人車集合を持った分岐点を運行計画部３は、親分岐点の下に加える。ただし、このステップＳＰ８が始めて処理される場合、ルート分岐点に上記競合無人車集合を設定する。
【００４７】
ステップＳＰ９において、運行計画部３は、競合無人車集合から着目無人車を決定する。この着目無人車は、コストの大きい順に並んだ競合無人車集合の最初の無人車から順次選択されていく。また、次の無人車が無い場合、運行計画部３は、着目無人車なしとする。
【００４８】
ステップＳＰ１０において、運行計画部３は、前ステップＳＰ９の処理において着目無人車が無かった場合、次のステップＳＰ１１へ進み、着目無人車がある場合にはステップＳＰ１３へ分岐する。
【００４９】
ステップＳＰ１１において、運行計画部３は、現在の分岐点がルート分岐点前であるかどうかを調べ、ルート分岐点でない場合、次のステップＳＰ１２へ進み、ルート分岐点の場合、つまりルート分岐点の競合無人車集合の全てにおいて経路整理が失敗した場合、経路整理失敗で全処理を終了する（ステップＳＰ１７）。
【００５０】
ステップＳＰ１２において、運行計画部３は、現在の分岐点の処理を親分岐点へ移す（バックトラック）と共に、ステップＳＰ９の処理へ戻る。また、現在の分岐点へ分岐するときに行った方向付けはこの時に解除する。
【００５１】
ステップＳＰ１３において、運行計画部３は、走行路のうち、着目無人車の経路の逆方向区間を同無人車の移動方向の逆方向に方向付けし（一方通行とする）、方向情報に加える。
【００５２】
ステップＳＰ１４において、運行計画部３は、経路探索部１１０へ探索指示を出し、この方向付けされた走行路において全ての無人車の経路を求め直す。
【００５３】
ステップＳＰ１５において、運行計画部３は、前ステップＳＰ１４の経路探索において求められない経路が存在するかどうかを調べ、存在する場合には次のステップＳＰ１６へ進み、存在しない場合にはステップＳＰ４へ戻る。
【００５４】
ステップＳＰ１６において、運行計画部３は、ステップＳＰ１３で行われた走行路の方向付けを解除した後、ステップＳＰ９へ戻る。
以上説明した処理によって、コストが小さく逆走行区間が無い複数の無人車の経路（以降、基本経路）が得られる。
【００５５】
運行計画部３は、内部記憶部に記憶される基本経路に基づいて各無人車の移動を時間的に調べ、移動順序を調整したり、必要に応じて経路を変更、追加するなどして、全無人車の目標ノードまでの移動動作を計画する。また、その計画はペトリネットを用いたシミュレーションにより行われる。運行計画部３の行う動作計画処理を説明する前に、ペトリネットおよび動作計画に含まれる各種処理の説明を具体例を挙げて行う。
【００５６】
（１）ペトリネット
図１７（ａ）は、ペトリネットの説明に用いる運行図であり、この図において走行路１１１のノード２、６上には無人車＃１、＃２がそれぞれ待機している。また、図１７（ｂ）は、無人車＃１、＃２のそれぞれの出発ノード、目標ノード、および目標ノードまでの経路を示した図であり、［］内はノード間の移動時間（秒）を示す。すなわち、無人車＃１はノード２からノード３、４の順で移動を行い
、それぞれの移動時間はノード２からノード３までが１秒、ノード３、４間が３秒である。また、無人車＃２についても同様である。
【００５７】
図１８は、上述した運行図（図１７（ａ））をペトリネットでモデル化した図である。この図において、Ｐ1、Ｐ2、・・・、Ｐ8 はそれぞれノードプレースであり、走行路１１１の各ノード１ないし８に対応し、各ノードの占有状態を示す。また、これらのプレースＰ1ないしＰ8には、対応するノードに無人車がいる場合には、丸印内に黒トークン（黒丸）が置かれ、ノードが予約されている場合には、白トークン（白丸）が置かれる。初期状態では、無人車＃１はノード２に、無人車＃２はノード６にいるので、プレースＰ2、Ｐ6に各々黒トークンが置かれる。
【００５８】
また、Ｔ12、Ｔ23、・・・はトランジションであり、無人車の移動の状態を示す。また、同トランジションには、それに入る入力アークと、それから出る出力アークが一本ずつ付いており、これらのアークにより隣接する２つのプレースが結ばれる。例えば、入力ノード５、出力ノード６のトランジションはＴ56であり、逆に、ノード６からノード５への移動に対応するトランジションはＴ65である。また、ノード５からノード６への移動時には、このトランジションＴ56を発火させ、無人車が移動中であることを示す。また、トランジションは一度発火すると、対応するアークの移動時間などに基づいて有限時間その発火を持続する。
【００５９】
また、これから移動を行う経路上のトランジションをその発火順に並べたものを発火予定トランジション系列といい、図１７（ｂ）の基本経路の場合、無人車＃１および＃２の発火予定トランジション系列は以下のようになる。
発火予定トランジション系列（無人車＃１）＝｛Ｔ23、Ｔ34｝
発火予定トランジション系列（無人車＃２）＝｛Ｔ67、Ｔ73、Ｔ34｝
【００６０】
次にトランジションＴstの発火に関する処理を説明する。
▲１▼  発火可能条件
トランジションＴstは、入力側プレースＰs に黒トークンがあり、出力側プレースＰt に黒トークンが無く、なおかつこれに先立って先行トランジション（後述）が全て発火しているとき、発火可能となる。
【００６１】
▲２▼  発火処理
発火可能なトランジションＴstが発火するとノードＮsからノードＮtまでの移動時間を現在時間に加算し、トランジション番号と共に、その無人車の完了時刻にセットする。また、ノードＮt で作業する場合には、作業時間をさらに完了時刻に加算する。そして、出力プレースＰt に白トークンを置く。
【００６２】
▲３▼  発火完了処理
発火中のトランジションＴstの入力側プレースＰs から黒トークン、出力側プレースＰｔから白トークンをそれぞれ除き、プレースＰt に黒トークンを置く。なお、上述した発火可能条件において、無人車が単線区間（迂回路がない区間）を通るときは、トランジションを一括して発火可能か調べる。例えば、発火予定トランジション系列が｛Ｔ1、Ｔ2、・・・、Ｔn ｝であり、このうちのトランジションＴi、Ｔi+1、・・・、Ｔj が単線区間である場合、トランジションＴi-1 はトランジションＴi、・・・、Ｔjがすべて発火可能な場合のみ、発火できる。これは、トランジションＴi-1 の発火によって、単線区間に存在する他の無人車の出口を塞がないようにするためである。
【００６３】
（２）退避動作の計画
退避動作は、移動中のある無人車の移動先に作業を終えて待機状態にある他の無人車が存在する場合に、その待機状態の無人車を他のノードに移動（退避）させる動作である。図１９は、この退避経路を見つける退避経路探索処理のフローチャートであり、以下でこの説明を行う。
【００６４】
退避動作が開始されると、ステップＳａ２において、運行計画部３は、ある無人車の回りのノードを調べ、その無人車の退避できるノードを全て求める。ここで、退避できるノードとは以下の条件を満たすノードである。
▲１▼そのノードへの移動が禁止されていない。
▲２▼待機状態でない無人車に占有されていない。
【００６５】
次に、ステップＳａ３において、運行計画部３は、退避できるノードに対し、移動時間などの基本コストを積算する。ただし、待機状態の無人車がいるノードについては、例えばコストを１００倍するなどして、なるべく選ばれないようにする。
【００６６】
ステップＳａ４において、運行計画部３は、ステップＳａ３の結果のうちコストの一番小さいノードを退避ノードとし、現在ノードから退避ノードまでの区間を無人車の走行経路に追加する。
【００６７】
図２０は、以上の退避経路探索の一例を示す運行図である。この図において、無人車＃１および＃３は待機中（移動予定なし）であり、無人車＃２はノード３へ移動しようとしている。この場合、無人車＃２の邪魔となる無人車＃１が退避の対象となる。この無人車＃１の退避できるノードはノード２およびノード７であり、その両ノードへの退避経路のコストを調べる。
【００６８】
ノード２への移動時間は１秒であるが、無人車＃３がノード２で待機中のため、基本コストは、その移動時間の１００倍の１００となる。また、ノード７への移動時間は４であり、基本コストも４となる。よって、コストの小さいノード７が退避ノードに選択され、ノード３→７が無人車＃１の経路に追加される。
【００６９】
（３）デッドロック
複数の無人車が狭い領域に密集してしまい、上述した退避動作を行っても予定していた経路で進むことができないデッドロックの状況に陥った場合には、後述する発火順序調整、迂回経路探索、待避経路探索が行われる。ここでは、デッドロックの状態を把握する方法について述べる。図２１は、このデッドロック把握処理を示すフローチャートであり、以下でこの説明を行う。
【００７０】
まず、ステップＳｂ２において、運行計画部３は、まだ以下の処理を行っていない無人車を選びその無人車が待機中であるかを調べる。もし、待機中の無人車でない場合にはステップＳｂ３へ進み、待機中である場合にはステップＳｂ４へ分岐する。
【００７１】
ステップＳｂ３において、運行計画部３は、対象としている無人車の走行経路上にある最も近い無人車を邪魔な無人車とし、ステップＳｂ５へ進む。
【００７２】
ステップＳｂ４において、運行計画部３は、対象としている無人車の周辺にいる全ての無人車を邪魔な無人車とし、次のステップＳｂ５へ進む。
【００７３】
ステップＳｂ５において、運行計画部３は、全ての無人車に対し以上の処理が終了したかどうかを調べ、まだ未処理の無人車がある場合には、ステップＳｂ２へ戻る。
【００７４】
ステップＳｂ６において、運行計画部３は、適当な待機中でない無人車を選び、その無人車が邪魔としている無人車、その邪魔とされている無人車が邪魔としている無人車、・・・というふうに辿っていき、その中から２台以上のループを見つける。そして、これを全ての組み合わせについて行う。
【００７５】
ステップＳｂ７において、運行計画部３は、得られたループのうち最も多くの無人車を含むループを競合ループに選択する。
【００７６】
ステップＳｂ８において、運行計画部３は、ステップＳｂ７の処理で競合ループが得られないときは、デッドロック把握失敗で本処理を終了する（ステップＳｂ１０）。
【００７７】
ステップＳｂ９において、運行計画部３は、競合ループの各無人車について、その無人車が動ける隣接ノードすなわち他の無人車がいないノードを求め、本処理を終了する（ステップＳｂ１０）。
【００７８】
図２２は、走行路１０１におけるデッドロックの一例を示した図であり、同図（ａ）はその初期状態の運行図、（ｂ）はデッドロック状態の運行図を示している。また、この図において、待機中でない無人車はあみかけで示し、待機中の無人車は白ぬきで示す。ここで、無人車＃１ないし＃６の移動経路は次の通りである。
無人車＃１：６→５→４
無人車＃２：５→４
無人車＃３：１７→１８→４
無人車＃４：２→３→１６
無人車＃５：１６→１７
無人車＃６：１５→１６→１７
上記の経路に従って、無人車＃１ないし＃６が図２２（ａ）の初期経路から１区間だけ移動すると、同図（ｂ）に示すようなデッドロックの状態となる。ここで、無人車＃２および＃５は待機状態であるが、前述した退避経路は見つからない。
【００７９】
そこで、無人車＃１ないし＃６のそれぞれが邪魔な無人車を調べ、図２２（ｃ）に示すような結果を得る。この図において、例えば無人車＃１の邪魔となるのは無人車＃２であり、デッドロック時に無人車＃１の移動可能な空きノードはノード６である。この結果を基に邪魔な無人車あるいは邪魔となる無人車のループを探すと、
ループ１：無人車＃１(5)→＃２(4)
ループ２：無人車＃３(18)→＃２(4)
ループ３：無人車＃６(16)→＃５(17)
ループ４：無人車＃３(18)→＃２(4)→＃４(3)→＃６(16)→＃５(17)→＃３
の４つのループが得られる。そして、このうちの最も多く無人車を含むループ４が競合ループに選択される。なお、（）内はデッドロック時の各無人車の現在位置（ノード）である。
【００８０】
（４）発火順序調整
上述したデッドロックに陥った場合、まずトランジションの発火順序を調整し、その解消を試みる。つまり、ノードの予約順序を変えることによってデッドロックが回避できないかを探る。図２３は、この発火順序調整処理を示すフローチャートであり、以下でこの説明を行う。
【００８１】
まず、ステップＳｃ２において、運行制御部３は、競合ループに属す非待機の各無人車の現在ノードを、他の無人車が今後通過する回数をカウントする。
【００８２】
ステップＳｃ３において、運行制御部３は、上記通行回数が「０」かどうかを調べ、「０」の場合には本処理を終了し（ステップＳｃ９）、「０」でない場合には、次のステップＳｃ４へ進む。
【００８３】
ステップＳｃ４において、運行制御部３は、各ノードの通行回数が前回の発火順序調整処理の時と異なる新しい状態であるかどうかを調べ、新しい状態ならば次のステップＳｃ５へ進み、前回と同じ状態ならば、本処理を終了する（ステップＳｃ９）。これは、状態が複雑になると、発火順序を何回も変えて結局前の状態へ戻ることがあるためでる。
【００８４】
ステップＳｃ５において、運行制御部３は、そこにいる無人車は、自分を邪魔としている無人車の現在ノードを通過していないかどうかを調べ、通過しない場合には次のステップＳｃ６へ進み、通過する場合には処理を終了する（ステップＳｃ９）。これは、同じ区間を通ってきた無人車においては後からきた無人車を先にやれなくなるので、合流点（ノード）をチェックするためである。
【００８５】
ステップＳｃ６において、運行制御部３は、ステップＳｃ２の結果である通行回数を評価値とする。ただし、運行制御部３は、ある無人車を邪魔としている無人車が待機状態のとき、前述した評価値を上げる。また、以上のステップＳｃ２〜Ｓｃ６の処理は、競合ループに属する非待機の無人車がいる全てのノードについて行われる。
【００８６】
ステップＳｃにおいて、運行制御部３は、ステップＳｃ６で求めた各ノードの評価値が最小となるノードを競合ノードに選択する。
【００８７】
ステップＳｃ８において、運行制御部３は、その競合ノードにいる無人車を邪魔とする無人車が先に通るようトランジション発火制御データに加える。このトランジション発火制御データは、特定ノードにおける無人車の移動順序を規制するものであり、これによってトランジションの発火が規制される。
【００８８】
以上で説明した発火順序調整の処理を上述した図２２の運行図を用いて説明する。まず、競合ループ中の非待機の無人車＃３、＃４、＃６がいるノード１８、３、１６（図２２（ｂ））の各々について通行回数を求める。この結果、ノード１６が１回、その他のノードは０回なので、ノード１６は、競合ノードに選ばれる。
【００８９】
このノード１６を出力先に持つトランジションは、トランジションＴ15・16およびＴ3・16 であり、これらの発火順序を逆にする。つまりトランジションＴ3・16を先行トランジションとし、トランジションＴ15・16 よりも先に発火させる。これにより、無人車＃６をノード１６へ移動させる前に、無人車＃４をノード１６まで移動させ、ノード３が空くので待機中の無人車＃２をノード３へ退避させることができる。このように、トランジションの発火順序を調整することで、デッドロックを解消できる場合がある。
【００９０】
図２４は、この具体例の最終結果を示す図であり、同図（ａ）は無人車＃１ないし＃６の出発ノードから目標ノードまでの経路を示し、同図（ｂ）はノード予約シーケンスを示す。同図（ａ）の（）内は目標ノードであり、このノード以降の経路は上述した退避経路である。また、ノード予約シーケンス（同図（ｂ））は、各ノードを無人車が予約する順序を示すもので、この図において例えば、ノード５は無人車＃２、＃１の順で予約が行われる。
【００９１】
（５）迂回動作の計画
基本経路に従ってデッドロックの状況を解消できない場合には、適当な無人車が迂回経路をとるように計画する。図２５は、この迂回経路探索処理を示すフローチャートであり、以下でこの説明を行う。
【００９２】
まず、ステップＳｄ２において、運行制御部３は、競合ループに属し、非待機の無人車について、移動可能な隣接ノードがあるかどうかを探索する。ここで、運行制御部３は、移動可能な隣接ノードがある場合に、次のステップＳｄ３の処理へ進み、一方、無い場合には迂回経路探索失敗で、本処理を終了する（ステップＳｄ９）。
【００９３】
ステップＳｄ３において、運行制御部３は、前ステップで選ばれた無人車に関して以下のアークを一時的に通行禁止にする。
▲１▼その無人車の現在ノードから次のノードへのアーク
▲２▼現在ノードから動けない方向へのアーク
【００９４】
ステップＳｄ４において、運行制御部３は、現在ノードを出発ノード、次のノードを目標ノードに設定する。
【００９５】
ステップＳｄ５において、運行制御部３は、ステップＳｄ３および４の設定に基づいて経路探索処理（ステップＳａ１）を行う。
【００９６】
ステップＳｄ６において、運行制御部３は、ステップＳｄ３で行ったアークの通行禁止を解除する。
【００９７】
ステップＳｄ７において、運行制御部３は、ステップＳｄ５の経路探索処理において迂回経路が求められたかどうかを調べ、迂回経路がある場合には次のステップＳｄ８へ進み、迂回経路が無い場合には迂回経路探索失敗で本処理を終了する（ステップＳｄ９）。
【００９８】
ステップＳｄ８において、運行制御部３は、対象としている区間の経路を迂回経路に差し替えて本処理を終了する（ステップＳｄ９）。
【００９９】
図２６は、デッドロックの状況を例示した図であり、同図（ａ）はデッドロックの状態を示す運行図である。以下、この図に基づいて上述した迂回経路探索処理を説明する。
【０１００】
まず、無人車＃１が最初に選ばれたとすると、ノード４→３、４→１８のアークを通行禁止にして迂回経路を求めようとする。この場合の無人車＃１の迂回経路としてはノード５→６→２０→１９→１８→１７・・・の経路が考えられるが、ノード１８→１７が無人車＃４の経路と逆行するため基本的にはこの経路は選択されない。ただし、後述する動作計画（図２９）の２回目の試行においては、逆走行区間が通行禁止にならないため、選ばれるかもしれない。
【０１０１】
次に、無人車＃２で迂回経路探索をすればノード３→２→１→１５→１６が得られる。そして、この経路が迂回経路となると共に無人車＃２の経路（３→１６）の間に挿入される（図２６（ｂ））。
【０１０２】
（６）待避動作の計画
デッドロックの状況において迂回動作がとれない場合は、適当な無人車が一旦別のノードへ退き（待避）、他の無人車に道を譲った後、再び元の経路で移動を行う。図２７は、この待避動作を示す待避経路探索であり、以下でこの説明を行う。
【０１０３】
まず、ステップＳｅ１において、運行制御部３は、競合ループに属しまだ目標ノードまで到着していない無人車（非待機無人車）について、移動できる隣接ノードがあるかどうかを調べ、ある場合には次のステップＳｅ３へ進み、無い場合には待避経路探索失敗で本処理を終了する（ステップＳｅ１０）。
【０１０４】
ステップＳｅ３において、運行制御部３は、その無人車の現在ノードから次のノードへのアークを一時的に通行禁止にする。
【０１０５】
ステップＳｅ４において、運行制御部３は、現在ノードを出発ノードに、他の全てのノードを目標ノードに設定する。
【０１０６】
ステップＳｅ５において、運行制御部３は、ステップＳｅ３および４において設定された条件で経路探索処理（ステップＳａ１）を行う。
【０１０７】
ステップＳｅ６において、運行制御部３は、ステップＳｅ５で得られた全ての経路の内、最もコストが小さい経路を選択し、その目標ノードを待避ノードとする。ただし、待避ノードの選択では単線区間に存在するノードは除く。
【０１０８】
ステップＳｅ７において、運行制御部３は、ステップＳｅ３で行った通行禁止を解除する。
【０１０９】
ステップＳｅ８において、運行制御部３は、ステップＳｅ６の結果で待避ノードが無い場合には、待避経路探索失敗で本処理を終了し（ステップＳｅ１０）、待避ノードがある場合には、次のステップＳｅ９へ進む。
【０１１０】
ステップＳｅ９において、運行制御部３は、現在ノードから待避ノード、さらにそこから現在ノードまでの経路（待避経路）を、現在持っている経路に挿入し、本処理を終了する。
【０１１１】
図２８（ａ）は、デッドロックの状況を例示した運行図であり、この図に基づいて待避経路探索処理を説明する。
まず、無人車＃１が最初に選ばれたとすると、ノード４→３を一時通行禁止にして経路探索を行い、ノード５が最もコストの小さい待避ノードに選択される。ここで、この無人車＃１の移動可能な隣接ノードは、ノード５の他にノード１８があるが、コスト（図１４参照）の小さいノード５が待避ノードに選ばれる。
【０１１２】
次に、ノード５からノード４への経路を探索し、ノード４→５→４が待避経路として求まる。最後にこの待避経路を元の経路に挿入し無人車＃１の経路（ノード４→５→４→３→２）が得られる（図２８（ｂ））。
【０１１３】
（７）動作計画
運行計画部３は、上述した（１）〜（６）の各種処理を用いて全無人車の経路の決定および移動順序の計画を行う。図２９、３０、３１は、この動作計画処理を示すフローチャートであり、以下でこの説明を行う。
まず、ステップＳｆ１（図２９参照）において、運行計画部３は、ペトリネットを用いて走行路のモデル化を行う。
【０１１４】
ステップＳｆ２において、運行計画部３は、試行回数に１をセットする。
【０１１５】
ステップＳｆ３において、運行計画部３は、各無人車の経路を、経路計画で得た基本経路に設定する。
【０１１６】
ステップＳｆ４において、運行計画部３は、試行回数を調べ、試行回数が「１」であるならば次のステップＳｆ５へ進み、「１」以外の値ならばステップＳｆ６へ進む。
【０１１７】
ステップＳｆ５において、運行計画部３は、上述した基本経路の各経路と逆行するアークを全て通行禁止にする。これにより、以下に示される処理で逆方向区間が発生することがなくなる。また、ループ▲１▼により処理が戻り試行回数が２（図３１参照、ステップＳｆ３１）となる場合には、このステップＳｆ５は実行されず、経路探索処理においてこの通行禁止の制限は加えられない。
【０１１８】
ステップＳｆ６において、運行計画部３は、現在時刻を０に初期設定する。
【０１１９】
ステップＳｆ７において、運行計画部３は、各無人車を出発点に置き、その各経路から発火予定トランジション系列をそれぞれ求める。
【０１２０】
ステップＳｆ８において、運行計画部３は、各無人車の完了時刻を−１に初期設定する。
【０１２１】
ステップＳｆ９において、運行計画部３は、発火トランジション系列を空に初期設定する。この発火トランジション系列は、実際に発火を行うトランジションの系列であり、必ずしも発火予定トランジション系列と一致しない。
【０１２２】
ステップＳｆ１０において、運行計画部３は、各無人車に対して完了時刻が現在時刻と同じであるかどうかを調べ、同じである場合には次のステップＳｆ１１へ処理を進め、同じでない場合、ステップＳｆ１２へ処理を進める。
【０１２３】
ステップＳｆ１１において、運行計画部３は、ステップＳｆ１０の条件を満たす全ての無人車の発火予定トランジションから先頭のトランジションを取り出し、発火完了処理を行う。
【０１２４】
ステップＳｆ１２において、運行計画部３は、各無人車に対して完了時刻が現在時刻以前であるかどうかを調べ、現在時刻以前である場合には次のステップＳｆ１３へ処理を進め、現在時刻以前でない場合にはステップＳｆ２０へ処理を進める。
【０１２５】
ステップＳｆ１３において、運行計画部３は、発火予定トランジションの先頭のトランジションが、発火可能であるかどうかを調べ、発火できる場合はステップＳｆ１４へ処理を進め、発火できない場合にはステップＳｆ１７へ処理を進める。
【０１２６】
ステップＳｆ１４において、運行計画部３は、ステップＳｆ１３で発火可能とされた全てのトランジションを取り出して発火処理を行う。
【０１２７】
ステップＳｆ１５において、運行計画部３は、完了時刻に発火したトランジションの移動時間を加算し、完了時刻を更新する。
【０１２８】
ステップＳｆ１６において、運行計画部３は、ステップＳｆ１４で発火処理を行ったトランジションを各々対応する発火トランジション系列へ登録（追加）し、ステップＳｆ２０へ処理を進める。
【０１２９】
一方、ステップＳｆ１７において、運行計画部３は、発火できないトランジションに対応する邪魔な無人車に移動可能な隣接ノードがあるかどうかを調べる。つまり、運行計画部３は、ある無人車の運行に邪魔な無人車を他のノードへ追い出せるかどうかを調べる。この結果、追い出し可能の場合には次のステップＳｆ１８へ処理を進め、追い出し可能でない場合にはステップＳｆ２０へ処理を進める。
【０１３０】
ステップＳｆ１８において、運行計画部３は、ステップＳｆ１７で追い出し可能とされた無人車が待機中であるかどうかを調べ、待機中の場合には次のステップＳｆ１９へ処理を進め、待機中でない場合にはステップＳｆ２０へ処理を進める。
【０１３１】
ステップＳｆ１９において、運行計画部３は、ステップＳｆ１７および１８の条件を満たす無人車に対し退避経路処理（図１９、ステップＳａ１）を行い、退避経路を求める。
【０１３２】
ステップＳｆ２０において、運行計画部３は、全ての無人車に対応する発火トランジションの完了時刻が現在時刻以前であるかどうかを調べ、現在時刻以前ならばステップ２２へ処理を進め、現在時刻以前でないならステップＳｆ２１へ処理を進める。
【０１３３】
ステップＳｆ２１において、運行計画部３は、全無人車のなかから最も近未来の完了時刻を持つ無人車を見つけ、その完了時刻を現在時刻に設定する。そして、ステップＳｆ１０（図２９）へ戻る。
【０１３４】
ステップＳｆ２２において、運行計画部３は、全ての無人車の発火予定トランジション系列が空であるかどうかを調べ、空ならばステップＳｆ３２（図３１参照）へ処理を進め、空でないならば次のステップＳｆ２３へ処理を進める。
【０１３５】
ステップＳｆ２３において、運行計画部３は、前述したデッドロック把握処理（図２１参照、ステップＳｂ１）によってデッドロックの状況を調べる。
【０１３６】
ステップＳｆ２４において、運行計画部３は、ステップＳｆ２３の処理で得られた競合ループに基づいて、前述した発火順序調整処理（図２３参照、ステップＳｃ１）によって各トランジションの発火順序を調整する。
【０１３７】
ステップＳｆ２５において、運行計画部３は、前ステップＳｆの発火順序の調整が成功したかどうかを調べ、失敗の場合には次のステップＳｆ２６へ処理を進め、成功の場合つまりデッドロックが解消された場合にはステップＳｆ６（図２９参照）へ処理を戻す。
【０１３８】
ステップＳｆ２６において、運行計画部３は、迂回経路探索処理（図２５参照、ステップＳｄ１）によって、迂回経路を探索する。
【０１３９】
ステップＳｆ２７において、運行計画部３は、前ステップにおける迂回経路探索が成功したかどうかを調べ、失敗の場合には次のステップＳｆ２８へ処理を進め、成功の場合にはステップＳｆ６（図２９参照）へ処理を戻す。
【０１４０】
ステップＳｆ２８において、運行計画部３は、待避経路探索（図２７参照、ステップＳｅ１）によって、待避経路を探索する。
【０１４１】
ステップＳｆ２９において、運行制御部３は、前ステップの待避経路探索が成功したかどうかを調べ、失敗の場合には次のステップＳｆ３０へ進み、成功の場合にはステップＳｆ６（図２９参照）へ処理を戻す。
【０１４２】
ステップＳｆ３０において、運行計画部３は、現在の試行回数を調べ、それが「１」の時は次のステップＳｆ３１へ進み、「１」でない場合には動作計画失敗で全処理を終了する（ステップＳｆ３４）。
【０１４３】
ステップＳｆ３１において、運行計画部３は、試行回数を２に増やした後、ステップＳｆ３（図２９参照）へ処理を戻す。
【０１４４】
ステップＳｆ３２において、運行計画部３は、無人車の動作計画が成功した場合に実行され、現在の経路を無人車の最終経路に設定する。
【０１４５】
ステップＳｆ３３において、運行計画部３は、発火トランジション系列をもとに、各ノードを占有する無人車の順序（ノード予約シーケンス）を作成し、全処理を終了する（ステップＳｆ３４）。
【０１４６】
（８）ペトリネットシミュレーションの処理例
次に、以上のペトリネットシミュレーションの具体例を、前述した図１７の運行図（ａ）、経路（ｂ）の条件において説明する。図３２は、シミュレーションの過程を示すペトリネット図である。
【０１４７】
まず、初期状態（図３２（ａ））で、まず発火処理（ステップＳｆ１４）により無人車＃１に対応するトランジションＴ23が、無人車＃２に対応するトランジションＴ67がそれぞれ発火する。それらの完了時刻は各々１、２秒になる。そして、プレースＰ3およびＰ4に白トークンが置かれる。
【０１４８】
次に、ステップＳｆ２１において、運行計画部３は、現在時刻を無人車＃１の完了時刻つまり１秒に更新し、ステップＳｆ１０へ処理を戻す。運行計画部３は、ステップＳｆ１１の発火完了処理によって、プレースＰ2から黒トークンを、プレースＰ3から白トークンを除き、プレースＰ3に黒トークンを置く（図３２（ｂ）参照）。この状態は、無人車＃１がノ ード３へ到着したことを意味する。ここで、発火中のトランジションＴ67は、長方形で囲まれる。
【０１４９】
次に、ステップＳｆ１４において、運行計画部３は、無人車＃１に対応するトランジションＴ34を発火させ、ステップＳｆ１５において、無人車＃１の完了時刻を４秒にセットする。
【０１５０】
次に、ステップＳｆ２１において、運行計画部３は、現在時刻を無人車＃２の完了時刻の３秒に更新し、ステップＳｆ１０を経由して再び戻ったステップＳｆ１１でトランジションＴ67の発火完了処理を行う。
【０１５１】
ステップＳｆ１３において、無人車＃２のトランジションＴ73が調べられるが出力先のプレースＰ3に黒トークンがあるため発火できない。これは無人車＃１がノー ド３を占有しいているためである。無人車＃１は現在ノード３から４へ移動中なので追い出せない。このため、無人車＃２はノード７で待つことになる。ステップＳｆ２１で無人車＃１の完了時刻すなわち４秒に、現在時刻が更新される。
【０１５２】
ステップＳｆ１４でトランジションＴ34の発火処理が行われて無人車＃１が目標ノード４に到着する。次に、無人車＃１がノード３を開放したので、ステップＳｆ１４でトランジションＴ73の発火処理が行われる（図３２（ｄ））。
【０１５３】
トランジションＴ73の発火処理が終わった時点（図３３（ａ））で、ステップＳｆ１４において、運行計画部３は、最後のトランジションＴ34を発火させようとするが発火できないため、無人車＃１に追い出しをかける。
【０１５４】
退避経路探索処理（ステップＳｆ１９）により、無人車＃１の退避経路（ノード４→８）が求まり対応するトランジションＴ48が発火すべきトランジションに加えられ、発火する。
以下、同様の処理でシミュレーションが進行し、図３３（ｃ）まで進むと発火すべきトランジションが無くなり、ステップＳｆ３２の処理に入る。
トランジションの発火系列 ＝ ｛Ｔ23（#1）,Ｔ67（#2）,Ｔ34（#1）,Ｔ73（#2）,Ｔ48（#1）,Ｔ34（#2）｝から、各ノードを占有する無人車の先行関係を調 べ、図３４（ａ）に示すようなノード予約シーケンスを作成する。
【０１５５】
また、このノード予約シーケンスから、同図（ｂ）に示すような運行計画図が作成される。この図において、無人車＃１および＃２は実線と破線にそれぞれ対応している。また、矢印は各無人車の移動を示し、水平線はノードが予約されている期間を示す。例えば、無人車＃１はノード２から１秒でノード３へ移動し、さらに３秒でノード４へ移動を行う。この間、ノード３は、時刻０から４まで無人車＃１に予約される。
【０１５６】
全体の動作例１：
以下で、図４１に示した搬送路１０１における運行管理制御装置１（図１）の動作を説明する。以下の図において、図４１と対応する部分には同一の符号を付け、その説明を省略する。また、この動作例における出発点および目標点を図３５（ａ）に示す。
まず、運行計画部３は、自身内部に記憶している探索指示（図３５（ａ）に基づき、各無人車＃１ないし＃５の搬送経路（初期経路）を探索し、その結果である初期経路を自身内部へ記憶する。図３６（ａ）は、この初期経路を示した運行図であり、同図において無人車＃１ないし＃７の経路はそれぞれ、点線、長い一点鎖線、二点鎖線、一点鎖線、破線、実線、長い破線で示されている。
【０１５７】
運行計画部３は、この図３６（ａ）に示す初期経路において、ノード２、３間、ノード４〜６間、およびノード８〜１０間が逆方向区間となっているため、コストに応じて走行路の特定区間の方向付けを行い、再び経路探索の処理を行う。以上の動作が逆方向区間が無くなるまで行われ、図３５（ｂ）および図３６（ｂ）に示すような基本経路が得られる。運行計画部３は、この基本経路を自身の記憶部へ記憶する。
【０１５８】
運行計画部３は、この基本経路に基づいて上述した動作計画処理（図２９、３０、３１参照）を行う。また、この処理の間に、運行計画部３は、同時に、迂回経路などの経路探索を行う。出発ノード、目標ノードおよび通行禁止区間は、運行計画部３内部の記憶部へ記憶される。
以上の処理によって、図３５（ｃ）および図３６（ｃ）に示すような最終経路が得られる。この最終経路では、基本経路（図３５（ｂ））に対して、無人車＃１の退避経路（ノード２０→６）が追加されている。また、図３７は、この時の無人車＃１ないし＃７の各々の移動を時間的に示した運行計画図である。
【０１５９】
全体の動作例２：
次に、上述した搬送路１０１のノード２０、２１間が通行禁止である場合の動作例について説明する。ただし、この動作例における各無人車＃１ないし＃７の現在地および目標地は上述した動作例１と同一である（図３５（ａ））。また、この場合、ノード６、７間、ノード７、８間、ノード２１、２２間は、これを結ぶ経路以外に迂回する経路が存在しないので、逆方向区間に含めない。
【０１６０】
ここでも動作例１と同様な処理が行われ、まず、経路探索部１１０において図３９（ａ）の運行図に示すような初期経路が得られる。次に経路計画部１０９によって、図３８（ｂ）および図３９（ｂ）に示すような基本経路が作成される。これらの図において、初期経路（図３９（ａ））にあった逆走行区間は無くなっている。
【０１６１】
そして、運行計画部３において、図３８（ｃ）および図３９（ｃ）に示すような最終経路が作成される。この最終経路では、基本経路（図３９（ｂ））に対して、無人車＃１の退避経路（ノード２０→６）および無人車＃５の退避経路（ノード８→２２→２３→２４→１０→９）が追加されている。また、図４０は、この時の運行計画図であり、この図において、無人車＃１ないし＃７のノード予約は図３５と同一の線種で示されている。
【０１６２】
上述の説明をまとめると、運行計画部３は、計画指示データメモリ６及び無人車データメモリ７を参照して、各無人車に対する走行経路を作成する。この作成動作は、他の無人車の作業完了を待たず、作業が完了した無人車に対して直ちに行われる。従って、運行計画部３が基本経路（逆方向区間の無いコスト最小経路）を求める時には、走行が確定している経路がすでにいくつか存在していることになる。
【０１６３】
運行計画部３は、起動時において、特定の経路に対し、方向付けおよび通行禁止の情報を探索時条件として指示することが可能である。また、運行計画部３は、計画指示データメモリ６内の経路確定レベルが「未定」の無人車に対してのみ初期経路（無人車同士の競合を考慮しない、コストが最小となる経路）を求める。
【０１６４】
一方、計画指示データメモリ６内の経路確定レベルが「目的ノードまで確定」または「退避先ノードまで確定」の無人車は、すでに目的ノードまたは退避先ノードまでの経路が確定しており、この確定経路は固定条件となる。
【０１６５】
運行計画部３は、求められた基本経路に基づいて各無人車の時間的な移動を調べ、移動順序を調整したり、必要に応じて経路を変更、追加するなどして、全無人車の目標ノードまでの最も効率的な運行を計画する。
【０１６６】
運行計画の１つとして、退避動作がある。退避動作は、移動中のある無人車の移動先に作業を終えて待機状態にある他の無人車が存在する場合に、その待機状態の無人車を他のノードに移動（退避）させる動作である。退避先として可能なノードは、以下の条件を満たすノードである。
▲１▼そのノードへの移動が禁止されていない。
▲２▼待機状態でない無人車に占有されていない。
【０１６７】
運行計画部３における退避経路追加は目的ノードに到達後にのみ、必要ならば行われる。また、退避先ノードまでの経路が確定すると、その退避先ノードより前に新たな退避先ノードおよび経路を挿入することも行わない。即ち、各無人車の走行経路がどの程度まで確定しているのかを常に把握する必要があり、計画指示データメモリ６に記憶された、上述した「経路確定レベル」が参照される。
【０１６８】
また、他の運行計画として、逆方向に運行する無人車同士の同一な運行経路の除外がある。運行計画部３は、他の無人車の走行経路を考慮し、目標ノードへ向かう無人車の経路の逆方向区間をこの無人車の移動方向の逆方向として方向付け（一方通行とする）する。そして、運行計画部３は、方向情報の一つとして無人車の経路を求め直し、無人車同士の逆方向経路を運行計画から除外する。
【０１６９】
さらに、他の運行計画として、一箇所に無人車が複数集中し、無人車の動きがとれなくなる場合に迂回経路の探索がある。このとき、運行計画部３は、適当な無人車が、他の無人車の集中している経路を避けて、他の経路を回り道する、すなわち迂回する経路の探索を行う。
【０１７０】
上記運行管理制御装置１によれば、無人車が移動を開始する前に、予め無人車同士の干渉を考慮して全ての無人車の走行経路および走行順序を得ることができるので、多数の無人車が走行路上で頻繁に干渉する可能性がある場合にもスムーズな移動が可能となり、従って無人車の搬送効率を向上させることができる。
【０１７１】
また、周期的に各無人車の状態を監視し、作業を完了した無人車が発生すると、その無人車に関して新たな作業を設定して他の無人車の状態を考慮して走行経路探索を行う。従って、時々刻々と変化する各無人車の状況の元で、作業を完了した無人車に直ちに新たな作業および動作指示を与えることができるので、無人車の搬送効率を向上させることができる。
【０１７２】
次に、図１および図２を参照して、無人車搬送制御装置１の動作について説明する。図２は、無人車搬送制御装置１の配車割付処理を示すフローチャートである。ここで、配車割付とは、以下の動作を示す。新たな荷物の搬送処理が発生した場合、配車割付部２は、運行制御部３を起動する。そして、運行制御部２は、所定のノードで待機中の無人車の走行経路の評価を行い、評価値格納メモリ５に評価結果のデータを記憶させる。
【０１７３】
そして、配車割付部２は、評価結果格納メモリ５に記憶される評価結果に基づいて、所定のノードに待機中の無人車のなかから最も適する無人車を選択する。以下、上述の処理について説明する。
【０１７４】
まず、ステップＳ１において、配車割付部２は、搬送実行テーブル４を参照する。その結果、配車割付部２は、次に実行すべき搬送要求のデータを搬送実行テーブル４から読み出す。ここで、配車割付部２の読み出すデータは、搬送実行テーブル４に記憶される最も優先度の高い要求である。
【０１７５】
そして、配車割付部２は、読み出された搬送要求に対応し、待機中の無人車を確認するために無人車データメモリ７を検索する。これにより、配車割付部２は、所定のノードにおいて、待機中の無人車を全て抽出する。そして、配車割付部２は、抽出した待機中の無人車の待機無人車データリストを配車割付部２内の記憶部へ作成する。
【０１７６】
次に、ステップＳ２において、配車割付部２は、ステップ１において作成された待機無人車データリストの先頭から、無人車のデータを取り出し、搬送要求にたいする割付候補とする。
【０１７７】
そして、配車割付部２は、搬送要求の最初の目標点である、荷物を移載するノードのデータと、このノードにおける荷物の積み込みに要する作業時間のデータとを、取り出した待機中の無人車のデータに対応させ、計画指示データメモリ６へ記憶させる。ここで、配車割付部２は、待機無人車データリストにおける他の待機中の無人車に対応するデータの目標点を記憶させる部分へ目標点なしを示すデータを書き込む。
【０１７８】
次にステップＳ３において、配車割付部２は、運行計画部３を起動する。そして、運行計画部３は、走行路データメモリ８、無人車データメモリ７および計画指示データメモリ６それぞれから、待機無人車リストから取り出した待機中の無人車に対応するデータを抽出し、運行計画条件のデータとしてまとめる。
【０１７９】
そして、運行計画部３は、運行計画条件に基づき、対応する無人車の出発点のノードと目標点のノードとを結ぶ経路を全て求める。これにより、運行計画部３は、走行路データメモリ８に記憶されている図１３に示すようなコストから、各経路のコストをそれぞれ積算し、積算したコストが最小となる経路を最適経路として選択する。
【０１８０】
また、運行計画部３は、上述した運行計画部３の動作においての経路計画を作成する処理により、すなわち、上述した経路を求める時、走行中の無人車の経路に対しての逆走行区間および干渉を考慮し、かつ、無人車の移動時間に基づき、無人車の移動順序の変更を行いながら上述の経路を求める処理を行う。
【０１８１】
次に、ステップＳ４において、運行計画部３は、求めた経路に基づき、対応する無人車が目標点のノードに到達するまでの所要時間を見積もり、積算する。
そして、運行計画部３は、積算した値の中で最も大きい所要時間を、選択された経路の評価値として、評価格納メモリ５へ記憶させる。これにより、配車割付部２は、待機無人車リストから取り出した無人車の評価値を評価値格納メモリ５から読み出せる。
【０１８２】
次に、ステップＳ５において、配車割付部２は、待機無人車待機リストの次の無人車のデータを読み出す。ここで、配車割付部２は、待機無人車リストに無人車のデータが無ければステップＳ６へ、処理を進める。
【０１８３】
また、配車割付部２は、待機無人車リストに無人車のデータが存在すれば、ステップＳ２へ処理を戻す。
ここで、待機無人車リストに無人車データが残って入りとすると、ステップ２において、配車割付部２は、待機無人車リストから次の無人車のデータを取り出し、搬送要求にたいする割付候補とする。
【０１８４】
そして、配車割付部２は、搬送要求の最初の目標点である、荷物を移載するノードのデータと、このノードにおける荷物の積み込みに要する作業時間のデータとを、取り出した待機中の無人車のデータに対応させ、計画指示データメモリ６へ記憶させる。
【０１８５】
ここで、配車割付部２は、待機無人車データリストにおける他の待機中の無人車に対応するデータの目標点を記憶させる部分へ目標点なしを示すデータを書き込む。
【０１８６】
そして、配車割付部２は、待機無人車リストの無人車データが空になるまで、ステップＳ２からステップＳ５間での処理を繰り返して行う。
最後に、配車割付部２は、待機無人車リストがステップＳ５において、空であると確認すると、ステップＳ６へ処理を進める。
【０１８７】
次に、ステップＳ６において、配車割付部２は、評価値格納メモリ５から得られる、待機無人車リストにあるそれぞれの無人車の評価値を比較する。これにより、配車割付部２は、現在待機中の無人車の中から最も小さい評価値（無人車の経路における所用時間）の割付候補を、搬送要求に対する最適な無人車として、搬送実行テーブルメモリ４へ記憶させる。
【０１８８】
次に、図１０に示す梯子型走行路を用いて、実際の無人車の割付処理の一例を説明する。図１１で示される無人車の状況において、搬送実行テーブルメモリ４は、図３に示す搬送実行テーブルのデータを記憶していたとする。
【０１８９】
ここで、「ＮＯ．」の欄にある番号「１」は、無人車＃１に割り付けられている搬送要求の番号である。番号「１」の搬送要求は、ノード１８で荷物を積み込み、ノード１８からノード２１まで、積み込んだ荷物を搬送し、ノード２１において荷物を下ろす作業の流れを示している。そして、現在、無人車＃１は、ノード１８において、荷物を積み込み、ノード１８とノード２１との間で走行中である。
【０１９０】
また、「ＮＯ．」の欄にある番号「２」および「３」は、無人車に対する搬送処理の割付が行われていない搬送要求の番号である。まず、配車割付部２は、優先度の高い要求として、番号「２」の搬送要求を選択する。また、同時に、配車割付部２は、無人車データメモリ７を参照して、無人車＃２と無人車＃３とが待機中であることを確認し、待機無人車リストとして｛＃２、＃３｝を配車割付部２内の記憶部へ作成する。
【０１９１】
次に、配車割付部２は、待機無人車リスト｛＃２、＃３｝から、待機無人車リストの上位にある無人車＃２を示すデータ「＃２」を読み出す。これにより、配車割付部２は、無人車＃２を搬送要求番号「２」に対する割付候補とする。無人車＃２の走行の目標点は、荷物を積み込むノード２０となる。そして、配車割付部２は、無人車＃２の目標点ノード２０を示すデータと、ノード２０における作業時間を示すデータとを計画指示データメモリ６に書き込む。
【０１９２】
また、配車割付部２は、計画指示データメモリ６へ無人車＃３の目標点がないことを示すデータを書き込む。このことにより、無人車＃３の待機状態は、継続される。
【０１９３】
そして、配車割付部２は、搬送実行テーブルメモリ４に示される無人車＃１、無人車＃２および無人車＃３の走行経路のデータと、無人車データメモリ７に記憶されている無人車データとに基づき、図４に示す各無人車の運行計画条件の表を作成する。次に、配車割付部２は、この図４に示す運行計画条件の表のデータを計画指示データメモリ６へ書き込む。
【０１９４】
そして、配車割付部２は、運行計画部３を起動する。これにより、運行計画部３は、計画指示データメモリ６に記憶される図４に示す運行計画条件の表のデータに基づき、各無人車の運行に関する図５に示す経路計画を作成する。この図５に示す経路計画において、無人車＃３は、出発点と目標点とが同一であり、荷物の搬送に関する作業が無く、待機状態となっている。
【０１９５】
次に、運行計画部３は、この経路計画に基づき、各無人車が出発点から目標点まで運行する所要時間の見積もりを行う。この見積もりは、運行計画部３により、ノードからノードまでの各経路区間毎の所要時間（以下に示される括弧内の数値：単位は秒）が積算されて求められる。
【０１９６】
0003539838.tif 000002
となり、無人車＃２の評価値は、「１０.５秒」となる。この得られた無人車＃２の評価値「１０.５」は、評価値格納メモリへ記憶される。
【０１９７】
ここで、上記括弧内の移動時間の数値は、図１３（Ａ）に示されているノードとノードとの間の距離を、対応する図１２（Ｂ）に示されているノードからノードまでの区間における移動速度で除算された数値である。
【０１９８】
次に、配車割付部２は、待機無人車リスト｛＃２、＃３｝から、待機無人車リストの２番目にある無人車＃３を示すデータ「＃３」を読み出す。これにより、配車割付部２は、無人車＃３を搬送要求番号「３」に対する割付候補とする。無人車＃３の走行の目標点は、荷物を積み込むノード２２となる。そして、配車割付部２は、無人車＃３の目標点ノード２２を示すデータと、ノード２２における作業時間を示すデータとを計画指示データメモリ６に書き込む。
【０１９９】
また、配車割付部２は、計画指示データメモリ６へ無人車＃２の目標点がないことを示すデータを書き込む。このことにより、無人車＃２の待機状態は、継続される。
【０２００】
そして、配車割付部２は、搬送実行テーブルメモリ４に示される無人車＃１、無人車＃２および無人車＃３の走行経路のデータと、無人車データメモリ７に記憶されている無人車データとに基づき、図６に示す各無人車の運行計画条件の表を作成する。次に、配車割付部２は、この図６の示す運行計画条件の表のデータを計画指示データメモリ６へ書き込む。
【０２０１】
そして、配車割付部２は、運行計画部３を起動する。これにより、運行計画部３は、計画指示データメモリ６に示される図６に示す運行計画条件の表のデータに基づき、各無人車の運行に関する図７に示す経路計画を作成する。この図７に示す経路計画において、無人車＃２は、出発点と目標点とが同一であり、荷物の搬送に関する作業が無く、待機状態となっている。
【０２０２】
次に、運行計画部３は、この経路計画に基づき、各無人車が出発点から目標点まで運行する所要時間の見積もりを行う。この見積もりは、運行計画部３により、ノードからノードまでの各経路区間毎の所要時間（以下に示される括弧内の数値：単位は秒）が積算されて求められる。
【０２０３】
0003539838.tif 000003
となり、無人車＃３の評価値は、「１２.７秒」となる。この得られた無人車＃３の評価値「１２.７」は、評価値格納メモリへ記憶される。
【０２０４】
次に、配車割付部２は、評価値格納メモリ５に記憶される待機中の無人車＃２および無人車＃３の評価値を読み出す。そして、無人車＃２の評価値と、無人車＃３の評価値とを比較し、数値の小さい方、すなわち無人車＃２を番号「２」の搬送要求に対応させる最適無人車とする。次に、配車割付部３は、番号「２」の搬送要求に対応させる無人車＃２のデータを搬送実行テーブルメモリ４へ書き込む。
【０２０５】
これにより、搬送実行テーブルメモリ４に記憶されていた図３に示す搬送実行テーブルは、図８に示す搬送実行テーブルへ変更される。上述したように、無人車搬送制御装置１は、待機無人車のなかから、搬送要求に対応して、最も最適な無人車を選択する。また、図８の示す表において、この時点では、無人車＃２は、移動を開始しておらず、番号「３」の搬送要求は、処理されていない。さらに、無人車＃３は、ノード２２において待機中である。
【０２０６】
【発明の効果】
請求項１記載の発明によれば、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を、与えられた走行経路に従い走行する複数の無人車の運行を、前記ノードの配列に関する情報に基づいて制御する無人車搬送制御装置において、所定のノードにおいて、停止している待機中の複数の無人車の情報を記憶する記憶手段と、この記憶手段から運行候補の待機中の無人車を抽出する抽出手段と、この抽出手段により抽出された待機中の無人車に与えられる運行先の目標ノードの情報と、運行中の他の無人車の前記走行路における走行経路の情報と、前記ノードの配置に関する情報とに基づき、前記走行路に対応して、無人車の走行をシミュレーションして、このシミュレーション結果により最適な走行経路を探索する探索手段と、この探索された走行経路に対する評価値を求める評価手段と、この評価手段による、待機中の無人車の評価値を記憶する記憶手段と、この記憶手段に記憶される、複数の運行候補の待機中の無人車のおのおのの前記評価値に基づき、最適な評価値を有する待機中の無人車を選択する選択手段とを具備してなるため、走行中の無人車の経路を考慮し、待機中の無人車のなかから、搬送要求の目標点まで最も早く到達可能な無人車を選択するので、搬送要求に対して無駄な待ち時間の少ない効率的な配車制御ができ、所定の走行路における無人車の搬送能力を向上させる効果がある。
【０２０７】
請求項２記載の発明によれば、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する無人車搬送制御方法において、所定のノードにおいて、停止している待機中の複数の無人車の情報を記憶手段に記憶する第一のステップと、第一のステップにおいて記憶手段に記憶された複数の無人車の中から運行候補の待機中の無人車を抽出する第二のステップと、この第二のステップにおいて抽出された待機中の無人車に与えられる、運行先の目標ノードの情報と、運行中の他の無人車の前記走行路における走行経路の情報と、前記ノードの配置に関する情報とに基づき、前記走行路に対応して、無人車の走行をシミュレーションする第三のステップと、第三のステップのシミュレーション結果により、最適な走行経路を探索する第四のステップと、この第四のステップで求められる走行経路に対する評価値を求め、得られた待機中の無人車の評価値を記憶手段に記憶する第五のステップと、第五のステップにおいて、前記記憶手段に記憶される、複数の運行候補の待機中の無人車おのおのの前記評価値に基づき、最適な評価値を有する待機中の無人車を選択する第六のステップとを有するため、走行中の無人車の経路を考慮し、待機中の無人車のなかから、搬送要求の目標点まで最も早く到達可能な無人車を選択するので、搬送要求に対して無駄な待ち時間の少ない効率的な配車制御ができ、所定の走行路における無人車の搬送能力を向上させる効果がある。
【０２０８】
請求項３記載の発明によれば、所定の時刻における前記複数の無人車の確定走行経路および与えられた作業内容を記憶する計画指示記憶手段と、前記各無人車の状態を監視する第１の処理と、与えられた作業を完了した無人車が発生する度に、前記計画指示記憶手段に新たな作業を設定し、前記第１の手段および前記第２の手段を起動して走行経路を探索させる第２の処理と、該探索の結果に基づいて前記各無人車に動作指示を与える第３の処理を並列かつ周期的に行うことで、前記複数の無人車の運行を制御する運行制御手段とを具備してなるため、時々刻々と変化する各無人車の状況に基づき、作業を完了した無人車に直ちに新たな作業および動作指示を与えることができるため、無人車の搬送効率を向上させることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施形態による無人車搬送制御装置１の構成を示すブロック図である。
【図２】本発明の一実施形態による無人車搬送制御装置１の配車割付の動作を示すフローチャートである。
【図３】無人車の割付け前の搬送実行テーブル４に記憶されている搬送実行テーブルを示す図である。
【図４】無人車搬送制御装置１における運行計画部３に記憶される運行計画条件の表を示す図である。
【図５】運行計画条件の表のデータに基づいて作成された経路計画を示す図である。
【図６】無人車搬送制御装置１における運行計画部３に記憶される運行計画条件の表を示す図である。
【図７】運行計画条件の表のデータに基づいて作成された経路計画を示す図である。
【図８】無人車の割付け後の搬送実行テーブル４に記憶されている搬送実行テーブルを示す図である。
【図９】従来の最適経路決定装置の構成を示すブロック図である。
【図１０】梯子型走行路を示す図である。
【図１１】無人車の走行状態を示す図である。
【図１２】図１０に示す梯子型走行路の座標および無人車の走行速度のデータを示す図である。
【図１３】図１０に示す梯子型走行路のコスト計算および従来例における最短経路選択結果を示す図である。
【図１４】図４１に示す走行路１０１のコストを示す図である。
【図１５】経路計画に用いる木を示した図である。
【図１６】運行計画部３の経路計画処理を示すフローチャートである。
【図１７】動作計画処理の動作例を示す運行図である。
【図１８】図１７の運行図をモデル化したペトリネット図である。
【図１９】運行計画部３の退避経路探索処理を示すフローチャートである。
【図２０】退避経路探索処理を示す運行図である。
【図２１】運行計画部３のデッドロック把握処理を示すフローチャートである。
【図２２】デッドロック把握処理の動作例を示す運行図である。
【図２３】運行計画部３の発火順序調整処理を示すフローチャートである。
【図２４】発火順序調整処理の動作例を示す図である。
【図２５】運行計画部３の迂回経路探索処理を示すフローチャートである。
【図２６】迂回経路探索処理の動作例を示す運行図である。
【図２７】運行計画部３の退避経路探索処理を示すフローチャートである。
【図２８】退避経路探索処理の動作例を示す運行図である。
【図２９】運行計画部３の動作計画処理（メイン処理）を示すフローチャートである。
【図３０】運行計画部３の動作計画処理（メイン処理）を示すフローチャートである。
【図３１】運行計画部３の動作計画処理（メイン処理）を示すフローチャートである。
【図３２】運行計画部３の動作例を示すペトリネット図である。
【図３３】運行計画部３の動作例を示すペトリネット図である。
【図３４】運行計画部３の動作例における結果を示す図である。
【図３５】運行管理制御装置１の動作例１における経路を示す図である。
【図３６】運行管理制御装置１の動作例１における運行図である。
【図３７】運行管理制御装置１の動作例１における運行計画図である。
【図３８】運行管理制御装置１の動作例２における経路を示す図である。
【図３９】運行管理制御装置１の動作例２における運行図である。
【図４０】運行管理制御装置１の動作例１における運行計画図である。
【図４１】無人搬送システムのシステム構成図である。
【符号の説明】
１ 無人車搬送制御装置
２ 配車割付部
３ 運行計画部
４ 搬送実行テーブルメモリ
５ 評価値格納メモリ
６ 計画指示データメモリ
７ 無人車データメモリ
８ 走行路データメモリ
【図１】
0003539838.tif 000004
【図２】
0003539838.tif 000005
【図３】
0003539838.tif 000006
【図４】
0003539838.tif 000007
【図５】
0003539838.tif 000008
【図６】
0003539838.tif 000009
【図７】
0003539838.tif 000010
【図８】
0003539838.tif 000011
【図９】
0003539838.tif 000012
【図１０】
0003539838.tif 000013
【図１１】
0003539838.tif 000014
【図１２】
0003539838.tif 000015
【図１３】
0003539838.tif 000016
【図１４】
0003539838.tif 000017
【図１５】
0003539838.tif 000018
【図１６】
0003539838.tif 000019
【図１７】
0003539838.tif 000020
【図１８】
0003539838.tif 000021
【図１９】
0003539838.tif 000022
【図２０】
0003539838.tif 000023
【図２１】
0003539838.tif 000024
【図２２】
0003539838.tif 000025
【図２３】
0003539838.tif 000026
【図２４】
0003539838.tif 000027
【図２５】
0003539838.tif 000028
【図２６】
0003539838.tif 000029
【図２７】
0003539838.tif 000030
【図２８】
0003539838.tif 000031
【図２９】
0003539838.tif 000032
【図３０】
0003539838.tif 000033
【図３１】
0003539838.tif 000034
【図３２】
0003539838.tif 000035
【図３３】
0003539838.tif 000036
【図３４】
0003539838.tif 000037
【図３５】
0003539838.tif 000038
【図３６】
0003539838.tif 000039
【図３７】
0003539838.tif 000040
【図３８】
0003539838.tif 000041
【図３９】
0003539838.tif 000042
【図４０】
0003539838.tif 000043
【図４１】
0003539838.tif 000044