(57)【特許請求の範囲】
【請求項１】
停止位置である複数のノードと、前記ノード間を接続する接続路とからなる走行路を移動する複数の無人搬送車の運行を計画する無人搬送車制御装置において、
各無人搬送車の現在地の情報および目的地の情報を有する着目節点を作成し、該着目節点を所定の探索木の最上位節点とする親節点作成手段と、
各無人搬送車の現在位置の位置情報が並べられた現在地集合および目的地の位置情報が並べられた目的地集合の情報を有する目標節点を作成する目標節点作成手段と、
前記着目節点と前記目標節点とが一致するか否か判断する一致判断手段と、
前記一致判断手段において前記着目節点と前記目標節点とが不一致の場合には、前記探索木から前記着目節点を親節点として展開済みでない節点を取り出す節点検出手段と、
前記節点検出手段で取り出された節点について、該節点が示す無人搬送車の現在地の位置情報を隣接するノードに変え、新たな現在地集合を有する子節点を作成する子節点作成手段と、
前記子節点作成手段で作成された子節点の無人搬送車の現在地集合において、無人搬送車の位置を調べて、各無人搬送車が衝突しないか否かを検出し、衝突する場合には、前記一致判断手段に着目節点と目標節点とが一致するか否か判断させる衝突判断手段と、
前記衝突判断手段において各無人搬送車が衝突しない場合に、前記子節点における所定の無人搬送車に対応する現在地集合とこの無人搬送車の目的地集合とが一致することを条件として、目的地への到着を判断し、かつ、この無人搬送車の目的地情報を到着を示す到着情報へ変更するとともに、前記子節点を前記節点検出手段で取り出された節点の下位に登録して該子節点を着目節点とし、前記一致判断手段に着目節点と目標節点とが一致するか否か判断させる到着判定手段と、
前記一致判断手段において目的地集合の全ての無人搬送車に対応する目的地の情報が到着情報となっている場合には、該着目節点から前記最上位節点までを結ぶ節点の列に基づいて、前記走行路における無人搬送車の運行計画を作成する運行計画作成手段と
を具備することを特徴とする無人搬送車制御装置。
【請求項２】
請求項１記載の無人搬送車制御装置において、
現在地集合と目的地集合とのそれぞれの無人搬送車に対応する位置情報が全て一致した場合にのみ、前記一致判断手段が節点同士を等しいと判断することを特徴とする無人搬送車制御装置。
【請求項３】
請求項１記載の無人搬送車制御装置において、
前記到着判定手段が到着した後に作業の終了した無人搬送車をノードから退避させて、同一ノードを目的地としている他の無人搬送車へ前記ノードを空ける処理を行うことを特徴とする無人搬送車制御装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の無人搬送車制御装置において、
前記一致判断手段は、前記目標節点において目的地が設定されていない無人搬送車については、前記着目節点における位置と該目標節点における目的地とが一致すると見なすことを特徴とする無人搬送車制御装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の無人搬送車制御装置において、
前記運行計画作成手段で作成される運行計画は、各無人搬送車の現在地から目的地までの移動経路を示す情報、および、各ノードに停車する無人搬送車の停車の順番を示す情報からなることを特徴とする無人搬送車制御装置。
【請求項６】
停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を移動する複数の無人搬送車の運行を計画する無人搬送車制御方法において、
親節点作成部が各無人搬送車の現在地の情報および目的地の情報を有する着目節点を作成し、該着目節点を所定の探索木の最上位節点とする親節点作成過程と、
目標節点作成部が各無人搬送車の現在位置の位置情報が並べられた現在地集合および目的地の位置情報が並べられた目的地集合の情報を有する目標節点を作成する目標節点作成過程と、
節点検出部が前記着目節点と前記目標節点とが一致するか否か判断する一致判断過程と、前記一致判断手段において前記着目節点と前記目標節点とが不一致の場合には、前記探索木から前記着目節点を親節点として展開済みでない節点を取り出す節点検出過程と、
子節点作成部が前記節点検出手段で取り出された節点について、該節点が示す無人搬送車の現在地の位置情報を隣接するノードに変え、新たな現在地集合を有する子節点を作成する子節点作成過程と、
衝突判断部が前記子節点作成手段で作成された子節点の無人搬送車の現在地集合において、無人搬送車の位置を調べて、各無人搬送車が衝突しないか否かを、検出し、衝突する場合には、前記一致判断手段に着目節点と目標節点とが一致するか否か判断させる衝突判断過程と、
到着判定部が前記衝突判断手段において各無人搬送車が衝突しない場合に、前記子節点における所定の無人搬送車に対応する現在地集合とこの無人搬送車の目的地集合とが一致することを条件として、目的地への到着を判断し、かつ、この無人搬送車の目的地情報を到着を示す到着情報へ変更するとともに、前記子節点を前記節点検出手段で取り出された節点の下位に登録して該子節点を着目節点とし、前記一致判断手段に着目節点と目標節点とが一致するか否か判断させる到着判定過程と、
運行計画作成部が前記一致判断手段において目的地集合の全ての無人搬送車に対応する目的地の情報が到着情報となっている場合には、該着目節点から前記最上位節点までを結ぶ節点の列に基づいて、前記走行路における無人搬送車の運行計画を作成する運行計画作成過程と
を有することを特徴とする無人搬送車制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工場等の無人自動搬送システムにおいて、無人搬送車（無人車）の運行を管理し、搬送経路の決定等を行う無人搬送車制御装置およびその方法に関する。
【０００２】
【従来の技術】
工場などの自動搬送システムでは、限られたスペースで生産量をアップさせるため、狭い走行路に複数台の無人搬送車を投入することがある。また、工場内の装置の保守などで走行路が閉鎖されると無人搬送車同士が干渉しあって、移動できなくなる状態が発生する。
【０００３】
無人搬送車を現在地から目的地へ進めるための経路を求めるのに、最短経路探索手法がよく使用される。この場合、最短の指標を何にするかにより様々なバリエーションがあるが、移動距離を指標とする場合と、移動時間を指標とする場合が代表的である。移動距離を指標とする場合は、ノード間の距離の総和が最小となる経路が選択され、移動時間を指標とする場合は、ノード間の移動時間の総和が最小となる経路が選択される。
【０００４】
ノード間の走行方向が一方向に決まっている場合は、上述した最短経路探索手法が妥当な手法であるが、図７に示すように走行路におけるノード間を両方向へ移動でき、かつある区間が閉鎖される走行路の場合、複数の無人搬送車を効率よく、互いに干渉させず移動させようとすると、出願人の先の出願、すなわち、特願平０９−１２２５５７（以下、「先の出願」と称する）で述べたような工夫が必要となる。
【０００５】
従来例である先の先願について図１を参照して説明する。この図において、２００は運行制御部であり、ＣＰＵ（中央処理装置）、ＲＯＭ（リードオンリメモリ）、ＲＡＭ（ランダムアクセスメモリ）等からなる処理装置である。
経路決定部２１３は、ＣＰＵ等により構成され、各無人搬送車の最適な走行経路および動作順序を決定する。運行制御部２００は、経路決定部２１３を起動し、該経路決定部２１３が求めた各無人搬送車の走行経路に基づいて無人搬送車の運行制御を行う。
【０００６】
搬送実行テーブルメモリ２０１は、本装置の制御対象となる無人搬送システムに与えられる仕事に関するデータをプールしておく記憶領域である。
計画結果格納メモリ２０３は、経路決定部２１３において計画された各無人搬送車の確定経路、及び、走行路上において無人搬送車が停止可能な各ノードに関する予約シーケンス等を記憶する領域である。運行制御部２００は、計画結果格納メモリ２０３内のデータをチェック・参照し、各無人搬送車への走行指示を出力する。
【０００７】
計画指示データメモリ２０４は、各無人搬送車の目的地やそこでの作業内容を記憶している。経路決定部２１３は、計画指示データメモリ２０４のデータに基づいて、経路計画および動作計画を立てる。
無人車データメモリ２０５は、各無人搬送車の位置などの情報を記憶する。運行制御部２００は、無人車インターフェース２１１から各無人搬送車の状態を逐次受信し、その内容を元に無人車データメモリ２０５の内容を更新する。
経路決定部２１３による計画動作が終了し、そのデータが計画結果格納メモリ２０３へ格納されると、運行制御部２００はその内容を調べて、計画が成功していれば、運行制御データメモリ２０６へ当該データをコピーする。
【０００８】
走行路データメモリ２１２は、ノードや区間の情報、および、区間の閉鎖など現在の走行路の状況を記憶している。
運行制御部２００は、搬送実行テーブルメモリ２０１および無人搬送車データメモリ２０５を参照して、未割当の仕事の存在および仕事を持たない無人搬送車の存在を確認した場合、その参照データを元に、計画指示データメモリ２０４に経路確定レベルや目的ノード等をセットし、経路決定部２１３を起動する。
【０００９】
次に、上記構成による無人搬送車制御装置の動作を説明する。先の先願においては、探索木において移動するノード数に対応する探索深さの順に展開していき、目標状態を示す目標節点に達したら、探索を打ち切っていた。
たとえば、図７の場合は、走行路上に無人搬送車＃１および＃２が存在し、無人搬送車＃１は、ノード６に位置しており、図８に示すように移動先の目的地がノード１となっている。このとき、無人搬送車＃２は、ノード１に位置しており、移動先の目的地がない状態（作業予定がない状態）である。
【００１０】
図７に示す状態における探索木の構成は、図９に示す形状となる。図９において、節点１：（６、１）を探索木の開始点である根節点として、順次、無人搬送車＃１および＃２の移動可能なノードに対応した子節点を下の方向に作成していく。ここで、１：（６、１）において、「１：」は一番最初に作成した節点番号を示しており、「（６、１）」は、無人搬送車＃１がノード６に位置し、無人搬送車＃２がノード１に位置していることを示しているノード集合であり節点のラベルとしている。また、たとえば、節点１０：（８、１）は、１０番目に作成された節点であり、無人搬送車＃１はノード８に位置し、無人搬送車＃２はノード１に位置していることを示している。したがって、根節点１：（６、１）は、図７に示す無人搬送車＃１および＃２の位置を示している。
【００１１】
図９に示す様に、無人搬送車＃１および＃２が互いに干渉しない移動先のノードとして、根節点１：（６、１）から節点番号２、３、４および５の４つの子節点が展開される。たとえば、節点番号２の節点２：（５、１）は、根節点１：（６、１）の状態から無人搬送車＃１をノード６からノード５へ移し、無人搬送車＃２を移動させずノード１に位置させる状態を示す。
このように、ある節点（親節点として考える）の無人搬送車の配置から、無人搬送車＃１および＃２のいずれか（複数の無人搬送車が存在する場合には、この内の１台）を隣のノードへ移した状態を子節点として順次作成していき、無人搬送車＃１および＃２の双方が目的とするノードへ到達した段階において探索木における経路探索処理が終了する。
【００１２】
ここで、親節点５：（６、２）からラベル（５、２）、（７、２）、（９、２），（６、３）および（６、８）の５つの子節点が作成可能であるが、ラベル（５、２）および（７、２），（９，２）とは、節点番号７，９および節点番号１１において、すでに作成されているために親節点５：（６、２）から作成されない。そして、ラベル（６、３）および（６、８）は、節点番号１２と節点番号１５とにおいて作成されている。これは、探索木を作成する場合における「枝刈り」と称され、探索木における節点数の爆発的な増加を抑制するために行われる処理である。また、移動先としての目的のノードを有していない無人搬送車＃２がどのノードに位置しても良いため、無人搬送車＃１が移動目的のノードであるノード１に初めて到達した６１：（１、３）を最終状態として、探索木の作成で行われる経路探索は終了する。
【００１３】
図９に示す探索木において、根節点１：（６、１）から図に示す太線を矢印の方向に辿ると、無人搬送車＃１および＃２の始めに位置していたノードから最終的な目的地であるノードへ位置するまでの遷移系列は以下の様になる。
１：（６，１）→４：（９，１）→１０：（８，１）→２２：（８，２）→３６：（８，３）→４９：（２，３）→６１：（１，３）
そして、この遷移系列から無人搬送車（無人搬送車）＃１および＃２の走行経路が図１０に示すように、またノード予約表が図１１に示すように求められる。
【００１４】
この図１０に示す走行経路に沿い、かつ図１１に示すノード予約表のノード予約順序に従い、無人搬送車＃１および＃２を移動させて行くことにより、無人搬送車＃１および＃２は、現在位置するノードから目的のノードまでお互いに干渉せずに導かれる。
【００１５】
【発明が解決しようとする課題】
上述した先の出願の方法は、深さ「０」の根節点１：（６、１）、深さ「１」の節点番号２〜５および深さ「３」の節点番号６〜１３というように、同じ深さの節点を全て展開してから次の深さの節点に移る横型探索のため、探索木の探索深さが最も小さく、無人搬送車が目標のノードに達する遷移系列が得られることになる。すなわち、無人搬送車の移動ノード数の合計が最も少ない経路が求められる。その結果、図１０に示す最短経路が探索されるものであるが、この方法にも、以下に述べるような課題が存在する。
【００１６】
複数の無人搬送車の目的値が同一または近接しており、各無人搬送車の目的値を示す目的値の集合自体が状態として許されない場合、目的値が競合している無人搬送車の経路が定まらないことになる。
以下にこの場合の動作の詳細を説明する。ここで、走行路が図１２に示すような場合を考える。
【００１７】
たとえば、図１２において、無人搬送車＃１は、ノード２に現在位置しており、無人搬送車＃２は、ノード４に位置している。そして、無人搬送車＃１および無人搬送車＃２の目的値は、図１３に示されているように同じノード１となっている。ところが、無人搬送車は一定の大きさ、形状を有しているために同一の目的値へ位置しようとすると、無人搬送車＃１と無人搬送車＃２とがお互いに衝突してしまう。
【００１８】
つまり、無人搬送車＃１および無人搬送車＃２の位置集合（１、１）は、物理的に実現不可能な配置の状態として、探索木には登録されない。
したがって、図１３の条件の場合には、図１４に示す探索木となる。すなわち、どちらか一方の無人搬送車がノード１に到達した場合、たとえば位置集合７：（１、５）から位置集合１４：（１、２）および位置集合２６（１、３）と子節点が作成される。
【００１９】
しかしながら、、上述したように、無人搬送車＃１および無人搬送車＃２が同一なノードに同時に位置することができないため、無人搬送車＃２は、ノード１に到達することができない。そのため、位置集合２６（１、３）は、無人搬送車＃２において親節点である位置集合１４：（１、２）に対するよりもノード１から遠ざかる位置となる。これにより、図１４に示される探索木における位置集合２６：（１、３）には、子節点が作成されない。
【００２０】
また、位置集合７：（１、５）を親節点とした子節点の位置集合２９：（４、３）および２５：（４、６）は、無人搬送車＃２の探索結果として始めの位置集合に対して距離が遠くなっている。
結果として、無人搬送車＃１および無人搬送車＃２の経路探索は、探索木の作成が不十分な状態で停止するために失敗となる。
【００２１】
本発明は、このような背景の下でなされたもので、投入された無人搬送車の台数が多く、このうち目的地が同一地点になる等の目的値の集合が物理的に許されない状態においても、投入された全ての無人搬送車について所定の評価基準に基づき新規計画を立て、搬送能力の向上を図ることのできる無人搬送車制御装置および方法を提供することを目的とする。
【００２２】
【課題を解決するための手段】
請求項１記載の発明は、停止位置である複数のノードと、前記ノード間を接続する接続路とからなる走行路を移動する複数の無人搬送車の運行を計画する無人搬送車制御装置において、各無人搬送車の現在地の情報および目的地の情報を有する着目節点を作成し、該着目節点を所定の探索木の最上位節点とする親節点作成手段と、各無人搬送車の現在位置の位置情報が並べられた現在地集合および目的地の位置情報が並べられた目的地集合の情報を有する目標節点を作成する目標節点作成手段と、前記着目節点と前記目標節点とが一致するか否か判断する一致判断手段と、前記一致判断手段において前記着目節点と前記目標節点とが不一致の場合には、前記探索木から前記着目節点を親節点として展開済みでない節点を取り出す節点検出手段と、前記節点検出手段で取り出された節点について、該節点が示す無人搬送車の現在地の位置情報を隣接するノードに変え、新たな現在地集合を有する子節点を作成する子節点作成手段と、前記子節点作成手段で作成された子節点の無人搬送車の現在地集合において、無人搬送車の位置を調べて、各無人搬送車が衝突しないか否かを、検出し、衝突する場合には、前記一致判断手段に着目節点と目標節点とが一致するか否か判断させる衝突判断手段と、前記衝突判断手段において各無人搬送車が衝突しない場合に、前記子節点における所定の無人搬送車に対応する現在地集合とこの無人搬送車の目的地集合とが一致することを条件として、目的地への到着を判断し、かつ、この無人搬送車の目的地情報を到着を示す到着情報へ変更するとともに、前記子節点を前記節点検出手段で取り出された節点の下位に登録して該子節点を着目節点とし、前記一致判断手段に着目節点と目標節点とが一致するか否か判断させる到着判定手段と、前記一致判断手段において目的地集合の全ての無人搬送車に対応する目的地の情報が到着情報となっている場合には、該着目節点から前記最上位節点までを結ぶ節点の列に基づいて、前記走行路における無人搬送車の運行計画を作成する運行計画作成手段とを具備することを特徴とする。
【００２３】
請求項２記載の発明は、請求項１記載の無人搬送車制御装置において、現在地集合と目的地集合とのそれぞれの無人搬送車に対応する位置情報が全て一致した場合にのみ、前記一致判断手段が節点同士を等しいと判断することを特徴とする。
【００２４】
請求項３記載の発明は、請求項１記載の無人搬送車制御装置において、前記到着判定手段が到着した後に作業の終了した無人搬送車をノードから退避させて、同一ノードを目的地としている他の無人搬送車へ前記ノードを空ける処理を行うことを特徴とする。
【００２５】
請求項４記載の発明は、請求項１ないし請求項３のいずれかに記載の無人搬送車制御装置において、前記一致判断手段は、前記目標節点において目的地が設定されていない無人搬送車については、前記着目節点における位置と該目標節点における目的地とが一致すると見なすことを特徴とする。
【００２６】
請求項５記載の発明は、請求項１ないし請求項４のいずれかに記載の無人搬送車制御装置において、前記運行計画作成手段で作成される運行計画は、各無人搬送車の現在地から目的地までの移動経路を示す情報、および、各ノードに停車する無人搬送車の停車の順番を示す情報からなることを特徴とする。
【００２７】
請求項６記載の発明は、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を移動する複数の無人搬送車の運行を計画する無人搬送車制御方法において、親節点作成部が各無人搬送車の現在地の情報および目的地の情報を有する着目節点を作成し、該着目節点を所定の探索木の最上位節点とする親節点作成過程と、目標節点作成部が各無人搬送車の現在位置の位置情報が並べられた現在地集合および目的地の位置情報が並べられた目的地集合の情報を有する目標節点を作成する目標節点作成過程と、節点検出部が前記着目節点と前記目標節点とが一致するか否か判断する一致判断過程と、前記一致判断手段において前記着目節点と前記目標節点とが不一致の場合には、前記探索木から前記着目節点を親節点として展開済みでない節点を取り出す節点検出過程と、子節点作成部が前記節点検出手段で取り出された節点について、該節点が示す無人搬送車の現在地の位置情報を隣接するノードに変え、新たな現在地集合を有する子節点を作成する子節点作成過程と、衝突判断部が前記子節点作成手段で作成された子節点の無人搬送車の現在地集合において、無人搬送車の位置を調べて、各無人搬送車が衝突しないか否かを、検出し、衝突する場合には、前記一致判断手段に着目節点と目標節点とが一致するか否か判断させる衝突判断過程と、到着判定部が前記衝突判断手段において各無人搬送車が衝突しない場合に、前記子節点における所定の無人搬送車に対応する現在地集合とこの無人搬送車の目的地集合とが一致することを条件として、目的地への到着を判断し、かつ、この無人搬送車の目的地情報を到着を示す到着情報へ変更するとともに、前記子節点を前記節点検出手段で取り出された節点の下位に登録して該子節点を着目節点とし、前記一致判断手段に着目節点と目標節点とが一致するか否か判断させる到着判定過程と、運行計画作成部が前記一致判断手段において目的地集合の全ての無人搬送車に対応する目的地の情報が到着情報となっている場合には、該着目節点から前記最上位節点までを結ぶ節点の列に基づいて、前記走行路における無人搬送車の運行計画を作成する運行計画作成過程とを有することを特徴とする。
【００３６】
【発明の実施の形態】
§１．第一実施形態
以下、図面を参照して、この発明の第１実施形態について説明する。
（１）構成および動作
図１は、この発明の第１実施形態による無人搬送車制御装置の構成例を示すブロック図である。この図に示す装置は、先の出願（特願平０９−１２２５５７）における経路決定部２１３が経路決定部１０２に置き換わったものである。
【００３７】
この図において、運行制御部２００は、ＣＰＵ（中央処理装置）、ＲＯＭ（リードオンリメモリ）、ＲＡＭ（ランダムアクセスメモリ）等からなる処理装置である。
経路決定部１０２はＣＰＵ等により構成され、走行路データメモリ２１２、無人車データメモリ２０５および計画指示データメモリ２０４を参照して、各無人搬送車の最適な走行経路を導出し、その経路およびノード予約表を計画結果格納メモリ２０３へ書き込む。運行制御部２００は、経路決定部１０２を起動し、該経路決定部１０２が求めた各無人搬送車の走行経路に基づいて無人搬送車の運行制御を行う。
【００３８】
搬送実行テーブルメモリ２０１は、本装置の制御対象となる無人搬送システムに与えられる仕事に関するデータをプールしておく記憶領域である。
計画結果格納メモリ２０３は、経路決定部１０２において計画された各無人搬送車の確定経路、及び、走行路上において無人搬送車が停止可能な各ノードに関する予約シーケンス等を記憶する領域である。運行制御部２００は、計画結果格納メモリ２０３内のデータをチェック・参照し、各無人搬送車への走行指示を出力する。
【００３９】
計画指示データメモリ２０４には、各無人搬送車の目的地やそこでの作業内容が記憶されている。経路決定部１０２は、計画指示データメモリ２０４のデータに基づいて、経路計画および動作計画を立てる。
無人車データメモリ２０５は、各無人搬送車の位置などの情報を記憶する。運行制御部２００は、無人車インタフェース２１１から各無人搬送車の状態を逐次受信し、その内容を元に無人車データメモリ２０５の内容を更新する。
経路決定部１０２による計画動作が終了し、そのデータが計画結果格納メモリ２０３へ格納されると、運行制御部２００はその内容を調べて、計画が成功していれば、運行制御データメモリ２０６へ当該データをコピーする。
【００４０】
走行路データメモリ２１２は、ノードや区間の情報、および、区間の閉鎖など現在の走行路の状況および区間のコストデータを記憶している。区間のコストとは、無人搬送車の始めに位置していたノードから目的とするノードまでの走行経路である区間の良否を判断する評価の基礎となるデータである。一実施形態において、評価基準が「最短距離」の場合のコストデータは区間の両端のノード間の距離であり、評価基準が「最短時間」の場合のコストデータは区間の移動に要する時間である。
【００４１】
運行制御部２００は、搬送実行テーブルメモリ２０１および無人搬送車データメモリ２０５を参照して、未割当の仕事の存在および仕事を持たない無人搬送車の存在を確認した場合、その参照データを元に、計画指示データメモリ２０４に経路確定レベルや目的ノード等をセットし、経路決定部１０２を起動する。経路決定部１０２における経路決定処理は、図２に示す探索木を作成しながら、現在位置するノードから目的とするノードまでの走行計画を求めていく。
【００４２】
探索木上において長円で示される節点は、
▲１▼Ｆｒｏｍ集合：各無人搬送車のその時点における現在地の集合
▲２▼Ｔｏ集合    ：各無人搬送車のその時点における目的地の集合
からなるラベルを有する。たとえば、図１２のケースにおける探索開始時点では、
Ｆｒｏｍ集合は（２、４）であり、無人搬送車＃１がノード２、無人搬送車＃２がノード４に現在存在している。
Ｔｏ集合は、（１、２）であり、無人搬送車＃１がノード１、無人搬送車＃２もノード１を目的地としている。図における表記は、（２、４）→（１、１）となる。このように、従来例がＦｒｏｍ集合のみの考慮であったが、本発明の方法においては、Ｔｏ集合も併せて考慮される。
【００４３】
次に、上記構成による無人搬送車制御装置の動作を図１、図２および図３を参照して説明する。図３は、本実施形態による経路決定部１０２の動作の一例を示すフローチャートである。
ステップＳ１において、まず始めに、無人車データメモリ２０５および計画指示データメモリ２０４を参照して、経路を決定すべき無人搬送車およびその現在地／目的地を求める。
【００４４】
そして、走行経路を決定すべき各無人搬送車の現在地を並べたＦｒｏｍ集合を作成する。ここで、上記Ｆｒｏｍ集合は、一例として、
（無人搬送車＃１の現在地，無人搬送車＃２の現在地，…，無人搬送車＃ｎの現在地）
となる。但し、この集合において、各無人搬送車の現在地は、必ずしも、無人搬送車の番号の小さい順番に並べる必要はない。
【００４５】
次に、各無人搬送車の目的地をＴｏ集合を作成する。ここで、上記Ｔｏ集合は、一例として、
（無人搬送車＃１の目的地，無人搬送車＃２の目的地，…，無人搬送車＃ｎの目的地）
となる。但し、このＴｏ集合において、各無人搬送車の目的地の並び順は、Ｆｒｏｍ集合における各無人搬送車の現在地の並び順と同じ順番でなければならない（以後作成する節点も同様）。また、このラベルにおいて、仕事が与えられていない等により、目的地のない無人搬送車については、そのことを示す符号（一例として、”＊”とする）が、目的地の代わりにセットされる。
【００４６】
そして、このＦｒｏｍ集合およびＴｏ集合からなるラベルを有する親節点を作成する。この作成された親節点を図２に示す探索木に登録する。このとき、この登録される節点の展開情報を「未展開」とする。
最後に、親節点を着目節点とし、ステップＳ２へ進む。
【００４７】
次に、ステップＳ２において、経路決定部１０２は、初めてこのステップの処理が行う場合、着目節点のＴｏ集合を取り出し、全ての無人車の目的地が「＊」であるかどうかの確認を行う。ここで、ラベルにおいてＴｏ集合が示す全ての無人搬送車の目的地が「＊」となった場合、全ての無人搬送車が本来の目的地へ到着済み状態になったとしてステップＳ３へ進み、計画結果の作成を行う。
【００４８】
また、ステップＳ２において、経路決定部１０２は、繰り返し処理の場合、新たに登録された子節点のＴｏ集合を取り出し、全ての無人車の目的地が「＊」であるかどうかの確認を行う。ここで、ラベルにおいてＴｏ集合が示す全ての無人搬送車の目的地が「＊」となった場合、全ての無人搬送車が本来の目的地へ到着済み状態になったとしてステップＳ３へ進み、計画結果の作成を行う。
ステップＳ３の動作については、後に詳述する。
【００４９】
一方、ステップＳ２において、経路決定部１０２は、いずれかの無人車の目的地が「＊」でないと判断した場合、処理をステップＳ４へ進める。次に、ステップＳ４において、経路決定部１０２は、着目節点のＦｒｏｍ集合を調べて、この目標節点を親節点として子節点へ展開できるかどうかを調べる。そして、この目標節点が、子節点へ展開できる場合、処理はステップＳ５へ進められる。
たとえば、経路決定部１０２は、子節点へ展開できるとして処理をステップＳ５へ進める。
【００５０】
また、この目標節点が、子節点へ展開できない場合、経路決定部１０２は、この目標節点の展開情報を「展開済み」へ変更する。そして、経路決定部１０２は、探索木における着目節点以降の各節点を調べ、最初に見つかった「未展開」の展開情報を有する節点を取り出す。その結果、経路決定部１０２は、この節点を新たな着目節点とし、処理をステップＳ５へ進める。
【００５１】
次にステップＳ５において、経路決定部１０２は、現在存在するノードから移動可能な（他の無人搬送車と干渉しない）隣接したノードを検索する。そして、経路決定部１０２は、対応する無人搬送車の位置集合の現在地を上記隣接するノードに変更し、新たなＦｒｏｍ集合を有する子節点を作成する。また、このとき他の無人搬送車の現在地は、現在のＦｒｏｍ集合の現在地と同様として変更されない。
【００５２】
さらに、子節点のＴｏ集合における各無人搬送車の目的地には、以下の状態毎に異なった情報が書き込まれる。
▲１▼  着目節点のＴｏ集合の現在地がすでに本来の目的地に到着しており、「＊」の目標状態となっているか、または着目節点のＦｒｏｍ集合の現在地が本来の目的地と一致（新たに本来の目的地へ到着）したとき、子節点のＴｏ集合における各無人搬送車の目的地には、「＊」が書き込まれる。
【００５３】
▲２▼  ▲１▼以外の場合、すなわち本来の目的地へ未到着の場合には、着目節点のＴｏ集合の目的地をＴｏ集合へ設定する。
そして、この子節点の展開情報は、「未展開」とされ、処理はステップＳ６へ進む。
【００５４】
次に、ステップＳ６において、経路決定部１０２は、子節点のＦｒｏｍ集合の各無人搬送車の現在地を調べる。そして、経路決定部１０２は、無人搬送車同士が衝突しないことが検出された場合、新たに作成された位置集合を可能な状態と判断し、処理をステップＳ７へ進める。
また、経路決定部１０２は、各無人搬送車同士が干渉すると検出した場合、ステップＳ２へ処理を戻し、新たな目標節点の処理を行う。
【００５５】
次に、ステップＳ７において、経路決定部１０２は、子節点のラベルと同じラベルを有する節点がすでに探索木に有るかどうかの確認を行う。そして、経路決定部１０２は、すでに探索木にない場合、この子節点を展開済みでないと判断し、ステップＳ８へ処理を進める。ここで、ラベルが同じであるとは、Ｆｒｏｍ集合およびＴｏ集合の双方が同一であることを示している。
【００５６】
次に、ステップＳ８において、経路決定部１０２は、作成された子節点を探索木の最後につけ加える。この場合、子節点には、現在の着目点である親節点を示す情報を付加する。すなわち、図２に示す探索木で説明すると、親節点の下にその展開された子節点が表示され、親節点と子節点との間は、線で接続される。
【００５７】
次に、ステップＳ７において、子節点のラベルと同じラベルを有する節点がすでに探索木に有るかどうかの確認で、探索木に対応する節点があり経路決定部１０２がこの子節点を展開済みでないと判断した場合、ステップＳ８で子接点を探索木に登録し、ステップＳ２へ処理が進める。
【００５８】
次に、ステップＳ２において、経路決定部１０２は、繰り返し処理の場合なので、新たに登録された子節点のＴｏ集合を取り出し、全ての無人車の目的地が「＊」であるかどうかの確認を行う。ここで、ラベルにおいてＴｏ集合が示す全ての無人搬送車の目的地が「＊」となった場合、全ての無人搬送車が本来の目的地へ到着済み状態になったとしてステップＳ３へ進み、計画結果の作成を行う。
【００５９】
次に、ステップＳ３において、経路決定部１０２は、目標状態となった子節点からその親節点を、探索木に基づき辿る親節点が存在する限り順次辿って行く。そして、経路決定部１０２は、確認された親節点のＦｒｏｍ集合を逆に並べていく。すなわち、以下に示すように並べられる。
0003800775.tif 000002
【００６０】
ここで、Ｆｒｏｍ集合１は、計画指示における各無人搬送車の現在地を並べた位置集合であり、最後のＦｒｏｍ集合である「Ｆｒｏｍ集合ｍ」は、目標状態の節点における各無人車の現在地を並べた位置集合である。
以下に、Ｆｒｏｍ集合１からＦｒｏｍ集合ｎまでの集合列より各無人搬送車の経路およびノード予約表を求める処理を図４を参照して説明する。
【００６１】
ステップＳ１１において、経路決定部１０２は、各無人搬送車の経路および各ノードのノード予約表における予約シーケンスを空にする。そして、経路決定部１０２は、現在の各無人搬送車の位置集合に「Ｆｒｏｍ集合１」を設定する。
【００６２】
次に、ステップＳ１２において、経路決定部１０２は、現在の位置集合における各無人搬送車のノードをおのおのの無人搬送車の経路に設定する。同時に、経路決定部１０２は、上記ノードの予約シーケンスに対応する無人搬送車のナンバーをノード予約表に入れる。
【００６３】
次に、ステップＳ１３において、経路決定部１０２は、Ｆｒｏｍ集合列に残りのＦｒｏｍ集合が存在しているかどうかの判定を行う。ここで、経路決定部１０２は、Ｆｒｏｍ集合列にＦｒｏｍ集合が無いと判断した場合、全ての処理を終了する。
一方、経路決定部１０２は、Ｆｒｏｍ集合列にＦｒｏｍ集合が無いと判断した場合、処理をステップＳ１４へ進める。
【００６４】
次に、ステップＳ１４において、経路決定部１０２は、現在の位置集合の次のＦｒｏｍ集合を次の位置集合とし、処理をステップＳ１５へ進める。
【００６５】
次に、ステップＳ１５において、経路決定部１０２は、現在の位置集合と次の位置集合との比較を行い、次の位置集合において現在の位置集合と異なるノードおよびそのノードに対応する無人搬送車を検索する。そして、経路決定部１０２は、検索された無人搬送車の経路に検索された異なるノードを加える（表記上は、→異なるノード）。また、経路決定部１０２は、ノード予約表における検索された異なるノードの予約シーケンスに上記検索された無人搬送車を追加する。
【００６６】
次に、ステップＳ１６において、経路決定部１０２は、Ｆｒｏｍ集合列に基づき次の位置集合のＦｒｏｍ集合を現在の位置集合のＦｒｏｍ集合に置き換え、処理をステップＳ１３へ戻す。
【００６７】
次に、経路決定部１０２の上述した図３および図４に示すフローチャートの各処理を具体例に基づき説明する。
ここで、図１、図２、図３および図４を参照して、図１２の走行路における図１３に示す、たとえば無人搬送車＃１および無人搬送車＃２の現在地および目的地に従い、一実施形態の具体的な動作を説明する。
【００６８】
最初に、経路決定部１０２は、図２の最上部に示す無人搬送車＃１および無人搬送車＃２のＦｒｏｍ集合である（２、４）とＴｏ集合（１、１）とを有する親節点のラベルを作成する。ここで、Ｆｒｏｍ集合の（２、４）は、無人搬送車＃１がノード２に位置し、無人搬送車＃２がノード４に位置していることを示している。
【００６９】
また、Ｔｏ集合の（１、１）は、無人搬送車＃１および無人搬送車＃２がどちらもノード１を目的地にしていることを示している。
そして、上記親節点のラベルは、一番最初に作成された節点であることを示すために
１：（２、４）→（１、１）
と探索木において表記されている。ここで、「１：」は、ラベルに付けられる節点番号である。すなわち、「１：」は節点１を示している。
【００７０】
図３のステップＳ２の「目標節点？」において、経路決定部１０２は、節点１のＴｏ集合を調べる。しかし、節点１のＴｏ集合が目標状態となっていないので、経路決定部１０２は、節点１を親節点として子節点を作成していく。
ここで、Ｆｒｏｍ集合が（２、４）なので、無人搬送車＃１は、ノード１、ノード３およびノード５のいずれかに移動可能である。また、同様に、Ｆｒｏｍ集合が（２、４）なので、無人搬送車＃２は、ノード１またはノード５に移動可能である。
【００７１】
これにより、経路決定部１０２は、たとえば無人搬送車＃１がノード１へ移動した状態に対応する子節点を検討する。その結果、経路決定部１０２は、検討の結果としてのＦｒｏｍ集合は、（１、４）となる。これにより、Ｔｏ集合は、無人搬送車＃１が目的地のノードに到達したため、（＊、１）と表記される。そして、このＦｒｏｍ集合（１、４）およびＴｏ集合（＊、１）は、可能な状態であり、かつ探索木において子の時点で展開済みとなっていない。この結果、経路決定部１０２は、節点２としてラベル「２：（１、４）→（＊、１）」を探索木に登録する。
【００７２】
上述したように、経路決定部１０２は、無人搬送車＃１がノード２からノード３へ移動した状態に対応する子節点である節点３として探索木に登録する。同様に、経路決定部１０２は、無人搬送車＃１がノード２からノード５へ移動した状態に対応する子節点である節点４として探索木に登録する。また、経路決定部１０２は、無人搬送車＃２がノード４からノード１へ移動した状態に対応する子節点である節点５として探索木に登録する。さらに、経路決定部１０２は、無人搬送車＃２がノード４からノード５へ移動した状態に対応する子節点である節点６として探索木に登録する。
【００７３】
そして、以上得られた子節点は、いずれも最終的な目標状態ではない。また、節点１が節点２から節点６まで展開された時点において、経路決定部１０２は、節点１がこれ以上展開できないことを検出し、節点１の展開情報を「展開済」とする。
【００７４】
次に、経路決定部１０２は、節点２を着目節点として選択し、節点２を親節点として子節点を作成する。ここで、経路決定部１０２は、節点のＦｒｏｍ集合（１、４）に基づき、以下に示すＦｒｏｍ集合を求める。
▲１▼  無人搬送車＃１がノード１からノード２へ戻るＦｒｏｍ集合（２、４）
▲２▼  無人搬送車＃１がノード１からノード４へ進むＦｒｏｍ集合（４、４）
▲３▼  無人搬送車＃２がノード４からノード１へ進むＦｒｏｍ集合（１、１）
▲４▼  無人搬送車＃２がノード４からノード５へ進むＦｒｏｍ集合（１、５）
【００７５】
しかしながら、経路決定部１０２は、▲２▼のＦｒｏｍ集合（４、４）および▲３▼のＦｒｏｍ集合（１、１）が同一ノード上に無人搬送車＃１および無人搬送車＃２の２台が存在する結果となり、可能な状態の位置集合でないことを検出する。これにより、経路決定部１０２は、▲１▼のＦｒｏｍ集合（２、４）および▲４▼のＦｒｏｍ集合（１、５）の２節点のみをそれぞれラベル「７：（２、４）→（＊、１）」の節点７とラベル「８：（１、５）→（＊、１）」の節点８として探索木に登録する。
【００７６】
なお、ここで前述した従来例における図１４における探索木では、節点７のＦｒｏｍ集合（２、４）と節点１のＦｒｏｍ集合（２、４）とが同一のため登録されていない。
しかしながら、一実施形態においては、Ｔｏ集合も一致していない限り、同一の節点とならないため、図２に示す探索木には節点７および節点１が登録されている。
【００７７】
上述してきたように、経路決定部１０２は、着目節点を節点２、節点３および節点４と移しながら、順次これらの子節点を作成していく。そして、経路決定部１０２は、節点７（ラベル７：（２、４）→（＊、１））を親節点として子節点１７（ラベル１７：（２、１）→（＊、＊））を作成した時点で、子説点１７におけるＴｏ集合（＊、＊）となる。この結果、位置集合の要素が全て「＊」となるので、経路決定部１０２は、目標状態になったと判断し、処理を次の計画結果の作成へ移す。
【００７８】
以上の結果から、図２よりＦｒｏｍ集合列が以下に示すように求められる。
Ｆｒｏｍ集合１：（２、４）      （←節点１）
Ｆｒｏｍ集合２：（１、４）      （←節点２）
Ｆｒｏｍ集合３：（２、４）      （←節点７）
Ｆｒｏｍ集合４：（２、１）      （←節点１７）
【００７９】
上記Ｆｒｏｍ集合列から、図１０に示す無人搬送車の経路および図１１に示すノード予約表が得られる。
図１０と図１１とから無人搬送車＃１は、本来の目的地であるノード１へ到着し、作業終了時に無人搬送車＃２と干渉しないノード２へ退避する。また、図１０と図１１とから無人搬送車＃２は、無人搬送車＃１が移動した後に本来の目的地であるノード１へ進む。このように、無人搬送車＃１および無人搬送車＃２が双方ともにノード１において作業することが可能な走行経路が得られる。
【００８０】
上述したように、本発明による一実施形態においては、無人搬送車＃１および無人搬送車＃２の走行経路を決定する探索処理において、走行経路の位置集合で形成された探索木のラベルに各無人搬送車の現在地を示すＦｒｏｍ集合に加えて目的地を示すＴｏ集合を導入している。このため、無人搬送車同士が同一ノードを目的地とする目的地の集合自体が状態として許されない場合でも、無人搬送車同士が互いに進むノードを調整、すなわち干渉する無人搬送車の一方を退避させることを考慮した走行経路作成が行える。
【００８１】
【発明の効果】
本願発明によれば、複数の無人搬送車の走行計画を決定する走行路探索処理において、走行経路の位置集合で形成された探索木のラベルに各無人搬送車の現在地を示す位置集合に加えて、目的地を示す位置集合を導入している。このため、複数の無人搬送車同士が同一ノードを目的地とする目的地の集合自体が状態として許されない場合でも、無人搬送車同士が互いに進むノードを調整、すなわち干渉する無人搬送車の一方を退避させることを考慮した走行経路作成が行える。
【図面の簡単な説明】
【図１】  この発明の第１実施形態による無人搬送車制御装置の構成例を示すブロック図である。
【図２】  探索木の一例を示す説明図である。
【図３】  この発明の一実施形態による無人搬送車制御装置の動作例を示すフローチャートである。
【図４】  この発明の一実施形態による無人搬送車制御装置の動作例を示すフローチャートである。
【図５】  同具体例における無人搬送車の現在地と目的地を示す説明図である。
【図６】  同具体例において得られたノードの予約シーケンスを示す説明図である。
【図７】  無人搬送車制御装置の動作説明における走行路を示す説明図である。
【図８】  従来例による無人搬送車制御装置の現在地と目的地とを示す説明図である。
【図９】  従来例による無人搬送車制御装置における探索木の一例
を示す説明図である。
【図１０】  従来例により得られた無人搬送車の経路を示す説明図である。
【図１１】  従来例により得られた予約シーケンスを示す説明図である。
【図１２】  無人搬送車制御装置の動作説明における走行路を示す説明図である。
【図１３】  従来例による無人搬送車制御装置の現在地と目的地を示す説明図である。
【図１４】  従来例による無人搬送車制御装置における探索木の一例を示す説明図である。
【符号の説明】
１０２……経路決定部
２００……運行制御部
２０１……搬送実行テーブルメモリ
２０３……計画結果格納メモリ
２０４……計画指示データメモリ
２０５……無人車データメモリ
２０６……運行制御データメモリ
２１１……無人車インターフェース
２１２……走行路データメモリ
２１３……経路決定部
【図１】
0003800775.tif 000003
【図２】
0003800775.tif 000004
【図３】
0003800775.tif 000005
【図４】
0003800775.tif 000006
【図５】
0003800775.tif 000007
【図６】
0003800775.tif 000008
【図７】
0003800775.tif 000009
【図８】
0003800775.tif 000010
【図９】
0003800775.tif 000011
【図１０】
0003800775.tif 000012
【図１１】
0003800775.tif 000013
【図１２】
0003800775.tif 000014
【図１３】
0003800775.tif 000015
【図１４】
0003800775.tif 000016