JP3757588B2 - 無人搬送車制御装置および方法 - Google Patents
無人搬送車制御装置および方法 Download PDFInfo
- Publication number
- JP3757588B2 JP3757588B2 JP34029997A JP34029997A JP3757588B2 JP 3757588 B2 JP3757588 B2 JP 3757588B2 JP 34029997 A JP34029997 A JP 34029997A JP 34029997 A JP34029997 A JP 34029997A JP 3757588 B2 JP3757588 B2 JP 3757588B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- child
- interest
- child node
- automatic guided
- 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 109
- 238000011156 evaluation Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Control Of Conveyors (AREA)
Description
【発明の属する技術分野】
本発明は、工場等の無人自動搬送システムにおいて、無人搬送車(以下、「無人車」と称する)の運行を管理し、搬送経路の決定等を行う無人搬送車制御装置およびその方法に関する。
【0002】
【従来の技術】
工場等の無人自動搬送システムにおいて、無人車の運行を管理し、搬送経路の決定等を行う無人搬送車制御装置およびその方法として、出願人は、先に、特願平9−122557を出願した。
【0003】
図9は、上記出願による無人搬送車制御装置の構成例を示すブロック図である。
図9において、走行路データメモリ212は、ノードや区間の情報、および、区間の閉鎖など現在の走行路の状況を記憶している。
無人車データメモリ205は、各無人車の位置などの情報を記憶する。
計画指示データメモリ204は、各無人車の目的地やそこでの作業内容を記憶している。
そして、経路決定部213は、走行路データメモリ212,無人車データメモリ205,計画指示データメモリ204を参照して、各無人車の搬送経路を計画し、該計画結果を計画結果格納メモリ203に書き込む。
【0004】
このような構成において、経路決定部213は、以下の手順▲1▼〜▲4▼に従って、各無人車の搬送経路を計画する。
▲1▼各無人車の位置の集合を1つの状態として捉え、該状態間の遷移は、どれか1台の無人車の位置を隣接ノードへ移すことと等価とみなす。1つの状態を1つの節点に対応つけると、遷移前の節点(「親節点」と称する)は、0個以上の次の節点(「子節点」と称する)に遷移可能である。
▲2▼子節点を親節点の下に加え、さらにその子節点を親節点としてその下に子節点を加えていく……ということを繰り返していくと、木構造になる。これを「探索木」と呼ぶ。経路決定部213は、子節点作成の処理対象となる親節点を、該親節点が生成された順番に選択する。このような親節点の選択方法は「横型探索手法」と呼ばれる。
【0005】
▲3▼無人車の現在地の集合(初期状態)を親節点として出発し、順次、子節点を生成していく。但し、探索木中の節点数を抑えるため、対応する状態(位置集合)の等しい節点が2つ以上探索木に登録されないようにする。このようにして節点を展開していき、全ての無人車の目的地の集合を示す目標節点が得られたならば、探索を停止する。
▲4▼作成された探索木について、親節点から目標節点までのパス上の各節点について、各節点間の状態(位置集合)の移り変わりを無人車の状態遷移とすると、各無人車に関する最短経路が得られる。
【0006】
【発明が解決しようとする課題】
ところで、上述した従来の無人搬送車制御装置および方法では、移動すべきノード数が多くなると、探索木中の節点が爆発的に多くなり、その結果、計画完了までに要する時間が大きくなると共に、必要となる資源(メモリ容量等)も大きくなる、という課題があった。
これは、上記従来技術が横型探索手法を採用しており、目的地を持たない無人車も目的地を有する無人車と同じように扱うためである。
【0007】
以下、このことを一例を挙げて説明する。
走行路および無人車が図3に示す場合を考える。また、各無人車の現在地および目的地は図4の通りであるとする。図4に示すように、無人車#1は目的地(ノード1)を持っているが、無人車#2は目的を持っていない。
このような場合、無人車#1を現在地から目的地へ移動させるばかりでなく、無人車#1の目的地に停車している無人車#2を邪魔にならない場所へ移動(これを「退避」と称する)させることも併せて計画する必要がある。
図3の場合、妥当な計画経路として、
無人車#1:8→7→6→5→4→3→2→1
無人車#2:1→2→10
が考えられる。
【0008】
上記従来技術では、無人車#1と無人車#2とを同等に扱って、探索木を作成する。上述したように、探索木において、ある親節点からその子節点へ遷移することは、他の無人車はそのままにして、1台の無人車だけを隣接ノードへ移動させることに対応する。
従って、図3に示す走行路では、無人車#1を現在地から目的地へ移動させるために、無人車#1はノード間を7回移動し、無人車#2はノード間を2回移動しなくてはならない。故に、探索木を9階層(最初の親節点を含めると10階層)にわたって展開しなくては、経路計画が完了しない。
【0009】
ところが、上記従来技術は横型探索手法を採用しているので、上記10層の各層において、無人車#1,#2の可能な移動先(ノード)を全て探し出し、該ノードへ移動した状態を子節点として探索木に登録する。この結果、探索木中の節点数がかなり増えることとなる(探索木が大きくなるので図示することは省略するが、図3の例では、探索木の節点数が121個になる)。
以上説明したように、上記従来技術では、移動すべきノード数が多くなると、探索木中の節点が爆発的に多くなり、その結果、計画完了までに要する時間が大きくなると共に、必要となる資源(メモリ容量等)も大きくなり、実際の搬送システムにおいては、使用に耐えない場合が出てくる。
【0010】
この発明は、このような背景の下になされたもので、移動すべきノード数が多い場合であっても、短時間で経路計画を完了することができ、かつ、必要な資源(メモリ容量等)が少なくて済む無人搬送車制御装置および方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
請求項1記載の発明は、所定の走行路を移動する複数の無人車の運行を計画する無人搬送車制御装置において、各無人搬送車の現在地の情報を有する節点を作成し、該節点を所定の探索木の最上位節点である根節点とする根節点作成手段と、各無人搬送車の目的地の情報を有する目標節点を作成する目標節点作成手段と、前記根節点を着目節点とする着目節点初期化手段と、前記着目節点と前記目標節点とが一致するか否か判断する一致判断手段と、前記一致判断手段において前記着目節点と前記目標節点とが不一致の場合には、前記着目節点の下に子節点が作成可能か否か判断する子節点作成可能判断手段と、前記子節点作成可能判断手段において子節点が作成不可能である場合には、着目節点の親節点を新たな着目節点とし、一致判断手段に着目節点と前記目標節点とが一致するか否か判断させる着目節点遡及手段と、前記子節点作成可能判断手段において子節点が作成可能である場合には、作成可能な子節点を子節点候補として列挙する子節点候補列挙手段と、列挙された子節点候補の中から子節点候補を1つ選択する子節点候補選択手段と、前記子節点候補選択手段で選択された子節点に登録された無人搬送車のノード番号を調べ、無人搬送車同士が衝突しないか否かを判断し、衝突する場合には、一致判断手段に着目節点と前記目標節点とが一致するか否か判断させる衝突判断手段と、前記衝突判断手段において各無人搬送車が衝突しない場合には、選択された子節点候補と同じ節点が既に探索木にあるか否かを判断し、該節点が既に探索木にある場合には、一致判断手段に着目節点と前記目標節点とが一致するか否か判断させる既存在手段と、前記既存在手段において該節点が探索木にない場合には、選択された子節点候補を着目節点の子節点として登録する登録手段と、登録された子節点を新たな着目節点とし、一致判断手段に着目節点と前記目標節点とが一致するか否か判断させる着目節点更新手段と、前記一致判断手段において前記着目節点と前記目標節点とが一致した場合には、該着目節点から前記根節点までを結ぶ節点の列に基づいて、前記走行路における無人搬送車の運行計画を作成する運行計画作成手段とを具備することを特徴とする。
請求項2記載の発明は、請求項1に記載の無人搬送車制御装置において、前記走行路は、停止位置である複数のノードと、前記ノード間を接続する接続路からなり、前記子節点作成可能判断手段は、着目節点が有する各無人車の位置情報について、ある1台の無人車のみの位置をその隣接ノードに置き換えた位置情報を、全ての無人車について、かつ、置き換え可能な全ての隣接ノードについて作成し、作成された各位置情報について、各無人車の目的地までのコストを求め、該コストを積算し、積算したコストをその位置情報のコストとし、着目節点の位置情報について、各無人車の目的地までのコストを求め、該コストを積算し、積算したコストを着目節点のコストとし、作成された各位置情報の中から、そのコストが着目節点のコストより大きいものを除外し、残った位置情報を有する節点を子節点候補とすることを特徴とする。
請求項3記載の発明は、請求項2記載の無人搬送車制御装置において、前記子節点候補選択手段は、列挙された子節点候補の中から最もコストの小さい子節点候補を選択することを特徴とする。
請求項4記載の発明は、所定の走行路を移動する複数の無人車の運行を計画する無人搬送車制御装置を用いた無人搬送車制御方法において、根節点作成手段が各無人搬送車の現在地の情報を有する節点を作成し、該節点を所定の探索木の最上位節点である根節点とする根節点作成過程と、目標節点作成手段が各無人搬送車の目的地の情報を有する目標節点を作成する目標節点作成過程と、着目節点初期化手段が前記根節点を着目節点とする着目節点初期化過程と、一致判断手段が前記着目節点と前記目標節点とが一致するか否か判断する一致判断過程と、子節点作成可能判断手段が前記一致判断過程において前記着目節点と前記目標節点とが不一致の場合には、前記着目節点の下に子節点が作成可能か否か判断する子節点作成可能判断過程と、着目節点遡及手段が前記子節点作成可能判断過程において子節点が作成不可能である場合には、着目節点の親節点を新たな着目節点とし、一致判断過程に着目節点と前記目標節点とが一致するか否か判断させる着目節点遡及過程と、子 節点候補列挙手段が前記子節点作成可能判断過程において子節点が作成可能である場合には、作成可能な子節点を子節点候補として列挙する子節点候補列挙過程と、子節点候補選択手段が列挙された子節点候補の中から子節点候補を1つ選択する子節点候補選択過程と、衝突判断手段が前記子節点候補選択過程で選択された子節点に登録された無人搬送車のノード番号を調べ、無人搬送車同士が衝突しないか否かを判断し、衝突する場合には、一致判断過程に着目節点と前記目標節点とが一致するか否か判断させる衝突判断過程と、既存在手段が前記衝突判断過程において各無人搬送車が衝突しない場合には、選択された子節点候補と同じ節点が既に探索木にあるか否かを判断し、該節点が既に探索木にある場合には、一致判断過程に着目節点と前記目標節点とが一致するか否か判断させる既存在過程と、登録手段が前記既存在過程において該節点が探索木にない場合には、選択された子節点候補を着目節点の子節点として登録する登録過程と、着目節点更新手段が登録された子節点を新たな着目節点とし、一致判断過程に着目節点と前記目標節点とが一致するか否か判断させる着目節点更新過程と、運行計画作成手段が前記一致判断過程において前記着目節点と前記目標節点とが一致した場合には、該着目節点から前記根節点までを結ぶ節点の列に基づいて、前記走行路における無人搬送車の運行計画を作成する運行計画作成過程とを具備することを特徴とする
請求項5記載の発明は、請求項4に記載の無人搬送車制御方法において、前記走行路は、停止位置である複数のノードと、前記ノード間を接続する接続路からなり、前記子節点作成可能判断過程は、子節点作成可能判断手段が着目節点が有する各無人車の位置情報について、ある1台の無人車のみの位置をその隣接ノードに置き換えた位置情報を、全ての無人車について、かつ、置き換え可能な全ての隣接ノードについて作成する過程と、作成された各位置情報について、各無人車の目的地までのコストを求め、該コストを積算し、積算したコストをその位置情報のコストとする過程と、着目節点の位置情報について、各無人車の目的地までのコストを求め、該コストを積算し、積算したコストを着目点のコストとする過程と、作成された各位置情報の中から、そのコストが着目節点のコストより大きいものを除外し、残った位置情報を有する節点を子節点候補とする過程とを具備することを特徴とする。
請求項6記載の発明は、請求項5に記載の無人搬送車制御方法において、前記子節点候補選択過程は、子節点候補選択手段が列挙された子節点候補の中から最もコストの小さな子節点候補を選択することを特徴とする。
【0012】
【発明の実施の形態】
以下、図面を参照して、この発明の実施形態について説明する。
(1)構成および動作
図1は、この発明の一実施形態による無人搬送車制御装置の構成例を示すブロック図である。この図において、図9の各部に対応する部分には同一の符号を付ける。この図に示す無人搬送車制御装置においては、経路決定部213に代えて経路決定部313が新たに設けられている。
【0013】
この図において、運行制御部200は、CPU(中央処理装置)、ROM(リードオンリメモリ)、RAM(ランダムアクセスメモリ)等からなる処理装置である。
経路決定部313は、CPU等により構成され、各無人車の最適な搬送経路および動作順序を決定する。運行制御部200は、経路決定部313を起動し、該経路決定部313が求めた各無人車の搬送経路に基づいて無人車の運行制御を行う。
【0014】
搬送実行テーブルメモリ201は、本装置の制御対象となる無人搬送システムに与えられる仕事に関するデータをプールしておく記憶領域である。
計画結果格納メモリ203は、経路決定部313において計画された各無人車の確定経路、及び、走行路上において無人車が停止可能な各ノードに関する予約シーケンス等を記憶する領域である。運行制御部200は、計画結果格納メモリ203内のデータをチェック・参照し、各無人車への走行指示を出力する。
【0015】
計画指示データメモリ204は、各無人車の目的地やそこでの作業内容を記憶している。経路決定部313は、計画指示データメモリ204のデータに基づいて、経路計画および動作計画を立てる。
無人車データメモリ205は、各無人車の位置などの情報を記憶する。運行制御部200は、無人車インタフェース211から各無人車の状態を逐次受信し、その内容を元に無人車データメモリ205の内容を更新する。
経路決定部313による計画動作が終了し、そのデータが計画結果格納メモリ203へ格納されると、運行制御部200はその内容を調べて、計画が成功していれば、運行制御データメモリ206へ当該データをコピーする。
【0016】
走行路データメモリ212は、ノードや区間の情報、および、区間の閉鎖など現在の走行路の状況を記憶している。
運行制御部200は、搬送実行テーブルメモリ201および無人車データメモリ205を参照して、未割当の仕事の存在および仕事を持たない無人車の存在を確認した場合、その参照データを元に、計画指示データメモリ204に経路確定レベルや目的ノード等をセットし、経路決定部313を起動する。
【0017】
次に、上記構成による無人搬送車制御装置の動作を説明する。
なお、経路決定部313は、探索木(図5,図6参照)を作成しながら、各無人車について現在地から目的地までの経路を決定する。探索木上において、長円で示される節点は、各無人車のその時点における位置集合をラベルとして保持している。
【0018】
図2は、本実施形態による経路決定部313の動作の一例を示すフローチャートである。
運行制御部200が、経路決定部313に対して、経路計画を行うよう指示すると、経路決定部313の処理はステップS1へ進む。
【0019】
ステップS1では、まず始めに、無人車データメモリ205および計画指示データメモリ204を参照して、経路を決定すべき無人車およびその現在地/目的地を求める。
【0020】
次に、各無人車の現在地を並べた位置集合をラベルとする節点を作成し、該節点を根節点として探索木に登録する。上記従来技術(特願平9−122557)では、この節点を「親節点」と呼んでいたが、ここでは、該節点は探索木の根元の節点に該当するので「根節点」と呼ぶことにする。ここで、上記根節点のラベルは、一例として、
(無人車#1の現在地,無人車#2の現在地,…,無人車#nの現在地)
となる。但し、このラベルにおいて、各無人車の現在地は、必ずしも、無人車の番号の小さい順番に並べる必要はない。
【0021】
次に、各無人車の目的地を並べた位置集合をラベルとする目標節点を作成する。ここで、上記目標節点のラベルは、一例として、
(無人車#1の目的地,無人車#2の目的地,…,無人車#nの目的地)
となる。但し、このラベルにおいて、各無人車の目的地の並び順は、根節点のラベル(位置集合)における各無人車の現在地の並び順と同じ順番でなければならない(以後作成する節点も同様)。また、このラベルにおいて、仕事が与えられていない等により、目的地のない無人車については、そのことを示す符号(一例として、”*”とする)が、目的地の代わりにセットされる。
以上の処理の後、ステップS2へ進む。
【0022】
ステップS2では、ステップS1で作成した根節点を着目節点とし、ステップS3へ進む。ここで、着目節点とは、探索木において現在の処理対象となる節点を指す。
ステップS3では、現在の着目節点のラベル(位置集合)と目標節点のラベル(位置集合)とを比較し、全ての無人車が目的地に到達しているか否かを判断する。この判断結果が「NO」、即ち、目的地に到達していない無人車が存在する場合、ステップS4へ進む。
【0023】
ステップS4では、着目節点から新たな子節点が作成可能か否かを判断する。ここで、子節点とは、着目節点のラベル(位置集合)において1台の無人車だけを隣接ノードへ移動させることによって得られる位置集合をラベルとする節点(一般的には複数存在する)を指す。このとき、子節点が作成される元となった着目節点を、該子節点の「親節点」と呼ぶ。
即ち、ステップS4では、以下の手順(a)〜(d)に従って、1つ以上の子節点が作成できるか否かを判断する。但し、現在の着目節点の下に或る子節点が既に作成されている場合、該着目節点から同じ子節点を再度作成することはできない。
【0024】
[子節点候補の導出と評価方法]
(a)着目節点のラベル(位置集合)について、ある1台の無人車のみの位置をその隣接ノードに置き換えた位置集合を、全ての無人車について、かつ、置き換え可能な全ての隣接ノードについて作成する。
(b)作成された各位置集合について、以下の手順(b−1),(b−2)に従って、各無人車の評価値を求め、該評価値を積算し、該積算値をその位置集合の評価値とする。
(b−1)作成された位置集合における無人車の位置から目的地までの最短経路探索を行い、目的地までのコストをその無人車の評価値とする。
(b−2)その無人車が目的地を有しない場合は、目的地までのコストを0とする。
(c)現在の着目節点のラベル(位置集合)についても、(b)と同じ方法で、該位置集合の評価値を求める。
(d)各位置集合の評価値を比較し、小さい順番に並べ、子節点候補とする。但し、現在の着目節点の評価値より大きいものは除外する。
【0025】
そして、ステップS4の判断結果が「NO」の場合、即ち、子節点候補が1つも得られないならば、ステップS5へ進む。
ステップS5では、現在の着目節点の親節点を着目節点とし(この処理を「バックトラック」と呼ぶ)、ステップS4へ戻る。
【0026】
一方、ステップS4の判断結果が「YES」の場合、即ち、1つ以上の子節点候補が得られたならば、ステップS6へ進む。
ステップS6では、子節点候補の中から評価値の最も小さい位置集合を選択する。そして、該位置集合における各無人車の位置を調べ、無人車同士が衝突していないか否かを判断する。
そして、この判断結果が「NO」、即ち、無人車同士が衝突しているならば、不可能な状態と判断し、ステップS4へ戻る。
一方、この判断結果が「YES」、即ち、無人車同士が衝突していないならば、可能な状態と判断し、ステップS7へ進む。
【0027】
ステップS7では、ステップS6で選択された位置集合と同じ位置集合(ラベル)を有する節点が既に探索木に登録されているか否かを調べる。
そして、この結果が「YES」、即ち、該節点が既に探索木に登録されているならば、展開済みと判断し、ステップS4へ戻る。
一方、この結果が「NO」、即ち、該節点が探索木に登録されていないならば、展開済みでないと判断し、ステップS8へ進む。
【0028】
ステップS8では、ステップS6で選択された位置集合をラベルとする節点を作成し、該節点を、現在の着目節点の子節点として、探索木に登録し、ステップS9へ進む。
ステップS9では、ステップS8で登録した子節点を新たな着目節点とし、ステップS3へ戻る。
【0029】
一方、ステップS3の判断結果が「YES」、即ち、全ての無人車が目的地に到達している場合、ステップS10へ進む。
ステップS10では、まず、目標節点と一致した着目節点を起点として、該起点から上位方向へ、親節点が存在する限り、探索木を順次遡っていき、その過程で通過する各節点のラベル(位置集合)を、通過順とは逆の順番で並べる。
この位置集合の並び(位置集合列)は、一例として、以下のようになる。
位置集合1 :(ノード1#1 ,ノード1#2 ,…,ノード1#n )
:
位置集合k :(ノードk#1 ,ノードk#2 ,…,ノードk#n )
位置集合k+1:(ノードk+1#1 ,ノードk+1#2 ,…,ノードk+1#n )
:
位置集合m :(ノードm#1 ,ノードm#2 ,…,ノードm#n )
上記位置集合列において、位置集合1は、計画指示における各無人車の現在地を並べた位置集合(根節点のラベル)であり、最後の位置集合mは、計画指示における各無人車の目的地を並べた位置集合(目標節点のラベル)である。
【0030】
次に、上記位置集合列に基づいて、以下の手順▲1▼〜▲5▼に従って、無人車経路表およびノード予約表を求める。
▲1▼ 無人車経路表における各無人車の経路欄、および、ノード予約表における各ノードの予約シーケンス欄を空欄にする(初期化)。また、現在の処理対象となる位置集合(以下、「現位置集合」と称する)として、位置集合1をセットする。
▲2▼ 無人車経路表について、現位置集合における各無人車のノードを、対応する無人車の経路欄にセットする。また、ノード予約表について、現位置集合における各ノードの予約シーケンス欄に、対応する無人車の番号をセットする。
▲3▼ 現位置集合が位置集合mである場合(すなわち、最終ラベルである場合)には、処理を終了する。それ以外の場合には、▲4▼へ進む。
▲4▼ 現位置集合と、該現位置集合の次の位置集合(以下、「次位置集合」と称する)とを比較し、該次位置集合において、現位置集合と異なるノードおよびその無人車を検出する。無人車経路表について、該検出されたノードを、対応する無人車の経路欄に追加する。このときの追加表記は、「→(ノード番号)」となる。また、ノード予約表について、該検出されたノードの予約シーケンス欄に、対応する無人車の番号を追加する。
▲5▼ 現位置集合を上記次位置集合に更新して、▲3▼へ戻る。
以上で、上記構成による無人搬送車制御装置の動作説明を終了する。
【0031】
(2)具体例
次に、具体的な例を挙げて、本装置の動作を以下に説明する。
本具体例において、走行路は、図3に示す通りとする。なお、上記評価値(目的地までのコスト)を算出するための一例として、図3に示す走行路では、各隣接ノード間の距離は全て等しい(距離=1)とする。
また、本具体例において、無人車の台数は2台(無人車#1,#2)であり、各無人車の現在地および目的地は図4に示す通りとする。
【0032】
次に、図2のフローチャートに基づいて、経路決定部313の動作を説明する。
(ステップS1)
無人車#1,#2の現在地を並べた位置集合(8,1)をラベルとする節点(節点1)を作成し、該節点1を根節点として探索木に登録し(図5参照)、ステップS2へ進む。
【0033】
(ステップS2)
根節点(節点1)を着目節点とし、ステップS3へ進む。
(ステップS3)
着目節点(節点1)において、無人車#1の位置は目的地と異なるので、該着目節点を「目標節点でない」と判断し、ステップS4へ進む。
【0034】
(ステップS4)
着目節点(節点1)において、無人車#1の位置(ノード8)の隣接ノードはノード7,16であり、無人車#2の位置(ノード1)の隣接ノードはノード2なので、位置集合(7,1),(16,1),(8,2)を作成する。
次に、上記各位置集合について、評価値を求める。このとき、無人車#2は目的地を持たないので、無人車#2の評価値は常に0となる。故に、位置集合(7,1)の評価値は6となり、位置集合(16,1)の評価値は8となり、位置集合(8,2)の評価値は7となる。一方、着目節点(節点1)の評価値は7である。
ここで、位置集合(16,1)は、その評価値が着目節点(節点1)の評価値よりも大きいので、除外される。残った位置集合を子節点候補とし、評価値の小さい順番に、▲1▼(7,1),▲2▼(8,2)と並べる。
1つ以上の子節点候補が存在するので、「子節点が作成可能」と判断し、ステップS6へ進む。
【0035】
(ステップS6)
子節点候補の中から、評価値の最も小さい位置集合(7,1)を選択する。選択された位置集合(7,1)において無人車#1と無人車#2とは衝突しないので、該位置集合(7,1)を「可能な状態」と判断し、ステップS7へ進む。
(ステップS7)
位置集合(7,1)と同じ位置集合を持つ節点は探索木に存在しないので、該位置集合(7,1)を「展開済みでない」と判断し、ステップS8へ進む。
【0036】
(ステップS8)
位置集合(7,1)をラベルとする節点(節点2)を作成し、該節点2を、着目節点(節点1)の子節点として、探索木に登録し(図5参照)、ステップS9へ進む。なお、節点1で作成可能な他の子節点候補▲2▼(8,2)は、ここでは探索木に登録されないが、理解を容易にするために、図5では、該子節点候補▲2▼(8,2)を点線で図示しておく。
(ステップS9)
探索木に登録した子節点(節点2)を新たな着目節点とし、ステップS3へ進む。
【0037】
以下、ステップS3〜S9の処理を繰り返し、節点3〜7を探索木に登録する(図5参照)。
次に、節点7を新たな着目節点として、ステップS3へ進む。
(ステップS3)
着目節点(節点7)において、無人車#1の位置は目的地と異なるので、該着目節点を「目標節点でない」と判断し、ステップS4へ進む。
【0038】
(ステップS4)
着目節点(節点7)において、無人車#1の位置(ノード2)の隣接ノードはノード1,3,10であり、無人車#2の位置(ノード1)の隣接ノードはノード2なので、位置集合(1,1),(3,1),(10,1),(2,2)を作成する。
次に、上記各位置集合について、評価値を求めると、位置集合(1,1)の評価値は0となり、位置集合(3,1)の評価値は2となり、位置集合(10,1)の評価値は2となり、位置集合(2,2)の評価値は1となる。一方、着目節点(節点7)の評価値は1である。
ここで、位置集合(3,1),(10,1)は、その評価値が着目節点(節点7)の評価値よりも大きいので、除外される。残った位置集合を子節点候補とし、評価値の小さい順番に、▲1▼(1,1),▲2▼(2,2)と並べる。
1つ以上の子節点候補が存在するので、「子節点が作成可能」と判断し、ステップS6へ進む。
【0039】
(ステップS6)
子節点候補の中から、評価値の最も小さい位置集合(1,1)を選択する。選択された位置集合(1,1)において無人車#1と無人車#2とは衝突するので、該位置集合(1,1)を「不可能な状態」と判断し、ステップS4へ進む。
【0040】
(ステップS4)
上述したように、着目節点(節点7)に対する位置集合は(1,1),(3,1),(10,1),(2,2)である。このうち、位置集合(3,1),(10,1)は、その評価値が着目節点(節点7)の評価値よりも大きいので、除外される。また、位置集合(1,1)は、ステップS6において、「不可能な状態」と判断されたので、除外される。故に、残った位置集合(2,2)を子節点候補とする。
1つ以上の子節点候補が存在するので、「子節点が作成可能」と判断し、ステップS6へ進む。
【0041】
(ステップS6)
唯一の位置集合(2,2)において無人車#1と無人車#2とは衝突するので、該位置集合(2,2)を「不可能な状態」と判断し、ステップS4へ進む。
【0042】
(ステップS4)
上述したように、着目節点(節点7)に対する位置集合は(1,1),(3,1),(10,1),(2,2)である。このうち、位置集合(3,1),(10,1)は、その評価値が着目節点(節点7)の評価値よりも大きいので、除外される。また、位置集合(1,1),(2,2)は、ステップS6において、「不可能な状態」と判断されたので、除外される。これにより、子節点候補は存在しない。故に、「子節点が作成不可能」と判断し、ステップS5へ進む。
(ステップS5)
着目節点を親節点(節点6:図5参照)に戻し、ステップS4へ進む。
【0043】
(ステップS4)
着目節点(節点6)において、無人車#1の位置(ノード3)の隣接ノードはノード2,4,11であり、無人車#2の位置(ノード1)の隣接ノードはノード2なので、位置集合(2,1),(4,1),(11,1),(3,2)を作成する。
次に、上記各位置集合について、評価値を求めると、位置集合(2,1)の評価値は1となり、位置集合(4,1)の評価値は3となり、位置集合(11,1)の評価値は3となり、位置集合(3,2)の評価値は2となる。一方、着目節点(節点6)の評価値は2である。
ここで、位置集合(4,1),(11,1)は、その評価値は着目節点(節点6)の評価値よりも大きいので、除外される。また、位置集合(2,1)は、節点7として既に登録されているので、除外される。故に、残った位置集合(3,2)を子節点候補とする。
1つ以上の子節点候補が存在するので、「子節点が作成可能」と判断し、ステップS6へ進む。
【0044】
(ステップS6)
唯一の位置集合(3,2)において無人車#1と無人車#2とは衝突しないので、該位置集合(3,2)を「可能な状態」と判断し、ステップS7へ進む。
(ステップS7)
位置集合(3,2)と同じ位置集合を持つ節点は探索木に存在しないので、該位置集合(3,2)を「展開済みでない」と判断し、ステップS8へ進む。
【0045】
(ステップS8)
位置集合(3,2)をラベルとする節点(節点8)を作成し、該節点8を、着目節点(節点6)の子節点として、探索木に登録し(図6参照)、ステップS9へ進む。
(ステップS9)
子節点(節点8)を新たな着目節点とし、ステップS3へ進む。
【0046】
以下、ステップS3〜S9の処理を繰り返し、節点9〜11を探索木に登録する(図6参照)。
次に、節点11を新たな着目節点として、ステップS3へ進む。
(ステップS3)
着目節点(節点11)と目標節点とが等しいので、該着目節点を「目標節点である」と判断し、ステップS10へ進む。
【0047】
(ステップS10)
図6に示す探索木を、目標節点(節点11)から、親節点が存在する限り、その親節点を順次辿っていき、各親節点のラベル(位置集合)を逆に並べると、以下の通りになる。
位置集合1(8,1)→位置集合2(7,1)→位置集合3(6,1)→
位置集合4(5,1)→位置集合5(4,1)→位置集合6(3,1)→
位置集合8(3,2)→位置集合9(3,10)→位置集合10(2,10)→
位置集合11(1,10)
上記の位置集合列に基づいて、各無人車の経路(無人車経路表)および各ノードの予約シーケンス(ノード予約表)を求めると、図7および図8の通りとなる。
以上で、本具体例の説明を終了する。
【0048】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。
【0049】
【発明の効果】
以上説明したように、この発明によれば、移動すべきノード数が多い場合であっても、少ない節点数で望む搬送経路が得られるので、短時間で経路計画を完了することができ、かつ、必要な資源(メモリ容量等)が少なくて済む。
【図面の簡単な説明】
【図1】 この発明の一実施形態による無人搬送車制御装置の構成例を示すブロック図である。
【図2】 同実施形態による経路決定部313の動作の一例を示すフローチャートである。
【図3】 同実施形態の具体例における走行路を示す説明図である。
【図4】 同具体例における無人車の現在地と目的地を示す説明図である。
【図5】 同具体例における探索木の一例を示す説明図である。
【図6】 同具体例における探索木の一例を示す説明図である。
【図7】 同具体例において得られた無人車の経路を示す説明図である。
【図8】 同具体例において得られたノードの予約シーケンスを示す説明図である。
【図9】 従来の無人搬送車制御装置の構成例を示すブロック図である。
【符号の説明】
200……運行制御部、 201……搬送実行テーブルメモリ、
203……計画結果格納メモリ、 204……計画指示データメモリ、
205……無人車データメモリ、 206……運行制御データメモリ、
211……無人車インターフェース、 212……走行路データメモリ、
313……経路決定部
Claims (6)
- 所定の走行路を移動する複数の無人車の運行を計画する無人搬送車制御装置において、
各無人搬送車の現在地の情報を有する節点を作成し、該節点を所定の探索木の最上位節点である根節点とする根節点作成手段と、
各無人搬送車の目的地の情報を有する目標節点を作成する目標節点作成手段と、
前記根節点を着目節点とする着目節点初期化手段と、
前記着目節点と前記目標節点とが一致するか否か判断する一致判断手段と、
前記一致判断手段において前記着目節点と前記目標節点とが不一致の場合には、前記着目節点の下に子節点が作成可能か否か判断する子節点作成可能判断手段と、
前記子節点作成可能判断手段において子節点が作成不可能である場合には、着目節点の親節点を新たな着目節点とし、一致判断手段に着目節点と前記目標節点とが一致するか否か判断させる着目節点遡及手段と、
前記子節点作成可能判断手段において子節点が作成可能である場合には、作成可能な子節点を子節点候補として列挙する子節点候補列挙手段と、
列挙された子節点候補の中から子節点候補を1つ選択する子節点候補選択手段と、
前記子節点候補選択手段で選択された子節点に登録された無人搬送車のノード番号を調べ、無人搬送車同士が衝突しないか否かを判断し、衝突する場合には、一致判断手段に着目節点と前記目標節点とが一致するか否か判断させる衝突判断手段と、
前記衝突判断手段において各無人搬送車が衝突しない場合には、選択された子節点候補と同じ節点が既に探索木にあるか否かを判断し、該節点が既に探索木にある場合には、一致判断手段に着目節点と前記目標節点とが一致するか否か判断させる既存在手段と、
前記既存在手段において該節点が探索木にない場合には、選択された子節点候補を着目節点の子節点として登録する登録手段と、
登録された子節点を新たな着目節点とし、一致判断手段に着目節点と前記目標節点とが一致するか否か判断させる着目節点更新手段と、
前記一致判断手段において前記着目節点と前記目標節点とが一致した場合には、該着目節点から前記根節点までを結ぶ節点の列に基づいて、前記走行路における無人搬送車の運行計画を作成する運行計画作成手段と
を具備することを特徴とする無人搬送車制御装置。 - 請求項1記載の無人搬送車制御装置において、
前記走行路は、停止位置である複数のノードと、前記ノード間を接続する接続路からなり、
前記子節点作成可能判断手段は、
着目節点が有する各無人車の位置情報について、ある1台の無人車のみの位置をその隣接ノードに置き換えた位置情報を、全ての無人車について、かつ、置き換え可能な全ての隣接ノードについて作成し、
作成された各位置情報について、各無人車の目的地までのコストを求め、該コストを積算し、積算したコストをその位置情報のコストとし、
着目節点の位置情報について、各無人車の目的地までのコストを求め、該コストを積算し、積算したコストを着目節点のコストとし、
作成された各位置情報の中から、そのコストが着目節点のコストより大きいものを除外し、残った位置情報を有する節点を子節点候補とする
ことを特徴とする無人搬送車制御装置。 - 請求項2記載の無人搬送車制御装置において、
前記子節点候補選択手段は、列挙された子節点候補の中から最もコストの小さい子節点候補を選択する
ことを特徴とする無人搬送車制御装置。 - 所定の走行路を移動する複数の無人車の運行を計画する無人搬送車制御装置を用いた無人搬送車制御方法において、
根節点作成手段が各無人搬送車の現在地の情報を有する節点を作成し、該節点を所定の探索木の最上位節点である根節点とする根節点作成過程と、
目標節点作成手段が各無人搬送車の目的地の情報を有する目標節点を作成する目標節点作成過程と、
着目節点初期化手段が前記根節点を着目節点とする着目節点初期化過程と、
一致判断手段が前記着目節点と前記目標節点とが一致するか否か判断する一致判断過程と、
子節点作成可能判断手段が前記一致判断過程において前記着目節点と前記目標節点とが不一致の場合には、前記着目節点の下に子節点が作成可能か否か判断する子節点作成可能判断過程と、
着目節点遡及手段が前記子節点作成可能判断過程において子節点が作成不可能である場合には、着目節点の親節点を新たな着目節点とし、一致判断過程に着目節点と前記目標節点とが一致するか否か判断させる着目節点遡及過程と、
子節点候補列挙手段が前記子節点作成可能判断過程において子節点が作成可能である場合には、作成可能な子節点を子節点候補として列挙する子節点候補列挙過程と、
子節点候補選択手段が列挙された子節点候補の中から子節点候補を1つ選択する子節点候補選択過程と、
衝突判断手段が前記子節点候補選択過程で選択された子節点に登録された無人搬送車のノード番号を調べ、無人搬送車同士が衝突しないか否かを判断し、衝突する場合には、一致判断過程に着目節点と前記目標節点とが一致するか否か判断させる衝突判断過程と、
既存在手段が前記衝突判断過程において各無人搬送車が衝突しない場合には、選択された子節点候補と同じ節点が既に探索木にあるか否かを判断し、該節点が既に探索木にある場合には、一致判断過程に着目節点と前記目標節点とが一致するか否か判断させる既存在過程と、
登録手段が前記既存在過程において該節点が探索木にない場合には、選択された子節点候補を着目節点の子節点として登録する登録過程と、
着目節点更新手段が登録された子節点を新たな着目節点とし、一致判断過程に着目節点と前記目標節点とが一致するか否か判断させる着目節点更新過程と、
運行計画作成手段が前記一致判断過程において前記着目節点と前記目標節点とが一致した場合には、該着目節点から前記根節点までを結ぶ節点の列に基づいて、前記走行路における無人搬送車の運行計画を作成する運行計画作成過程と
を具備することを特徴とする無人搬送車制御方法。 - 請求項4に記載の無人搬送車制御方法において、
前記走行路は、停止位置である複数のノードと、前記ノード間を接続する接続路からなり、前記子節点作成可能判断過程は、子節点作成可能判断手段が着目節点が有する各無人車の位置情報について、ある1台の無人車のみの位置をその隣接ノードに置き換えた位置情報を、全ての無人車について、かつ、置き換え可能な全ての隣接ノードについて作成する過程と、作成された各位置情報について、各無人車の目的地までのコストを求め、該コストを積算し、積算したコストをその位置情報のコストとする過程と、
着目節点の位置情報について、各無人車の目的地までのコストを求め、該コストを積算し、積算したコストを着目点のコストとする過程と、
作成された各位置情報の中から、そのコストが着目節点のコストより大きいものを除外し、残った位置情報を有する節点を子節点候補とする過程とを具備することを特徴とする無人搬送車制御方法。 - 請求項5に記載の無人搬送車制御方法において、
前記子節点候補選択過程は、子節点候補選択手段が列挙された子節点候補の中から最もコストの小さな子節点候補を選択する
ことを特徴とする無人搬送車制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34029997A JP3757588B2 (ja) | 1997-12-10 | 1997-12-10 | 無人搬送車制御装置および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34029997A JP3757588B2 (ja) | 1997-12-10 | 1997-12-10 | 無人搬送車制御装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11175153A JPH11175153A (ja) | 1999-07-02 |
JP3757588B2 true JP3757588B2 (ja) | 2006-03-22 |
Family
ID=18335622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34029997A Expired - Fee Related JP3757588B2 (ja) | 1997-12-10 | 1997-12-10 | 無人搬送車制御装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3757588B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102303109B1 (ko) * | 2019-07-05 | 2021-09-15 | 세메스 주식회사 | 반송체 제어 장치 및 이를 구비하는 반송체 제어 시스템 |
CN115657694B (zh) * | 2022-12-29 | 2023-03-28 | 中国人民解放军陆军装甲兵学院 | 一种基于空地信息交互的无人车路径规划方法 |
-
1997
- 1997-12-10 JP JP34029997A patent/JP3757588B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11175153A (ja) | 1999-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022082419A (ja) | 動作環境におけるルートプランを最適化するためのシステム及び方法 | |
JP3007507B2 (ja) | 経路決定方法、装置および地図管理装置および移動体管理システム | |
JP5119762B2 (ja) | 経路探索システム及び方法、搬送システム並びにコンピュータプログラム | |
JPH0567034B2 (ja) | ||
CA2418756A1 (en) | Dual dijkstra search for planning multiple paths | |
JPH0643899B2 (ja) | 車両用経路誘導装置 | |
CN113532443B (zh) | 路径规划方法、装置、电子设备及介质 | |
CN114281080B (zh) | 一种amr调度***中解死锁的方法 | |
JP2010176607A (ja) | 移動体システム及びそのデッドロック回復手法 | |
CN113997954B (zh) | 一种车辆行驶意图预测方法、装置、设备及可读存储介质 | |
CN111487983A (zh) | 一种封闭式自动化物流园区的多台agv调度方法 | |
US11255687B2 (en) | Method for trajectory planning of a movable object | |
JP3757588B2 (ja) | 無人搬送車制御装置および方法 | |
JP3269418B2 (ja) | 最適経路探索方法 | |
JP3715420B2 (ja) | 無人搬送車の走行プログラム作成装置 | |
JP2953282B2 (ja) | 運行管理制御装置およびその方法 | |
JP3728864B2 (ja) | 無人搬送車制御装置および方法 | |
JP3800775B2 (ja) | 無人搬送車制御装置および無人搬送車制御方法 | |
JP3755268B2 (ja) | 無人搬送車制御装置および無人搬送車制御方法 | |
CN116907490A (zh) | 一种基于冲突搜索的多机器人路径规划方法 | |
US20230009223A1 (en) | Autonomous driving apparatus for generating a driving path for an intersection based on a driving record, and an autonomous driving method thereof | |
Müller et al. | Comparison of deadlock handling strategies for different warehouse layouts with an AGVS | |
JP2827895B2 (ja) | 自走ロボットの運行システム | |
Xidias et al. | SERobWaS: a support environment for a robot-based warehousing system | |
JPH04340607A (ja) | 最適経路決定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040722 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050722 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051114 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20051117 |
|
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: 20051206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051219 |
|
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: 20090113 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: 20090113 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: 20090113 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |