JP2010176607A - 移動体システム及びそのデッドロック回復手法 - Google Patents
移動体システム及びそのデッドロック回復手法 Download PDFInfo
- Publication number
- JP2010176607A JP2010176607A JP2009021249A JP2009021249A JP2010176607A JP 2010176607 A JP2010176607 A JP 2010176607A JP 2009021249 A JP2009021249 A JP 2009021249A JP 2009021249 A JP2009021249 A JP 2009021249A JP 2010176607 A JP2010176607 A JP 2010176607A
- Authority
- JP
- Japan
- Prior art keywords
- deadlock
- path
- section
- shortest
- recovery
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000011084 recovery Methods 0.000 claims abstract description 130
- 238000001514 detection method Methods 0.000 claims description 16
- 238000000926 separation method Methods 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000002955 isolation Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- -1 parts Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】 デッドロックからの総回復時間を最小とできるように改良した移動体システム及びそのデッドロック回復手法を提供することを目的とする。
【解決手段】 移動体を離散時間で管理する移動体システムにおいて、移動体が相互に前方の区間を塞ぎ合うことにより閉路が存在するときにデッドロックが発生したと判定し、デッドロックが発生したと判定された場合には、例外処理として、閉路を構成する移動体のいずれかを本来の走行方向とは逆向きに走行経路上を走行させる回復動作を行うに際し、閉路からの退避路候補について4つの関係を与え、回復動作の干渉を考慮する必要がある同一のデッドロック群に属するデッドロックについては、右方最短退避路、右方次最短退避路、左方最短退避路及び左方次最短退避路から選択された退避路の組み合わせに従って前記回復動作を実行するので、デッドロックからの総回復時間を最小化することができる。
【選択図】図36
【解決手段】 移動体を離散時間で管理する移動体システムにおいて、移動体が相互に前方の区間を塞ぎ合うことにより閉路が存在するときにデッドロックが発生したと判定し、デッドロックが発生したと判定された場合には、例外処理として、閉路を構成する移動体のいずれかを本来の走行方向とは逆向きに走行経路上を走行させる回復動作を行うに際し、閉路からの退避路候補について4つの関係を与え、回復動作の干渉を考慮する必要がある同一のデッドロック群に属するデッドロックについては、右方最短退避路、右方次最短退避路、左方最短退避路及び左方次最短退避路から選択された退避路の組み合わせに従って前記回復動作を実行するので、デッドロックからの総回復時間を最小化することができる。
【選択図】図36
Description
本発明は、移動体システム及びそのデッドロック回復手法に関する。詳しくは、デッドロックからの総回復時間を最小とできるように改良したものである。
工場や倉庫、病院等で材料、部品、薬品などの運搬等に用いられる搬送ロボット、搬送台車等の自動走行移動体(以下、移動体)による無人搬送システムにおいて、特許文献1に示すような、複数の移動体がそれぞれの進行方向を閉塞されてデッドロックとなり、無人搬送システムが停止するのを防ぐためのシステム制御技術が開発されている。
(i)デッドロックが発生する毎に経路の再探索をするため、デッドロックからの回復動作のために退避先が競合して新たなデッドロックが発生する場合がある。
(ii)複数のデッドロックが同時発生した場合を想定していないため、その状態になった時、デッドロックから回復できない場合がある。
(iii)またデッドロックに関係する移動体が多くなれば、デッドロックから復帰するための時間が膨大にかかる場合がある。
(ii)複数のデッドロックが同時発生した場合を想定していないため、その状態になった時、デッドロックから回復できない場合がある。
(iii)またデッドロックに関係する移動体が多くなれば、デッドロックから復帰するための時間が膨大にかかる場合がある。
上記課題を解決する本発明の請求項1に係る移動体システムは、予め方向付けされた梯子型の走行経路と、前記走行経路上を移動する移動体と、前記移動体の目的地までの経路を与える中央処理装置とからなり、前記走行経路は、前記移動体が一台のみ進入可能な複数区間に分割され、前記移動体は、前方が移動体の存在しない区間であるときのみ移動可能であり、前記中央処理装置は、前記移動体を離散時間で管理することにより前記移動体を1単位時間当たり1区間移動させる移動体システムにおいて、前記中央処理装置は、前記移動体が相互に前方の区間を塞ぎ合うことにより閉路が存在するときにデッドロックが発生したと判定するデッドロック検知部と、前記デッドロック検知部によりデッドロックが発生したと判定された場合には、例外処理として、前記閉路を構成する前記移動体のいずれかを本来の走行方向とは逆向きに前記走行経路上を走行させる回復動作を行うデッドロック回復部とを備えることを特徴とする。
上記課題を解決する本発明の請求項2に係る移動体システムは、請求項1において、前記デッドロック回復部は、前記閉路の中の各区間を始点として、前記移動体の存在しない任意の区間を終点とする退避路候補を探索することを特徴とする。
上記課題を解決する本発明の請求項3に係る移動体システムは、請求項2において、前記デッドロック回復部は、2つの退避路候補の間に対して、“同時選択不可”、“並行動作可能”、“先行制約”又は“任意順序実行可、かつ、並行動作不可”の四つの関係を付与することを特徴とする。
上記課題を解決する本発明の請求項4に係る移動体システムは、請求項3において、前記デッドロック回復部は、前記梯子型の走行経路上において隣接する複数のデッドロックについては、一方向から順に番号を付与するものとし、番号が増える方向を左方と表記し、逆に、番号が少なくなる方向を右方と表記したときに、右方のデッドロックから左方にでる左方最短退避路と、左方のデッドロックから右方にでる右方最短退避路について、2つの退避路候補が同時選択不可であるならば、総回復時間最小化のために退避路候補の組み合わせを求める必要があり、両者のデッドロックは同一のデッドロック群に属すると判定することを特徴とする。
上記課題を解決する本発明の請求項5に係る移動体システムは、請求項4において、前記デッドロック回復部は、同一のデッドロック群に属する複数のデッドロックからの退避路組み合わせとして、各デッドロック間に前記移動体が存在しない区間が存在するとの条件の下で、左方のデッドロックから右方に出る右方最短退避路及び右方次最短退避路と、右方のデッドロックから左方へ出る左方最短退避路及び左方次最短退避路とからなる4通りの組み合わせから、総回復時間を最小とする退避路の組み合わせを選択することを特徴とする。
上記課題を解決する本発明の請求項6に係る移動体システムは、請求項5において、前記デッドロック回復部は、前記右方最短退避路、前記右方次最短退避路、前記左方最短退避路及び前記左方次最短退避路から選択された退避路の組み合わせに従って前記回復動作を実行することを特徴とする。
上記課題を解決する本発明の請求項7に係る移動体システムは、請求項1において、前記移動体の各々位置情報を得るために、前記移動体の動作を全て停止させることを特徴とする。
上記課題を解決する本発明の請求項8に係る移動体システムは、請求項7において、前記移動体の全ての位置情報を集計した後、前記各移動体の現在位置から次の移動先を頂点とする辺を生成することにより区間割り当てグラフを構成することを特徴とする。
上記課題を解決する本発明の請求項9に係る移動体システムは、請求項8において、区間割り当てグラフ中を探索して閉路が存在するときにはデッドロックが存在すると判定することを特徴とする。
上記課題を解決する本発明の請求項10に係る移動体システムのデッドロック回復手法は、予め方向付けされた梯子型の走行経路と、前記走行経路上を移動する移動体と、前記移動体の目的地までの経路を与える中央処理装置とからなり、前記走行経路は、前記移動体が一台のみ進入可能な複数区間に分割され、前記移動体は、前方が移動体の存在しない区間であるときのみ移動可能であり、前記中央処理装置は、前記移動体を離散時間で管理することにより前記移動体を1単位時間当たり1区間移動させる移動体システムにおいて、前記中央処理装置は、前記移動体が相互に前方の区間を塞ぎ合うことにより閉路が存在するときにデッドロックが発生したとデッドロック検知部により判定し、前記デッドロック検知部によりデッドロックが発生したと判定された場合には、例外処理として、前記閉路を構成する前記移動体のいずれかを本来の走行方向とは逆向きに前記走行経路上を走行させる回復動作をデッドロック回復部により行うことを特徴とする。
(I)デッドロックからの回復動作中には新たなデッドロックが発生しない。
(II)複数のデッドロックが同時発生した場合でもデッドロックから回復できる。
(III)デッドロックからの回復時間を最小化するよう最適化されている。
(II)複数のデッドロックが同時発生した場合でもデッドロックから回復できる。
(III)デッドロックからの回復時間を最小化するよう最適化されている。
以下、本発明の移動体システム及びデッドロック回復手法の実施の実施の形態について、図面を参照して詳細に説明すると共に移動体システムの前提となる走行経路、移動体動作規則及びデッドロックについても順を追って説明する。
ここで、移動体システムとは、移動体を用いた構内物流システムをいう。例えば、半導体工場等で部品等の搬送や、病院内での薬品運搬等に用いられる。移動体システムでは、一般に、移動体の誘導のためにガイドパスを引く。ガイドパスが移動体の走行経路と同義である。
最初に、前提条件として、実施例において用いる走行経路及び移動体の動作規則の説明をする。
本実施例においては、“各デッドロック間に少なくとも1区間以上、空き区間が存在する”という条件を設定する。
上記の条件を置いた場合、移動体群のデッドロック回復動作について、最初の移動体の回復動作が開始してから、最後の移動体の回復動作が完了するまでの時間を最小化できる。
本実施例においては、“各デッドロック間に少なくとも1区間以上、空き区間が存在する”という条件を設定する。
上記の条件を置いた場合、移動体群のデッドロック回復動作について、最初の移動体の回復動作が開始してから、最後の移動体の回復動作が完了するまでの時間を最小化できる。
以下に説明する実施例中では、デッドロック検知方法、退避路探索方法及び退避路間関係付与方法、デッドロック群分離方法、退避路組み合わせ方法について詳細に述べる。
“各デッドロック間に空き区間が存在するという”条件を置いた場合、後述するはしご型(ラダー型)の走行経路では、後述のデッドロック群分離方法、退避路組み合わせ方法により、全てのデッドロックの回復時間を最小化できる。
(1)走行経路説明
移動体の走行経路として、図1に示すように、左右方向に延びる梯子型の走行経路を想定する。
走行経路としては、必ずしも図1と同一の形状を取る必要はなく、後述する走行経路のグラフ表現と等価な移動可能性を持っている走行経路であればよい。
運行制御を容易にするために、走行経路は、予め方向付けされている。
走行経路は、予め移動体の制動距離以上の区間に分割されている。
移動体の走行経路として、図1に示すように、左右方向に延びる梯子型の走行経路を想定する。
走行経路としては、必ずしも図1と同一の形状を取る必要はなく、後述する走行経路のグラフ表現と等価な移動可能性を持っている走行経路であればよい。
運行制御を容易にするために、走行経路は、予め方向付けされている。
走行経路は、予め移動体の制動距離以上の区間に分割されている。
図2のように、上下の有向辺をk区間ずつ(kは1以上の整数)、はしごを構成する双方向辺上を1区間として分割する。有向辺とは、矢印で示すように、一方向にのみ方向付けされている走行経路であり、双方向辺とは、矢印で示すように、双方向に方向付けされている走行経路である。
全ての区間には固有の区間番号が割り当てられている。
全ての区間には固有の区間番号が割り当てられている。
中央処理装置(図示省略)により区間の番号、座標が管理されている。
衝突防止制御のため、どの区間も同時に高々一台の移動体が進入可能とする。
ホームステーションと呼ばれる特別な区間が存在する。
衝突防止制御のため、どの区間も同時に高々一台の移動体が進入可能とする。
ホームステーションと呼ばれる特別な区間が存在する。
図3のように、区間番号iの指す区間を頂点i、ある区間iから他の区間jへ移動可能である場合に辺ei,jを引くことで走行経路の移動可能性を表現するグラフを構成する。
ここで、iとは任意の区間番号を指し、例えば、図3において区間番号1の指す区間は頂点1を表す。
以下では、移動体の移動については、上記グラフを用いて説明する。
ここで、iとは任意の区間番号を指し、例えば、図3において区間番号1の指す区間は頂点1を表す。
以下では、移動体の移動については、上記グラフを用いて説明する。
(2)移動体動作規則説明
移動体の動作規則について以下に述べる。
移動体はそれぞれ固有の移動体番号を持つ。
移動体が搬送タスクを割当てられているとき、移動体の目的地までの経路は中央処理装置により与えられ、その経路に従って搬送を行う。
中央処理装置から命令がある場合のみ、経路を変更可能である。
搬送タスクを持たない全ての移動体はホームステーションを目的地とする。
移動体の動作規則について以下に述べる。
移動体はそれぞれ固有の移動体番号を持つ。
移動体が搬送タスクを割当てられているとき、移動体の目的地までの経路は中央処理装置により与えられ、その経路に従って搬送を行う。
中央処理装置から命令がある場合のみ、経路を変更可能である。
搬送タスクを持たない全ての移動体はホームステーションを目的地とする。
図4のように、移動先が移動体の存在しない区間(空き区間)であるときのみ、移動体は移動可能とする。
移動体システムは時間の流れを離散的に表現した、離散時間で管理される。
どの移動体も、1単位時間に1区間移動可能である。
図5のように、複数の移動体の移動先が競合する場合は、優先度最高の移動体に対して移動許可を与える。
優先度は予め定めた条件に基づき、中央処理装置が決定する。
移動体システムは時間の流れを離散的に表現した、離散時間で管理される。
どの移動体も、1単位時間に1区間移動可能である。
図5のように、複数の移動体の移動先が競合する場合は、優先度最高の移動体に対して移動許可を与える。
優先度は予め定めた条件に基づき、中央処理装置が決定する。
図6のように同一交差点上を複数移動体が同時に通過しようとする場合は、上記と同様に中央処理装置によって優先度を定め、優先度最高の移動体のみが交差点を通過可能とする。
移動体に与えられる搬送タスクに関しては、本発明と関連が無いため、搬送タスクの発生時刻や目的地の限定は特に考えない。
上記前提条件に基づき、移動体システムが運用されているものとする。
移動体に与えられる搬送タスクに関しては、本発明と関連が無いため、搬送タスクの発生時刻や目的地の限定は特に考えない。
上記前提条件に基づき、移動体システムが運用されているものとする。
搬送先の偏りや、障害物感知による不意の停止により、移動体システムの運行に乱れが生じることがある。
これにより、走行経路内の特定箇所に移動体が密集する。
結果として、後述するデッドロックが発生して搬送が行われなくなり、移動体システムの停止を引き起こす。
これにより、走行経路内の特定箇所に移動体が密集する。
結果として、後述するデッドロックが発生して搬送が行われなくなり、移動体システムの停止を引き起こす。
(3)デッドロックの説明
前方が空き区間の移動体のみ移動できるという規則より、図7のように、走行経路内の閉路上に複数の移動体が空き区間を挟まず直列し、かつ、それらの移動体の進行方向が閉路の有向辺と一致すると、その閉路上の移動体は全て移動できなくなる。
このとき、移動体の進行方向を変更するなど、何らかの介入を外部から加えない限り、この閉路上に存在する移動体は永久に移動できない。
このような永久停止状態をデッドロックと呼ぶ。
前方が空き区間の移動体のみ移動できるという規則より、図7のように、走行経路内の閉路上に複数の移動体が空き区間を挟まず直列し、かつ、それらの移動体の進行方向が閉路の有向辺と一致すると、その閉路上の移動体は全て移動できなくなる。
このとき、移動体の進行方向を変更するなど、何らかの介入を外部から加えない限り、この閉路上に存在する移動体は永久に移動できない。
このような永久停止状態をデッドロックと呼ぶ。
移動体e,fのように前方移動体を辿っていくと、最終的に閉路に到達する移動体も同様にデッドロック状態である。
移動体システムの正常運行のためには、デッドロックが存在するかどうかを検知して、もし存在するならばデッドロックから回復する操作が必要である。
デッドロックの定義より、デッドロック回復のためには進行方向の閉路を除去する必要がある。
これは、進行方向が閉路を構成している移動体の少なくとも1台の進行方向を、現在の進行方向とは別の方向に変更するか、現在存在する区間から移動させることにより実現できる。
移動体システムの正常運行のためには、デッドロックが存在するかどうかを検知して、もし存在するならばデッドロックから回復する操作が必要である。
デッドロックの定義より、デッドロック回復のためには進行方向の閉路を除去する必要がある。
これは、進行方向が閉路を構成している移動体の少なくとも1台の進行方向を、現在の進行方向とは別の方向に変更するか、現在存在する区間から移動させることにより実現できる。
このとき、デッドロックを回復する操作は、移動体システムを一旦停止して、通常の移動体システムの運行とは異なる、例外処理として実行される。
したがって、デッドロックを回復する操作中は、移動体は必ずしも、前述した「(1)走行経路説明」で設定した方向付けに従って移動する必要はないとする。
進行方向の閉路の除去によってのみデッドロック回復が可能である。
図7において、移動体e,fの進行方向や存在位置をどのように変更したとしても、閉路a,b,c,dの除去は不可能である。
したがって、デッドロックを回復する操作中は、移動体は必ずしも、前述した「(1)走行経路説明」で設定した方向付けに従って移動する必要はないとする。
進行方向の閉路の除去によってのみデッドロック回復が可能である。
図7において、移動体e,fの進行方向や存在位置をどのように変更したとしても、閉路a,b,c,dの除去は不可能である。
(4)アルゴリズム全体の説明
本発明の一実施例に係るデッドロック回復手法を図8に示す。図8は、デッドロック回復手法のアルゴリズムの概略を示すものであり、図中に示すように、デッドロック検知部10及びデッドロック回復部20とから成る。
本発明の一実施例に係るデッドロック回復手法を図8に示す。図8は、デッドロック回復手法のアルゴリズムの概略を示すものであり、図中に示すように、デッドロック検知部10及びデッドロック回復部20とから成る。
(5)デッドロック検知方法の説明
デッドロック検知部10は、図9に示すように、後述する区間割り当てグラフの生成及び区間割り当てグラフ中に閉路が存在するかどうかを判定することによりデッドロック検知方法を実施する。
もし、区間割り当てグラフ中に閉路が存在するならデッドロックが存在すると判定する。
デッドロック検知部10は、図9に示すように、後述する区間割り当てグラフの生成及び区間割り当てグラフ中に閉路が存在するかどうかを判定することによりデッドロック検知方法を実施する。
もし、区間割り当てグラフ中に閉路が存在するならデッドロックが存在すると判定する。
(5.1)全体移動停止
まず、各移動体の現在位置を正確に得るため、また、デッドロックが存在する場合はデッドロック回復を実行するために、全移動体の動作を停止させる。
まず、各移動体の現在位置を正確に得るため、また、デッドロックが存在する場合はデッドロック回復を実行するために、全移動体の動作を停止させる。
(5.2)区間割り当てグラフ生成
次に、全ての移動体の現在位置及び進行方向を把握するために、中央処理装置は全ての移動体に対して現在位置と、次の移動先区間を中央処理装置に送信するよう要請する。
各移動体は、中央処理装置の要請に従い、現在位置と次の移動先区間を中央処理装置に送信する。
中央処理装置は、全ての移動体の位置情報を集計した後、各移動体iの現在位置Ci,次の移動先Niを頂点とし、辺e′Ci,Niを生成してグラフを構成する。このとき構成したグラフを区間割当てグラフと定義する。
次に、全ての移動体の現在位置及び進行方向を把握するために、中央処理装置は全ての移動体に対して現在位置と、次の移動先区間を中央処理装置に送信するよう要請する。
各移動体は、中央処理装置の要請に従い、現在位置と次の移動先区間を中央処理装置に送信する。
中央処理装置は、全ての移動体の位置情報を集計した後、各移動体iの現在位置Ci,次の移動先Niを頂点とし、辺e′Ci,Niを生成してグラフを構成する。このとき構成したグラフを区間割当てグラフと定義する。
(5.3)区間割り当てグラフに閉路が存在するか否かの判定
具体例として、デッドロック検知を実行した結果、デッドロックが存在しないと判定される例を示す。
図10のような配置において、移動体a,b,c,dが存在する区間をva,vb,vc,vdと表記すると、移動体aからva,vt,e′va,vt、移動体bからvb,vc,e′vb,vc、移動体cからvc,vd,e′vc,vd、移動体dからvd,va,e′vd,vaが各々生成される。
頂点{va,vb,vc,vd,vt}、辺{e′va,vt,e′vb,vc,e′vc,vd,e′vd,va}から成るグラフ中を探索することで閉路が存在しないことが確認できる。
この場合、デッドロックが存在しないと判定して、終了する。
具体例として、デッドロック検知を実行した結果、デッドロックが存在しないと判定される例を示す。
図10のような配置において、移動体a,b,c,dが存在する区間をva,vb,vc,vdと表記すると、移動体aからva,vt,e′va,vt、移動体bからvb,vc,e′vb,vc、移動体cからvc,vd,e′vc,vd、移動体dからvd,va,e′vd,vaが各々生成される。
頂点{va,vb,vc,vd,vt}、辺{e′va,vt,e′vb,vc,e′vc,vd,e′vd,va}から成るグラフ中を探索することで閉路が存在しないことが確認できる。
この場合、デッドロックが存在しないと判定して、終了する。
一方、他の具体例として、デッドロック検知を実行した結果、デッドロックが存在すると判定される例を示す。
図11の場合に、移動体a,b,c,d,eが存在する区間をva,vb,vc,vd,veと表記し、同様に区間割り当てグラフを構成すると、移動体aからva,vb,e′va,vb,移動体bからvb,vc,e′vb,vc、移動体cからvc,vd,e′vc,vd、移動体dからvd,va,e′vd,va、移動体eからve,va,e′ve,vaが各々生成される。
頂点{va,vb,vc,vd,ve}、辺{e′va,vb,e′vb,vc,e′vc,vd,e′vd,va,e′ve,va}から成るグラフ中を探索すると、頂点{va,vb,vc,vd}により閉路が構成されていることがわかる。
以下では、区間割当グラフに存在するi番目の閉路をDiと表記する。
上記の場合、D1=(va,vb,vc,vd,va)となる。
これにより、システム中にデッドロックが存在することがわかる。
図11の場合に、移動体a,b,c,d,eが存在する区間をva,vb,vc,vd,veと表記し、同様に区間割り当てグラフを構成すると、移動体aからva,vb,e′va,vb,移動体bからvb,vc,e′vb,vc、移動体cからvc,vd,e′vc,vd、移動体dからvd,va,e′vd,va、移動体eからve,va,e′ve,vaが各々生成される。
頂点{va,vb,vc,vd,ve}、辺{e′va,vb,e′vb,vc,e′vc,vd,e′vd,va,e′ve,va}から成るグラフ中を探索すると、頂点{va,vb,vc,vd}により閉路が構成されていることがわかる。
以下では、区間割当グラフに存在するi番目の閉路をDiと表記する。
上記の場合、D1=(va,vb,vc,vd,va)となる。
これにより、システム中にデッドロックが存在することがわかる。
図12のように、閉路が複数存在する場合も、同様に判定できる。
同様に区間割当てグラフを構成し、閉路を探索する。
結果として、2つの閉路D1=(va,vb,vc,vd,va)とD2=(ve,vf,vg,vh,ve)が存在し、2箇所でデッドロックが発生していると判定される。
デッドロックの存在が確認された場合、デッドロック回復部20を起動して、移動体システム内からデッドロックを除去する。
同様に区間割当てグラフを構成し、閉路を探索する。
結果として、2つの閉路D1=(va,vb,vc,vd,va)とD2=(ve,vf,vg,vh,ve)が存在し、2箇所でデッドロックが発生していると判定される。
デッドロックの存在が確認された場合、デッドロック回復部20を起動して、移動体システム内からデッドロックを除去する。
(6)デッドロック回復方法の説明
デッドロック回復部20は、図13に示すように、退避路探索方法、退避路間関係付与方法、デッドロック群分離方法、退避路組み合わせ方法及び移動体回復動作部とからなるデッドロック回復方法を実施する。
デッドロック回復方法とは、デッドロックを回復するために、閉路を構成する移動体から1台を選び、隣接する他の区間へ移動させることにより、閉路を除去する方法である。
デッドロック回復部20は、図13に示すように、退避路探索方法、退避路間関係付与方法、デッドロック群分離方法、退避路組み合わせ方法及び移動体回復動作部とからなるデッドロック回復方法を実施する。
デッドロック回復方法とは、デッドロックを回復するために、閉路を構成する移動体から1台を選び、隣接する他の区間へ移動させることにより、閉路を除去する方法である。
本実施例では、特に、回復動作を原因としたデッドロックの発生を防ぐために、回復動作は、本来の走行経路の方向付けと逆向きとなるよう移動する、逆方向移動のみを用いる。
デッドロック回復動作を、後述の退避路上に存在する各移動体を1区間ずつ、退避路の向きに沿って移動させ、移動前に存在していた区間を次の移動先とし、以降は移動前の経路に復帰する動作と定義し、デッドロック回復動作により閉路の除去を行う。
デッドロック回復動作を、後述の退避路上に存在する各移動体を1区間ずつ、退避路の向きに沿って移動させ、移動前に存在していた区間を次の移動先とし、以降は移動前の経路に復帰する動作と定義し、デッドロック回復動作により閉路の除去を行う。
退避路とは、図14のように、閉路上のある移動体が存在する頂点vsを始点、走行経路中の任意の空き区間をvtとして、vsから有向辺逆向き探索でvtへ到達可能な有向辺逆向き最短路であるとする。
退避路は、vsからvtまでの間に存在する頂点の列(vs,i,j,…,n,vt)で表現される。
ある退避路上での回復時間は、その退避路上の各移動体が丁度1区間ずつ移動するのに要する時間の総和とする。
退避路は、vsからvtまでの間に存在する頂点の列(vs,i,j,…,n,vt)で表現される。
ある退避路上での回復時間は、その退避路上の各移動体が丁度1区間ずつ移動するのに要する時間の総和とする。
(6.1)退避路探索方法
デッドロックを回復するためには、上述の退避路を求める必要がある。
回復に用いる退避路は、後述の退避路組み合わせ方法により決定されるため、退避路探索方法により求まる退避路は、この時点では全て退避路候補である。
デッドロックを回復するためには、上述の退避路を求める必要がある。
回復に用いる退避路は、後述の退避路組み合わせ方法により決定されるため、退避路探索方法により求まる退避路は、この時点では全て退避路候補である。
退避路探索方法は、図15に示すフローチャートに従い、退避路候補を求める。
まず、退避路候補がまだ求まっていない閉路を1つ選択する。
次に、その閉路の中から頂点を1つ選択する。
上記で選択した頂点から、有向辺逆向きに空き区間を探索する。例えば、周知の技術である幅優先探索または深さ優先探索を行い、空き区間を探索する。
まず、退避路候補がまだ求まっていない閉路を1つ選択する。
次に、その閉路の中から頂点を1つ選択する。
上記で選択した頂点から、有向辺逆向きに空き区間を探索する。例えば、周知の技術である幅優先探索または深さ優先探索を行い、空き区間を探索する。
もし、探索した区間が、探索始点の頂点を含む閉路上の頂点ならば、その方向への探索を打ち切る。
また、探索した区間が、始点からの探索において既に探索した区間である場合も、その方向への探索を打ち切る。
また、探索した区間が、始点からの探索において既に探索した区間である場合も、その方向への探索を打ち切る。
探索した区間が空き区間である場合、始点から探索した空き区間までの退避路候補を生成する。
生成した退避路候補は、検出した空き区間番号をd、探索の始点区間番号をoとして、rd,oと表記する。
生成した退避路候補は、検出した空き区間番号をd、探索の始点区間番号をoとして、rd,oと表記する。
また、他の閉路を構成する頂点を探索した場合も同様に、検出した他閉路区間番号をd、探索の始点区間番号をoとして、退避路候補rd,oを生成する。
生成した退避路候補が、発生したデッドロック数個の空き区間を含む場合は、その方向への探索を打ち切る。
1つ目の空き区間を見つけた時点で探索を停止しない理由は、退避先区間が競合して回復できないデッドロックが発生することを防ぐためである。
生成した退避路候補が、発生したデッドロック数個の空き区間を含む場合は、その方向への探索を打ち切る。
1つ目の空き区間を見つけた時点で探索を停止しない理由は、退避先区間が競合して回復できないデッドロックが発生することを防ぐためである。
全ての方向に対して探索が停止したら、同閉路中のまだ探索の始点となっていない頂点を選び、同様に空き区間を探索する。
同閉路中の全ての頂点から探索を行った後、その閉路の頂点を始点とした探索により生成された退避路候補から成る退避路候補集合を生成する。
同閉路中の全ての頂点から探索を行った後、その閉路の頂点を始点とした探索により生成された退避路候補から成る退避路候補集合を生成する。
まだ退避路候補を生成していない閉路が存在するならば、そのような閉路を一つ選び、同様に退避路候補を生成する。
全ての閉路において退避路候補が求まった後、退避路探索方法を終了して退避路間関係付与方法に移行する。
全ての閉路において退避路候補が求まった後、退避路探索方法を終了して退避路間関係付与方法に移行する。
具体例として、図16を参照して、頂点aから有向辺逆向きに探索を行う場合について説明する。
まず1区間目の探索で同閉路の頂点fが検出され探索を打ち切る。
次に頂点gから有向辺逆向きに探索を行う。
探索において2方向に分岐する場合、必ず有向辺上の区間を先に探索する。
探索の結果として、退避路候補{rh,g,rb,g,ro,g,ri,g,rj,g,rc,g,rp,g,rd,g,rk,g}を生成する。
同様に頂点lからの探索では、退避路候補{rh,l,rb,l,ro,l,ri,l,rc,l,rp,l,rj,l,rd,l,rk,l}を生成する。
まず1区間目の探索で同閉路の頂点fが検出され探索を打ち切る。
次に頂点gから有向辺逆向きに探索を行う。
探索において2方向に分岐する場合、必ず有向辺上の区間を先に探索する。
探索の結果として、退避路候補{rh,g,rb,g,ro,g,ri,g,rj,g,rc,g,rp,g,rd,g,rk,g}を生成する。
同様に頂点lからの探索では、退避路候補{rh,l,rb,l,ro,l,ri,l,rc,l,rp,l,rj,l,rd,l,rk,l}を生成する。
頂点fからの探索は、1区間目の探索区間が同閉路上の頂点aなので探索を打ち切る。
次に、頂点iからの探索では、{rc,i,rb,i,rh,i}を生成する。
引き続き、頂点dからの探索では、{rc,d,rb,d,rh,d}を生成し、頂点jからの探索では、{rp,j,rk,j}を生成し、頂点oからの探索では、{rp,o,rk,o}を生成する。
求まった退避路候補上の各々で独立に回復動作を行う場合、退避先区間が競合して回復できないデッドロックが発生する場合がある(後述する、同時選択不可な場合である)。
次に、頂点iからの探索では、{rc,i,rb,i,rh,i}を生成する。
引き続き、頂点dからの探索では、{rc,d,rb,d,rh,d}を生成し、頂点jからの探索では、{rp,j,rk,j}を生成し、頂点oからの探索では、{rp,o,rk,o}を生成する。
求まった退避路候補上の各々で独立に回復動作を行う場合、退避先区間が競合して回復できないデッドロックが発生する場合がある(後述する、同時選択不可な場合である)。
そこで、複数の退避路候補間において、各々の退避路候補上での回復動作が干渉するかどうかを求める手がかりとして、退避路候補間に存在する4つの関係、“同時選択不可”、“並行動作可能”、“先行制約”、“任意順序実行可、かつ、並行動作不可”を定義し、それについて述べる。
まず、異なる2つのデッドロックDi,Djからの退避路候補ri x,x′,rj y,y′(i,jはデッドロック番号を表し、x,x′,y,y′は区間を表す頂点)において、退避先が競合するかどうか、すなわちxとyが同一区間であるかどうかを調べる。
退避路候補は頂点番号の列で表現されることから、文字列マッチング等周知の技術を用いて容易に調べることができる。
まず、異なる2つのデッドロックDi,Djからの退避路候補ri x,x′,rj y,y′(i,jはデッドロック番号を表し、x,x′,y,y′は区間を表す頂点)において、退避先が競合するかどうか、すなわちxとyが同一区間であるかどうかを調べる。
退避路候補は頂点番号の列で表現されることから、文字列マッチング等周知の技術を用いて容易に調べることができる。
(6.1.1)“同時選択不可”
図17に示すように、xとyが同一区間である場合、デッドロック回復に用いる退避路の組み合わせに同時に含んではならないとして、同時選択不可ri x,x′XORrj y,y′という関係を与える(記号XORは排他的論理和と同義であり、左項または右項の退避路候補の一方のみ選択可能であることを意味する)。
図17に示すように、xとyが同一区間である場合、デッドロック回復に用いる退避路の組み合わせに同時に含んではならないとして、同時選択不可ri x,x′XORrj y,y′という関係を与える(記号XORは排他的論理和と同義であり、左項または右項の退避路候補の一方のみ選択可能であることを意味する)。
図18に示すように、xが他の閉路上の頂点であり、かつ、その頂点とy′が異なる頂点である場合、この2つの組み合わせにおいて退避路候補ri x,x′上で回復動作を行うのは不可能であるため、デッドロック回復に用いる退避路の組み合わせに同時に含んではならないとして、同時選択不可ri x,x′XORrj y,y′という関係を与える。
また、図19に示すように、xがy′と等しく、かつx′がyと等しい場合、x,y共に空き区間になる見込みが無く、両方の退避路候補上で動作不可能である。
そのため、これらの退避路候補はデッドロック回復に用いる退避路の組み合わせに同時に含んではならないという同時選択不可ri x,x′XORrj y,y′という関係を与える。
そのため、これらの退避路候補はデッドロック回復に用いる退避路の組み合わせに同時に含んではならないという同時選択不可ri x,x′XORrj y,y′という関係を与える。
(6.1.2)“並行動作可能”
また、図20に示すように、ri x,x′,rj y,y′がお互いに共通区間を全く含まない場合、互いの退避路上での回復動作は干渉しないため、並行動作可能ri x,x′‖rj y,y′という関係を与える(記号‖は、左項の退避路候補上での回復動作と右項の退避路候補上での回復動作を並行的に実行できることを意味する)。
また、図20に示すように、ri x,x′,rj y,y′がお互いに共通区間を全く含まない場合、互いの退避路上での回復動作は干渉しないため、並行動作可能ri x,x′‖rj y,y′という関係を与える(記号‖は、左項の退避路候補上での回復動作と右項の退避路候補上での回復動作を並行的に実行できることを意味する)。
(6.1.3)“先行制約”
次に、図21のように、あるデッドロックDiからの退避路候補ri x,x′の終点が、他のデッドロックDjからの退避路候補rj y,y′の始点である場合、すなわちxとy′が同一区間である場合、Djの回復動作が完了した後に、区間xが空き区間となるため、ri x,x′上で回復動作を実行できる。
次に、図21のように、あるデッドロックDiからの退避路候補ri x,x′の終点が、他のデッドロックDjからの退避路候補rj y,y′の始点である場合、すなわちxとy′が同一区間である場合、Djの回復動作が完了した後に、区間xが空き区間となるため、ri x,x′上で回復動作を実行できる。
このように、退避路候補ri x,x′の終点が空き区間ではないが、他の退避路候補rj y,y′での回復動作後であればデッドロック回復に用いることができる場合、回復動作に順序付けを行うことによりri x,x′をデッドロック回復に用いることができる。
このとき、rj y,y′上での回復動作をri x,x′に先行させなければならないとして、先行制約rj y,y′<ri x,x′という関係を与える(記号<は、左項の退避路候補上での回復動作が右項の退避路候補上での回復動作に対して先行しなければならないことを意味する)。
このとき、rj y,y′上での回復動作をri x,x′に先行させなければならないとして、先行制約rj y,y′<ri x,x′という関係を与える(記号<は、左項の退避路候補上での回復動作が右項の退避路候補上での回復動作に対して先行しなければならないことを意味する)。
同様に、記号>は右項の退避路候補上での回復動作が左項の退避路候補上での回復動作に対して先行しなければならないことを意味する。
また、図22のように、ある退避路候補rj y,y′の終点区間が、退避路ri x,x′中に含まれる場合、ri x,x′上での回復動作を先行させると区間yが空き区間ではなくなり、rj y,y′上で回復動作が実行できなくなる。
そのため、rj y,y′上での回復動作をri x,x′上での回復動作に先行させる必要があるため、先行制約rj y,y′<ri x,x′という関係が与えられる。
また、図22のように、ある退避路候補rj y,y′の終点区間が、退避路ri x,x′中に含まれる場合、ri x,x′上での回復動作を先行させると区間yが空き区間ではなくなり、rj y,y′上で回復動作が実行できなくなる。
そのため、rj y,y′上での回復動作をri x,x′上での回復動作に先行させる必要があるため、先行制約rj y,y′<ri x,x′という関係が与えられる。
(6.1.4)“並行動作可能”
また、図23に示すように、x,yが空き区間であり、かつ、ri x,x′がyを含み、かつ、rj y,y′がxを含む場合を考える。
このとき、ri x,x′中のyからx間の移動体と、rj y,y′中のxからy間の移動体はそれぞれ並行動作可能、かつ、これらの区間の上にいる移動体を先に動かさなければ片方の退避路候補上での動作が実行不可能となる。
また、図23に示すように、x,yが空き区間であり、かつ、ri x,x′がyを含み、かつ、rj y,y′がxを含む場合を考える。
このとき、ri x,x′中のyからx間の移動体と、rj y,y′中のxからy間の移動体はそれぞれ並行動作可能、かつ、これらの区間の上にいる移動体を先に動かさなければ片方の退避路候補上での動作が実行不可能となる。
ただし、これらの2つの動作のうち少なくとも一方が完了すると、以降の動作は関係“‖”か“<”が付与された場合と等価になる。
このときの総回復時間は並行動作可能な場合と同一であるため、便宜上、並行動作可能であるとして扱い、関係ri x,x′‖rj y,y′を付与する。
このときの総回復時間は並行動作可能な場合と同一であるため、便宜上、並行動作可能であるとして扱い、関係ri x,x′‖rj y,y′を付与する。
(6.1.5)“任意順序実行可かつ並行動作不可”
最後に、2つの異なるデッドロックDi,Djからの退避路候補ri x,x′,rj y,y′に関して、図24のようにお互いの退避路候補の始点、終点いずれもお互いの退避路候補に含まれない場合、どちらの退避路候補上での回復動作を実行を先に実行してもよい。
ただし、共有している区間上では同時に回復動作を実行することはできないため、任意順序実行可かつ並行動作不可ri x,x′<>rj y,y′という関係を与える(記号<>は、左項及び右項の退避路候補のどちらの退避路上での回復動作を先行して実行してもよいが、並行的には実行できないことを意味し、プログラミング言語Pascal等で用いられるノットイコールを表す演算子とは異なるものとする。)。
最後に、2つの異なるデッドロックDi,Djからの退避路候補ri x,x′,rj y,y′に関して、図24のようにお互いの退避路候補の始点、終点いずれもお互いの退避路候補に含まれない場合、どちらの退避路候補上での回復動作を実行を先に実行してもよい。
ただし、共有している区間上では同時に回復動作を実行することはできないため、任意順序実行可かつ並行動作不可ri x,x′<>rj y,y′という関係を与える(記号<>は、左項及び右項の退避路候補のどちらの退避路上での回復動作を先行して実行してもよいが、並行的には実行できないことを意味し、プログラミング言語Pascal等で用いられるノットイコールを表す演算子とは異なるものとする。)。
他の任意順序実行可かつ並行動作不可の場合は、図25に示すように、ri x,x′がy′を含み、かつ、yがri x,x′に含まれない場合が存在する。
この場合、ri x,x′とrj y,y′は互いに異なる終点を持ち、かつ、各退避路候補中にもう一方の退避路候補の終点が存在しないため、一方で回復動作を実行するともう片方の上で回復動作が実行不可となることは無い。
ただし、始点を含めたいくつかの頂点を共通して持ち、並行動作できない箇所が存在するため、関係ri x,x′<>rj y,y′を付与する必要がある。
この場合、ri x,x′とrj y,y′は互いに異なる終点を持ち、かつ、各退避路候補中にもう一方の退避路候補の終点が存在しないため、一方で回復動作を実行するともう片方の上で回復動作が実行不可となることは無い。
ただし、始点を含めたいくつかの頂点を共通して持ち、並行動作できない箇所が存在するため、関係ri x,x′<>rj y,y′を付与する必要がある。
(6.2)退避路間関係付与方法
退避路間関係付与方法は、退避路候補間の関係を自動的に付与するための方法であり、図26に示すフローチャートに従って行われる。
まず、ある退避路候補ri x,x′の終点区間xが他の閉路の頂点であるが、その閉路からはxを始点とした退避路候補が生成されていない場合、どのような退避路候補の組み合わせにおいてもri x,x′上での回復動作は実行不可能である。
そのような、区間xを終点とした退避路候補を、全ての退避路候補集合から除去する。
退避路間関係付与方法は、退避路候補間の関係を自動的に付与するための方法であり、図26に示すフローチャートに従って行われる。
まず、ある退避路候補ri x,x′の終点区間xが他の閉路の頂点であるが、その閉路からはxを始点とした退避路候補が生成されていない場合、どのような退避路候補の組み合わせにおいてもri x,x′上での回復動作は実行不可能である。
そのような、区間xを終点とした退避路候補を、全ての退避路候補集合から除去する。
次に、2つのデッドロックDi,Djから、関係が付与されていない退避路候補を1つずつ選択し、ri x,x′,rj y,y′とする。
2つの退避路候補ri x,x′,rj y,y′ついて、区間xと区間yが同一区間である場合、同時選択不可ri x,x′XORrj y,y′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、区間xがDj上の区間であり、かつ、区間xと区間y′が異なる区間である場合、同時選択不可ri x,x′XORrj y,y′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
2つの退避路候補ri x,x′,rj y,y′ついて、区間xと区間yが同一区間である場合、同時選択不可ri x,x′XORrj y,y′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、区間xがDj上の区間であり、かつ、区間xと区間y′が異なる区間である場合、同時選択不可ri x,x′XORrj y,y′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、区間xが区間y′と等しく、かつ、区間yが区間x′と等しい場合、同時選択不可ri x,x′XORrj y,yという関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、共通して保持する区間が存在しなければ、並行動作可能ri x,x′‖rj y,yという関係を付与して、新たにまだ関係が付与されてない2つの退避路候補を選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、共通して保持する区間が存在しなければ、並行動作可能ri x,x′‖rj y,yという関係を付与して、新たにまだ関係が付与されてない2つの退避路候補を選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、区間x,yが空き区間であり、かつ、区間xが退避路候補ri x,x′に含まれ、かつ、区間yが退避路候補ri x,x′に含まれる場合、並行動作可能ri x,x′‖rj y,yという関係を付与して、新たにまだ関係が付与されてない2つの退避路候補を選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、区間xと区間y′が同一区間である場合、先行制約rj y,y′<ri x,x′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、区間xと区間y′が同一区間である場合、先行制約rj y,y′<ri x,x′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
上記の逆も同時に調べる。すなわち、2つの退避路候補ri x,x′,rj y,y′について、区間yと区間x′が同一区間である場合、先行制約ri x,x′<rj y,y′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、区間xが退避路候補rj y,y′に含まれる場合、先行制約ri x,x′<rj y,y′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
上記の逆も同時に調べる。2つの退避路候補ri x,x′,rj y,y′について、区間yが退避路候補ri x,x′に含まれる場合、先行制約rj y,y′<ri x,x′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
2つの退避路候補ri x,x′,rj y,y′について、区間xが退避路候補rj y,y′に含まれる場合、先行制約ri x,x′<rj y,y′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
上記の逆も同時に調べる。2つの退避路候補ri x,x′,rj y,y′について、区間yが退避路候補ri x,x′に含まれる場合、先行制約rj y,y′<ri x,x′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
上記のいずれの関係も付与されない場合、任意順序実行可、かつ、並行動作不可rj y,y′<>ri x,x′という関係を付与して、まだ関係が付与されていない2つの退避路候補を新たに選択し直す。
全ての退避路候補ri x,x′,rj y,y′間に関係が付与されたら、退避路間関係付与方法は終了となる。
全ての退避路候補ri x,x′,rj y,y′間に関係が付与されたら、退避路間関係付与方法は終了となる。
図27においては、区間gを始点とした退避路候補と、頂点d,i,j,oからの退避路候補間に図28に示すような関係が付与される。
図28に示す行列において、行要素が関係の左項、列要素が関係の右項となる。
r>r′は、先行制約を逆に書いたもので、r′上での回復動作がr上での回復動作に先行しなければならないことを表す。
他の頂点からの退避路候補についても同様に関係が付与される。
図28に示す行列において、行要素が関係の左項、列要素が関係の右項となる。
r>r′は、先行制約を逆に書いたもので、r′上での回復動作がr上での回復動作に先行しなければならないことを表す。
他の頂点からの退避路候補についても同様に関係が付与される。
(6.3)デッドロック群分離方法
上記のように退避路間関係を付与した後、回復動作の干渉を考慮するべきデッドロックの集合として、デッドロック群を定義する。
左右方向に延びるはしご型走行経路の特徴として、各デッドロックから生成される退避路候補について、そのデッドロックの右方へ出る退避路候補集合と、左方へ出る退避路候補集合の2通りに分類できる。
上記のように退避路間関係を付与した後、回復動作の干渉を考慮するべきデッドロックの集合として、デッドロック群を定義する。
左右方向に延びるはしご型走行経路の特徴として、各デッドロックから生成される退避路候補について、そのデッドロックの右方へ出る退避路候補集合と、左方へ出る退避路候補集合の2通りに分類できる。
また、区間の位置情報を中央処理装置が管理していることから、複数のデッドロックが発生した時にデッドロックの位置関係を特定することが可能であり、右端デッドロックから順番にD1,D2,…,Dmと番号付けることができる。
mは、発生したデッドロックの個数と等しい。
mは、発生したデッドロックの個数と等しい。
ここで、Diから左方に出る退避路候補のうちで、双方向辺上に存在する区間を始点とし、かつ、最小区間数(等しい区間数の退避路候補が複数存在する場合は、その中から任意に1つ選択)、かつ、空き区間を終点とする退避路候補のことを左方最短退避路rL iと表記し(rは退避路候補、Lは左方に退避路が出ること、iはデッドロック番号を意味)、Diから右方に出る退避路候補のうちで、双方向辺上に存在する区間を始点とし、かつ、最小区間数(等しい区間数の退避路候補が複数存在する場合は、その中から任意に1つ選択)、かつ、空き区間を終点とする退避路候補のことを右方最短退避路rR iと表記し(Rは右方に退避路が出ることを意味)、各々を定義する。
このとき、図29に示すように、2つのデッドロック間に他のデッドロックを挟まないように隣接するデッドロックDi,Di+1において、Diの左方最短退避路rL iと、Di+1の右方最短退避路rR i+1について、2つの退避路候補が並行動作可能rL i‖rR i+1であるならば、両者のデッドロックは異なるデッドロック群に属し、回復動作の干渉を考慮する必要が無くなる。
なぜなら、Diから左方、Di+1から右方に出る退避路候補の中で、干渉するような退避路候補を選択することは、rL i,rR i+1のいずれか一方より回復に時間がかかる退避路候補を選ぶことになり、全体の回復時間を大きくするよう退避路候補を選ぶことになるからである。
なぜなら、Diから左方、Di+1から右方に出る退避路候補の中で、干渉するような退避路候補を選択することは、rL i,rR i+1のいずれか一方より回復に時間がかかる退避路候補を選ぶことになり、全体の回復時間を大きくするよう退避路候補を選ぶことになるからである。
逆に、図30に示すように、2つのデッドロック間に他のデッドロックを挟まないように隣接するデッドロックDi,Di+1において、Diの左方最短退避路rL iと、Di+1の右方最短退避路rR i+1について、2つの退避路候補が同時選択不可rL iXORrR i+1であるならば、総回復時間最小化のために退避路候補の組み合わせを求める必要があり、両者のデッドロックは同一のデッドロック群に属するとする。
また、図31のように、連続する3つのデッドロックDi-1,Di,Di+1に関して、Di-1の左方最短退避路rL i-1と、Diの右方最短退避路rR iがrL i-1XORrR iという関係を持ち、かつ、Diの左方最短退避路rL iと、Di+1の右方最短退避路rR i+1がrL iXORrR i+1という関係を持つならば、両端のデッドロックDi-1とDi+1は総回復時間最小化のために退避路候補の組み合わせを求める必要があり、同一のデッドロック群に属するとする。
連続するデッドロック数が4つ以上の場合でも同様にデッドロック群を決めることができる。
また、図31のように、連続する3つのデッドロックDi-1,Di,Di+1に関して、Di-1の左方最短退避路rL i-1と、Diの右方最短退避路rR iがrL i-1XORrR iという関係を持ち、かつ、Diの左方最短退避路rL iと、Di+1の右方最短退避路rR i+1がrL iXORrR i+1という関係を持つならば、両端のデッドロックDi-1とDi+1は総回復時間最小化のために退避路候補の組み合わせを求める必要があり、同一のデッドロック群に属するとする。
連続するデッドロック数が4つ以上の場合でも同様にデッドロック群を決めることができる。
以上のことを踏まえ、図32に示すフローチャートに従い、デッドロック群分離方法を実施する。
総デッドロック数mが、m=1ならば、デッドロックD1をデッドロック群DG1として終了する。
まず、デッドロック番号を表す変数としてi=1、デッドロック群番号を表す変数としてk=1を初期値とする。
総デッドロック数mが、m>1ならば、デッドロックDiをデッドロック群DGkとする。
総デッドロック数mが、m=1ならば、デッドロックD1をデッドロック群DG1として終了する。
まず、デッドロック番号を表す変数としてi=1、デッドロック群番号を表す変数としてk=1を初期値とする。
総デッドロック数mが、m>1ならば、デッドロックDiをデッドロック群DGkとする。
次に、デッドロックDiに隣接する左方のデッドロックDi+1について考える。
デッドロックDi,Di+1において、Diの左方最短退避路rL iと、Di+1の右方最短退避路rR i+1について、rL iXORrR i+1であるかどうかを調べる、
もし、rL iXORrR i+1でないならば、デッドロック群番号k:=k+1として、デッドロックDi+1をデッドロック群DGkとして、デッドロック番号を表す変数i:=i+1として、デッドロックDiに隣接するデッドロックとの間に干渉が存在するかを調べる。
デッドロックDi,Di+1において、Diの左方最短退避路rL iと、Di+1の右方最短退避路rR i+1について、rL iXORrR i+1であるかどうかを調べる、
もし、rL iXORrR i+1でないならば、デッドロック群番号k:=k+1として、デッドロックDi+1をデッドロック群DGkとして、デッドロック番号を表す変数i:=i+1として、デッドロックDiに隣接するデッドロックとの間に干渉が存在するかを調べる。
もし、rL iXORrR i+1ならば、デッドロックDi+1をデッドロック群DGkとして、デッドロック番号を表す変数i:=i+1として、デッドロックDiに隣接するデッドロックとの間に干渉が存在するかを調べる。
もし、デッドロックDiに隣接する左方のデッドロックDi+1について、i+1=mであるならば、デッドロック群の生成ステップを終了する。
具体例として、図33に示す例では、まず右端デッドロックD1と、隣接する左方デッドロックD2の間で、D1の左方最短退避路と、D2の右方最短退避路とが同時選択不可であるため、両者をデッドロック群DG1に属するとする。
もし、デッドロックDiに隣接する左方のデッドロックDi+1について、i+1=mであるならば、デッドロック群の生成ステップを終了する。
具体例として、図33に示す例では、まず右端デッドロックD1と、隣接する左方デッドロックD2の間で、D1の左方最短退避路と、D2の右方最短退避路とが同時選択不可であるため、両者をデッドロック群DG1に属するとする。
同様に、デッドロックD2と、隣接する左方デッドロックD3についても同様に判定され、デッドロックD3をデッドロック群DG1に属するとする。
最後に、デッドロックD4については、D3との間に同時選択不可となる最短退避路を持たないため、新たにデッドロック群DG2を生成して、DG2に属するとする。
最後に、デッドロックD4については、D3との間に同時選択不可となる最短退避路を持たないため、新たにデッドロック群DG2を生成して、DG2に属するとする。
(6.4)退避路組み合わせ方法
デッドロック群の定義より、あるデッドロック群DGiの中での総回復時間最小化を達成する退避路候補の組み合わせと、DGjの中での総回復時間最小化を達成する退避路候補の組み合わせについて、DGiの回復動作とDGjの回復動作はお互いに干渉しない、
したがって、各デッドロック群毎に独立に退避路候補の組み合わせを求めることができる。
既に、退避路候補が出る方向を左右で二分できることを述べた。
デッドロック群の定義より、あるデッドロック群DGiの中での総回復時間最小化を達成する退避路候補の組み合わせと、DGjの中での総回復時間最小化を達成する退避路候補の組み合わせについて、DGiの回復動作とDGjの回復動作はお互いに干渉しない、
したがって、各デッドロック群毎に独立に退避路候補の組み合わせを求めることができる。
既に、退避路候補が出る方向を左右で二分できることを述べた。
すると、あるデッドロックから選択するべき退避路候補について、1.右方最短退避路、2.後述する右方次最短退避路、3.左方最短退避路、4.後述する左方次最短退避路の4通りを考えればよい。
あるデッドロックDiの右方次最短退避路とは、Diから出る退避路候補集合において、右方へ出る退避路候補のうち、Di-1の左方最短退避路が回復に用いられると仮定したときの、Diの右方最短退避路と異なる終点を持つ退避路候補の中で回復時間最小の退避路候補のことである。
あるデッドロックDiの右方次最短退避路とは、Diから出る退避路候補集合において、右方へ出る退避路候補のうち、Di-1の左方最短退避路が回復に用いられると仮定したときの、Diの右方最短退避路と異なる終点を持つ退避路候補の中で回復時間最小の退避路候補のことである。
同様に、あるデッドロックDiの左方次最短退避路とは、Diから出る退避路候補集合において、左方へ出る退避路候補のうち、Di+1の右方最短退避路が回復に用いられると仮定したときの、Diの左方最短退避路と異なる終点を持つ退避路候補の中で回復時間最小の退避路候補のことである。
あるデッドロックDiの右方次最短退避路rR′iは、Di-1の左方最短退避路rL i-1を固定したとき、rL i-1<rR′iか、rL i-1‖rR′iのどちらかの関係を持つ退避路候補の中で、最も小さい回復時間となる退避路候補rR′iとして得ることができる。
rL i-1<rR′iとして退避路候補rR′iが選択される場合、rR′iの終点と、退避路候補rL i-1の始点が一致する場合は、rR′iの回復時間は、{(rL i-1上の全移動体が1区間ずつ移動する時間)+(rR′i上の全移動体が1区間ずつ移動する時間)}とする。
あるデッドロックDiの右方次最短退避路rR′iは、Di-1の左方最短退避路rL i-1を固定したとき、rL i-1<rR′iか、rL i-1‖rR′iのどちらかの関係を持つ退避路候補の中で、最も小さい回復時間となる退避路候補rR′iとして得ることができる。
rL i-1<rR′iとして退避路候補rR′iが選択される場合、rR′iの終点と、退避路候補rL i-1の始点が一致する場合は、rR′iの回復時間は、{(rL i-1上の全移動体が1区間ずつ移動する時間)+(rR′i上の全移動体が1区間ずつ移動する時間)}とする。
rL i-1<rR′iとして退避路候補rR′iが選択され、かつ、rR′iの終点が空き区間である場合は、rR′iの回復時間は、(rR′i上の全移動体が1区間ずつ移動する時間+1)とする。
rL i-1‖rR′iとして退避路候補rR′iが選択された場合、rR′iの回復時間は、(rR′i上で上で各移動体が1区間ずつ移動する時間)とする。
あるデッドロックDiの左方次最短退避路rL′iも同様に、Di+1の右方最短退避路rR i+1を固定したとき、rR i+1<rL′iか、rR i+1‖rL′iのどちらかの関係を持つ退避路候補の中で、回復時間最小となる退避路候補rL′iとして得ることができる。
rL i-1‖rR′iとして退避路候補rR′iが選択された場合、rR′iの回復時間は、(rR′i上で上で各移動体が1区間ずつ移動する時間)とする。
あるデッドロックDiの左方次最短退避路rL′iも同様に、Di+1の右方最短退避路rR i+1を固定したとき、rR i+1<rL′iか、rR i+1‖rL′iのどちらかの関係を持つ退避路候補の中で、回復時間最小となる退避路候補rL′iとして得ることができる。
左方次最短退避路の回復時間は、右方次最短退避路と同様の手順で求めることができる。
すなわち、rR i+1<rL′iとして退避路候補rL′iが選択される場合、rL′iの終点と、退避路候補rR i+1の始点が一致する場合は、rL′iの回復時間は、{(rR i+1上の全移動体が1区間ずつ移動する時間)+(rL′i上の全移動体が1区間ずつ移動する時間)}とする。
rR i+1<rL′iとして退避路候補rL′iが選択され、かつ、rL′iの終点が空き区間である場合は、rL′iの回復時間は、(rL′i上の全移動体が1区間ずつ移動する時間+1)とする。
すなわち、rR i+1<rL′iとして退避路候補rL′iが選択される場合、rL′iの終点と、退避路候補rR i+1の始点が一致する場合は、rL′iの回復時間は、{(rR i+1上の全移動体が1区間ずつ移動する時間)+(rL′i上の全移動体が1区間ずつ移動する時間)}とする。
rR i+1<rL′iとして退避路候補rL′iが選択され、かつ、rL′iの終点が空き区間である場合は、rL′iの回復時間は、(rL′i上の全移動体が1区間ずつ移動する時間+1)とする。
rR i+1‖rL′iとして退避路候補rL′iが選択された場合、rL′iの回復時間は、(rL′i上の全移動体が1区間ずつ移動する時間)とする。
例外として、あるデッドロック群の中で、右方に隣接デッドロックが存在しないデッドロックD1に関しては、右方次最短退避路は存在しない。
同様に、あるデッドロック群の中で、左方に隣接デッドロックが存在しないデッドロックDmに関しては、左方次最短退避路は存在しない。
例外として、あるデッドロック群の中で、右方に隣接デッドロックが存在しないデッドロックD1に関しては、右方次最短退避路は存在しない。
同様に、あるデッドロック群の中で、左方に隣接デッドロックが存在しないデッドロックDmに関しては、左方次最短退避路は存在しない。
退避路の組み合わせを表現するために図34のような多段ネットワークを構成する。
任意のs−t経路は、例えば、(s,rR 1,rL 2,rR′3,t)であればデッドロックD1からは右方最短退避路を、デッドロックD2からは左方最短退避路を、デッドロックD3からは右方次最短退避路を選んだことを意味する、のように各デッドロックから選択した退避路の組み合わせを意味する。
rR 1,rL 1,rL′1から成る段を1段目、rR 2,rR′2,rL 2,rL′2から成る段を2段、rR 3,rR′3,rL 3のように、ネットワーク上において、デッドロックDiを回復させるための退避路候補が存在する段をi段目とする。
任意のs−t経路は、例えば、(s,rR 1,rL 2,rR′3,t)であればデッドロックD1からは右方最短退避路を、デッドロックD2からは左方最短退避路を、デッドロックD3からは右方次最短退避路を選んだことを意味する、のように各デッドロックから選択した退避路の組み合わせを意味する。
rR 1,rL 1,rL′1から成る段を1段目、rR 2,rR′2,rL 2,rL′2から成る段を2段、rR 3,rR′3,rL 3のように、ネットワーク上において、デッドロックDiを回復させるための退避路候補が存在する段をi段目とする。
あるi,i+1段の間を結ぶ辺において、rR iから出る辺について考える。
デッドロックDi+2の存在を考えなければ、i+1段において、4つの退避路候補はいずれもrR iと干渉しない。
なぜなら、Di+1から右方へ出る退避路候補はDiとDi+1との間にある空き区間を終点とするからである。
この場合、rR i+1が干渉を起こさないことを考えると、rR i+1以上に回復時間を要するrR′i+1を選択の候補として考えなくてよいことは明らかである。
デッドロックDi+2の存在を考えなければ、i+1段において、4つの退避路候補はいずれもrR iと干渉しない。
なぜなら、Di+1から右方へ出る退避路候補はDiとDi+1との間にある空き区間を終点とするからである。
この場合、rR i+1が干渉を起こさないことを考えると、rR i+1以上に回復時間を要するrR′i+1を選択の候補として考えなくてよいことは明らかである。
残りの3つの退避路候補に関しては、i段で選択した退避路候補だけでは回復時間の最適性に関して言及できないため、どれも選択可能とする。
したがって、rR iからはrR i+1,rL i+1,rL′i+1の3つへ辺を引く。
rR′iからi+1段へ引く辺を考える。
rR iと同様に、rR i+1,rL i+1,rL′i+1の3つへ辺を引けばよい。
rL iからi+1段へ引く辺を考える。
この場合、rR i+1が同時選択不可な関係を持つため、残りの3つ、すなわち、rR′i+1,rL i+1,rL′i+1へ辺を引けばよい。
したがって、rR iからはrR i+1,rL i+1,rL′i+1の3つへ辺を引く。
rR′iからi+1段へ引く辺を考える。
rR iと同様に、rR i+1,rL i+1,rL′i+1の3つへ辺を引けばよい。
rL iからi+1段へ引く辺を考える。
この場合、rR i+1が同時選択不可な関係を持つため、残りの3つ、すなわち、rR′i+1,rL i+1,rL′i+1へ辺を引けばよい。
最後に、rL′iから引く辺であるが、この場合はi+1段へはrR i+1のみへ辺を引けばよい。
rL′iとrL i+1及びrL′i+1は干渉しない。そのため、rL iを通過してそれらの退避路候補を選択する場合より、確実に回復時間が大きくなる。
rL′iとrR′i+1に関しては、同時選択不可な関係を持つか、rR i+1を選択した場合よりも確実に回復時間が大きくなる。
以上の理由から、rL′iからはrR i+1のみへ辺が引かれる。
rL′iとrL i+1及びrL′i+1は干渉しない。そのため、rL iを通過してそれらの退避路候補を選択する場合より、確実に回復時間が大きくなる。
rL′iとrR′i+1に関しては、同時選択不可な関係を持つか、rR i+1を選択した場合よりも確実に回復時間が大きくなる。
以上の理由から、rL′iからはrR i+1のみへ辺が引かれる。
i段目のある頂点とi+1段目のある頂点を結ぶ辺の重みは、i+1段目の頂点が表す退避路候補上での回復動作完了に要する時間とする。
次最短退避路を決定する際に予め求めた回復時間は、他の退避路候補との干渉を考慮した場合の回復時間である。
そのため、s−t経路中において、最も辺重みの大きい退避路候補が、全てのデッドロックを回復させる上で最も時間のかかるデッドロックとなる。
次最短退避路を決定する際に予め求めた回復時間は、他の退避路候補との干渉を考慮した場合の回復時間である。
そのため、s−t経路中において、最も辺重みの大きい退避路候補が、全てのデッドロックを回復させる上で最も時間のかかるデッドロックとなる。
以上から、退避路組み合わせ方法は、図35に示すフローチャートに従い動作する。
まず、退避路候補の組み合わせがまだ求まっていないデッドロック群を1つ選ぶ。
選択したデッドロック群を構成するデッドロックを、デッドロック群の右端から順にD1,D2,…,Dmとする。
まず、退避路候補の組み合わせがまだ求まっていないデッドロック群を1つ選ぶ。
選択したデッドロック群を構成するデッドロックを、デッドロック群の右端から順にD1,D2,…,Dmとする。
m=1の場合、rR 1,rL 1のうち、回復時間の小さい方を退避路として選択して、他のデッドロック群の退避路候補の選択を行う。
m>1の場合、左端から順にrR′i,rL′iの回復時間を求める。
ただし、rR′1,rL′mは存在しないため無視する。
m>1の場合、左端から順にrR′i,rL′iの回復時間を求める。
ただし、rR′1,rL′mは存在しないため無視する。
各次最短退避路コストが求まったら、上記の規則に従い多段ネットワークを構成する。
構成した多段ネットワークにおいて、あるs−t経路中に存在する各辺の中で最大の重みを持つ辺の値が、最小となるよう経路を選択する。
選択した経路に従い、移動体を退避させる。
この操作を、全てのデッドロック群に対して行う。
構成した多段ネットワークにおいて、あるs−t経路中に存在する各辺の中で最大の重みを持つ辺の値が、最小となるよう経路を選択する。
選択した経路に従い、移動体を退避させる。
この操作を、全てのデッドロック群に対して行う。
具体例として、図36に示す例おいて、上記退避路組み合わせ方法を実行すると、まずデッドロックD1,D2,D3から成るデッドロック群DG1が構成される。
デッドロック群DG1における退避路の組み合わせを以下の手順により求める。
デッドロックD1の右方最短退避路は存在しないため重み無限大(∞)とし、デッドロックD2の右方最短退避路はrVE5,i、デッドロックD3の右方最短退避路はrVE3,oとなる。
デッドロックD1の左方最短退避路はrVE5,a、デッドロックD2の左方最短退避路はrVE3,l、デッドロックD3の左方最短退避路はVE2,uとなる。
デッドロック群DG1における退避路の組み合わせを以下の手順により求める。
デッドロックD1の右方最短退避路は存在しないため重み無限大(∞)とし、デッドロックD2の右方最短退避路はrVE5,i、デッドロックD3の右方最短退避路はrVE3,oとなる。
デッドロックD1の左方最短退避路はrVE5,a、デッドロックD2の左方最短退避路はrVE3,l、デッドロックD3の左方最短退避路はVE2,uとなる。
デッドロックD2の右方次最短退避路はra,i、デッドロックD3の右方次最短退避路はrVE4,oとなる、
デッドロックD1の左方次最短退避路はri,a、デッドロックD2の左方次最短退避路はrVE4,lとなる。
各退避路候補に対して重みを求め、図37に示す多段ネットワークを構成する。
図37において、各辺の上の数値は、辺の重みを意味する。
上述した例では、図37に示す通り、頂点sから頂点tへの経路において、退避路組み合わせとして最大の辺重みが最小となる経路(s,rL 1,rL 2,rL 3,t)が求められる。
デッドロックD1の左方次最短退避路はri,a、デッドロックD2の左方次最短退避路はrVE4,lとなる。
各退避路候補に対して重みを求め、図37に示す多段ネットワークを構成する。
図37において、各辺の上の数値は、辺の重みを意味する。
上述した例では、図37に示す通り、頂点sから頂点tへの経路において、退避路組み合わせとして最大の辺重みが最小となる経路(s,rL 1,rL 2,rL 3,t)が求められる。
(6.5)移動体回復動作部
移動体回復動作部は、図35に示す通り、退避路組み合わせ方法により求められた退避路組み合わせrL 1,rL 2,rL 3に従って回復動作を実行する。
移動体回復動作部は、図35に示す通り、退避路組み合わせ方法により求められた退避路組み合わせrL 1,rL 2,rL 3に従って回復動作を実行する。
本発明は、デッドロックからの総回復時間を最小きできるように改良した移動体システム及びそのデッドロック回復手法であって、広く産業上利用可能なものである。
10 デッドロック検知部
20 デッドロック回復部
20 デッドロック回復部
Claims (10)
- 予め方向付けされた梯子型の走行経路と、
前記走行経路上を移動する移動体と、
前記移動体の目的地までの経路を与える中央処理装置とからなり、
前記走行経路は、前記移動体が一台のみ進入可能な複数区間に分割され、
前記移動体は、前方が移動体の存在しない区間であるときのみ移動可能であり、
前記中央処理装置は、前記移動体を離散時間で管理することにより前記移動体を1単位時間当たり1区間移動させる移動体システムにおいて、
前記中央処理装置は、前記移動体が相互に前方の区間を塞ぎ合うことにより閉路が存在するときにデッドロックが発生したと判定するデッドロック検知部と、前記デッドロック検知部によりデッドロックが発生したと判定された場合には、例外処理として、前記閉路を構成する前記移動体のいずれかを本来の走行方向とは逆向きに前記走行経路上を走行させる回復動作を行うデッドロック回復部とを備えることを特徴とする移動体システム。 - 前記デッドロック回復部は、前記閉路の中の各区間を始点として、前記移動体の存在しない任意の区間を終点とする退避路候補を探索することを特徴とする請求項1記載の移動体システム。
- 前記デッドロック回復部は、2つの退避路候補の間に対して、“同時選択不可”、“並行動作可能”、“先行制約”又は“任意順序実行可、かつ、並行動作不可”の四つの関係を付与することを特徴とする請求項2記載の移動体システム。
- 前記デッドロック回復部は、前記梯子型の走行経路上において隣接する複数のデッドロックについては、一方向から順に番号を付与するものとし、番号が増える方向を左方と表記し、逆に、番号が少なくなる方向を右方と表記したときに、右方のデッドロックから左方にでる左方最短退避路と、左方のデッドロックから右方にでる右方最短退避路について、2つの退避路候補が同時選択不可であるならば、総回復時間最小化のために退避路候補の組み合わせを求める必要があり、両者のデッドロックは同一のデッドロック群に属すると判定することを特徴とする請求項3記載の移動体システム。
- 前記デッドロック回復部は、同一のデッドロック群に属する複数のデッドロックからの退避路組み合わせとして、各デッドロック間に前記移動体が存在しない区間が存在するとの条件の下で、左方のデッドロックから右方に出る右方最短退避路及び右方次最短退避路と、右方のデッドロックから左方へ出る左方最短退避路及び左方次最短退避路とからなる4通りの組み合わせから、総回復時間を最小とする退避路の組み合わせを選択することを特徴とする請求項4記載の移動体システム。
- 前記デッドロック回復部は、前記右方最短退避路、前記右方次最短退避路、前記左方最短退避路及び前記左方次最短退避路から選択された退避路の組み合わせに従って前記回復動作を実行することを特徴とする請求項5記載の移動体システム。
- 前記デッドロック検知部は、前記移動体の各々位置情報を得るために、前記移動体の動作を全て停止させることを特徴とする請求項1記載の移動体システム。
- 前記デッドロック検知部は、前記移動体の全ての位置情報を集計した後、前記各移動体の現在位置から次の移動先を頂点とする辺を生成することにより区間割り当てグラフを構成することを特徴とする請求項7記載の移動体システム。
- 前記デッドロック検知部は、区間割り当てグラフ中を探索して閉路が存在するときにはデッドロックが存在すると判定することを特徴とする請求項8記載の移動体システム。
- 予め方向付けされた梯子型の走行経路と、
前記走行経路上を移動する移動体と、
前記移動体の目的地までの経路を与える中央処理装置とからなり、
前記走行経路は、前記移動体が一台のみ進入可能な複数区間に分割され、
前記移動体は、前方が移動体の存在しない区間であるときのみ移動可能であり、
前記中央処理装置は、前記移動体を離散時間で管理することにより前記移動体を1単位時間当たり1区間移動させる移動体システムにおいて、
前記中央処理装置は、前記移動体が相互に前方の区間を塞ぎ合うことにより閉路が存在するときにデッドロックが発生したとデッドロック検知部により判定し、前記デッドロック検知部によりデッドロックが発生したと判定された場合には、例外処理として、前記閉路を構成する前記移動体のいずれかを本来の走行方向とは逆向きに前記走行経路上を走行させる回復動作をデッドロック回復部により行うことを特徴とする移動体システムのデッドロック回復手法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009021249A JP2010176607A (ja) | 2009-02-02 | 2009-02-02 | 移動体システム及びそのデッドロック回復手法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009021249A JP2010176607A (ja) | 2009-02-02 | 2009-02-02 | 移動体システム及びそのデッドロック回復手法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010176607A true JP2010176607A (ja) | 2010-08-12 |
Family
ID=42707480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009021249A Withdrawn JP2010176607A (ja) | 2009-02-02 | 2009-02-02 | 移動体システム及びそのデッドロック回復手法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010176607A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012147172A1 (ja) * | 2011-04-27 | 2012-11-01 | 株式会社日立製作所 | 物品搬送シミュレーション装置、物品搬送計画作成装置、物品置場設計支援装置、物品搬送シミュレーション方法、物品搬送計画作成方法、物品置場設計支援方法およびプログラム |
WO2015186440A1 (ja) * | 2014-06-02 | 2015-12-10 | 村田機械株式会社 | 走行車システム及び走行車の制御方法 |
CN107193265A (zh) * | 2017-06-14 | 2017-09-22 | 浙江德尚智能科技有限公司 | 一种移动机器人多点调度通信方法 |
JP2017228126A (ja) * | 2016-06-23 | 2017-12-28 | 日本車輌製造株式会社 | 搬送車の走行管理プログラム |
CN110308700A (zh) * | 2019-05-11 | 2019-10-08 | 西安电子科技大学 | 一种存在不可控行为的加工路径规划方法 |
WO2019242652A1 (zh) * | 2018-06-21 | 2019-12-26 | 北京极智嘉科技有限公司 | 机器人调度、机器人路径的控制方法、服务器和存储介质 |
JP2020077110A (ja) * | 2018-11-06 | 2020-05-21 | 株式会社東芝 | デッドロック検出装置、情報処理装置、デッドロック検出方法及びコンピュータプログラム |
WO2020105189A1 (ja) * | 2018-11-22 | 2020-05-28 | 日本電気株式会社 | 経路計画装置、経路計画方法、及びコンピュータ読み取り可能な記録媒体 |
CN112990806A (zh) * | 2019-12-17 | 2021-06-18 | 北京京东乾石科技有限公司 | 运输设备的调度控制的方法和系统 |
CN113253713A (zh) * | 2020-02-07 | 2021-08-13 | 北京京东乾石科技有限公司 | 一种任务执行方法和装置 |
-
2009
- 2009-02-02 JP JP2009021249A patent/JP2010176607A/ja not_active Withdrawn
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012147172A1 (ja) * | 2011-04-27 | 2012-11-01 | 株式会社日立製作所 | 物品搬送シミュレーション装置、物品搬送計画作成装置、物品置場設計支援装置、物品搬送シミュレーション方法、物品搬送計画作成方法、物品置場設計支援方法およびプログラム |
WO2015186440A1 (ja) * | 2014-06-02 | 2015-12-10 | 村田機械株式会社 | 走行車システム及び走行車の制御方法 |
JPWO2015186440A1 (ja) * | 2014-06-02 | 2017-04-20 | 村田機械株式会社 | 走行車システム及び走行車の制御方法 |
JP2017228126A (ja) * | 2016-06-23 | 2017-12-28 | 日本車輌製造株式会社 | 搬送車の走行管理プログラム |
CN107193265A (zh) * | 2017-06-14 | 2017-09-22 | 浙江德尚智能科技有限公司 | 一种移动机器人多点调度通信方法 |
US11969896B2 (en) | 2018-06-21 | 2024-04-30 | Beijing Geekplus Technology Co., Ltd. | Robot scheduling and robot path control method, server and storage medium |
WO2019242652A1 (zh) * | 2018-06-21 | 2019-12-26 | 北京极智嘉科技有限公司 | 机器人调度、机器人路径的控制方法、服务器和存储介质 |
JP7064429B2 (ja) | 2018-11-06 | 2022-05-10 | 株式会社東芝 | 情報処理装置、情報処理方法及びコンピュータプログラム |
JP2020077110A (ja) * | 2018-11-06 | 2020-05-21 | 株式会社東芝 | デッドロック検出装置、情報処理装置、デッドロック検出方法及びコンピュータプログラム |
WO2020105189A1 (ja) * | 2018-11-22 | 2020-05-28 | 日本電気株式会社 | 経路計画装置、経路計画方法、及びコンピュータ読み取り可能な記録媒体 |
JPWO2020105189A1 (ja) * | 2018-11-22 | 2021-09-27 | 日本電気株式会社 | 経路計画装置、経路計画方法、及びプログラム |
JP7160110B2 (ja) | 2018-11-22 | 2022-10-25 | 日本電気株式会社 | 経路計画装置、経路計画方法、及びプログラム |
US11782446B2 (en) | 2018-11-22 | 2023-10-10 | Nec Corporation | Route planning apparatus, route planning method, and computer-readable recording medium |
CN110308700B (zh) * | 2019-05-11 | 2021-09-24 | 西安电子科技大学 | 一种存在不可控行为的加工路径规划方法 |
CN110308700A (zh) * | 2019-05-11 | 2019-10-08 | 西安电子科技大学 | 一种存在不可控行为的加工路径规划方法 |
CN112990806A (zh) * | 2019-12-17 | 2021-06-18 | 北京京东乾石科技有限公司 | 运输设备的调度控制的方法和系统 |
CN113253713A (zh) * | 2020-02-07 | 2021-08-13 | 北京京东乾石科技有限公司 | 一种任务执行方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010176607A (ja) | 移動体システム及びそのデッドロック回復手法 | |
CA3138062C (en) | Systems and methods for optimizing route plans in an operating environment | |
Li et al. | Symmetry-breaking constraints for grid-based multi-agent path finding | |
CN109991977B (zh) | 机器人的路径规划方法及装置 | |
CN110530369A (zh) | 基于时间窗的agv任务调度方法 | |
CN112368661B (zh) | Agv系统和控制agv系统的方法 | |
Nishi et al. | Petri net decomposition approach to optimization of route planning problems for AGV systems | |
CN111766861A (zh) | 运行计划系统、运行计划方法及计算机程序 | |
JP7328923B2 (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
JP2004280213A (ja) | 分散型経路計画装置及び方法、分散型経路計画プログラム | |
US11860621B2 (en) | Travel control device, travel control method, travel control system and computer program | |
JP7272547B2 (ja) | マルチロボット経路計画 | |
KR20150137166A (ko) | 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법 | |
CN110262471B (zh) | 机器人调度方法和装置、机器人及机器人调度系统 | |
TWI801519B (zh) | 行走車控制器及行走車系統 | |
Wu et al. | Deadlock avoidance in an automated guidance vehicle system using a coloured Petri net model | |
Krontiris et al. | From feasibility tests to path planners for multi-agent pathfinding | |
CN118083804B (zh) | 基于降低轨道繁忙程度的路径选择方法及装置 | |
EP4033206B1 (en) | Autonomous vehicle management in an operating environment | |
JP2021071795A (ja) | 走行制御装置、方法及びコンピュータプログラム | |
Zhou et al. | An impending deadlock-free scheduling method in the case of unified automated material handling systems in 300 mm wafer fabrications | |
JP2024045465A (ja) | 走行制御装置、走行制御方法及びコンピュータプログラム | |
Downsland et al. | Collision avoidance in bi-directional AGV systems | |
JPH11119830A (ja) | 無人搬送車システム | |
CN112764413B (zh) | 一种机器人路径规划方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120403 |