JP3684755B2 - 運行管理制御装置および運行管理制御方法 - Google Patents
運行管理制御装置および運行管理制御方法 Download PDFInfo
- Publication number
- JP3684755B2 JP3684755B2 JP12134797A JP12134797A JP3684755B2 JP 3684755 B2 JP3684755 B2 JP 3684755B2 JP 12134797 A JP12134797 A JP 12134797A JP 12134797 A JP12134797 A JP 12134797A JP 3684755 B2 JP3684755 B2 JP 3684755B2
- Authority
- JP
- Japan
- Prior art keywords
- unmanned vehicle
- node
- route
- travel
- nodes
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 199
- 230000008569 process Effects 0.000 claims description 174
- 238000010586 diagram Methods 0.000 claims description 74
- 230000008859 change Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 4
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000007704 transition Effects 0.000 description 256
- 238000010304 firing Methods 0.000 description 89
- 238000012545 processing Methods 0.000 description 55
- 238000007726 management method Methods 0.000 description 29
- 230000002441 reversible effect Effects 0.000 description 20
- 238000012790 confirmation Methods 0.000 description 14
- 238000004088 simulation Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 238000001994 activation Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 4
- 230000002860 competitive effect Effects 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 102100022441 Sperm surface protein Sp17 Human genes 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000010391 action planning Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Platform Screen Doors And Railroad Systems (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【発明の属する技術分野】
本発明は、工場等の無人搬送システムにおいて、無人搬送車の運行を管理し、搬送経路の決定等を行う運行管理制御装置および運行管理制御方法に関する。
【0002】
【従来の技術】
工場などで必要な機材等を工作機械まで搬送する自動搬送システムでは、搬送量の増大に伴い複数台の無人車を効率的に運行させる必要が生じている。ところで、狭隘な走行路に複数の無人車を投入すると、無人車同士がお互いの運行を妨げあい、効率低下の原因となる。そこで、無人車お互いの運行を妨げない運行管理システムと運行方法とについては、運行管理制御装置(特願平6−241685)で述べられている。図56は、このシステム構成図である。
この図56は従来例による運行管理制御装置502の構成を示すブロック図である。この図において、503は運行制御データメモリであり、各無人車の移動経路、後述するノード予約シーケンスなどを記憶する。
【0003】
504は搬送指示テーブルメモリであり、搬送物の位置や搬送先などを記憶する。505は、無人車データメモリであり、各無人車の現在位置、移動方向などの状態を記憶する。506は、走行路データメモリであり、走行路上の各ノードの座標と、その接続関係および移動の効率を示すコストとを記憶する。また、507は無人車の最適な走行経路および動作順序を決定する計画部である。この計画部507はCPU等により構成され、機能的には動作計画部508、経路計画部509、および経路探索部510に分けることができる。
【0004】
まず、経路探索部510は、経路計画部509から供給される経路探索指示に従って、各無人車の出発ノードおよび目標ノードを結ぶ経路を全て求める。次に、走行路データメモリ506に記憶されたコストから、各経路のコストをそれぞれ積算し、そのコストが最小となる経路を最適経路に選択する。ただし、経路探索指示に後述する方向付けの方向情報が含まれる場合には、方向付けされたアークを逆方向に走行する経路は選択されない。同様に、経路探索指示に後述する通行禁止の方向情報が含まれる場合には、通行禁止のアークを通る経路は選択されない。
以上の方法で求めた経路およびそのコストは経路計画部509へ出力される。ただし、ここで作成された経路は、他の無人車の走行経路は考慮されていず、走行路の競合がない場合にのみ最適な経路となる。
【0005】
また、無人車同士で走行路の競合が生じている場合でも、動作計画部508は、経路計画部509から供給される基本経路に基づいて各無人車の移動を時間的に調べ、各無人車の目的地への移動順序を調整したり、必要に応じて経路を変更、追加するなどして、競合している無人車を含んだ全無人車の運行の目的地までの移動や移載などの動作を計画する。また、その計画はペトリネットを用いたシミュレーションにより行われる。
【0006】
以上説明したように、上述した運行管理装置および運行管理制御方法によれば、無人車同士の競合を考慮して、全ての無人車の走行経路および走行順序を走行前に得ることができる。
【0007】
【発明が解決しようとする課題】
しかし、図57に示すように無人車は、走行路上において、物理的にL1×L2の空間を占有しており、また、無人車の移動の際の位置制御においては、制御余裕度α1および移動余裕度α2を考慮する必要がある。
【0008】
そして、装置の近接配置などによって、目的地(搬送する荷物の届け先)であるノード位置が接近している場合、図58に示すように、隣り合う2つのノード、たとえばノード2とノード3とにおのおの無人車が入ると、それぞれの無人車が占有する空間が重複する、すなわち、衝突する問題が生じる(これを以下、干渉関係と呼ぶ)。
【0009】
これは、特願平6−241685の走行路においては、ノード2とノード3とが十分離れていたため、たとえば、2号車がノード3に停止しているとき、1号車がノード1から2へ向かって移動を開始することは、上述された発火可能条件を満たすために可能であった。
【0010】
しかし、図58のように干渉関係が存在する走行路上に複数の無人車を投入する場合は、衝突する可能性のある隣り合うノードも考慮したペトリネットを構成して、無人車の制御を行わないと、無人車同士が衝突する場合が発生する。
【0011】
この発明は、このような背景の下になされたもので、走行路の競合および隣接したノードを考慮し、複数の無人車が効率よくおのおのの目的のノードまで移動を行うことができる運行管理制御装置および運行管理制御方法を提供することを目的としている。
【0012】
【課題を解決するための手段】
請求項1記載の発明は、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を、前記ノードの配列に関する情報に基づいて制御する運行管理制御装置において、前記ノードの配置に関する情報と、おのおのに無人車が停止すると互いに干渉する程度に近接して配置された複数のノードに関する情報とを有するノード情報に基づいて前記走行路に対応し、無人車の走行をシミュレートする走行図を作成する走行図作成手段と、前記走行図のデータを記憶する記憶手段と、各無人車が同一接続路を互いに逆方向走行することがなく、かつ前記ノード情報を満足させる各無人車の走行経路を探索する探索手段と、前記探索手段によって探索された各無人車の走行経路と、前記記憶手段に記憶される前記走行図とに基づいて、各無人車の時間的な移動をシミュレーションし、いずれかの無人車の進行不能を検出した場合に、ノード通過順序変更、迂回経路探索、待避経路探索のいずれかの方法で前記無人車の進行不能を解除する制御手段とを具備し、前記走行図作成手段が各ノードにおける無人車の停止の有無の状態、また各ノード間における無人車の出発及び到着の状態、さらに各ノード間の走行路における走行の状態を示す情報を含む走行図を生成することを特徴とする。
【0013】
請求項2記載の発明は、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する運行管理制御方法において、前記ノードの配置に関する情報と、おのおのに無人車が停止すると互いに干渉する程度に近接して配置された複数のノードに関する情報とを有するノード情報からなる走行図を生成し、該走行図を記憶手段に記憶させる第1のステップと、各無人車が同一接続路を互いに逆方向走行することがなく、前記ノード情報を満足させる各無人車の走行経路を探索する第2ステップと、前記第2ステップによって得られた走行経路に基づいて各無人車の時間的な移動を調べ、いずれかの無人車の進行不能が検出された場合には既に走行を終了している無人車の経路に退避経路を追加する第3ステップと、前記第3ステップにおいて進行不能が解消できない場合に無人車の走行順序を変更する第4ステップと、前記第4ステップにおいて進行不能が解消できない場合に無人車の経路に迂回経路を追加する第5ステップと、前記第5ステップにおいて進行不能が解消できない場合に無人車の経路に待避経路を追加する第6ステップとを有し、前記第1のステップにおける走行図が各ノードにおける無人車の停止の有無の状態、また各ノード間における無人車の出発及び到着の状態、さらに各ノード間の走行路における走行の状態を示す情報を含むことを特徴とする。
【0014】
請求項3記載の発明は、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を、前記ノードの配列に関する情報に基づいて制御する運行管理制御装置において、前記ノードの配置に関する情報と、前記無人車の占有する領域の大きさのデータとを有するノード情報に基づいて前記走行路に対応し、無人車の走行をシミュレートする走行図を作成する走行図作成手段と、前記走行図のデータを記憶する記憶手段と、各無人車が同一接続路を互いに逆方向走行することがなく、かつ前記ノード情報を満足させる各無人車の走行経路を探索する探索手段と、前記探索手段によって探索された各無人車の走行経路と、前記記憶手段に記憶される前記走行図とに基づいて、各無人車の時間的な移動をシミュレーションし、いずれかの無人車の進行不能を検出した場合に、ノード通過順序変更、迂回経路探索、待避経路探索のいずれかの方法で前記無人車の進行不能を解除する制御手段とを具備し、前記走行図作成手段が各ノードにおける無人車の停止の有無の状態、また各ノード間における無人車の出発及び到着の状態、さらに各ノード間の走行路における走行の状態を示す情報を含む走行図を生成することを特徴とする。
【0015】
請求項4記載の発明は、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する運行管理制御方法において、前記ノードの配置に関する情報と、前記無人車の占有する領域の大きさのデータとを有するノード情報からなる走行図を生成し、該走行図を記憶手段に記憶させる第1のステップと、各無人車が同一接続路を互いに逆方向走行することがなく、前記ノード情報を満足させる各無人車の走行経路を探索する第2ステップと、前記第2ステップによって得られた走行経路に基づいて各無人車の時間的な移動を調べ、いずれかの無人車の進行不能が検出された場合には既に走行を終了している無人車の経路に退避経路を追加する第3ステップと、前記第3ステップにおいて進行不能が解消できない場合に無人車の走行順序を変更する第4ステップと、前記第4ステップにおいて進行不能が解消できない場合に無人車の経路に迂回経路を追加する第5ステップと、前記第5ステップにおいて進行不能が解消できない場合に無人車の経路に待避経路を追加する第6ステップとを有し、前記走行図作成手段が各ノードにおける無人車の停止の有無の状態、また各ノード間における無人車の出発及び到着の状態、さらに各ノード間の走行路における走行の状態を示す情報を含むことを特徴とする。
【0016】
請求項5記載の発明は、請求項1または請求項3に記載の運行管理制御装置において、所定の時刻における前記複数の無人車の確定走行経路および与えられた作業内容を記憶する計画指示記憶手段と、前記各無人車の状態を監視する第1の処理と、与えられた作業を完了した無人車が発生する度に、前記計画指示記憶手段に新たな作業を設定し、前記第1の手段および前記第2の手段を起動して走行経路を探索させる第2の処理と、該探索の結果に基づいて前記各無人車に動作指示を与える第3の処理を並列かつ周期的に行うことで、前記複数の無人車の運行を制御する運行制御手段とを具備してなることを特徴とする。
【0017】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の一実施形態による運行管理制御装置102の構成を示すブロック図である。この図において、103は運行制御データメモリであり、各無人車の移動経路、後述するノード予約シーケンスなどを記憶する。104は搬送指示テーブルメモリであり、搬送物の位置や搬送先などを記憶する。105は、無人車データメモリであり、各無人車の現在位置、移動方向などの状態を記憶する。106は、走行路データメモリであり、走行路上の各ノードの座標と、その接続関係およびコストなどを記憶する(図11)。
【0018】
107はペトリネットデータメモリであり、ペトリネットモデルのデータが記憶されている。また、108は無人車の最適な走行経路および動作順序を決定する計画部である。この計画部108はCPU等により構成され、機能的にはペトリネット作成部109、動作計画部110、経路計画部111、および経路探索部112に分けることができる。
ペトリネット作成部109、動作計画部110、経路計画部111および経路探索部112については以下で詳述する。
【0019】
まず、ペトリネット作成部109は、走行データメモリ106に記憶されているデータをもとに、図2のフローチャートに従って、その走行路データに対応するペトリネットモデルを作成する。図58に示す干渉関係のある走行路を示す図を例として、フローチャートの説明を行う。ステップSA1において、図58に示す走行路のノードが、ペトリネット作成部109により、ペトリネットにモデル化される。ここで、移動目的地であるノード1〜ノード8までの各ノードは、それぞれ図4に示すペトリネットのノードプレースn1〜ノードプレースn8とモデル化される。
【0020】
次に、ステップSA2において、無人車がノードプレースn1〜ノードプレースn8の間で移動していることを示す移動プレースが、動作計画部303により作成される。図58に示す走行路のノード1〜ノード8に対応して、ペトリネットモデルとして図5に示すように隣接するノードプレースni(自然数、1≦i≦8)とノードプレースnj(自然数、1≦j≦8、i≠j)の間に移動プレースmi-jおよび移動プレースmj-iが作成される。ここで、添字の「i−j」は、無人車がノードiからノードjへ向かって進むことを意味している。
【0021】
次に、ステップSA3において、移動を開始する事象として出発トランジションが、動作計画部303により作成される。すなわち、ノードプレースniを入力プレースとし、移動プレースmi-jを出力プレースとして図6に示す棒で表されている出発トランジションDi-jが、ノードプレースniと移動プレースmi-jとの間に作成される。
【0022】
出発トランジションDi-jは、図3におけるノードiからノードjへ無人車#kが移動を開始するという事象を表している。そして、出発プレースであるノードプレースniから出発トランジションDi-jへ矢印で示されている入力アークが付加される。また、同様に出発トランジションDi-jから出力プレースである移動プレースmi-jへ矢印で示される出力アークが付加される。
【0023】
ここで、出発トランジションDi-jは、移動区間のあるノードプレースniとノードプレースnjとの間には全て作成される。たとえば、図3におけるノード3からノード7へ無人車#2が移動を開始する状態は、ペトリネットモデルにおいては、図6に示すノードプレースn3と移動プレースm3-7との間にある出発トランジションD3-7で表される。
【0024】
次に、ステップSA4において、移動を終了する事象、つまり目的地へ到着した事象として到着トランジションが、ペトリネット作成部109により作成される。すなわち、移動プレースmi-jを入力プレースとし、ノードプレースnjを出力プレースとして図6に示す棒で表されている到着トランジションAi-jが、移動プレースmi-jとノードプレースnjとの間に作成される。
【0025】
到着トランジションAi-jは、図58におけるノードiからノードjへ、移動している無人車#pが、ノードjに到着したという事象を表している。そして、出発プレースである移動プレースから到着トランジションAi-jへ、矢印で示されている入力アークが付加される。また、同様に到着トランジションAi-jから出力プレースである移動プレースmi-jへ、矢印で示される出力アークが付加される。
【0026】
ここで、到着トランジションAi-jは、移動区間のあるノードプレースniとノードプレースnjとの間には全て作成される。たとえば、図3におけるノード2からノード1へ移動している無人車#pが、ノードプレースn1へ到着した状態は、ペトリネットモデルにおいては、図6に示す移動プレースm3-7とノードプレースn1との間にある到着トランジションA3-7で表される。
【0027】
次に、ステップSA5において、そこにトークンが置かれているとき全ての無人車が、ノードプレースniを占有していない状態を示す図7に示す予約プレースriが、ペトリネット作成部109により作成される。そして、図6の示すペトリネットのデータのなかから全ての出発トランジションDj-iが検索され、riからDi-jへ出力アークが付加される。
【0028】
また、図6の示すペトリネットのデータのなかから全ての到着トランジションAj-iが検索され、到着トランジションAi-jから予約プレースriへ入力アークが付加される。予約プレースriにトークンが置かれた場合、ノードプレースriは、全ての無人車に占有されていないことを表している。
【0029】
次に、ステップSA6において、干渉アークの作成がペトリネット作成部109により行われる。ここで言う干渉は、互いに異なる無人車#pおよび無人車#q(自然数、p≠q)が走行中に衝突する競合関係にある場合と、無人車#pおよび無人車#qが占有する隣接したノードの間隔が、衝突する距離である場合と、を示している。
【0030】
複数の無人車が同一走行路を走行し、衝突の危険がある場合の干渉を移動干渉とする。また、隣接したノードにおのおの無人車が位置したとき、図58に示す衝突の危険性がある場合の干渉をノード干渉とする。そして、この干渉関係のある走行路では、各ノードの干渉関係の有無を判別する処理を行う。この処理を図7に示すペトリネット図とともに説明する。
【0031】
(1)干渉関係が移動干渉の場合
図58に示すノードiからノードjへ移動中の無人車#pが、ノードs(自然数、1≦s≦8、s≠i、s≠j)に位置する無人車#qに衝突する危険性があるとき、ノードsはノードiからノードjへ移動干渉ノードとする。この移動干渉による図8に示すアークは、ペトリネット作成部により作成される。
【0032】
まず、出発トランジションDi-j(i≠s)を全て検索し、予約プレースrsから出発トランジションDi-jへアークが付加される。そして、到着トランジションAi-j(i≠s)を全て検索し、到着トランジションAi-jから予約プレースrsへアークが付加される。
【0033】
(2)干渉関係がノード干渉の場合
図58に示すノードiに無人車#pが位置し、同時にノードjに無人車#qが位置した場合、無人車#pと無人車#qとが衝突する危険があるとき、ノードiは、ノードjとノード干渉にあるとする。
【0034】
まず、到着トランジションAk-jを全て検索し、予約プレースriから到着トランジションAk-j(k≠i)へアークが付加される。そして、予約プレースriから出発トランジションDi-kへアークが付加される。
【0035】
たとえば、図58に示すノード2が、ノード4からノード3への移動における移動干渉ノードとすれば、予約プレースr2から出発トランジションD4-3へと、到着トランジションA4-3から予約プレースr2へとに図8に示すアークが付加される。同様に、図58に示すノード2が、ノード3からノード4への移動における移動干渉ノードとすれば、予約プレースr2から出発トランジションD3-4へと、到着トランジションA3-4から予約プレースr2へとに図8に示すアークが付加される。
【0036】
また、図58示すノード2が、ノード3とノード干渉にある場合、予約プレースr2から到着トランジションA4-3および到着トランジションA2-3へと、出発トランジションD3-4および出発トランジションD3-2から予約プレースr2へとに図8に示すアークが付加される。なお、図8では、アークの煩雑を避けるためにr2から到着トランジションA7-3へと、出発トランジションD3-7から予約プレースr2へとのアークは、省略されている。
【0037】
次に、ステップSA7において、自己ループの解除がペトリネット作成部109により削除される。あるプレースからあるトランジションへのアークがあり、かつそのトランジションからそのプレースへのアークがある場合、その2本のアークはループを形成する。これを自己ループと呼ぶ。このような自己ループは、ペトリネット上において意味を持たないものであり、削除されるほうが望ましい。
【0038】
そして、この自己ループの削除により、ペトリネットモデルは簡素化され、また、このペトリネットモデルを用いた搬送処理は高速化される。図8のペトリネットモデルの自己ループを削除した結果は、図9に示されており、図9のペトリネットモデルは、図8のペトリネットモデルと比較して簡素化されている。図7に示すペトリネットモデルに対して、干渉アークの付加、および干渉アークの付加において形成された自己ループの削除を行った最終的なペトリネットモデルは、図10に示す図58に対応した走行路のペトリネットモデルとなる。
【0039】
次に、経路探索部112は、経路計画部111から供給される経路探索指示に従って、各無人車の出発ノードおよび目標ノードを結ぶ経路を全て求める。次に、走行路データメモリ106に記憶されたコスト(図11)から、各経路のコストをそれぞれ積算し、そのコストが最小となる経路を最適経路に選択する。ただし、経路探索指示に後述する方向付けの方向情報が含まれる場合には、方向付けされたアークを逆方向に走行する経路は選択されない。
【0040】
同様に、経路探索指示に後述する通行禁止の方向情報が含まれる場合には、通行禁止のアークを通る経路は選択されない。
以上の方法で求めた経路およびそのコストは経路計画部111へ出力される。ただし、ここで作成された経路は、他の無人車の走行経路は考慮されていず、走行路の競合がない場合にのみ最適な経路となる。
【0041】
次に、経路計画部111は、木の探索手法を用いて逆走行区間のない走行経路を求め、その結果を動作計画部110へ出力する。
ここでいう「木」は、図12に示すような下方にかけて分岐を行う構成をとる。ここで、N1、N2、・・・は分岐条件が入った分岐点であり、このうち分岐点N1は分岐を開始するルート分岐点である。
【0042】
また、例えば、分岐点N2を現在の分岐点とすると、分岐点N1は分岐点N2の親分岐点となり、分岐点N3およびN4は分岐点N2の子分岐点となる。探索は、基本的に上位の分岐点から下位の分岐点にかけて行われるが、探索不能の場合には、一旦親分岐点に戻り(以降、バックトラックと呼ぶ)、他の分岐点へ分岐する。
【0043】
図14は経路計画部111の行う経路計画処理を示すフローチャートであり、この図をもとに以下で説明を行う。
処理が開始されると(ステップSP1)、ステップSP2において、経路探索部112へ探索指示を出し、各無人車の走行経路を求める。ここで、探索指示をうけた経路探索部112は、上述した方法により経路を探索し、その結果である初期経路を経路計画部111へ出力する。なお、この探索指示には、搬送指示テーブルメモリ104に記憶されたデータにより決まる無人車の目標ノードが含まれる。
【0044】
ステップSP3では、木のルート分岐点を空にする。
ステップSP4では、経路探索部112から供給される各無人車の走行経路に基づいて、任意の二つの無人車が互いに逆方向に移動を行う区間(逆方向区間)を求め、これを無人車の全ての組み合わせについて行う。
ステップSP5では、ステップSP4の結果において、逆方向区間が無ければ処理を終了し(ステップSP17)、逆方向区間がある場合には次のステップSP6へ進む。また、逆方向区間が無い場合は、そのときの走行経路が最終的な走行経路となる。
【0045】
ステップSP6では、各無人車の経路の逆方向区間のコストを積算する。ここで、逆方向区間のコストは走行路データメモリ106から読み出される。また、ある逆方向区間で他の複数の無人車の経路と逆向きの競合を起こしている場合には、その競合の回数分コストを積算する。ただし、走行路上の隣り合う2点間を結ぶ経路がそれ以外に存在しない場合には、その区間は逆方向区間に含めない。
【0046】
ステップSP7では、各無人車に付けられた符号を、逆走行区間のコストの大きい順に並べた競合無人車集合を作成する。
【0047】
ステップSP8では、この競合無人車集合を持った分岐点を親分岐点の下に加える。ただし、このステップSP8が始めて処理される場合は、ルート分岐点に上記競合無人車集合を設定する。
【0048】
ステップSP9では、競合無人車集合から着目無人車を決定する。この着目無人車は、コストの大きい順に並んだ競合無人車集合の最初の無人車から順次選択されていく。また、次の無人車が無い場合には、着目無人車なしとする。
【0049】
ステップSP10では、前ステップSP9の処理において着目無人車が無かった場合には次のステップSP11へ進み、着目無人車がある場合にはステップSP13へ分岐する。
【0050】
ステップSP11では、現在の分岐点がルート分岐点前であるかどうかを調べ、ルート分岐点でない場合には次のステップSP12へ進み、ルート分岐点の場合、つまりルート分岐点の競合無人車集合の全てにおいて経路整理が失敗した場合、経路整理失敗で全処理を終了する(ステップSP17)。
【0051】
ステップSP12では、現在の分岐点の処理を親分岐点へ移す(バックトラック)と共に、ステップSP9の処理へ戻る。また、現在の分岐点へ分岐するときに行った方向付けはこの時に解除する。
【0052】
ステップSP13では、走行路のうち、着目無人車の経路の逆方向区間を同無人車の移動方向の逆方向に方向付けし(一方通行とする)、方向情報に加える。
【0053】
ステップSP14では、経路探索部112へ探索指示を出し、この方向付けされた走行路において全ての無人車の経路を求め直す。
【0054】
ステップSP15では、前ステップSP14の経路探索において求められない経路が存在するかどうかを調べ、存在する場合には次のステップSP16へ進み、存在しない場合にはステップSP4へ戻る。
【0055】
ステップSP16では、ステップSP13で行われた走行路の方向付けを解除した後、ステップSP9へ戻る。
以上説明した処理によって、コストが小さく逆走行区間が無い複数の無人車の経路(以降、基本経路)が得られる。
【0056】
次に、動作計画部110は、経路計画部111から供給される基本経路に基づいて各無人車の移動を時間的に調べ、移動順序を調整したり、必要に応じて経路を変更、追加するなどして、全無人車の目標ノードまでの移動動作を計画する。また、その計画はペトリネットを用いたシミュレーションにより行われる。動作計画部110の行う動作計画処理を説明する前に、ペトリネットおよび動作計画に含まれる各種処理の説明を具体例を挙げて行う。
【0057】
(1)ペトリネットモデル
まず、ペトリネットモデルにおいて、図13(a)は、ペトリネットの説明に用いる運行図であり、この図において走行路115のノード2上に無人車#1、ノード6上に無人車#2がそれぞれ待機している。また、図13(b)は、無人車#1、#2のそれぞれの出発ノード、目標ノード、および目標ノードまでの経路を示した図であり、[]内はノード間の移動時間(秒)を示す。すなわち、無人車#1はノード2からノード3、4の順で移動を行い
、それぞれの移動時間はノード2からノード3までが1秒、ノード3、4間が3秒である。また、無人車#2についても同様である。
【0058】
図15は、図13(a)に示す運行図をペトリネットでモデル化した図である。図10に示すペトリネットモデルへ無人車の各ノードにおける占有状況を付加したものである。この図において、n1、n2、・・・、n8 はそれぞれノードプレースであり、走行路115の各ノード1ないしノード8に対応し、各ノードの占有状態を示す。
【0059】
また、これらのノードプレースn1ないしn8には、対応するノードに無人車がいる場合には、丸印内に黒トークン(黒丸)が置かれている。また、ノードが予約されている場合には、白トークン(白丸)が置かれる。初期状態では、無人車#1はノード2に、無人車#2はノード6にいるので、プレースn2、n6に各々黒トークンが置かれる。
【0060】
また、D1-2、D2-3、・・・は出発トランジションであり、A1-2、A2-3、・・・は到着トランジションであり、おのおの無人車の移動の状態を示す。また、出発トランジションD1-2、D2-3、・・・と到着トランジションA1-2、A2-3、・・・とには、それに入る入力アークと、それから出る出力アークが一本ずつ付いており、これらのアークにより隣接するノードプレースと移動プレースとが結ばれる。
【0061】
例えば、無人車#1がノード5からノード6に移動する場合、入力ノードプレースn5と移動プレースm5-6との間には、出発トランジションD5-6があり、移動プレースm5-6と出力ノードプレースn6との間には、到着トランジションA5-6がある。また、逆に、無人車#1がノード6からノード5へ移動する場合、入力ノードプレースn6と移動プレースm6-5との間には、出発トランジションD6- 5があり、移動プレースm6-5と入力ノードプレースn5との間には、到着トランジションA6-5がある。
【0062】
また、無人車#1がノード5からノード6へ移動する場合には、移動を開始する時点で出発トランジションD5-6を発火させ、入力ノードプレースn5から黒トークンが取り除かれ、移動プレースm5-6に黒トークンが置かれる。そして、出力ノードプレースn6へ無人車#1が到着する時点では、到着トランジションA5-6が発火させられる。ここで、出発トランジションおよび発火トランジションなどのトランジションの発火は、一瞬であり、時間の概念は、各プレースに置かれている。
【0063】
また、これから移動を行う経路上のトランジションをその発火順に並べたものを発火予定トランジション系列といい、図13(b)の基本経路の場合、無人車#1および#2の発火予定トランジション系列は以下のようになる。
発火予定トランジション系列(無人車#1)={D2-3、A2-3、D3-4、A3-4}
発火予定トランジション系列(無人車#2)={D6-7、A6-7、D7-3、A7-3、D3-4、A3-4}
【0064】
(2)シミュレーション
無人車#1および無人車#2の発火トランジション系列の先頭の出発トランジションD2-3と出発トランジションD6-7とは、発火可能であるならば発火させる。各トランジションの発火可能条件は、以下の通りである。
【0065】
▲1▼ 発火可能条件
出発トランジションDs-tは、全ての入力側プレースにトークンがあり、全ての出力側プレース にトークンが無く、なおかつこれに先立って先行トランジション(後述)が全て発火しているとき、発火可能とされる。
【0066】
到着トランジションAs-tは、全ての入力側プレースにトークンがあり、全ての出力側プレースにトークンがなく、かつ入力側の移動プレースのトークンが活性のときに、発火可能な状態される。
【0067】
▲2▼ 発火処理
出発トランジションDs-tが発火すると全ての入力側プレースのトークンが取り除かれ、全ての出力側プレースにトークンが置かれる。ただし、出力側の移動プレースのトークンは、不活性とされる。
到着トランジションAs-tが活性化されると、全ての入力側プレースのトークンが取り除かれ、全ての出力側プレースにトークンが置かれる。
【0068】
▲3▼ 移動プレースのトークンの活性化
移動プレースにトークンが置かれた時点から、その移動プレースにおのおの指定された移動時間の経過後にトークンは活性化される。
【0069】
たとえば、図13(b)に示すノード2からノード3への無人車#1の移動時間は1秒であるので、移動プレースm2-3に置かれたトークンは、移動プレースm2-3に置かれてから1秒後に活性とされる。
以上の▲1▼〜▲3▼の処理を順次行うことにより、出発点から目標点までの無人車の動きがシミュレーションできる。
【0070】
(3)ペトリネットシミュレーションの処理例
図13(a)の運行図の図13(b)に示す基本経路の条件により作成された、図15に示すペトリネットモデルに基づいて、ペトリネットシミュレーションの処理例について説明する。
▲1▼初期状態(図15):時刻0秒
この初期状態では、各トランジションについて、すでに発火している先行トランジションはないとする。なお、この例としたケースは簡単なモデルのため、シミュレーション過程中に先行トランジションが加わることはないので、今後この条件については言及しない。
【0071】
まず、無人車#1と無人車#2との発火トランジション系列が参照され、先頭に位置する出発トランジションD2-3と出発トランジションD6-7とが発火可能かの確認が行われる。
(イ)無人車#1に対応する出発トランジションD2-3の全ての入力側プレース、すなわちノードプレースn2に黒トークンがあり、かつ、出発トランジションD2-3の全ての出力側プレース、すなわち移動プレースm2-3にトークンが無いので、出発トランジションD2-3は、発火可能である。
【0072】
そして、出発トランジションD2-3が発火すると、ノードプレースn2の黒トークンは取り除かれ、黒トークンは、移動プレースm2-3へ置かれる。そして、無人車#1の発火トランジション系列からD2-3は、除去され、発火トランジション系列は、{A2-3、D3-4、A3-4}と変更される。
【0073】
(ロ)同様に、無人車#2に対応する出発トランジションD6-7の全ての入力側プレース、すなわちノードプレースn6と予約プレースr7とに黒トークンがあり、出発トランジションD6-7全ての出力側プレース、すなわち移動プレースm6-7にトークンが無いので、出発トランジションD6-7は発火可能である。
【0074】
そして、出発トランジションD6-7が発火すると、ノードプレースn6と予約プレースr7との黒トークンが除去される。そして、移動プレースm6-7へ黒トークンが置かれる。次に、無人車#2の発火トランジション系列から出発トランジションD6-7が除去され、出発トランジション系列は、{A6-7、D7-3、A7-3、D3-4、A3-4}と変更される。
この結果、黒トークンは、図16に示す配置となる。
【0075】
▲2▼時刻1秒の時点
(イ)図13(b)の基本経路に示されている、無人車#1のノード2からノード3への移動時間が「1秒」となっているため、移動プレースm2-3が活性になり、無人車#1の次に発火すべきトランジション、すなわち発火トランジション系列の先頭にある到着トランジションA2-3が発火可能となる。
【0076】
そして、到着トランジションA2-3が発火すると、移動プレースm2-3から黒トークンが除去される。そして、ノードプレースn3に黒トークンが置かれ、無人車#1の発火トランジション系列から到着トランジションA2-3が除かれ、発火トランジション系列は、{D3-4、A3-4}と変更される。
【0077】
(ロ)さらに、発火トランジション系列より、次に発火すべき出発トランジションD3-4の発火条件が調べられる。そして、出発トランジションD3-4は、発火可能なので、ノードプレースn3と予約プレースr4とに位置する黒トークンが除去される。次に、移動プレースm3-4に黒トークンが置かれ、発火系列トランジションは{A3-4}に変更される。
【0078】
(ハ)一方、無人車#2の発火トランジション系列において、次に発火すべき到着トランジションA6-7は、到着トランジションA6-7の入力側の移動プレースm6-7が、まだ活性となっていないため発火可能とは成らない。
以上のシミュレーション処理により、黒トークンの配置は、図17に示すペトリネットの状態となる。
【0079】
▲3▼時刻2秒の時点
(イ)移動トランジションm6-7は、黒トークンが置かれてから2秒経過したため活性となり、無人車#2の発火トランジション系列において、次に発火すべき到着トランジションA6-7が発火可能となる。
【0080】
そして、到着トランジションA6-7が発火した時点において、移動プレースm6-7からトークンが取り除かれる。同時に、ノードプレースn7、予約プレースr5、および予約プレースr6に黒トークンが置かれる。そして、無人車#2の発火トランジション系列は、{D7-3、A7-3、D3-4、A3-4}に変更される。
【0081】
(ロ)そして、無人車#2の発火トランジション系列において、次に発火すべき出発トランジションD7-3の発火条件が調べられるが、出発トランジションD7-3の発火条件は、満たされていないので発火しない。
【0082】
(ハ)一方、到着トランジションA3-4の入力側の移動プレースm3-4が、発火後1秒のため、無人車#1の発火トランジション系列において、次に発火すべき到着トランジションA3-4は、発火可能とならない。
以上のシミュレーション処理により、黒トークンの配置は、図18に示すペトリネットの状態となる。
【0083】
なお、図18は、ノード3からノード4へ移動している無人車#1が、ノード4へ到着し、ノード3およびノード2が、無人車#1の占有状態から解除されるまで、無人車#2がノード7上で待機している状態を表している。
【0084】
▲3▼時刻4秒の時点
(イ)次に、移動プレースm3-4は、トークンが置かれて3秒経過したため活性になり、無人車#1の発火トランジション系列において、次に発火すべき到着トランジションA3-4が発火可能となる。
【0085】
そして、到着トランジションA3-4が発火すると、移動プレースm3-4から黒トークンが取り除かれ、ノードプレースn4、予約プレースr2および予約プレースr3に黒トークンが置かれ、無人車#1の発火トランジション系列は、発火が必要なトランジションがなくなり、空になる。
【0086】
(ロ)また、予約プレースr2および予約プレースr3に、黒トークンが置かれたことにより、無人車#2の発火トランジション系列において、次に発火すべき出発トランジションD7-3は、発火可能になる。
【0087】
そして、出発トランジションD7-3が発火することにより、ノードプレースn7、予約プレースr2、および予約プレースr3にある黒トークンが取り除かれ、移動プレースm7-3に黒トークンが置かれる。
【0088】
その結果、無人車#2の発火トランジション系列は、{A7-3、D3-4、A3-4}と変更される。
以上のシミュレーション処理により、黒トークンの配置は、図19に示すペトリネットの状態となる。
【0089】
▲4▼時刻8秒の時点
(イ)次に、移動プレースm7-3が、黒トークンが配置されてから4秒経過したため、活性となり、無人車#2の発火トランジション系列において、次に発火すべき到着トランジションA7-3は発火可能となる。
【0090】
そして、到着トランジションA7-3が発火すると、移動プレースm7-3から黒トークンが取り除かれ、ノードプレースn3および予約プレースr7に黒トークンが置かれる。同時に、無人車#2の発火トランジション系列は、{D3-4、A3-4}に変更される。
【0091】
(ロ)引き続き、無人車#2の発火トランジション系列において、次に発火すべき出発トランジションD3-4の発火条件が調べられる。そして、ノード4が無人車#1に占有されているため、予約プレースr4に黒トークンがないので、出発トランジションD3-4は、発火できない。
【0092】
しかし、無人車#1の発火トランジション系列は、無人車#1が目標点に到達して、他に進むノードが指定されていないので、空となる。そして、無人車#1がノード4で停止している状態において、無人車#2は、目標点であるノード4へ到達することができない。
【0093】
(ハ)このため、たとえば、無人車#1が目標点ノード4において、時刻30秒後に、作業終了等により動ける状態になった場合、無人車#1をノード4から退避させる必要がある。そして、無人車#1の退避経路がノード4−ノード8と求められ、無人車#1のノード4からノード8への移動に関する発火トランジション系列は、{D3-4、A3-4}と設定される。
【0094】
▲5▼時刻30秒の時点
(イ)次に、無人車#1の発火予約トランジション系列において、次に発火すべき出発トランジションD4-8は、発火可能であるので発火する。そして、ノードプレースn4および予約プレースr8から、黒トークンが取り除かれ、移動プレースm4-8に黒トークンが置かれ、発火トランジション系列は、{A4-8}に変更される。
【0095】
▲6▼時刻34秒の時点
(イ)次に、移動プレースm4-8は、黒トークンが置かれてから4秒経過したため活性になり、無人車#1の発火トランジション系列において、次に発火すべき到着トランジションA4-8が発火可能となる。
【0096】
そして、到着トランジションA4-8が発火すると、移動プレースm4-8に位置する黒トークンは、取り除かれる。また、同時に、ノードプレースn8および予約プレースr4に黒トークンが置かれる。その結果、無人車#1の発火トランジション系列は空になる。ここで、無人車#1は、ノード8へ到着し、退避が完了する。
【0097】
(ロ)そして、予約プレースr4に黒トークンが置かれ、無人車#2の発火トランジション系列において、次に発火すべき出発トランジションD3-4が発火される。ノードプレースn3および予約r4から黒トークンが取り除かれ、移動プレースm3-4に黒トークンが置かれる。その結果、無人車#2の発火トランジション系列は、{A3-4}に変更される。
【0098】
▲7▼時刻37秒の時点
(イ)そして、移動プレースm3-4に黒トークンが置かれてから、3秒経過したため移動プレースm3-4は活性になる。そのため、無人車#2の発火トランジション系列において、次に発火すべき到着トランジションA3-4は、発火可能となる。
【0099】
そして、到着トランジションA3-4が発火すると、移動プレースm3-4から黒トークンが取り除かれる。また、同時に、ノードプレースn4、予約プレースr2および予約プレースr3に黒トークンが置かれる。その結果、発火トランジション系列は、発火するトランジションがなくなり、空になる。これで、無人車#2は、目標点ノード4へ到着したことになる。
【0100】
この最終状態でのトークン配置は、図20(a)に示すペトリネットの状態となる。のようになる。
以上のシミュレーション処理により、無人車#1および無人車#2の最終経路と、この最終経路に対応する発火トランジション系列は、図20(b)に示す表のように決定される。
【0101】
(4)退避動作の計画
退避動作は、移動中のある無人車の移動先に作業を終えて待機状態にある他の無人車が存在する場合に、その待機状態の無人車を他のノードに移動(退避)させる動作である。図21は、この退避経路を見つける退避経路探索処理のフローチャートであり、以下でこの説明を行う。
【0102】
退避動作が開始されると、ステップSa2において自分の回りのノードを調べ、退避できるノードを全て求める。ここで、退避できるノードとは以下の条件を満たすノードである。
▲1▼そのノードへの移動が禁止されていない。
▲2▼待機状態でない無人車に占有されていない。
▲3▼他の無人車が停車している隣接するノードとノード干渉しない。
【0103】
次に、ステップSa3において、退避できるノードに対し、移動時間などの基本コストを積算する。ただし、待機状態の無人車がいるノードについては、例えばコストを100倍するなどして、なるべく選ばれないようにする。
ステップSa4では、ステップSa3の結果のうちコストの一番小さいノードを退避ノードとし、現在ノードから退避ノードまでの区間を無人車の走行経路に追加する。
【0104】
図22は、以上の退避経路探索の一例を示す運行図である。この図において、無人車#1および#3は待機中(移動予定なし)であり、無人車#2はノード3へ移動しようとしている。この場合、無人車#2の邪魔となる無人車#1が退避の対象となる。この無人車#1の退避できるノードはノード2およびノード7であり、その両ノードへの退避経路のコストを調べる。
【0105】
ノード2への移動時間は1秒であるが、無人車#3がノード2で待機中のため、基本コストはその移動時間の100倍の100となる。また、ノード7への移動時間は4であり、基本コストも4となる。よって、コストの小さいノード7が退避ノードに選択され、ノード3−7が無人車#1の経路に追加される。
【0106】
(5)デッドロック
複数の無人車が狭い領域に密集してしまい、上述した退避動作を行っても予定していた経路で進むことができないデッドロックの状況に陥った場合には、後述する発火順序調整、迂回経路探索、待避経路探索が行われる。ここでは、デッドロックの状態を把握する方法について述べる。図23は、このデッドロック把握処理を示すフローチャートであり、以下でこの説明を行う。
【0107】
まず、ステップSb2において、まだ以下の処理を行っていない無人車を選びその無人車が待機中であるかを調べる。もし、待機中の無人車でない場合にはステップSb3へ進み、待機中である場合にはステップSb4へ分岐する。
ステップSb3では、対象としている無人車の走行経路上にある最も近い無人車を邪魔な無人車とし、ステップSb5へ進む。
【0108】
ステップSb4では、対象としている無人車の周辺にいる全ての無人車を邪魔な無人車とし、次のステップSb5へ進む。
ステップSb5では、全ての無人車に対し以上の処理が終了したかどうかを調べ、まだ未処理の無人車がある場合には、ステップSb2へ戻る。
【0109】
ステップSb6では適当な待機中でない無人車を選び、その無人車が邪魔としている無人車、その邪魔とされている無人車が邪魔としている無人車、・・・というふうに辿っていき、その中から2台以上のループを見つける。そして、これを全ての組み合わせについて行う。
ステップSb7では、得られたループのうち最も多くの無人車を含むループを競合ループに選択する。
【0110】
ステップSb8では、ステップSb7の処理で競合ループが得られないときは、デッドロック把握失敗で本処理を終了する(ステップSb10)。
ステップSb9では、競合ループの各無人車について、その無人車が動ける隣接ノードすなわち他の無人車がいないノードを求め、本処理を終了する(ステップSb10)。
【0111】
図24は走行路101におけるデッドロックの一例を示した図であり、同図(a)はその初期状態の運行図、(b)はデッドロック状態の運行図を示している。また、この図において、待機中でない無人車はあみかけで示し、待機中の無人車は白ぬきで示す。ここで、無人車#1ないし#6の移動経路は次の通りである。
無人車#1:6→5→4
無人車#2:5→4
無人車#3:17→18→4
無人車#4:2→3→16
無人車#5:16→17
無人車#6:15→16→17
【0112】
上記の経路に従って、無人車#1ないし#6が図24(a)の初期経路から1区間だけ移動すると、図24(b)に示すようなデッドロックの状態となる。ここで、無人車#2および#5は待機状態であるが、前述した退避経路は見つからない。そこで、無人車#1ないし#6のそれぞれが邪魔な無人車を調べ、図24(c)に示すような結果を得る。
【0113】
この図24(c)において、例えば無人車#1の邪魔となるのは無人車#2であり、デッドロック時に無人車#1の移動可能な空きノードはノード6である。この結果を基に邪魔な無人車あるいは邪魔となる無人車のループを探すと、
ループ1:無人車#1(5)−#2(4)
ループ2:無人車#3(18)−#2(4)
ループ3:無人車#6(16)−#5(17)
ループ4:無人車#3(18)−#2(4)−#4(3)−#6(16)−#5(17)−#3
の4つのループが得られる。そして、このうちの最も多く無人車を含むループ4が競合ループに選択される。なお、()内はデッドロック時の各無人車の現在位置(ノード)である。
【0114】
(6)発火順序調整
上述したデッドロックに陥った場合、まずトランジションの発火順序を調整し、その解消を試みる。つまり、ノードの予約順序を変えることによってデッドロックが回避できないかを探る。図25は、この発火順序調整処理を示すフローチャートであり、以下でこの説明を行う。
【0115】
まず、ステップSc2では競合ループに属す非待機の各無人車の現在ノードを、他の無人車が今後通過する回数をカウントする。
ステップSc3では、上記通行回数が「0」かどうかを調べ、「0」の場合には本処理を終了し(ステップSc9)、「0」でない場合には、次のステップSc4へ進む。
【0116】
ステップSc4では、各ノードの通行回数が前回の発火順序調整処理の時と異なる新しい状態であるかどうかを調べ、新しい状態ならば次のステップSc5へ進み、前回と同じ状態ならば、本処理を終了する(ステップSc9)。これは、状態が複雑になると、発火順序を何回も変えて結局前の状態へ戻ることがあるためでる。
【0117】
ステップSc5では、そこにいる無人車は、自分を邪魔としている無人車の現在ノードを通過していないかどうかを調べ、通過しない場合には次のステップSc6へ進み、通過する場合には処理を終了する(ステップSc9)。これは、同じ区間を通ってきた無人車においては後からきた無人車を先にやれなくなるので、合流点(ノード)をチェックするためである。
【0118】
ステップSc6では、ステップSc2の結果である通行回数を評価値とする。ただし、自分を邪魔としている無人車が待機状態のときは、評価値を上げる。また、以上のステップSc2〜Sc6の処理は、競合ループに属する非待機の無人車がいる全てのノードについて行われる。
ステップSc7では、ステップSc6で求めた各ノードの評価値が最小となるノードを競合ノードに選択する。
【0119】
ステップSc8では、その競合ノードにいる無人車を邪魔とする無人車が先に通るようトランジション発火制御データに加える。このトランジション発火制御データは、特定ノードにおける無人車の移動順序を規制するものであり、これによってトランジションの発火が規制される。
【0120】
以上で説明した発火順序調整の処理を上述した図24の運行図を用いて説明する。
まず、競合ループ中の非待機の無人車#3、#4、#6がいるノード18、3、16(図24(b))の各々について通行回数を求める。この結果、ノード16が1回、その他のノードは0回なので、ノード16が競合ノードに選ばれる。このノード16を出力先に持つトランジションは出発トランジションD15-16および出発トランジションD3-16であり、これらの発火順序を逆にする。
【0121】
つまり出発トランジションD3-16を先行トランジションとし、出発トランジションD15-16 よりも先に発火させる。これにより、無人車#6をノード16へ移動させる前に、無人車#4をノード16まで移動させ、ノード3が空くので待機中の無人車#2をノード3へ退避させることができる。このように、トランジションの発火順序を調整することで、デッドロックを解消できる場合がある。
【0122】
図26は、この具体例の最終結果を示す図であり、図26(a)は無人車#1ないし#6の出発ノードから目標ノードまでの経路を示し、図26(b)はノード予約シーケンスを示す。図26(a)の()内は目標ノードであり、このノード以降の経路は上述した退避経路である。また、ノード予約シーケンス(図26(b))は、各ノードを無人車が予約する順序を示すもので、この図において例えば、ノード5は無人車#2、#1の順で予約が行われる。
【0123】
(7)迂回動作の計画
基本経路に従ってデッドロックの状況を解消できない場合には、適当な無人車が迂回経路をとるように計画する。図27は、この迂回経路探索処理を示すフローチャートであり、以下でこの説明を行う。
【0124】
まず、ステップSd2において、競合ループに属し、非待機の無人車について、移動可能な隣接ノードがあるかどうかを調べる。ある場合には次のステップSd3へ進み、無い場合には迂回経路探索失敗で本処理を終了する(ステップSd9)。
【0125】
ステップSd3では、前ステップで選ばれた無人車に関して以下のアークを一時的に通行禁止にする。
▲1▼その無人車の現在ノードから次のノードへのアーク
▲2▼現在ノードから動けない方向へのアーク
【0126】
ステップSd4では、現在ノードを出発ノード、次のノードを目標ノードに設定する。
ステップSd5では、ステップSd3および4の設定に基づいて経路探索処理(ステップSa1)を行う。
ステップSd6では、ステップSd3で行ったアークの通行禁止を解除する。ステップSd7では、ステップSd5の経路探索処理において迂回経路が求められたかどうかを調べ、迂回経路がある場合には次のステップSd8へ進み、迂回経路が無い場合には迂回経路探索失敗で本処理を終了する(ステップSd9)。
ステップSd8では、対象としている区間の経路を迂回経路に差し替えて本処理を終了する(ステップSd9)。
【0127】
図28は、デッドロックの状況を例示した図であり、図28(a)はデッドロックの状態を示す運行図である。以下、この図に基づいて上述した迂回経路探索処理を説明する。
まず、無人車#1が最初に選ばれたとすると、ノード4−3、4−18のアークを通行禁止にして迂回経路を求めようとする。この場合の無人車#1の迂回経路としてはノード5−6−20−19−18−17・・・の経路が考えられるが、ノード18−17が無人車#4の経路と逆行するため基本的にはこの経路は選択されない。ただし、後述する動作計画(図32)の2回目の試行においては、逆走行区間が通行禁止にならないため、選ばれるかもしれない。
【0128】
次に、無人車#2で迂回経路探索をすればノード3−2−1−15−16が得られる。そして、この経路が迂回経路となると共に無人車#2の経路(3−16)の間に挿入される(図28(b))。
【0129】
(8)待避動作の計画
デッドロックの状況において迂回動作がとれない場合は、適当な無人車が一旦別のノードへ退き(待避)、他の無人車に道を譲った後、再び元の経路で移動を行う。図29は、この待避動作を示す待避経路探索であり、以下でこの説明を行う。
【0130】
まず、ステップSe1では、競合ループに属しまだ目標ノードまで到着していない無人車(非待機無人車)について、移動できる隣接ノードがあるかどうかを調べ、ある場合には次のステップSe3へ進み、無い場合には待避経路探索失敗で本処理を終了する(ステップSe10)。
【0131】
ステップSe3では、その無人車の現在ノードから次のノードへのアークを一時的に通行禁止にする。
ステップSe4では、現在ノードを出発ノードに、他の全てのノードを目標ノードに設定する。
ステップSe5では、ステップSe3および4において設定された条件で経路探索処理(ステップSa1)を行う。
【0132】
ステップSe6では、ステップSe5で得られた全ての経路の内、最もコストが小さい経路を選択し、その目標ノードを待避ノードとする。ただし、待避ノードの選択では単線区間に存在するノードは除く。
【0133】
ステップSe7では、ステップSe3で行った通行禁止を解除する。
ステップSe8では、ステップSe6の結果で待避ノードが無い場合には、待避経路探索失敗で本処理を終了し(ステップSe10)、待避ノードがある場合には、次のステップSe9へ進む。
ステップSe9では、現在ノードから待避ノード、さらにそこから現在ノードまでの経路(待避経路)を、現在持っている経路に挿入し、本処理を終了する。
【0134】
図30(a)は、デッドロックの状況を例示した運行図であり、この図に基づいて待避経路探索処理を説明する。
まず、無人車#1が最初に選ばれたとすると、ノード4−3を一時通行禁止にして経路探索を行い、ノード5が最もコストの小さい待避ノードに選択される。ここで、この無人車#1の移動可能な隣接ノードはノード5の他にノード18があるが、コスト(図11参照)の小さいノード5が待避ノードに選ばれる。
【0135】
次に、ノード5からノード4への経路を探索し、ノード4−5−4が待避経路として求まる。最後にこの待避経路を元の経路に挿入し無人車#1の経路(ノード4−5−4−3−2)が得られる(図30(b))。
【0136】
(9)動作計画
動作計画部108は、上述した(1)〜(6)の各種処理を用いて全無人車の経路の決定および移動順序の計画を行う。図32、図33および図34は、この動作計画処理を示すフローチャートであり、以下でこの説明を行う。
まず、ステップSf1(図32)においてペトリネットを用いて走行路のモデル化を行う。
【0137】
ステップSf2では、試行回数に1をセットする。
ステップSf3では、各無人車の経路を、経路計画で得た基本経路に設定する。 ステップSf4では、試行回数を調べ、試行回数が「1」ならば次のステップSf5へ進み、「1」以外の値ならばステップSf6へ進む。
【0138】
ステップSf5では、上述した基本経路の各経路と逆行するアークを全て通行禁止にする。これにより、以下の処理で逆方向区間が発生することがなくなる。また、ループ▲1▼により処理が戻り試行回数が2(図33、ステップSf31)となる場合には、このステップSf5は実行されず、経路探索処理においてこの通行禁止の制限は加えられない。
【0139】
ステップSf6では、現在時刻を0に初期設定する。
ステップSf7では、各無人車を出発点に置き、その各経路から発火予定トランジション系列をそれぞれ求める。
ステップSf8では、各無人車の完了時刻を−1に初期設定する。
【0140】
ステップSf9では、発火トランジション系列を空に初期設定する。この発火トランジション系列は、実際に発火を行うトランジションの系列であり、必ずしも発火予定トランジション系列と一致しない。
ステップSf10では、各無人車に対して完了時刻が現在時刻と同じであるかどうかを調べ、同じである場合には次のステップSf11へ進み、同じでない場合にはステップSf12へ分岐する。
ステップSf11では、ステップSf10の条件を満たす全ての無人車の発火予定トランジションから先頭のトランジションを取り出し、発火完了処理を行う。
【0141】
ステップSf12(図34)では、各無人車に対して完了時刻が現在時刻以前であるかどうかを調べ、以前である場合には次のステップSf13へ進み、以前でない場合にはステップSf20へ分岐する。
ステップSf13では、発火予定トランジションの先頭のトランジションが発火可能であるかどうかを調べ、発火できる場合はステップSf14へ進み、発火できない場合にはステップSf17へ分岐する。
ステップSf14では、ステップSf13で発火可能とされた全てのトランジションを取り出して発火処理を行う。
【0142】
ステップSf15では、完了時刻に発火したトランジションの移動時間を加算し、完了時刻を更新する。
ステップSf16では、ステップSf14で発火処理を行ったトランジションを各々対応する発火トランジション系列へ登録(追加)し、ステップSf20へ進む。
一方、ステップSf17では、発火できないトランジションに対応する邪魔な無人車に移動可能な隣接ノードがあるかどうかを調べる。つまり邪魔な無人車を他のノードへ追い出せるかどうかを調べる。この結果、追い出し可能の場合には次のステップSf18へ進み、可能でない場合にはステップSf20へ分岐する。
【0143】
ステップSf18は、ステップSf17で追い出し可能とされた無人車が待機中であるかどうかを調べ、待機中の場合には次のステップSf19へ進み、待機中でない場合にはステップSf20へ分岐する。
ステップSf19では、ステップSf17および18の条件を満たす無人車に対し退避経路処理(図21、ステップSa1)を行い、退避経路を求める。
ステップSf20では、全ての無人車に対応する発火トランジションの完了時刻が現在時刻以前であるかどうかを調べ、以前ならばステップ22へ分岐し、以前でないならステップSf21へ進む。
【0144】
ステップSf21では、全無人車のなかから最も近未来の完了時刻を持つ無人車を見つけ、その完了時刻を現在時刻に設定する。そして、ステップSf10(図32)へ戻る。
ステップSf22では、全ての無人車の発火予定トランジション系列が空であるかどうかを調べ、空ならばステップSf32(図33)へ分岐し、空でないならば次のステップSf23へ進む。
【0145】
ステップSf23では、前述したデッドロック把握処理(図23、ステップSb1)によってデッドロックの状況を調べる。
ステップSf24では、ステップSf23の処理で得られた競合ループに基づいて、前述した発火順序調整処理(図25、ステップSc1)によって各トランジションの発火順序を調整する。
【0146】
ステップSf25では、前ステップSfの発火順序の調整が成功したかどうかを調べ、失敗の場合には次のステップSf26へ進み、成功の場合つまりデッドロックが解消された場合にはステップSf6(図32)へ戻る。
ステップSf26では、迂回経路探索処理(図27、ステップSd1)によって、迂回経路を探索する。
【0147】
ステップSf27では、前ステップにおける迂回経路探索が成功したかどうかを調べ、失敗の場合には次のステップSf28へ進み、成功の場合にはステップSf6(図32)へ戻る。
ステップSf28では、待避経路探索(図29、ステップSe1)によって、待避経路を探索する。
【0148】
ステップSf29では、前ステップの待避経路探索が成功したかどうかを調べ、失敗の場合には次のステップSf30へ進み、成功の場合にはステップSf6(図32)へ戻る。
ステップSf30では、現在の試行回数を調べ、それが「1」の時は次のステップSf31へ進み、「1」でない場合には動作計画失敗で全処理を終了する(ステップSf34)。
【0149】
ステップSf31では、試行回数を2に増やした後、ステップSf3(図32)へ戻る。
ステップSf32は、無人車の動作計画が成功した場合に実行され、現在の経路を無人車の最終経路に設定する。
ステップSf33では、発火トランジション系列をもとに、各ノードを占有する無人車の順序(ノード予約シーケンス)を作成し、全処理を終了する(ステップSf34)。
【0150】
全体の動作例1:
以下で、図31に示した搬送路101における運行管理制御装置102(図1)の動作を説明する。以下の図において、図45と対応する部分には同一の符号を付け、その説明を省略する。また、この動作例における出発点および目標点を図35(a)に示す。
まず、経路計画部109は、経路探索部110に対し探索指示(図35(a))を出力する。経路探索部112は、この探索指示に従って各無人車#1ないし#5の搬送経路(初期経路)を探索し、その結果である初期経路を経路計画部109へ出力する。図36(a)は、この初期経路を示した運行図であり、同図において無人車#1ないし#7の経路はそれぞれ、点線、長い一点鎖線、二点鎖線、一点鎖線、破線、実線、長い破線で示されている。
【0151】
経路計画部111は、この初期経路において、ノード2、3間、ノード4〜6間、およびノード8〜10間が逆方向区間となっているため、コストに応じて走行路の特定区間の方向付けを行い、再び経路探索部112に探索指示を出力する。以上の動作が逆方向区間が無くなるまで行われ、図35(b)および図36(b)に示すような基本経路が得られる。経路計画部111は、この基本経路を動作計画部110へ出力する。
【0152】
動作計画部110は、この基本経路に基づいて上述した動作計画処理(図32、図33、図34)を行う。また、この処理の間に行われる迂回経路などの経路探索は、経路計画部111を介して経路探索部112で行われる。また、この場合の出発ノード、目標ノードおよび通行禁止区間は動作計画部110から出力される。
以上の処理によって、図35(c)および図36(c)に示すような最終経路が得られる。この最終経路では、基本経路(図35(b))に対して、無人車#1の退避経路(ノード20−6)が追加されている。また、図37は、この時の無人車#1ないし#7の各々の移動を時間的に示した運行計画図である。
【0153】
全体の動作例2:
次に、上述した搬送路101のノード20、21間が通行禁止である場合の動作例について説明する。ただし、この動作例における各無人車#1ないし#7の現在地および目標地は上述した動作例1と同一である(図35(a))。また、この場合、ノード6、7間、ノード7、8間、ノード21、22間は、これを結ぶ経路以外に迂回する経路が存在しないので、逆方向区間に含めない。
ここでも動作例1と同様な処理が行われ、まず、経路探索部112において図38(a)の運行図に示すような初期経路が得られる。次に経路計画部109によって、図38(b)に示すような基本経路が作成される。これらの図において、初期経路(図38(a))にあった逆走行区間は無くなっている。図40に示されるように図40(a)の基本経路が、図40(b)に示す最終経路となる。
【0154】
そして、動作計画部110において、図38(c)に示すような最終経路が作成される。この最終経路では、基本経路(図38(b))に対して、無人車#1の退避経路(ノード20−6)および無人車#5の退避経路(ノード8−22−23−24−10−9)が追加されている。また、図39は、この時の運行計画図であり、この図において、無人車#1ないし#7のノード予約は図37と同一の線種で示されている。
【0155】
以上説明したように、第1の実施形態によれば、無人車同士の干渉を考慮して、全ての無人車の走行経路および走行順序を走行前に得ることができる。
つまり、第一の実施形態は、全ての無人車が停止している状態から、おのおのの目的地までの運行計画を求める運行管理制御装置であった。この運行計画に従って、各無人車の運行を制御することにより、無人車は、衝突やデッドロックが発生しない、かつ、効率的な運行を行うことができる。
【0156】
しかし、各無人車が目的地に到着して作業を完了する時刻は、様々であり、上記実施形態に従う限り、早く作業の終了した無人車も、最も遅い無人車の作業が完了するまで、次の動作に移行することができない。
そこで、以下に説明する第2の実施形態では、目的ノードに到達し作業を完了した無人車は、他の無人車の作業完了を待たずに直ちに次の指示を受け、その時点での他の無人車の位置や確定経路を考慮した走行経路を与えられるように制御される。これにより無人搬送システム全体の処理能力が向上する。
【0157】
図41は第2の実施形態による運行管理制御装置Cの構成を示すブロック図である。この図において、図1に示した各部と共通する部分は走行路データメモリ106およびペトリネットデータメモリ107であり、これらの説明は省略する。
【0158】
図41において、200は運行制御部であり、図には示されていないCPU(中央処理装置)、ROM(リードオンリメモリ)、RAM(ランダムアクセスメモリ)等からなる処理装置である。運行制御部200は計画部201を起動し、計画部201が求めた各無人車の走行経路に基づいて無人車の運行制御を行う。尚、計画部201はペトリネット作成部109、経路探索部202、経路計画部203および動作計画部204よりなり、その構成は第1の実施形態の計画部108と基本的に同じものである。
【0159】
搬送実行テーブルメモリ205は無人搬送システムに与えられた仕事をプールしておく記憶領域である。搬送実行テーブルメモリ205に記憶されている時点では、各仕事はまだ無人車には割り当てられていない。
206は計画結果格納メモリであり、第1の実施形態における運行制御データメモリ103とほぼ同じ働きをするものである。つまり計画結果格納メモリ206は、計画部201において計画された各無人車の確定経路、ノード予約シーケンス等を記憶している。
【0160】
ただし、第1の実施形態では運行制御データメモリ103の内容がそのまま各無人車への動作指令となるが、本実施形態では運行制御部200が計画結果格納メモリ206内のデータをチェック・参照し、後述する走行指示処理によって各無人車への走行指示を出力するため、運行制御データメモリ103の内容は、そのままでは動作指令とはならない。
【0161】
207は計画指示テーブルメモリであり、計画部201が経路計画および動作計画を立てる際に各無人車をどのように扱うかを指示するデータが納められている。
図42は計画指示テーブルメモリ207の構成の一例である。計画指示テーブルメモリ207は、各無人車に対して、経路確定レベル、目的ノード、作業時間の各データを格納している。各データについて以下に説明する。
【0162】
経路確定レベル:
経路確定レベルは各無人車の走行経路の確定状況を示すデータであり、「未定」、「目的ノードまで確定」、「退避先ノードまで確定」の3種類がある。
尚、本実施形態では、動作計画部204における退避経路追加は目的ノードに到達後にのみ必要ならば行われる。つまり、第1の実施形態のように目的ノードへ到達する前の経路に退避経路を挿入することは行わない。同様に、退避先ノードまでの経路が確定すると、その退避先ノードより前に新たな退避先ノードおよび経路を挿入することも行わない。このことにより、各無人車の走行経路がどの程度まで確定しているのかを常に把握する必要があり、本データ(経路確定レベル)が使用される。
【0163】
「未定」は現在ノードから目的ノードまでの経路は確定しておらず、故にその経路を求める必要があることを示す。
「目的ノードまで確定」は現在ノードから目的ノードまでの経路が確定していることを意味する。目的ノード以降の経路については、動作計画部204において退避先ノードが付け加えられることによって、そこまでの経路が追加される可能性がある。
「退避先ノードまで確定」は現在ノードから目的ノードを経て退避先ノードまでの経路が確定していることを意味する。退避先ノード以降の経路については、動作計画部204においてさらに退避先ノードが追加されることによって、そこまでの経路が追加される可能性がある。
【0164】
目的ノード:
この項目には、各無人車の作業を実行する目的ノードが格納される。
作業時間:
この項目には、各無人車の目的ノードでの作業時間が格納される。例えば、目的ノードでの作業が荷物の積みおろしである場合には、その作業にかかる実時間を与える。
また、目的ノードでの作業がない場合には作業時間は0にセットされる。
【0165】
尚、ある無人車が目的ノードに到達し作業を完了した後、次の仕事を受けようとしているのに搬送実行テーブルメモリ205に仕事のストックがない場合には、その無人車は現時点において仕事がない状態となる。この場合、計画指示テーブルメモリ207のその無人車の欄に対しては次の通りに指示を与える。
経路確定レベル:未定
目的ノード :現在ノード
作業時間 :0
【0166】
また、図41において、208は無人車インタフェースであり、運行制御部200と各無人車とのデータのやりとりを行う無線通信手段である。無人車インタフェース208は、運行制御部200からの走行指示を各無人車へ送ったり、時々刻々と変化する各無人車の状態や位置を一定周期ごとに受信し、運行制御部200へ送信する。
次に、運行制御部200の動作について説明する。運行制御部200は、複数のCPUを有し、次の3つの処理を並列に行う。
1)無人車データメモリ209更新
2)計画部201起動
3)無人車制御
以下、各処理の詳細を述べていく。
【0167】
1)無人車データメモリ209更新
運行制御部200は無人車インタフェース208から各無人車の状態を逐次受信し、その内容を元に無人車データメモリ209の内容を更新する。
また、運行制御部200は無人車データメモリ209を更新する度に、無人車同士の位置関係が変化したことを示すために、新フェイズフラグを1にセットする。
新フェイズフラグは、計画部201において計画実行が失敗した後、何れかの無人車の位置が変化する事によって次回の計画実行が成功することを期待し、再び計画部201を起動する時の判断に使用される。具体的には、運行制御部200が無人車データメモリ209の内容を更新する度に新フェイズフラグは1にセットされ、計画部201が計画実行に失敗すると0にセットされる。
尚、ここで述べる計画部201による計画実行の失敗とは、計画部201が全ての無人車に対して新たな確定経路を1つも追加できなかった場合を指す。
【0168】
2)計画部201起動
運行制御部200は、搬送実行テーブルメモリ205および無人車データメモリ209を参照して、未割当の仕事の存在および仕事を持たない無人車の存在を確認した場合、その2つデータを元に、計画指示テーブルメモリ207に経路確定レベル・目的ノード・作業時間をセットし、計画部201を起動する。
計画部201による計画実行が終了し、そのデータが計画結果格納メモリ206へ格納されると、運行制御部200はその内容を調べて、計画が成功していれば運行制御データメモリ210へコピーする。
【0169】
以下、図43に示すフローチャートを用いて、運行制御部200の計画部201起動処理について説明を行う。
本フローチャートでは「失敗フラグ」と「新フェイズフラグ」の2つのフラグを使用する。
失敗フラグは、計画部201において計画実行が成功したか否かを示すものであり、0で計画実行成功、1で計画実行失敗を意味する。
新フェイズフラグは、最低でも1つ以上の無人車の位置が変化したことを示すものであり、運行制御部200が無人車データメモリ209の内容を更新する度に、新フェイズフラグは1にセットされ、計画部201が計画実行に失敗すると0にセットされる。
【0170】
処理が開始されると、ステップSg2において両フラグの初期化(失敗フラグは0に、新フェイズフラグは1にセット)が行われる。
ステップSg3では無人車データメモリ209を調べて、次の作業に移れる無人車がいないか確認する。ここで次の作業に移れる無人車とは搬送実行テーブルメモリ205内に未割り当ての仕事があるにもかかわらず、それに対する動作が割り当てられていない無人車のことを指す。
ステップSg3で次の作業に移れる無人車が存在しない場合は、運行制御部200は計画部201を起動させることができないので、次の作業に移れる無人車が現れるまで無人車データデータメモリ209の監視を続けるループ(Sg3およびSg4)に入ることになる。
【0171】
ステップSg3にて次の作業に移れる無人車が見つかると、ステップSg5およびステップSg6にて失敗フラグおよび新フェイズフラグのチェックを行う。ここで、失敗フラグが0であるか、あるいは新フェイズフラグが1であれば、計画起動(ステップSg7)へ入るが、そうでない場合はステップSg4へ戻り、新フェイズフラグが1になるまで無人車データメモリ209の監視を続けるループに入ることになる。
【0172】
ステップSg7では各無人車について計画指示テーブルメモリ207を設定し、計画部201を起動する。設定内容は以下の通りである。
搬送実行テーブルメモリ205内に未割当の仕事が存在する場合、次の作業に移れる無人車に対しては、次のようにセットし、仕事を割り当てる。
経路確定レベル:未定
目的ノード :割り当てられた仕事の作業実行ノード
作業時間 :割り当てられた仕事の作業時間
搬送実行テーブルメモリ205内に割り当てるべき仕事が存在しない場合、次の作業に移れる無人車に対しては、次のようにセットする。
経路確定レベル:未定
目的ノード :現在ノード
作業時間 :0
作業割り当て済みで、目的ノードまでの経路が確定し、現在その目的ノードへ向かっている無人車に対しては、次のようにセットする。
経路確定レベル:目的ノードまで確定
目的ノード :現在向かっている目的ノード
作業時間 :目的ノードでの作業時間
目的ノードでの作業が完了し、現在は退避先ノードへ向かっている無人車に対しては、次のようにセットする。
経路確定レベル:退避先ノードまで確定
目的ノード :現在向かっている退避先ノード
作業時間 :0
【0173】
ステップSg8では計画部201によって計画が実行される。
計画部201による計画実行が終了すると、ステップSg9では、計画格納メモリ203の内容を調べ、計画実行が成功したか否かをチェックする。
尚、ここで述べる計画実行の成功とは、計画部201が少なくても1台以上の無人車に対して、新たに確定経路を追加できた場合を指す。
計画実行が失敗していたら、ステップSg10へ行き、失敗フラグを1に、新フェイズフラグを0にセットし、新しい計画起動処理に入るためにステップSg4へ処理を移す。計画実行が成功していたら、ステップSg11へ処理を移し、失敗フラグと新フェイズフラグを0にセットする。
【0174】
ステップSg12では、各無人車の確定経路およびノード予約シーケンスを計画結果格納メモリ206から運行制御データメモリ210へコピーする。
ステップSh12における運行制御データメモリ210の更新をもって、計画部201起動の一連の処理は完了する。運行制御部200は次の計画部201起動処理に入るため、処理をステップSg3へ移す。
【0175】
3)無人車制御
運行制御部200は、無人車データメモリ209と運行制御データメモリ210の内容を元に、無人車に実際の動作指令を出す。この動作指令は無人車インタフェース208を介して無人車に与えられる。運行制御部200が無人車に対して出力する動作指令の内容としては、目的ノードにおける作業内容や待機指示など対象とする無人搬送システム全体の構成によって様々な種類のものが考えられるが、ここでは無人車の運行管理という点から走行指示処理にポイントを絞って述べていく。
【0176】
以下、図44に示すフローチャートを用いて、運行制御部200の走行指示処理について説明を行う。
まずフローチャートの説明にはいる前に本処理で使用される各種リストについて説明しておく。各無人車は以下の3種類ノードリストを持ち、運行制御部200はその内容を元に走行指示処理を行う。
1つ目は確定経路ノードリストであり、各無人車の確定経路中のノードを通過順に並べたものである。
2つめは予約ノードリストであり、確定経路ノードリスト中のノードの内、運行制御部200によって通過が許可されたノードを許可順に並べたものである。3つめは未予約ノードリストであり、確定経路ノードリスト中のノードの内、通過が許可されていないノードを確定経路ノードリスト内の順番に並べたものである。
以上より、3つのノードリストの関係を述べると、確定経路ノードリストから予約ノードリストを差し引いたものが未予約ノードリストということになる。
【0177】
また、各ノードはそれぞれノード予約シーケンスをもつ。これは第1の実施形態において図26(b)に示したものと同じく、各ノードに対してそのノードを予約する予定の無人車を順番に並べたものであり、計画部201による計画実行時に作成・出力される。
【0178】
図44において、走行指示処理が開始されると、ステップSh2においてパラメータCARを1にセットする。ここでパラメータCARは現在走行指示処理中の無人車の無人車番号を示す。
次に、ステップSh3で、無人車番号CARの確定経路ノードリストと同無人車の予約ノードリストとの差を求め、ステップSh4で、同確定経路ノードリストにおいて通過することが確定していながら、同予約ノードリストで予約されていないノードを全て確定経路ノードリストの記載順に未予約ノードリストに移す。
ステップSh4で無人車番号CARの無人車に対する未予約ノードリストの作成が終了したら、ステップSh5では、同未予約ノードリストの先頭のノードを取り出し、このノードをパラメータNにセットする。
【0179】
次に、ステップSh6では、ノードNのノード予約シーケンスの先頭の無人車と、現在処理中の無人車番号CARの無人車とを比較する。ここで、両者が等しいならば処理をステップSh7へ、異なるならばステップSh11へ移す。
ステップSh7においてノードNを無人車番号CARの無人車の予約ノードリストにいれる。そして、ステップSh8にてノードNを無人車番号CARの無人車の未予約ノードリストがら削除する。このステップSh7および8によって、ノードNは無人車番号CARの無人車による予約が完了し、同無人車の予約ノードリストに追加される。
ステップSh9では、無人車番号CARの無人車について他に未予約ノードがないかチェックする。同未予約ノードリストが空ならば予約作業は終了し、ステップSh11へ処理を移す。
【0180】
ステップSh10では、無人車番号CARの無人車について目的ノードまでのノード予約が完了しているか否かをチェックする。これは、目的ノード以降において退避先ノードまでの経路が確定しており、その退避先ノードまでの予約が可能である場合であっても、目的ノードで移動を一度停止し作業を行うためである。
ステップSh11では、無人車番号CARの無人車に対して、現在ノードから予約ノードリスト中の最後尾のノードへ走行指示を出す。
ステップSh12では、ステップSh11の走行指示によって通過したノード(ステップSh9時点における現在ノードも含む)のノード予約シーケンスから各ノードの先頭に記載されている無人車番号CARの無人車を削除する。
このステップSh11および12によって、無人車番号CARの無人車は予約ノードリストの内容に沿って移動する。
【0181】
ステップSh13では、走行指示の対象となる無人車を次の無人車番号を持つ無人車に移すため無人車番号CARの値に1を加える。
ステップSh14では、一連の処理が全無人車に対して完了したか否かをチェックする。インクリメントされた無人車番号CARの値と無人搬送システムが有している無人車の総数とを比較する。無人車総数の方が大きいならば処理をステップSh3に戻し、ステップSh13にて求められた無人車番号CARの無人車に対し再び同様の処理を行う。CARの方が大きいならば全無人車に対しノード予約および走行指示が完了したことになるので処理を終了する。
【0182】
次に、第2の実施形態の計画部201の動作について、第1の実施形態の計画部108と異なる部分を中心に説明していく。
まず、ペトリネット作成部109は、基本的に第1の実施形態において記述された方法により、運行経路のペトリネットモデルを作成し、作成したペトリネットモデルのデータを運行制御データメモリ210へ記憶させる。第1の実施形態で作成されたペトリネットモデルは、無人車の運行計画で作成されたものであるが、第2の実施形態におけるペトリネットモデルは、運行制御に用いられるものである。
【0183】
そのため、ノードプレース、移動プレース、予約プレース、出発トランジションおよび到着トランジションなどのペトリネットモデルを構成する要素は、第1の実施形態と同様であるが、後に説明される様にトークンおよび各トランジションの発火に関する条件などが異なる。
このペトリネットモデルの作成は、無人車の運行制御の開始後において、無人車の運行制御の初期化処理の一環として行われる。
【0184】
次に、経路探索部202は、第1の実施形態の経路探索部112と同様に、後述する経路計画部203によって起動される。また、経路探索部202は、その起動時において、特定の経路に対し、方向付けおよび通行禁止の情報を探索時条件として指示することも同様に可能である。
第2の実施形態の経路探索部202が第1の実施形態の経路探索部112と異なる点は、後者が全ての無人車に対して初期経路(無人車同士の競合を考慮しないコスト最小経路)を求めるのに対し、前者は計画指示テーブルメモリ207内の経路確定レベルが「未定」の無人車に対してのみ初期経路を求める点である。これは計画指示テーブルメモリ207内の経路確定レベルが「目的ノードまで確定」または「退避先ノードまで確定」の無人車は、すでに目的ノードまたは退避先ノードまでの経路が確定しているので、この確定経路は固定条件となるためである。
【0185】
次に、第2の実施形態における経路計画部203では、各無人車に対する走行経路の作成が、他の無人車の作業完了を待たず、作業が完了した無人車に対して直ちに行われるので、経路計画部203が基本経路(逆方向区間の無いコスト最小経路)を求める時には、走行が確定している経路がすでにいくつか存在していることになる。
また、運行制御部200は、経路計画部203の処理と並列に各無人車に対し走行指示を出しているので、経路計画部203は処理を開始する前に各無人車の現在位置情報を得る必要がある。
上記の2点より、経路計画部203はその処理を開始する前に確定走行路および各無人車の現在位置の初期設定を行う必要がある。
【0186】
図45は経路計画部203が行う経路計画処理を示すフローチャートであり、第1の実施形態の経路計画部111のフローチャート(図14)に一部処理を追加したものである。
処理が開始されると、ステップSP1(a)において確定走行路の初期設定を行う。
計画指示テーブルメモリ207の経路確定レベルを調べ、経路確定レベルが「目的ノードまで確定」または「退避先ノードまで確定」となっている無人車をピックアップする。次に、無人車データメモリ209を調べ、ピックアップされた無人車について確定経路をその走行方向も含めて全て調べ出す。そして、それらの確定経路に対して、その走行方向とは逆方向の走行を一時的に禁止し一方通行とする。つまり、この後のステップSP2’およびSP14’における経路探索部210の経路探索処理に対し、確定経路によって走行可能方向の条件付けを行う。
【0187】
次に、ステップSP1(b)で各無人車の現在位置の初期設定を行う。
本実施形態の運行制御は各無人車の位置とは無関係に開始されるので、各無人車は必ずしもノード上に位置しているわけではなく、ノード間を移動中の場合も考えられる。そこで、経路計画部203の処理がステップSP1(b)に移った時点において、ノード上に位置する無人車に対してはそのノードを現在位置とし、またノード間を移動中の無人車に対しては直前に通過したノードを現在位置とする。
ステップSP1(a)およびSP1(b)における初期設定が終了すると、以降の処理は第1の実施形態で示した図14のステップSP2以降の処理と同じものである。但し、ステップSP2’およびSP14’では、経路探索部202による初期経路探索は、計画指示テーブルメモリ207内の経路確定レベルが「未定」の無人車のみを対象として行われる。
【0188】
次に、第2の実施形態の動作計画部204の処理は、第1の実施形態の動作計画部110のペトリネットモデルを用いたシミュレーションを行い経路の確定を行う処理およびその他の処理(図32、図33、図34)と基本的に同じものである。
両者が異なる点は、動作計画部204の場合、図33のステップSf24(詳細図は図33)、図34のステップSf26(詳細図は図27)およびステップSf28(詳細図は図29)の各ステップにおいて発火順序調整、迂回経路探索および待避経路探索の対象となるのは、計画指示テーブルメモリ207内の経路確定レベルが「未定」の無人車のみという点である。
また、第2の実施形態では、一度確定した経路に対する変更は行わないので、退避経路探索(図33に示すステップSf19)で退避経路を追加する場合は、計画指示テーブルメモリ207の経路確定レベルが「未定」または「目的ノードまで確定」の無人車に対しては目的ノード以降に、「退避先ノードまで確定」の無人車に対しては現在確定している退避先ノード以降に退避経路が加わることになる。
【0189】
全体の動作例3:
次に、上記構成による運行管理制御装置Cの動作を説明する。
前述したように第2の実施形態においては、運行制御部200は、他の無人車の作業完了を待たず、手の空いた無人車から順次新しい仕事を割り当てていく。そこで動作例の開始時点として次のような状況を設定する。
図46(a)に示すように、無人車#1は、丁度それまで割り当てられていた仕事を完了したところであり、ノード2で待機中である。無人車#2はノード3での積み込み作業(作業時間は35秒)を行うためノード5とノード4の間を走行中であり、無人車#3はノード9での積み込み作業(作業時間は25秒)を行うためノード7を出発寸前であるとする。
【0190】
運行制御部200は無人車の状態を一定周期で監視し、上述の各無人車の状態を無人車データメモリ209内に書き込む。
運行制御部200は無人車データメモリ209の更新とは並列に、図43に示した計画部201起動処理を繰り返しているので、それに従って計画部201の起動を行う。
【0191】
運行制御部200は、待機中の無人車(無人車#1)の存在を確認すると、搬送実行テーブルメモリ205にストックされた仕事の中から1つ仕事を取り出し、無人車#1に割り当てる。
ここでは無人車#1にノード9での積み込み作業(作業時間は30秒)を割り当てるとする。
無人車#2および#3はそれぞれ既に目的ノードおよびそこまでの経路が確定しているので、これらも考慮すると計画指示テーブルメモリ207の内容は図46(b)となる。
【0192】
計画指示テーブルメモリ207がセットされると、計画部201による計画実行が開始される。
まず、経路計画部203は、基本経路を作成する前に、確定走行路の初期化を行う(図45に示すステップSP1(a)参照)。無人車#2の確定走行路は、通過するノードの順番で示すとノード5−4−3であるので、それと逆行するノード3−4−5の移動は禁止される。同様に無人車#3の確定経路と逆行するノード9−8−7の移動も禁止される。
【0193】
次に、無人車の現在位置の初期設定を行う(図45に示すステップSP1(b)参照)。無人車#1はノード2で待機中であるので、その現在位置はノード2に設定される。無人車#2はノード5とノード4との間を走行中であるので、その現在位置は直前に通過したノード5に設定される。無人車#3はノード7で停止中であるので、その現在位置はノード7に設定される。
【0194】
以上の初期設定終了後、経路計画部203は第1の実施形態で述べた経路計画部111と同様の処理を行い、基本経路(逆方向期間の無いコスト最小経路)を探索する(図45に示すステップSP2’以降の処理参照)。ただし、ステップSP2’およびSP14’において走行経路を求める処理の対象となるのは、計画指示テーブルメモリ207において経路確定レベルが「未定」となっている無人車のみとなる。この結果、無人車#1の基本経路はノード2−1−6−7−8−9と求められる。また、無人車#2および#3は現在の確定走行路が基本経路となる。
【0195】
経路計画部203の基本経路探索が終了すると、次に動作計画部204が動作計画を行う。ここでは、無人車#3に対してノード9からノード10への退避経路が追加される。
【0196】
計画実行が終了すると、各無人車の確定経路は図47(a)に示す通りとなり、計画部201は図47(b)に示すノード予約シーケンスおよび図47(c)に示す確定経路ノードリストを計画結果格納メモリ206へ格納する。
運行制御部200は計画実行の成功を確認すると、ノード予約シーケンスおよび確定ノードリストを運行制御データメモリ210にコピーする。
【0197】
以上述べた計画部201起動処理とは並列に、運行制御部200は運行制御データメモリ210を参照しながら図44に示した走行指示処理を繰り返している。故に、図43の処理によって運行制御データメモリ210が更新されると、その内容は直ちに各無人車への走行指示に反映される。
【0198】
図48に示すフローチャートに従って、無人車の実際の運行制御について説明する。まず、ステップSS1において、第1の実施形態と同様にペトリネット作成部109により、ペトリネットモデルが作成され、このペトリネットモデルのデータは、ペトリネットデータメモリ107を介し、運行制御データメモリ210へ記憶される。この操作は、運行制御が開始される前に行われる。
【0199】
次に、ステップSS2において、無人車の状態が変化したかどうかが、運行制御部200により検出される。どの無人車もノードに停止し、無人車の状態変化の情報が検出されない場合は、ステップSS2の検出動作が繰り返される。無人車が、次のノードに移動したり、無人車の状態が変化(たとえば搭載した資材の移動が終了)したときは、無人車から無人車インタフェース208を介して状態情報が入ると、運行制御部200は、無人車の状態変化を検知し、ステップSS3に処理を進める。
【0200】
次に、ステップSS3において、無人車インタフェース208を介して入力された無人車の状態情報の内容により、運行制御部200は、運行制御データメモリ210および搬送実行テーブルメモリ205などに記憶されている無人車の状態情報のデータを無人車インタフェース208を介して入力された内容に更新する。
【0201】
たとえば、無人車のノードに到着した状態情報が、無人車インタフェース208を介して入力された場合の処理を説明する。
ノードiからノードjへ移動している無人車から、ノードjを検出した情報、すなわち、無人車がノードjに到着した情報が、無人車インタフェース208から入力されると、運行制御部200は、次の発火処理において到着トランジションAi-jを発火させる。
【0202】
この到着トランジションAi-jへの移動時の発火処理は、以下に示す処理が行われる。無人車の移動による発火処理を移動発火処理として、後に述べる無人車の運行経路の予約における発火処理と区別する。
【0203】
▲1▼運行制御部200は、運行制御データメモリ210に記憶されている、発火処理に対応する無人車の予約発火系列の先頭にある到着トランジションAi-jを取り出し、それらの入力ノードプレースniに対応した黒トークン、および白トークンのある全ての出力ノードプレースnjの白トークンを取り除き、全ての出力プレースに黒トークンを置く。
【0204】
▲2▼運行制御部200は、運行制御データメモリ210などに記憶されているノードプレースPiの予約シーケンスの先頭から、無人車インタフェース208を介して通知した無人車を除去する。
【0205】
次に、ステップSS4において、ノードiからノードjへ移動している無人車から、無人車がノードjに到着した情報が、無人車インタフェース208から入力されると、その無人車が占有していたノードiは解放されたことが確認される。他の無人車は、解放されたノードiを占有できるので、運行制御部200は、他の無人車の経路予約処理を行う。
【0206】
また、経路予約処理は、無人車インタフェース208を介して状態情報を通知した無人車が目的地までの運行経路上でさらに占有領域を拡大する場合にも、運行制御部200は、通知した無人車の経路予約処理を行う。
また、運行制御部200は、各無人車の経路予約処理を、到着情報を通知した以外の無人車に行った後、最後に状態情報を通知した無人車に行う。
【0207】
次に、ステップSS5において、運行制御部200は、経路予約処理による無人車の移動指令を、対応する無人車に無人車インタフェース208を介して送信する。
次に、ステップSS6において、運行制御部200は、全ての無人車が目的地に到着したかどうかの判断を行う。運行制御が終了した場合には、運行制御部200は、運行制御の処理を終了する。また、運行制御が終了していない場合には、運行制御部200は、ステップSS2に戻り、運行制御の処理を続行する。
【0208】
上述したステップSS4における経路予約処理を図49を参照して詳細に説明する。
まず、ステップSR1において、運行制御部200は、運行制御データメモリ210に記憶されている予約発火トランジション列を空にする。
【0209】
次に、ステップSR2において、運行制御部200は、経路予約の対象となっている無人車の運行制御データメモリ210に記憶されている未発火トランジション系列から先頭のトランジションTi-jを参照する。
【0210】
次に、ステップSR3において、ステップSR2で参照したトランジションTi-jが予約発火可能な場合、運行制御部200は、対応する無人車の予約発火処理を行い、予約発火したトランジションTi-jを運行制御データメモリ210に記憶されている予約発火トランジション系列に加える。そして、運行制御部200は、運行制御データメモリ210に記憶されている未発火トランジション系列から除去した後、ステップSR4の処理に進む。
また、ステップSR2で参照したトランジションTi-jが予約発火不可能な場合、運行制御部200は、ステップSR5の処理へ進む。
【0211】
ここで、予約発火可能条件について詳細に説明を行う。トランジションTi-jは以下に示す▲1▼、▲2▼および▲3▼の条件を満たす場合に、運行制御部200は、予約発火可能であるとする。
【0212】
▲1▼トランジションTi-jに対応する全ての入力プレースが、運行制御部200により検索され、ノードプレースまたは移動プレースに、黒トークンまたは白トークンがあり、かつ全ての予約プレースに黒トークンがあることが確認された場合。
【0213】
▲2▼運行制御部200により、トランジションTi-jに対応する出力プレースに黒トークンおよび白トークンのどちらも確認されない場合。
【0214】
▲3▼運行制御部200により、運行制御データメモリ210に記憶されているノードjの予約シーケンスの先頭に、経路予約対象の無人車がセットされていることが確認された場合。
【0215】
次に、予約発火処理についての説明を行う。トランジションTi-jの予約発火は、以下に示す▲1▼、▲2▼の順に行われる。
▲1▼運行制御部200により、トランジションTi-jの入力プレースの全ての予約プレースから黒トークンが取り除かれる。
▲2▼運行制御部200により、トランジションTi-jの出力プレースのノードプレースまたは移動プレースに白トークンが置かれる。
【0216】
また、ノードで停止中の無人車が運行制御部200により、移動指令を通知された場合、またはノード到着情報を運行制御部200に通知した無人車の予約発火系列にトランジションが有る場合、運行制御部200は、上記予約発火系列の出発トランジションが移動発火可能なとき、運行制御データメモリ210に記憶されている予約発火系列から取り出し移動発火させる。
【0217】
ここで、出発トランジションDi-jの移動発火条件は、以下に示す▲1▼および▲2▼の条件を満たす場合である。
▲1▼運行制御部200により、出発トランジションDi-jの入力プレースであるノードプレースniまたは移動プレースmi-jに黒トークンまたは白トークンが確認された場合。
▲2▼運行制御部200により、出発トランジションDi-jの入力プレースに含まれる全ての予約プレースに黒トークンが確認されない場合。
【0218】
また、ここで処理される出発トランジションDi-jの移動発火処理は、以下に示す▲1▼および▲2▼の処理である。
▲1▼運行制御部200は、出発トランジションDi-jに対応する入力プレースであるノードプレースから黒トークンを除去する。
▲2▼運行制御部200は、出発トランジションDi-jに対応する出力プレースの移動プレースから白トークンを除去し、かつ移動プレースに黒トークンをセットする。
【0219】
次に、ステップSR4において、対応する無人車の予約したノード列に示された距離の積算値が、あらかじめ設定された距離の値を超えた場合、または目的地への予約発火処理が行われた場合、運行制御部200は、ステップSR5の処理へ進む。また、運行制御部200は、上述した場合以外のときステップSR1へ戻り処理を実行する。
【0220】
次に、ステップSR5において、運行制御部200は、運行制御データメモリ210に記憶されている予約発火トランジション列から予約ノード列を作成し、運行制御データメモリ210に記憶させる。そして、運行制御部200は、予約発火トランジション列を運行制御データメモリ210に記憶されている予約発火系列に加える。また、運行制御データメモリ210に予約ノード列が記憶されていない場合、運行制御部200は経路予約処理を終了する。
【0221】
次に、ステップSR6において、運行制御データメモリ210に対応する無人車の予約ノード列が記憶されている場合、運行制御部200は予約ノード列を運行制御データメモリ210に記憶させた後、経路予約処理を終了する。
【0222】
全体の動作例4:
たとえば、動作例として図50(a)に示すノード数が「8」の走行路に、無人車が3台走行する場合を考える。無人車は、おのおの無人車#1、無人車#2および無人車#3の3台とする。無人車#1、無人車#2および無人車#3は、出発点から目標点まで移動し、目標点で所定の動作を行うものとする。図50(b)に示す出発点(出発ノード)および目標点(目標ノード)を基に、図39に例示された運行計画によって、動作計画部204は、図50(b)に示す経路を求め、計画結果格納メモリ206に記憶させる。運行制御部200は、計画結果格納メモリ204から運行計画のデータを取得する。
【0223】
この経路において、無人車#1と無人車#2とは、同一のノード4で作業を行うため、先にノード4に到着する無人車#1は、作業終了後にノード8へ退避し、無人車#2は、無人車#1がノード4から退避した後、ノード4において所定の作業を行う計画となっている。また、ノード2における作業後、無人車#2がノード7からノード3へ移動するため、無人車#3と無人車#2とは干渉するので、無人車#3は、ノード1へ退避する計画となっている。
【0224】
したがって、無人車#1の最初の目標点は、ノード4であり、ノード4における作業後、無人車#1の次の目標点は、ノード8となる。また、無人車#3の最初の目標点は、ノード2であり、ノード2における作業後、無人車#3の次の目標点は、ノード1となる。
また、運行制御部200は、計画結果格納メモリ206から運行計画を入力すると同時に、図51に示すノード予約表を入力する。
【0225】
まず、各無人車の図50(a)に示す運行の初期状態を図52(a)に示す。図52(a)は、図41のペトリネット作成部109で作成されるペトリネットモデルである。図52を参照して、運行の初期状態を説明する。
図50(a)が示すように無人車#1がノード2を占有し、また、無人車#2がノード6を占有し、さらに、無人車#3がノード1を占有していることにより、図52(a)に示されるように、ノードプレースn2、ノードプレースn6およびノードプレースn1に黒トークンは置かれている。
【0226】
また、予約プレースr2、予約プレースr6および予約プレースr1には、おのおの対応するノードプレースに無人車がいる。そのため、ノード2およびノード3が、また、ノード5およびノード6がそれぞれ干渉関係にあり、予約プレースr3と予約プレースr5とには、トークンが存在しない。また、他の予約プレースr2、予約プレースr7および予約プレースr8は、予約可能な状態にあるので黒トークンが置かれている・
【0227】
そして、図50(b)に示す経路に従って、各無人車毎の未発火トランジション系列が図52(b)に示す配列で運行制御部200により作成される。たとえば、無人車#1をノード2からノード3への移動をさせるために、運行制御部200は出発トランジションD2-3と到着トランジションA2-3との発火の必要性を運行経路から抽出し、この抽出した発火の必要性のある各トランジションから未発火トランジション系列を作成する。また、図52(a)に示す初期状態において、運行制御部200は、経路予約を行っていないので、運行制御データメモリ210に記憶されている予約発火系列は空の状態となっている。
【0228】
次に、図50(b)に示す運行の経路に従った、無人車#1、無人車#2および無人車#3が運行制御する過程を説明する。ここで、図49に示す経路予約処理のフローチャートにおけるステップSR4の予約ノード列の距離は、無人車#1、無人車#2および無人車#3の経路よりも長いものとする。
【0229】
まず、無人車#1に対する最初の経路予約処理を以下に示す▲1▼から▲4▼の順番において行う。
▲1▼図49に示す経路予約処理フローチャートのステップSR3において、未発火トランジション系列の先頭にある出発トランジションD2-3が予約発火可能であるので予約発火され、移動プレースm2-3に白トークンが置かれる。
▲2▼次に、出発トランジションA2-3が予約発火され、ノードプレースn3に白トークンが置かれる。そして、出発トランジションD3-4が予約発火され、予約プレースr4から黒トークンが除去され、さらに、移動プレースm3-4に白トークンが置かれる。
【0230】
▲3▼次に、到着トランジションA3-4が予約発火され、同時に、ノードプレースn4に白トークンが置かれる。これで、無人車#1の目的地までの各トランジションが全て予約発火されたことになる。
▲4▼▲1▼から▲3▼の処理により、未発火トランジション系列から、出発トランジションD2-3、出発トランジションA2-3、出発トランジションD3-4および到着トランジションA3-4が消去され、予約発火系列に出発トランジションD2-3、出発トランジションA2-3、出発トランジションD3-4および到着トランジションA3-4が加えられる。さらに、図49に示す経路予約処理フローチャートのステップSr6において、無人車#1の予約ノード列として、{3、4}が運行制御データメモリ210に記憶され、無人車#1の経路予約処理が終了する。
【0231】
次に、無人車#2に対する最初の線路予約処理を以下に示す▲1▼から▲2▼の順番において行う。
▲1▼未発火トランジション系列において、出発トランジションD6-7および到着トランジションA6-7が順に予約発火され、予約プレースr7から黒トークンが除去される。そして、移動プレースm6-7およびノードプレースn7に白トークンが置かれる。
▲2▼未発火トランジション系列における、次の出発トランジションD7-3は、予約プレースr3に黒トークンがないので、発火可能とはならない。そして、無人車#2の予約ノード列は、{7}となり、運行制御データメモリ210に記憶され、無人車#1の経路予約処理は終了する。
【0232】
次に、無人車#3に対する最初の線路予約処理を以下に示す▲1▼において行う。
▲1▼未発火トランジション系列の先頭にある出発トランジションD1-2は、初期状態において、予約発火可能ではないので、無人車#3の予約ノードは作成されない。
無人車#1、無人車#2および無人車#3の最初の線路予約処理の結果を図53に示す。図53(a)は、各トークンの動きを示すペトリネットモデルであり、図53(b)は、最初の線路予約処理後の各無人車の未発火トランジション系列およに予約発火系列を示している。
【0233】
これで、停止中の無人車#1と無人車#2とについて、移動を開始できる状態として図53(b)に示す予約発火系列が設定されている。そして、図53(a)のペトリネットモデルにおいて、出発トランジションD2-3および出発トランジションD6-7は、図53(b)に示す予約発火系列に従って移動発火される。
【0234】
この結果、ノードプレースn2およびノードプレースn6から、黒トークンが除去される。同時に、移動プレースm2-3および移動プレースm6-7から白トークンが除去され、移動プレースm2-3および移動プレースm6-7には、黒トークンが置かれる。
また、移動発火された出発トランジションD2-3および出発トランジションD6-7は、予約発火系列から消去される。
【0235】
そして、図48に示すステップSS5において、前述した移動発火に対応して運行制御装置200は、無人車インタフェース208を介し、無人車#1へ、ノード3を経由してノード4まで移動する移動指令を通知する。
また、同様に、前述した移動発火に対応して運行制御装置200は、無人車インタフェース208を介し、無人車#2へ、ノード7まで移動する移動指令を通知する。
【0236】
次に、無人車#1および無人車#2は、運行制御部200から移動指令を通知され、移動を開始する。そして、移動を開始した後、無人車#1から無人車インタフェースを介し、運行制御部200へノード3を検出した状態情報として、検出通知が送られてくる。
この時点で、図48のステップSS3の無人車状態情報の更新において、到着トランジションA2-3が移動発火される。
【0237】
そして、図48のステップSS4において、運行制御部200により経路予約処理が行われる。しかし、新規の予約発火のトランジションはなく、最後に出発トランジションD3-4が移動発火される。この出発トランジションD3-4が移動発火した時点でのペトリネットモデルの状態を図54に示す。
【0238】
さらに、同様に運行制御部200から移動指令を通知され、移動を開始した無人車#2から無人車インタフェース208を介して、ノード7の検出通知が運行制御部200へ送られてくる。そして、図48のステップSS3の無人車状態情報の更新において、到着トランジションA6-7が移動発火される。
次に、図48のステップSS4において、経路予約処理が開始されるが、新規の予約発火のトランジションはなく、経路予約処理は終了する。
【0239】
次に、無人車#1から無人車インタフェース208を介し、ノード4へ到着した到着通知が運行制御部200に入力され、図48のステップSS3の無人車状態情報の更新において、到着トランジションA3-4が移動発火される。この結果、ノードプレースn2およびノードプレースn3が解放されるため、予約プレースr2および予約プレースr3に黒トークンが置かれる。
【0240】
そして、図48のステップSS4の経路予約処理に入り、前述した移動発火において、無人車#3の出発トランジションD1-2および到着トランジションA1-2は、予約発火が可能となる。出発トランジションD1-2および到着トランジションA1-2が、順次予約発火した後、出発トランジションD1-2は移動発火される。
【0241】
その結果、運行制御部200は、無人車インタフェースを介して、無人車#3をノード3に移動させる移動指令を無人車#3へ通知する。この移動指令に基づき、無人車#3は移動を開始する。
そして、無人車#1は、ノード4において、所定の作業を行う。上述した運行制御部200による運行制御が行われた時点でのペトリネットモデルの状態を図55(a)に示す。図55(b)の示す予約発火系列から分かるように無人車#1および無人車#2は、新規の予約発火のトランジションは持っていない。
【0242】
次に、運行制御部200から移動指令を通知され、移動している無人車#3から、無人車インタフェース208を介して、運行制御部200へノード2の検出通知が送られてくる。図48のステップSS3の無人車状態情報の更新において、到着トランジションA1-2が移動発火される。同時に、移動プレースm1-2にある黒トークンと、ノードプレースn2にある白トークンとがそれぞれ除去され、ノードプレースn2および予約プレースr1に黒トークンが置かれる。
【0243】
次に、ノード4で所定の作業を行っていた無人車#1から、無人車インタフェース208を介して作業終了通知が運行制御部200へ送られてくると、無人車#1は、無人車#2の移動のため、退避する必要がある。そこで、無人車#1の退避のため、出発トランジションD4-8および到着トランジションA4-8は、予約発火され、そして、出発トランジションD4-8は移動発火される。同時に、運行制御部200は、無人車インタフェース208を介して、無人車#1へノード8へ移動させる移動指令を通知する。
無人車#1に対して、運行制御部200からノード8への移動指令が出力されると、到着トランジションA4-8が移動発火され、無人車#1はノード8で待機状態になる
【0244】
また、ノード2で所定の作業を行っている無人車#3から、無人車インタフェース208を介し、運行制御部200へ作業終了通知が入力されると、無人車#1と無人車#2とがノード干渉するため、無人車#3は退避する必要がある。そこで、無人車#3の退避のため、出発トランジションD2-1と、到着トランジションA2-1とが予約発火され、そして、出発トランジションA2-1は移動発火される。同時に、運行制御部200は、無人車インタフェース208を介して、無人車#3へノード1へ移動させる移動指令を通知する。
【0245】
そして、無人車#3から無人車インタフェース208を介し、運行制御部200へノード1の検出通知が入力されると、到着トランジションA2-1が移動発火され、無人車#3はノード1で待機状態となる。
その後、図48に示すステップSS4の経路予約処理において、無人車#2の目標点までのトランジション系列における出発トランジションD7-3、到着トランジションA7-3、出発トランジションD3-4および到着トランジションA3-4が全て予約発火され、出発トランジションD3-4の移動発火が行われる。そして、無人車#2は、ノード3を経由してノード4へ移動する。そして、無人車#2から無人車インタフェース208を介し、運行制御部200へノード4の検出通知が入力されると、到着トランジションA3-4が移動発火され、無人車#2はノード4で所定の作業を開始する。 以上の処理によって、各無人車は目的ノードへ到達し、与えられた作業を完了することができる。
【0246】
以上、本発明の第一実施形態および第二実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0247】
【発明の効果】
請求項1記載の発明によれば、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を制御する運行管理制御装置において、隣接した前記ノードにおのおの無人車が停止した場合、無人車同士が衝突する距離に隣接した前記ノードの影響を考慮したノード情報を含み、前記走行路に対応し、無人車の走行をシミュレートする走行図を作成する走行図作成手段と、前記走行図のデータを記憶する記憶手段と、各無人車が同一接続路を互いに逆方向走行することがなく、かつ前記ノード情報を満足させる各無人車の走行経路を探索する探索手段と、前記探索手段によって探索された各無人車の走行経路と、前記記憶手段に記憶される前記走行図とに基づいて、各無人車の時間的な移動をシミュレーションし、いずれかの無人車の進行不能を検出した場合に、ノード通過順序変更、迂回経路探索、待避経路探索のいずれかの方法で前記無人車の進行不能を解除する制御手段とを具備してなるため、走行図作成手段によって得られた走行経路に基づいて、制御手段が、それぞれの無人車の時間的な移動をシミュレーションし、その過程で無人車の進行不能を検出した場合には、走行順序変更、迂回経路探索、待避経路探索などを行い通行不能を解除するため、移動が滞ることがない走行経路および走行順序を得ることができ、従って移動効率を向上させることができるという効果が得られる。
【0248】
請求項2記載の発明によれば、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する運行管理制御方法において、前記ノードの配置に関する情報と、おのおのに無人車が停止すると互いに干渉する程度に近接して配置された複数のノードに関する情報とを有するノード情報を記憶手段に記憶させる第1のステップと、各無人車が同一接続路を互いに逆方向走行することがなく、前記ノード情報を満足させる各無人車の走行経路を探索する第2ステップと、前記第2ステップによって得られた走行経路に基づいて各無人車の時間的な移動を調べ、いずれかの無人車の進行不能が検出された場合には既に走行を終了している無人車の経路に退避経路を追加する第3ステップと、前記第3ステップにおいて進行不能が解消できない場合に無人車の走行順序を変更する第4ステップと、前記第4ステップにおいて進行不能が解消できない場合に無人車の経路に迂回経路を追加する第5ステップと、前記第5ステップにおいて進行不能が解消できない場合に無人車の経路に待避経路を追加する第6ステップとを有するため、影響する隣接ノードの情報をも考慮し、無人車の進行不能が検出された場合には、退避経路の追加、走行順序の変更、迂回経路の追加、待避経路の追加の順で進行不能を解除するため、全ての無人車の移動が滞ることがない経路および走行順序を得ることができ、従って、移動効率を向上させることができるという効果が得られる。
【0249】
請求項3記載の発明によれば、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を、前記ノードの配列に関する情報に基づいて制御する運行管理制御装置において、前記ノードの配置に関する情報と、前記無人車の占有する領域の大きさのデータとを有するノード情報に基づいて前記走行路に対応し、無人車の走行をシミュレートする走行図を作成する走行図作成手段と、前記走行図のデータを記憶する記憶手段と、各無人車が同一接続路を互いに逆方向走行することがなく、かつ前記ノード情報を満足させる各無人車の走行経路を探索する探索手段と、前記探索手段によって探索された各無人車の走行経路と、前記記憶手段に記憶される前記走行図とに基づいて、各無人車の時間的な移動をシミュレーションし、いずれかの無人車の進行不能を検出した場合に、ノード通過順序変更、迂回経路探索、待避経路探索のいずれかの方法で前記無人車の進行不能を解除する制御手段とを具備してなるため、走行図作成手段によって得られた走行経路に基づいて、制御手段が、それぞれの無人車の時間的な移動をシミュレーションし、その過程で無人車の進行不能を検出した場合には、走行順序変更、迂回経路探索、待避経路探索などを行い通行不能を解除するため、移動が滞ることがない走行経路および走行順序を得ることができ、従って移動効率を向上させることができるという効果が得られる。
【0250】
請求項4記載の発明によれば、停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する運行管理制御方法において、前記ノードの配置に関する情報と、前記無人車の占有する領域の大きさのデータとを有するノード情報を記憶手段に記憶させる第1のステップと、各無人車が同一接続路を互いに逆方向走行することがなく、前記ノード情報を満足させる各無人車の走行経路を探索する第2ステップと、前記第2ステップによって得られた走行経路に基づいて各無人車の時間的な移動を調べ、いずれかの無人車の進行不能が検出された場合には既に走行を終了している無人車の経路に退避経路を追加する第3ステップと、前記第3ステップにおいて進行不能が解消できない場合に無人車の走行順序を変更する第4ステップと、前記第4ステップにおいて進行不能が解消できない場合に無人車の経路に迂回経路を追加する第5ステップと、
前記第5ステップにおいて進行不能が解消できない場合に無人車の経路に待避経路を追加する第6ステップとを有するため、影響する隣接ノードの情報をも考慮し、無人車の進行不能が検出された場合には、退避経路の追加、走行順序の変更、迂回経路の追加、待避経路の追加の順で進行不能を解除するため、全ての無人車の移動が滞ることがない経路および走行順序を得ることができ、従って、移動効率を向上させることができるという効果が得られる。
【0251】
請求項5記載の発明によれば、所定の時刻における前記複数の無人車の確定走行経路および与えられた作業内容を記憶する計画指示記憶手段と、前記各無人車の状態を監視する第1の処理と、与えられた作業を完了した無人車が発生する度に、前記計画指示記憶手段に新たな作業を設定し、前記第1の手段および前記第2の手段を起動して走行経路を探索させる第2の処理と、該探索の結果に基づいて前記各無人車に動作指示を与える第3の処理を並列かつ周期的に行うことで、前記複数の無人車の運行を制御する運行制御手段とを具備してなるため、運行制御手段は周期的に各無人車の状態を監視し、作業を完了した無人車が発生すると、その無人車の計画指示記憶手段に新たな作業を設定する。その後、前記探索手段および前記制御手段は他の無人車の状態を考慮して走行経路探索を行う。従って、全ての無人車の作業完了を待つこと無く、作業が完了した無人車に直ちに新しい作業を与えることができる効果がある。
【図面の簡単な説明】
【図1】 本発明の一実施形態における運行管理制御装置の構成を示すブロック図である。
【図2】 ペトリネット作成部109におけるペトリネットモデル作成を示すフローチャートである。
【図3】 経路計画部109の経路計画処理を示すフローチャートである。
【図4】 ペトリネットモデル作成の中間段階を示す図である。
【図5】 ペトリネットモデル作成の中間段階を示す図である。
【図6】 ペトリネットモデル作成の中間段階を示す図である。
【図7】 ペトリネットモデル作成の中間段階を示す図である。
【図8】 自己ループ解除前の干渉関係のペトリネットモデルを示す図である。
【図9】 自己ループ解除後の干渉関係のペトリネットモデルを示す図である。
【図10】 干渉関係の有る場合の走行路に対するペトリネットモデルを示す図である。
【図11】 走行路101におけるコストを示した図である。
【図12】 経路計画に用いる木を示した図である。
【図13】 動作計画処理の動作例を示す運行図である。
【図14】 経路計画部111の経路計画処理を示すフローチャートである。
【図15】 図13の運行図をモデル化したペトリネット図である。
【図16】 図13の運行図をもとにシミュレーションしたペトリネット図である。
【図17】 図13の運行図をもとにシミュレーションしたペトリネット図である。
【図18】 図13の運行図をもとにシミュレーションしたペトリネット図である。
【図19】 図13の運行図をもとにシミュレーションしたペトリネット図である。
【図20】 図13の運行図をもとにシミュレーションした結果のペトリネット図である。
【図21】 動作計画部110の退避経路探索処理を示すフローチャートである。
【図22】 退避経路探索処理の動作例を示す運行図である。
【図23】 動作計画部110のデッドロック把握処理を示すフローチャートである。
【図24】 デッドロック把握処理の動作例を示す運行図である。
【図25】 動作計画部110の発火順序調整処理を示すフローチャートである。
【図26】 発火順序調整処理の動作例を示す運行図(a)およびノード予約シーケンス(b)である。
【図27】 動作計画部110の迂回経路探索処理を示すフローチャートである。
【図28】 迂回経路探索処理の動作例を示す運行図である。
【図29】 動作計画部110の待避経路探索処理を示すフローチャートである。
【図30】 待避経路探索処理の動作例を示す運行図である。
【図31】 無人搬送システムのシステム構成図である。
【図32】 動作計画部110の動作計画処理(メイン処理)を示すフローチャート▲1▼である。
【図33】 動作計画処理(メイン処理)を示すフローチャート▲2▼である。
【図34】 動作計画処理(メイン処理)を示すフローチャート▲3▼である。
【図35】 運行管理制御装置102の動作例1における初期設定(a)、基本経路(b)、および最終経路(c)である。
【図36】 同動作例1における初期経路(a)、基本経路(b)、および最終経路(c)を示す運行図である。
【図37】 同動作例1における運行計画図である。
【図38】 同動作例2における初期経路(a)、基本経路(b)、および最終経路(c)を示す運行図である。
【図39】 同動作例2における運行計画図である。
【図40】 運行管理制御装置102の動作例2における基本経路(a)、および最終経路(b)である。
【図41】 本発明の第2の実施形態における運行管理制御装置のブロック図である。
【図42】 計画指示テーブルメモリ207の一例を示す説明図である。
【図43】 運行制御部200の計画部起動処理を示すフローチャートである。
【図44】 運行制御部200の走行指示処理を示すフローチャートである。
【図45】 経路計画部203の経路計画処理を示すフローチャートである。
【図46】 全体の動作例3における初期設定を示す運行図(a)、計画指示テーブルメモリ204の内容を示す説明図(b)である。
【図47】 全体の動作例3における経路確定後の運行図(a)、ノード予約シーケンス(b)および確定経路ノードリスト(c)である。
【図48】 運行制御部200による運行制御処理を示すフローチャートである。
【図49】 運行制御部200による経路予約処理を示すフローチャートである。
【図50】 動作計画処理の動作例を示す運行図である。
【図51】 図44の経路に基づくノード予約表を示した図である。
【図52】 図44の経路に基づく運行の初期状態のペトリネットモデルを示す図である。
【図53】 図44の経路に基づく運行の経路予約後のペトリネットモデルを示す図である。
【図54】 無人車#1のノード3到着直後のペトリネットモデルを示す図である。
【図55】 無人車#1のノード4到着直後のペトリネットモデルを示す図である。
【図56】 従来例における運行管理制御装置のブロック図である。
【図57】 無人車の占有領域を示す図である。
【図58】 ノードが接近した走行路を示す図である。
【符号の説明】
102、202……運行管理制御装置
103・・・・・・・・・・…運行制御データメモリ
104………………搬送指示データメモリ
105………………無人車データメモリ
106………………走行路データメモリ
107・・・・・・・・・・・・ペトリネットデータメモリ
108、201・・・・計画部
109・・・・・・・・・・・・ペトリネット作成部
110、204・・・・動作計画部
111、203・・・・経路計画部
112、202・・・・経路探索部
200………………運行制御部
205………………搬送実行テーブルメモリ
206………………計画結果格納メモリ
207・・・・・・・・・・・・計画指示テーブルメモリ
208………………無人車インタフェース
Claims (5)
- 停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を、前記ノードの配列に関する情報に基づいて制御する運行管理制御装置において、
前記ノードの配置に関する情報と、おのおのに無人車が停止すると互いに干渉する程度に近接して配置された複数のノードに関する情報とを有するノード情報に基づいて前記走行路に対応し、無人車の走行をシミュレートする走行図を作成する走行図作成手段と、
前記走行図のデータを記憶する記憶手段と、
各無人車が同一接続路を互いに逆方向走行することがなく、かつ前記ノード情報を満足させる各無人車の走行経路を探索する探索手段と、
前記探索手段によって探索された各無人車の走行経路と、前記記憶手段に記憶される前記走行図とに基づいて、各無人車の時間的な移動をシミュレーションし、いずれかの無人車の進行不能を検出した場合に、ノード通過順序変更、迂回経路探索、待避経路探索のいずれかの方法で前記無人車の進行不能を解除する制御手段と
を具備し、
前記走行図作成手段が各ノードにおける無人車の停止の有無の状態、また各ノード間における無人車の出発及び到着の状態、さらに各ノード間の走行路における走行の状態を示す情報を含む走行図を生成することを特徴とする運行管理制御装置。 - 停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する運行管理制御方法において、
前記ノードの配置に関する情報と、おのおのに無人車が停止すると互いに干渉する程度に近接して配置された複数のノードに関する情報とを有するノード情報からなる走行図を生成し、該走行図を記憶手段に記憶させる第1のステップと、
各無人車が同一接続路を互いに逆方向走行することがなく、前記ノード情報を満足させる各無人車の走行経路を探索する第2ステップと、
前記第2ステップによって得られた走行経路に基づいて各無人車の時間的な移動を調べ、いずれかの無人車の進行不能が検出された場合には既に走行を終了している無人車の経路に退避経路を追加する第3ステップと、
前記第3ステップにおいて進行不能が解消できない場合に無人車の走行順序を変更する第4ステップと、
前記第4ステップにおいて進行不能が解消できない場合に無人車の経路に迂回経路を追加する第5ステップと、
前記第5ステップにおいて進行不能が解消できない場合に無人車の経路に待避経路を追加する第6ステップと
を有し、
前記第1のステップにおける走行図が各ノードにおける無人車の停止の有無の状態、また各ノード間における無人車の出発及び到着の状態、さらに各ノード間の走行路における走行の状態を示す情報を含むことを特徴とする運行管理制御方法。 - 停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を、前記ノードの配列に関する情報に基づいて制御する運行管理制御装置において、
前記ノードの配置に関する情報と、前記無人車の占有する領域の大きさのデータとを有するノード情報に基づいて前記走行路に対応し、無人車の走行をシミュレートする走行図を作成する走行図作成手段と、
前記走行図のデータを記憶する記憶手段と、
各無人車が同一接続路を互いに逆方向走行することがなく、かつ前記ノード情報を満足させる各無人車の走行経路を探索する探索手段と、
前記探索手段によって探索された各無人車の走行経路と、前記記憶手段に記憶される前記走行図とに基づいて、各無人車の時間的な移動をシミュレーションし、いずれかの無人車の進行不能を検出した場合に、ノード通過順序変更、迂回経路探索、待避経路探索のいずれかの方法で前記無人車の進行不能を解除する制御手段と、
を具備し、
前記走行図作成手段が各ノードにおける無人車の停止の有無の状態、また各ノード間における無人車の出発及び到着の状態、さらに各ノード間の走行路における走行の状態を示す情報を含む走行図を生成することを特徴とする運行管理制御装置。 - 停止位置である複数のノードと、前記ノード間を接続する接続路からなる走行路を走行する複数の無人車の運行を前記ノードの配列に関する情報に基づいて制御する運行管理制御方法において、
前記ノードの配置に関する情報と、前記無人車の占有する領域の大きさのデータとを有するノード情報からなる走行図を生成し、該走行図を記憶手段に記憶させる第1のステップと、
各無人車が同一接続路を互いに逆方向走行することがなく、前記ノード情報を満足させる各無人車の走行経路を探索する第2ステップと、
前記第2ステップによって得られた走行経路に基づいて各無人車の時間的な移動を調べ、いずれかの無人車の進行不能が検出された場合には既に走行を終了している無人車の経路に退避経路を追加する第3ステップと、
前記第3ステップにおいて進行不能が解消できない場合に無人車の走行順序を変更する第4ステップと、
前記第4ステップにおいて進行不能が解消できない場合に無人車の経路に迂回経路を追加する第5ステップと、
前記第5ステップにおいて進行不能が解消できない場合に無人車の経路に待避経路を追加する第6ステップと、
を有し、
前記走行図作成手段が各ノードにおける無人車の停止の有無の状態、また各ノード間における無人車の出発及び到着の状態、さらに各ノード間の走行路における走行の状態を示す情報を含むことを特徴とする運行管理制御方法。 - 所定の時刻における前記複数の無人車の確定走行経路および与えられた作業内容を記憶する計画指示記憶手段と、
前記各無人車の状態を監視する第1の処理と、与えられた作業を完了した無人車が発生する度に、前記計画指示記憶手段に新たな作業を設定し、前記第1の手段および前記第2の手段を起動して走行経路を探索させる第2の処理と、該探索の結果に基づいて前記各無人車に動作指示を与える第3の処理を並列かつ周期的に行うことで、前記複数の無人車の運行を制御する運行制御手段と
を具備してなることを特徴とする請求項1または請求項3に記載の運行管理制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12134797A JP3684755B2 (ja) | 1997-05-12 | 1997-05-12 | 運行管理制御装置および運行管理制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12134797A JP3684755B2 (ja) | 1997-05-12 | 1997-05-12 | 運行管理制御装置および運行管理制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10312217A JPH10312217A (ja) | 1998-11-24 |
JP3684755B2 true JP3684755B2 (ja) | 2005-08-17 |
Family
ID=14809033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12134797A Expired - Fee Related JP3684755B2 (ja) | 1997-05-12 | 1997-05-12 | 運行管理制御装置および運行管理制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3684755B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002023297A1 (fr) * | 2000-09-11 | 2002-03-21 | Kunikatsu Takase | Systeme de commande de mouvement de corps mobiles |
JP6665786B2 (ja) * | 2014-11-14 | 2020-03-13 | 日本電気株式会社 | モデル集約装置、避難予測システム、集約モデル生成装置、集約方法及びコンピュータ読み取り可能記録媒体 |
JP6242834B2 (ja) * | 2015-03-27 | 2017-12-06 | 日立Geニュークリア・エナジー株式会社 | 搬送経路計画システム及び搬送経路計画方法 |
JP6566301B2 (ja) * | 2015-05-11 | 2019-08-28 | 学校法人日本大学 | 車両通過判定装置、車両検知システム及びプログラム |
US11874123B2 (en) | 2019-02-01 | 2024-01-16 | Nec Corporation | Route planning apparatus, route planning method, and computer-readable recording medium |
JP2021071891A (ja) * | 2019-10-30 | 2021-05-06 | 株式会社東芝 | 走行制御装置、走行制御方法、及びコンピュータプログラム |
CN111897321B (zh) * | 2020-06-19 | 2023-08-11 | 中国煤炭科工集团太原研究院有限公司 | 一种井下特种车辆的无人驾驶系统 |
WO2022113992A1 (ja) | 2020-11-27 | 2022-06-02 | 村田機械株式会社 | 移動体システム、ピッキングシステム、および経路決定方法 |
US20230063370A1 (en) * | 2021-08-30 | 2023-03-02 | Rapyuta Robotics Co., Ltd. | Multi-robot route planning |
WO2023063149A1 (ja) * | 2021-10-12 | 2023-04-20 | ソニーグループ株式会社 | 情報処理装置、情報処理方法およびプログラム |
CN115903627B (zh) * | 2022-12-28 | 2023-06-20 | 长兴精石科技有限公司 | 一种智能控制器及其智能控制系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0719177B2 (ja) * | 1988-09-13 | 1995-03-06 | 株式会社椿本チエイン | 移動体の運行管理方法 |
JP2826138B2 (ja) * | 1988-11-12 | 1998-11-18 | 株式会社豊田中央研究所 | 移動体の干渉チェック装置 |
JP3013360B2 (ja) * | 1989-05-30 | 2000-02-28 | 神鋼電機株式会社 | 移動ロボットシステムにおける衝突防止装置 |
JP2814578B2 (ja) * | 1989-06-20 | 1998-10-22 | 神鋼電機株式会社 | 移動ロボットの走行制御方法 |
JPH0423108A (ja) * | 1990-05-18 | 1992-01-27 | Toshiba Corp | 無人搬送車自動制御装置 |
JP2771893B2 (ja) * | 1990-07-25 | 1998-07-02 | 日本輸送機株式会社 | 無人搬送システムにおける走行管理のシミュレーション方法 |
JPH04141705A (ja) * | 1990-10-02 | 1992-05-15 | Tsubakimoto Chain Co | 移動体の運行管理方法 |
JPH04340607A (ja) * | 1991-05-17 | 1992-11-27 | Shinko Electric Co Ltd | 最適経路決定装置 |
JPH0573143A (ja) * | 1991-05-27 | 1993-03-26 | Shinko Electric Co Ltd | 移動ロボツトシステム |
JPH0519849A (ja) * | 1991-07-17 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 自走台車の制御装置 |
JP3151889B2 (ja) * | 1991-12-16 | 2001-04-03 | トヨタ自動車株式会社 | 無人走行車の待避制御方法 |
JPH0683444A (ja) * | 1992-08-31 | 1994-03-25 | Shinko Electric Co Ltd | 自動走行移動体による無人搬送システムにおけるデッドロック解消方法 |
JP2953282B2 (ja) * | 1993-12-10 | 1999-09-27 | 神鋼電機株式会社 | 運行管理制御装置およびその方法 |
JP3364021B2 (ja) * | 1993-12-10 | 2003-01-08 | 神鋼電機株式会社 | 運行管理制御装置およびその方法 |
JP3279034B2 (ja) * | 1994-01-28 | 2002-04-30 | 神鋼電機株式会社 | 運行管理制御装置およびその方法 |
JP3560648B2 (ja) * | 1994-07-25 | 2004-09-02 | 川崎重工業株式会社 | 搬送車両の運行制御方法 |
-
1997
- 1997-05-12 JP JP12134797A patent/JP3684755B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10312217A (ja) | 1998-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3364021B2 (ja) | 運行管理制御装置およびその方法 | |
JP7228420B2 (ja) | 情報処理装置、情報処理方法、情報処理システム及びコンピュータプログラム | |
JP3684755B2 (ja) | 運行管理制御装置および運行管理制御方法 | |
Taghaboni et al. | A LISP-based controller for free-ranging automated guided vehicle systems | |
US11860621B2 (en) | Travel control device, travel control method, travel control system and computer program | |
US20210165424A1 (en) | An agv system and a method of controlling an agv system | |
KR101620290B1 (ko) | 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법 | |
CN108427412A (zh) | Agv调度方法、装置、计算机设备和存储介质 | |
WO2021140577A1 (ja) | ロボット制御システム | |
US20210286373A1 (en) | Travel control device, travel control method and computer program | |
JP3539838B2 (ja) | 無人車搬送制御装置および無人車搬送制御方法 | |
JP2004280296A (ja) | 無人搬送車制御装置 | |
CN115237137A (zh) | 一种多agv调度与协同路径规划方法和装置 | |
JP3728865B2 (ja) | 無人車運行制御装置及び方法 | |
JP3485755B2 (ja) | 無人搬送車制御装置および無人搬送車制御方法 | |
JP2953282B2 (ja) | 運行管理制御装置およびその方法 | |
JP2021071795A (ja) | 走行制御装置、方法及びコンピュータプログラム | |
JP2003040443A (ja) | ワーク移送装置の競合回避方法およびワーク移送システム | |
KR100347192B1 (ko) | 운행관리제어장치및그방법 | |
AU2021221626A1 (en) | A hybrid method for controlling a railway system and an apparatus therefor | |
JPH0423108A (ja) | 無人搬送車自動制御装置 | |
JP3728864B2 (ja) | 無人搬送車制御装置および方法 | |
JP2022018855A (ja) | 走行制御装置、走行制御方法及びコンピュータプログラム | |
JPH02309406A (ja) | 移動ロボットシステムにおける走行制御方法 | |
JPH033012A (ja) | 移動ロボットシステムにおける衝突防止方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040730 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050523 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080610 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080610 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080610 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080610 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090610 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110610 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110610 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120610 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |