(57)【特許請求の範囲】
【請求項１】
複数の物品載置部を有するラックと、
前記ラックの近傍を平行して走行するとともに物品を前記ラックとの間で移載可能な２台のスタッカクレーンとを備え、
前記スタッカクレーンは、走行部と、移載部と、前記移載部を前記走行部に対して昇降させる昇降部と、前記走行部、前記移載部および前記昇降部を制御するための制御部とを有しており、
前記２台のスタッカクレーンは、前記移載部同士が上下にずれることですれ違い走行が可能であり、
前記２台のスタッカクレーンの一方の前記制御部は、当該スタッカクレーンの前記移載部の移動開始前に、選択によって前記移載部同士の干渉を回避できると判断すれば２つの最短時間経路から一方を選択し、
前記２つの最短時間経路は、出発位置と目標位置とを対角として前記出発位置から前記目標位置までの軌道の集合が構成する四角形の領域の境界ラインの最も外側の軌道を通り、
前記制御部は、選択だけでは前記移載部同士の干渉を回避できないと判断すれば、いずれか一方の最短時間経路を選択し、さらに、前記走行部の走行条件と前記移載部の昇降条件を干渉防止のために修正し、
前記制御部は、前記走行部の走行条件と前記移載部の昇降条件を干渉防止のために修正する方法として、前記選択した軌道から外れた位置に前記移載部同士の衝突を避けることができる経由点を設定しさらに前記経由点を通る軌道を作成する軌道作成方法、及び前記選択した軌道を変更せずに前記移載部同士の衝突が避けることができるように前記走行部及び前記移載部の動作開始を遅らす動作開始時間変更方法の少なくとも一方を実行する、自動倉庫。
【請求項２】
前記制御部は、前記軌道作成方法において、前記出発位置と前記目標位置とを結ぶ直線上における中間点及び前記移載部同士を結ぶ直線上における他の移載部との干渉が予測される地点のいずれか一方における法線上の点を前記経由点として決定し、さらに前記出発位置から前記経由点までの軌道として前記出発位置と前記経由点とを対角としてまでの軌道の集合が構成する四角形の領域の境界ラインの最も外側の２本の最短時間経路から一方を選択し、さらに前記経由点から前記目標位置までの軌道の集合が構成する四角形の領域の境界ラインの最も外側の２本の最短時間経路から一方を選択することで迂回経路を生成する、請求項１に記載の自動倉庫。
【請求項３】
前記制御部は、前記経由点の設定には二分法を用い、
前記二分法は、
前記直線上の前記中間点及び前記地点の一方から法線方向に最初の設定ポイントを設定するポイント設定ステップと、
前記最初の設定ポイントまでの距離を二分割することで中間点を探索する探索ステップと、
前記探索した中間点の位置に前記移載部を走行させた場合に前記移載部同士の干渉があるか否かを判断する干渉判断ステップと、
干渉がない場合は直前の分割による分割後長さが所定値以下であるか否かを判断する所定値判断ステップと、
干渉がある場合は直前に探索した中間点から見て値が大きい側の領域の中間点を探索して、その後に干渉判断ステップに移行するステップと、
直前の分割による分割後長さが前記所定値を超える場合は直前に探索した中間点から見て値が小さい側の領域の中間点を探索して、その後に干渉判断ステップに移行するステップと、
直前の分割による分割後長さが前記所定値以下の場合は、最後の中間点を前記経由点に設定する経由点設定ステップと、
を有する、
請求項２に記載の自動倉庫。
【請求項４】
前記二分法において、前記最初の設定ポイントは、前記中間点及び前記地点の一方から所定のレイアウト上可能な最も離れた位置に設定される、請求項３に記載の自動倉庫。
【請求項５】
前記最初の設定ポイントは、前記出発位置と前記目標位置とを結ぶ線によって二分される領域のうち前記他の移載部の位置と反対側の領域に設定される、請求項３に記載の自動倉庫。
【請求項６】
前記制御部は、前記移動開始時間変更方法において、前記走行部及び前記移載部の動作開始を遅らす時間を二分法に基づいて決定し、
前記二分法は、
最初の動作開始時間を設定する開始時間設定ステップと、
前記最初の動作開始時間の時間軸を二分割することで中間点を探索する探索ステップと、
前記探索した中間点の時間だけ動作を遅らせた場合に前記移載部同士の干渉があるか否かを判断する干渉判断ステップと、
干渉がない場合は直前の分割による分割後長さが所定値以下であるか否かを判断する分割後長さ判断ステップと、
干渉がある場合は直前に探索した中間点から見て値が大きい側の領域の中間点を探索して、その後に干渉判断ステップに移行するステップと、
直前の分割による分割後長さ前記所定値を超える場合は直前に探索した中間点から見て値が小さい側の領域の中間点を探索して、その後に干渉判断ステップに移行するステップと、
直前の分割による分割後長さが前記所定値以下の場合は、最後の中間点を動作開始遅れ時間に設定する動作開始遅れ時間設定ステップと、
を有する、請求項１に記載の自動倉庫。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動倉庫に関し、特に、２台のスタッカクレーンがすれ違い走行可能に配置された自動倉庫に関する。
【背景技術】
【０００２】
従来の自動倉庫は、例えば、一対のラックと、スタッカクレーンと、入庫ステーションと、出庫ステーションとを備えている。一対のラックは、前後方向に所定間隔をあけるようにして設けられている。スタッカクレーンは、前後のラック間において左右方向に移動自在に設けられている。入庫ステーションは、一方のラックの側方に配置されている。出庫ステーションは、他方のラックの側方に配置されている。ラックは、上下・左右に並んだ多数の物品収納棚を有する。スタッカクレーンは、走行台車と、それに設けられたマストに昇降自在となされた昇降台と、それに設けられた物品移載装置（例えば、前後方向に摺動自在に設けられたスライドフォーク）とを有している。入出庫ステーションにおいては、物品を搬送するのにコンベアが用いられる。【０００３】
近年は、物品収納作業の効率化を図るため、前後のラック間に例えば２台のスタッカクレーンをすれ違い走行可能とする自動倉庫が提案されている。この自動倉庫は、一対のラックと、その間に平行に並んで走行可能な２台のスタッカクレーンが配置されている。この場合は、スタッカクレーンの物品移載装置は、前後のラックのいずれに対しても物品の入出庫作業が可能である。【０００４】
この自動倉庫を側方から見ると、２台のスタッカクレーンの昇降台および物品移載装置からなる各組（以下、この組を「移載部」という。）は、２次元平面内を互いに干渉する可能性がある状態で移動する２つの移動体として認識できる。これら２つの移動体は、走行台車の走行動作と昇降装置の昇降動作の組み合わせによって、平面内で自由に移動可能である。そこで、２つの移動体の干渉を防止するためには、移動体の移動を適切に制御する必要がある。【０００５】
一般に、複数の移動体の干渉を防止するための技術は、自動倉庫のみならず、搬送台車システムでも求められている。例えば、特許文献１に記載の搬送台車システムでは、搬送台車が所定の時間間隔で現在位置をネットワークに送信し、他の搬送台車の位置を傍受し、その速度を元に所定時間後の位置を推定して、自機の走行速度にフィードバックする。また、分岐部や合流部では、分岐後や合流前の２股の走行ルートを１本に重ねたルートマップを使用する。これにより、搬送台車が自律的に走行でき、また分岐部や合流部で走行許可待ちのために停止する必要がなくなる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３０１３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般に、複数の移動体の干渉を防止するためには、複数の移動体の経路探索処理を行う必要があり、最適な経路探索を行うためには制御装置内の演算部に大きな負荷がかかってしまう。【０００８】
本発明の課題は、すれ違い走行可能な２台のスタッカクレーンを有する自動倉庫において、複数の移載部同士の干渉を防止するための経路探索に関する演算処理の負荷を減らすことにある。
【課題を解決するための手段】
【０００９】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明に係る自動倉庫は、ラックと２台のスタッカクレーンとを備えている。ラックは、複数の物品載置部を有する。２台のスタッカクレーンは、ラックの近傍を平行して走行するとともに物品をラックとの間で移載可能である。スタッカクレーンは、走行部と、移載部と、移載部を走行部に対して昇降させる昇降部と、走行部、移載部および昇降部を制御するための制御部とを有している。２台のスタッカクレーンは、移載部同士が上下にずれることですれ違い走行が可能である。２台のスタッカクレーンの一方の制御部は、スタッカクレーンの一方の移載部の移動開始前に、２つの最短時間経路を算出し、次に一方を選択する。２つの最短時間経路は、出発位置と目標位置とを対角として上下左右の線を有する領域の境界ラインを構成している。
この自動倉庫では、制御部は２つの最短時間経路から回避経路を選択する。したがって、回避経路探索処理にかかる演算量が少なくなる。その結果、制御部は短期間で回避経路を決定できる。【００１０】
制御部は、選択された最短時間経路において他のスタッカークレーンとの干渉を回避できないと判断すると、移載装置の走行条件を干渉防止のために修正してもよい。したがって、移載部同士の干渉がより確実に防止される。【００１１】
制御部は、走行条件を干渉防止のために修正する方法として、出発位置と目標位置とを結ぶ線上において予め定められた一点における法線上の点を経由点として探索することで迂回経路を生成してもよい。
この自動倉庫では、移載部が経由する経由点を出発位置と目標位置とを結ぶ線上の一点における法線上の点としているので、制御部における経路探索に関する演算処理の負荷が少なくなる。したがって、経路探索にかかる時間が短縮される。
なお、ここでの「法線」とは、出発位置と目標位置とを結ぶ線に直交する線をいう。【００１２】
予め定められた一点は、出発位置と目標位置とを結ぶ直線の中間点であってもよい。これにより、経路探索にかける時間が短縮される。【００１３】
予め定められた一点は、選択された最短時間経路において他の移載部との干渉が予測される地点であってもよい。これにより、移載部の走行時間が短縮される。【００１４】
経由点の設定には二分法が用いられてもよい。これにより、経路探索にかける時間が短縮される。【００１５】
二分法において、最初の設定ポイントは、法線を引くための一点から所定のレイアウト上可能な最も離れた位置に設定されてもよい。このように最初の設定ポイントがレイアウト上可能な最も離れた位置に設定されるので、座標基準で演算することができ、演算時間が短くなる。【００１６】
経由点は、出発位置と目標位置とを結ぶ線によって二分される領域のうち他の移載部の位置と反対側の領域に設定されてもよい。これにより、移載部同士の干渉がより確実に防止できる。【００１７】
制御部は、走行条件を干渉防止のために修正する方法として、移載部の移動開始を遅らせてもよい。【００１８】
制御部は、移動開始を遅らす時間を二分法に基づいて決定してもよい。これにより、経路探索にかける時間が短縮される。
【発明の効果】
【００１９】
本発明に係る自動倉庫では、複数の移載部同士の干渉を防止するための経路探索に関する演算処理の負荷を減らすことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態が採用された自動倉庫の概略平面図。
【図２】図１のＩＩ矢視図であり、ラックとスタッカクレーンを説明するための図。
【図３】自動倉庫の一部省略側面図であり、ラックとスタッカクレーンを説明するための図。
【図４】第１実施例としての自動倉庫制御構成を示す機能ブロック図。
【図５】第２実施例としての自動倉庫制御構成を示す機能ブロック図。
【図６】スタッカクレーンの制御部の機能ブロック図。
【図７】スタッカクレーンの状態遷移図。
【図８】クレーンコントローラの軌道決定・移動処理を示すフローチャート。
【図９】クレーンコントローラの軌道選択処理を示すフローチャート。
【図１０】出発位置と目標位置との間にある複数の軌道を示す模式図。
【図１１】出発位置と目標位置との間にある２つの軌道を示す模式図。
【図１２】移載部同士が干渉する可能性がある場合に一方の移載部の走行開始タイミングを遅らせる手法を説明するための模式図。
【図１３】移載部同士が干渉する可能性がある場合に一方の移載部が迂回経路を走行する手法を説明するための模式図。
【図１４】軌道条件の変更による回避手法の選択処理を示すフローチャート。
【図１５】二分法による最適値を決定する処理を示すフローチャート。
【図１６】干渉ありの０から干渉なしのｔｍａｘまでの時間軸。
【図１７】走行予定軌道から離れた経由点を決定するプロセスを示す模式図。
【図１８】走行予定軌道から離れた経由点を決定するプロセスを示す模式図。
【図１９】デッドロック状態で移載部が退避する動作を示す模式図。
【図２０】２つの移載部が同一の物品収納棚にアクセスしようとした場合の待機動作を示す模式図。
【図２１】クレーンコントローラの移載動作前の干渉回避処理を示すフローチャート。
【発明を実施するための形態】
【００２１】
（１）自動倉庫全体
図１〜図３を用いて、本発明に係る一実施形態としての自動倉庫１を説明する。図１は、本発明の一実施形態が採用された自動倉庫の概略平面図である。図２は、図１のＩＩ矢視図であり、ラックとスタッカクレーンを説明するための図である。図３は、自動倉庫の一部省略側面図であり、ラックとスタッカクレーンを説明するための図である。この実施形態において、図１および図２の左右方向が自動倉庫１の前後方向Ｘであり、図１の上下方向および図３の左右方向が自動倉庫１の左右方向Ｙである。
【００２２】
自動倉庫１は、主に、一対のラック２（第１ラック２Ａ、第２ラック２Ｂ）と、一対のスタッカクレーン３（第１スタッカクレーン３Ａ、第２スタッカクレーン３Ｂ）とから構成されている。
【００２３】
（２）ラック
第１ラック２Ａ、第２ラック２Ｂは、自動倉庫１の左右方向Ｙに延びるスタッカクレーン通路５を挟むように配置されている。第１ラック２Ａ、第２ラック２Ｂは、所定間隔で左右方向Ｙに沿って並ぶ多数の前側支柱７と、前側支柱７の後方にそれとの間に所定間隔をあけて並ぶ後側支柱９と、前側支柱７および後側支柱９に設けられた多数の物品支承部材１１とを有している。左右一対の物品支承部材１１によって、物品収納棚１３が構成されており、それらの間は後述のスライドフォーク３１の上下方向の移動を許容するフォーク通過間隙１５となっている。各物品収納棚１３には、図から明らかなように、左右上下に多数配置されており、それぞれに物品Ｗを載置可能である。各物品Ｗは、パレットＰ（図２を参照。）上に載置され、パレットＰと共に移動させられる。
なお、第２ラック２Ｂの片側に入庫ステーション１７が配置され、第１ラック２Ａの片側に出庫ステーション１９が配置されている。
【００２４】
（３）スタッカクレーン
次に、図１〜図３を用いて、第１スタッカクレーン３Ａ、第２スタッカクレーン３Ｂについて説明する。なお、図１および図２では、第１スタッカクレーン３Ａ、第２スタッカクレーン３Ｂの構造は簡略化されている。
【００２５】
第１スタッカクレーン３Ａと、第２スタッカクレーン３Ｂは、ラック２の近傍を平行して走行するともに物品Ｗをラック２との間で移載可能である。以下、スタッカクレーンについてより詳細に説明する。第１ラック２Ａ、第２ラック２Ｂの間に、スタッカクレーン通路５に沿って、自動倉庫１の前後方向Ｘに並んだ第１走行レール２１Ａ、第２走行レール２１Ｂが設けられている。第１走行レール２１Ａ、第２走行レール２１Ｂは、それぞれ上下一対のレール２６を有しており、これらレール２６によって、第１スタッカクレーン３Ａおよび第２スタッカクレーン３Ｂが自動倉庫１の左右方向Ｙに移動可能に案内されている。
【００２６】
第１スタッカクレーン３Ａ、第２スタッカクレーン３Ｂは、主に、走行台車２２と、走行台車２２に設けられた一対のマスト２３（左側マスト２３Ａ、右側マスト２３Ｂ）と、左側マスト２３Ａおよび右側マスト２３Ｂの上端を連結する上側フレーム２５と、走行台車２２に設けられた走行車輪２７と、左側マスト２３Ａおよび右側マスト２３Ｂに昇降自在に装着された昇降台２９と、昇降台２９に進退機構（図６の移載モータ６７を含む）によって前後方向Ｘに摺動自在に設けられたスライドフォーク３１とを有している。昇降台２９は、左側マスト２３Ａおよび右側マスト２３Ｂにガイドされる昇降ガイドローラ３４を有する。
【００２７】
スライドフォーク３１は、前後方向Ｘの両側にスライド可能であるので、第１ラック２Ａおよび第２ラック２Ｂの両方にアクセス可能である。つまり、スライドフォーク３１は自機が走行する走行レールに隣接するラックと、他機が走行する走行レールに隣接するラックのいずれとの間で物品Ｗを移載可能である。
【００２８】
なお、図２および図３において、昇降台２９のスライドフォーク３１の上には、パレットＰと物品Ｗが載っている。
【００２９】
以下の説明では、昇降台２９とスライドフォーク３１をまとめて、移載部３２として説明する。移載部３２には、物品ＷおよびパレットＰが搭載されている場合と、搭載されていない場合とがある。
【００３０】
移載部３２は、水平・昇降方向により形成される二次元平面（図３のＹ−Ｚ平面）内を移動して、物品Ｗの搬出入を行っている。移載部３２は、走行台車２２の走行動作と昇降装置の昇降動作の組み合わせによって、平面内で自由に移動可能である。図２から明らかなように、移載部３２同士は前後方向Ｙに重なる位置に配置されており、そのため、移載部３２同士が上下方向に完全にずれている場合にのみ、第１スタッカクレーン３Ａと第２スタッカクレーン３Ｂはすれ違い走行が可能である。
【００３１】
第１スタッカクレーン３Ａ、第２スタッカクレーン３Ｂは、図３に詳細に示すように（図１および図２では省略）、制御盤３３と、走行モータ３５と、昇降モータ３７とを有している。制御盤３３は、右側マスト２３Ｂのさらに後側に設けられている。走行モータ３５は、左側マスト２３Ａに設けられている。昇降モータ３７は、左側マスト２３Ａに設けられている。
【００３２】
制御盤３３は、内部に、走行モータ３５や昇降モータ３７用のインバータ、コンバータ、ブレーカ等の電装機器を有している。制御盤３３には、後述するクレーンコントローラが収納されている。
【００３３】
昇降モータ３７は、図３に示すように、ドラム４１を駆動可能である。ドラム４１からは、ワイヤ４３が延びている。ワイヤ４３は、上側フレーム２５に設けられたローラ４４に掛け回され、さらに昇降台２９に連結されている。
【００３４】
（４）スタッカクレーンの制御構成
次に、図４および図５を用いて、自動倉庫１の制御構成を説明する。図４は、第１実施例としての自動倉庫制御構成を示す機能ブロック図である。図５は、第２実施例としての自動倉庫制御構成を示す機能ブロック図である。
【００３５】
図４では、システムコントローラ４５、第１クレーンコントローラ４７Ａ、第２クレーンコントローラ４７Ｂが示されている。第１クレーンコントローラ４７Ａは、第１スタッカクレーン３Ａに搭載されおり、第１スタッカクレーン３Ａの動作を制御する。第２クレーンコントローラ４７Ｂは、第２スタッカクレーン３Ｂに搭載されており、第２スタッカクレーン３Ｂの動作を制御する。システムコントローラ４５は、第１クレーンコントローラ４７Ａ、第２クレーンコントローラ４７Ｂより上位のコントローラであり、第１クレーンコントローラ４７Ａ、第２クレーンコントローラ４７Ｂと交信可能である。図４に示す第１実施例では、第１クレーンコントローラ４７Ａ、第２クレーンコントローラ４７Ｂはシステムコントローラ４５を介してのみ互いに交信する。図５に示す第２実施例では、第１クレーンコントローラ４７Ａ、第２クレーンコントローラ４７Ｂは、システムコントローラ４５を介さずに直接交信可能である。
なお、第１クレーンコントローラ４７Ａと第２クレーンコントローラ４７Ｂが互いに送受信するデータには、正常・異常を知らせる状態データ、実行中の搬送データ、現在位置が含まれている。
【００３６】
次に、図６を用いて、制御盤３３内に配置された第１クレーンコントローラ４７Ａについて説明する。図６は、スタッカクレーンの制御部の機能ブロック図である。なお、第２クレーンコントローラ４７Ｂは、第１クレーンコントローラ４７Ａと同様であるので、説明を省略する。また、第１クレーンコントローラ４７Ａ、第２クレーンコントローラ４７Ｂは、スタッカクレーンに搭載されていなくてもよい。
【００３７】
第１クレーンコントローラ４７Ａは、メインコントローラ５３と、走行制御部５５と、昇降制御部５７と、移載制御部５９とを有している。これら制御部は、ＣＰＵやメモリ等のコンピュータ・ハードウェアを含んでおり、図４においてはコンピュータ・ハードウェアとソフトウェアの協働によって実現される機能ブロックとして表現されている。なお、これら制御部は、複数の機能を持つ単独のコンピュータによって実現されてもよい。
【００３８】
メインコントローラ５３は、走行制御部５５，昇降制御部５７および移載制御部５９と交信可能である。さらに、メインコントローラ５３は、システムコントローラ４５および第２クレーンコントローラ４７Ｂとも交信可能である。交信は定期的にまたは必要に応じて行われる。
【００３９】
走行制御部５５は、走行車輪２７の走行・停止を制御するための制御部であり、走行モータ３５と、ロータリエンコーダ６３に接続されている。昇降制御部５７は、昇降台２９を左側マスト２３Ａおよび右側マスト２３Ｂに沿って上下動させるための制御部であり、昇降モータ３７と、ロータリエンコーダ６５に接続されている。移載制御部５９は、スライドフォーク３１を前後方向Ｘに移動させるための制御部であり、移載モータ６７と、ロータリエンコーダ６９に接続されている。
【００４０】
（５）スタッカクレーンの状態遷移
図７を用いて第１スタッカクレーン３Ａおよび第２スタッカクレーン３Ｂの状態遷移について説明する。図７は、スタッカクレーンの状態遷移図である。
【００４１】
状態としては、ｉｄｌｅ（アイドル状態）、ｍｏｖｅ（移動状態）、ｔｒａｎｓｆｅｒ（移載状態）、ｗａｉｔ（待機状態）の４種類がある。ある状態から他の状態への移行は、ある時間間隔で監視して条件が一致するのを待って行われる。ｉｄｌｅでは、移動または移載の動作計画を行う。ｍｏｖｅでは、移載部３２を目標位置まで走行させる。ｔｒａｎｓｆｅｒでは、移載部３２がラック２との間で物品Ｗを移載する。ｗａｉｔでは、移載部３２は待機状態になり、他の移載部３２と干渉しない状態になるまで待つ。なお、ｗａｉｔは、他機との状況が変化するのを待っている状態であり、動作生成を行わない。他機が動作生成を行えば、ｗａｉｔは解除される。
【００４２】
スタッカクレーンの状態がｉｄｌｅの場合は、ｆｉｎｄＴｒａｊｅｃｔｏｒｙ（）または、ｆｉｎｄＷａｉｔＴｉｍｅｆｏｒＴｒａｎｓｆｅｒ（）を実行して、ｍｏｖｅ、ｔｒａｎｆｅｒ、またはｗａｉｔに移行するのを待つ。ｆｉｎｄＴｒａｊｅｃｔｏｒｙ（）は、移動に際しての動作計画のための関数である。待っている間に定期的に他のスタッカクレーンの状態を監視して、それがｗａｉｔであればｉｄｌｅに移行させる。
【００４３】
スタッカクレーンの状態がｉｄｌｅの場合について説明する。移動を計画している場合は、ｆｉｎｄＴｒａｊｅｃｔｏｒｙ（）を実行してｍｏｖｅへ移行する。移載部３２が目標位置に到着すれば、ｍｏｖｅからｉｄｌｅに移行する。
移載を計画している場合は、ｆｉｎｄＷａｉｔＴｉｍｅｆｏｒＴｒａｎｓｆｅｒ（）を実行してｔｒａｎｓｆｅｒへ移行する。物品Ｗの移載が完了すれば、ｔｒａｎｆｅｒからｉｄｌｅに移行する。ｉｄｌｅは、ｆｉｎｄＴｒａｊｅｃｔｏｒｙ（）またはｆｉｎｄＷａｉｔＴｉｍｅｆｏｒＴｒａｎｓｆｅｒ（）を実行してｗａｉｔに移行する。スタッカクレーンの状態がｗａｉｔの場合は、周期的にまたは他機により、ｉｄｌｅへ移行する。
【００４４】
さらに、ＤｅｔｅｃｔＣｏｌｌｉｓｉｏｎＯｎＵｎｕｓｕａｌ（）＝ＮＧの場合、移載部は減速停止して、ｍｏｖｅからｗａｉｔに移行する。これは移動時の干渉回避であり、他の移載部３２が緊急停止した場合にのみ実行される。より詳細には、ある時間間隔で監視して、他の移載部３２が緊急停止した際に、そのまま自機が移動を継続すると干渉すると判断すると、自機を減速停止する。
【００４５】
（６）軌道決定・移動処理の概要説明
図８を用いて、ｉｄｌｅにおいて、ｆｉｎｄＴｒａｊｅｃｔｏｒｙ（）が実行されたときの動作を説明する。図８は、クレーンコントローラによる軌道決定・移動処理を示すフローチャートである。
なお、以下の説明では、第１スタッカクレーン３Ａの移載部３２を移動対象として説明する。
【００４６】
最初に、各ステップの流れの概要を説明して、その後に各ステップを詳細に説明する。
ステップＳ１では、第１クレーンコントローラ４７Ａは、移動開始前に、自機の移載部３２が軌道の選択で他の移載部３２と干渉を回避可能か否かを判断する。軌道の選択で干渉を回避可能であると判断されれば、プロセスはステップＳ２に移行する。ステップＳ２では、第１クレーンコントローラ４７Ａは軌道を選択して（後述）、その後プロセスはステップＳ３に移行する。ステップＳ３では、第１クレーンコントローラ４７Ａは、選択された軌道に沿って移載部３２を走行させる。つまり、第１スタッカクレーン３Ａの状態がｉｄｌｅからｍｏｖｅに移行する。
【００４７】
ステップＳ１で軌道の選択で他の移載部３２と干渉を回避不可能であると判断されれば、プロセスはステップＳ４へ移行する。ステップＳ４では、第１クレーンコントローラ４７Ａは、選択した軌道の軌道条件の修正によって干渉を回避可能か否かを判断する。したがって、移載部３２同士の干渉がより確実に防止される。軌道条件の修正によって干渉を回避可能であると判断されれば、プロセスはステップＳ５に移行する。ステップＳ５では、第１クレーンコントローラ４７Ａが２つの回避方法のうち所要時間が短い方を採用して（後述）、その後プロセスはステップＳ６に移行する。これにより、最適な軌道は保証されないものの、その条件の下で移載部３２がより早く目標位置に到達できるようになる。ステップＳ６では、第１クレーンコントローラ４７Ａは、修正された軌道条件に基づいて移載部３２を走行させる。つまり、第１スタッカクレーン３Ａの状態がｉｄｌｅからｍｏｖｅに移行する。
なお、ステップＳ４では、干渉がない回避軌道を１つでも見付けた時点で、ステップＳ４の判断が終了したとしてもよい。また、また、ステップＳ４では、ステップＳ５と同じ手順で演算を行い判断した上で、その情報をステップＳ５でも使用することにしてもよい。
【００４８】
ステップＳ４で軌道条件の修正によって干渉を回避不可能であると判断されれば、プロセスはステップＳ７に移行する。ステップＳ７では、第１クレーンコントローラ４７Ａは、デッドロック状態であるか否かを判断する。互いの進行方向に相手先があることを検出してデッドロック状態であると判断されれば、プロセスはステップＳ８に移行する。ステップＳ８では、第１クレーンコントローラ４７Ａは退避経路を生成して（後述）、その後プロセスはステップＳ６に移行する。ステップＳ６では、第１クレーンコントローラ４７Ａは、退避経路上に移載部３２を走行させる。つまり、つまり、第１スタッカクレーン３Ａの状態がｉｄｌｅからｍｏｖｅに移行する。
【００４９】
ステップＳ７でデッドロック状態ではないと判断されれば、プロセスはステップＳ９に移行する。ステップＳ９では、第１クレーンコントローラ４７Ａは、移載部３２を待機状態にする（後述）。つまり、第１スタッカクレーン３Ａの状態がｉｄｌｅからｗａｉｔに移行する。
【００５０】
（７）軌道選択動作（図８のステップＳ２）
図９〜図１１を用いて、図８のステップＳ２の軌道選択動作について詳細に説明する。図９は、クレーンコントローラの軌道選択処理を示すフローチャートである。図１０は、出発位置と目標位置との間にある複数の軌道を示す模式図である。図１１は、出発位置と目標位置との間にある２つの軌道を示す模式図である。
【００５１】
第１クレーンコントローラ４７Ａ、第２クレーンコントローラ４７Ｂは、移載部３２の移動開始前に、複数の最短時間経路の中から、他の移載部３２との干渉を回避できる最短時間経路を探索する。選択の対象となる最短時間経路は、出発位置から目標位置までを対角とする上下左右の領域の境界ラインを構成する２つの最短時間経路（第１軌道８１、第４軌道８４）のみである。
【００５２】
以下、選択処理について詳細に説明する。移載部３２は、走行・昇降のいずれの方向に移動可能である。走行・昇降方向の制御は独立しており、台形近似された速度テーブルが各軸の移動距離に応じて与えられる。図１０では、出発位置９１から目標位置９３までの間に、複数の軌道（第１軌道８１、第２軌道８２、第３軌道８３、第４軌道８４）が示されている。この場合、走行方向の距離が昇降方向の距離に比べて長いので、走行方向の移動時間が昇降方向の移動時間より長くなっている。これら軌道は、いずれも、走行方向にかかる時間が一定であり、昇降方向動作の開始タイミングのみまたは昇降方向動作の開始タイミングおよび速度を変更することで異なるものになっている。具体的には、昇降軸方向の移動開始を遅らせていくことで、軌道はだんだんと右側にシフトしていく。このことは、走行軸の移動時間−昇降軸の移動時間の範囲内では走行または昇降の移動開始時刻を調整することで、最短時間が保証された軌道を複数の候補から選択できることを意味する。
前述の２つの最短時間経路は、言い換えると、出発位置から目標位置までの走行時間と昇降時間を比較して長い方の時間に対する短い方の開始時間を最も早くした場合の第１の軌道と、最も遅くした場合の第２の軌道である。
【００５３】
これら複数の軌道の中で実際に第１クレーンコントローラ４７Ａが選択において考慮するのは、出発位置から目標位置までの軌道の集合が構成する四角形（または平行四辺形）の領域の最も外側を通る第１軌道８１および第４軌道８４だけである。これら第１軌道８１と第４軌道８４は、２つの軌道の組としては最も離れた２つの軌道からなる組み合わせである。したがって、両方の軌道のいずれにおいても干渉が発生する場合には、干渉を回避できる軌道は存在しない。つまり、軌道選択という観点では、第１軌道８１または第４軌道８４のいずれかを選択すれば十分である。
【００５４】
この自動倉庫１では、第１クレーンコントローラ４７Ａは２つの最短時間経路のみを回避経路として探索する。したがって、回避経路探索処理にかかる演算量が少なくなる。その結果、第１クレーンコントローラ４７Ａは短期間で回避経路を決定できる。
なお、軌道の数は通常は２つであるが、例えば水平方向または垂直方向に移動する場合は、軌道は１つになる。
【００５５】
図９のステップＳ１１では、第１クレーンコントローラ４７Ａは第１軌道８１が安全であるか否かを判断する。安全であると判断されれば、プロセスはステップＳ１２に移行する。ステップＳ１２では、第１クレーンコントローラ４７Ａは第１軌道８１を軌道として選択する。
【００５６】
ステップＳ１１で第１軌道８１が安全ではないと判断されれば、プロセスはステップＳ１３に移行する。ステップＳ１３では、第４軌道８４が安全であるか否かを判断する。第４軌道８４が安全であると判断されれば、プロセスはステップＳ１２に移行する。ステップＳ１２では、第１クレーンコントローラ４７Ａは第４軌道８４を軌道として選択する。
【００５７】
ステップＳ１３で第４軌道８４が安全ではないと判断されれば、プロセスはステップＳ１４に移行する。ステップＳ１４では、第１クレーンコントローラ４７Ａは軌道選択を行わないことを決定する。
【００５８】
（８）軌道条件の変更による回避手法の選択（図８のステップＳ５）
図１２〜図１４を用いて、ステップＳ５の軌道条件の変更による回避手法の選択を説明する。図１２は、移載部同士が干渉する可能性がある場合に一方の移載部の走行開始タイミングを遅らせる手法を説明するための模式図である。図１３は、移載部同士が干渉する可能性がある場合に一方の移載部が迂回経路を走行する手法を説明するための模式図である。図１４は、軌道条件の変更による回避手法の選択処理を示すフローチャートである。
【００５９】
図１２の実施例において、第１移載部１０１と第２移載部１０２の走行予定軌道は、一部重なっているが、互いに重なっていない部分もある。より具体的には、第１移載部１０１は、第２移載部１０２の反対側の位置を目標位置にしており、第２移載部１０２に向かって走行する。第２移載部１０２は、第１移載部１０１の横側の位置を目標位置にしており、最初は第１移載部１０１に向かって走行して途中から図上側にそれていく。ただし、第１移載部１０１と第２移載部１０２は、衝突位置９５において衝突することが予測されている。この実施例では、第１移載部１０１の移動を考えると、第１移載部１０１の走行開始タイミングを送らせる手法かまたは第１移載部１０１が経由点９９を通る迂回経路１００を走行する手法のいずれでも干渉を回避できる。
【００６０】
図１３の実施例において、第４移載部１０４の走行予定軌道は、第３移載部１０３の走行予定軌道に含まれている。より具体的には、第３移載部１０３は、目標位置は第４移載部１０４の後側にあり、第４移載部１０４に向かって走行する。第４移載部１０４は、目標位置が第３移載部１０３の前側にあり、第３移載部１０３に向かって走行する。ただし、第３移載部１０３と第４移載部１０４は、衝突位置９７において衝突することが予測されている。この実施例では、第３移載部１０３の移動を考えると、走行開始時間を遅らせても干渉を回避できないので、第３移載部１０３が経由点１２０を通る迂回経路１２１を走行する手法を採用する。
【００６１】
第１クレーンコントローラ４７Ａは、軌道条件の変更による回避手法の選択処理を実行する。図１４において、ステップＳ２１では、第１クレーンコントローラ４７Ａは、走行開始タイミングを遅らす手法で干渉回避できるか否かを判断する。干渉回避できないと判断されれば、プロセスはステップＳ２５に移行する。ステップＳ２５では、第１クレーンコントローラ４７Ａは、迂回経路を生成する手法を用いることを決定する。
【００６２】
ステップＳ２１で干渉回避できると判断されれば、プロセスはステップＳ２２、ステップＳ２３、ステップＳ２４、ステップＳ２５の順番で移行する。ステップＳ２２では、第１クレーンコントローラ４７Ａは、移載部３２の走行開始タイミングを遅らせる手法を採用した場合の走行開始遅れ時間を計算する。ステップＳ２３では、第１クレーンコントローラ４７Ａは移載部３２が迂回経路を走行する手法を採用した場合の余計にかかった時間を計算する。ステップＳ２４では、第１クレーンコントローラ４７Ａは、走行開始遅れ時間と迂回経路によって余計にかかった時間を比較して、短い方の手法を選択する。ステップＳ２５では、第１クレーンコントローラ４７Ａは、選択された手法を採用することを決定する。
【００６３】
（９）二分法
次に、図１５を用いて、二分法を説明する。図１５は、二分法による最適値を決定する処理を示すフローチャートである。二分法は、出発開始遅れ時間の設定および迂回経路の経由点設定の両方に適用可能である。
【００６４】
最初に、一般的な二分法の処理について説明する。
ステップＳ３１では、第１クレーンコントローラ４７Ａは、最大値を設定する。
ステップＳ３２では、第１クレーンコントローラ４７Ａは、中間点を探索する。
【００６５】
ステップＳ３３では、第１クレーンコントローラ４７Ａは、中間点の条件で走行させた場合に移載部３２同士の干渉があるか否かを判断する。干渉があると判断されればプロセスはステップＳ３４に移行して、第１クレーンコントローラ４７Ａは基準の中間点から見て値が大きい側の領域の中間点を探索する。干渉がないと判断されればプロセスはステップＳ３５に移行する。ステップＳ３５では、第１クレーンコントローラ４７Ａは、直前の分割による分割後長さ（探索の刻み幅）が所定値以下であるか否かを判断する。所定値以下であると判断されれば、プロセスは終了する。所定値を超えると判断されれば、プロセスはステップＳ３６に移行して、第１クレーンコントローラ４７Ａは基準の中間点から見て値が小さい側の領域の中間点を探索する。
ステップＳ３４またはステップＳ３６の終了後、プロセスはステップＳ３３に戻る。
【００６６】
（９−１）出発開始遅れ時間の設定
次に、図１６を用いて、出発開始遅れ時間の設定に二分法を用いた場合を説明する。図１６は、干渉ありの０から干渉なしのｔｍａｘまでの時間軸である。
【００６７】
時間軸７１に基づいて説明する。ステップＳ３１では、第１クレーンコントローラ４７Ａは、最大値として図１６のｔｍａｘを設定する。ｔｍａｘは、例えば、移動予定時間の２倍に設定される。ｔｍａｘは、他の移載部３２の移動が完了するまでの時間であってもよい。
【００６８】
ステップＳ３２では、第１クレーンコントローラ４７Ａは、時間軸７１全体の中間点を探索する。図１６では、中間点は（１）で示されている。
【００６９】
ステップＳ３３では、第１クレーンコントローラ４７Ａは、第１中間点（１）の時間だけ走行を遅らせた場合に移載部３２同士の干渉があるか否かを判断する。この場合は、干渉はないので、プロセスはステップＳ３５に移行して、第１クレーンコントローラ４７Ａは、直前の分割による分割後長さが所定値以下であるか否かを判断する。所定値は、例えば０．１秒である。この場合は所定値を超えているので、プロセスはステップＳ３６に移行する。ステップＳ３６では、第１クレーンコントローラ４７Ａは、直前に探索した中間点から見て値が小さい側の領域の中間点を探索する。この場合は、第２中間点（２）が選択される。
【００７０】
以下、ステップＳ３３〜Ｓ３６の流れを繰り返して、中間点は（１）、（２）、（３）、（４）、（５）と移動していく。そして、ステップＳ３４で第５中間点（５）が探索されると、ステップＳ３３で干渉がないと判断され、さらにステップＳ３５で中間点（４）、（５）の間の長さが所定値以下になると判断され、その結果、ステップＳ３７で第５中間点（５）の値が走行開始遅れ時間に設定される。この値は、干渉が起こらない範囲で遅延時間を可能な限り短くした時間となっている。
以上に述べたように、第１クレーンコントローラ４７Ａは移動開始を遅らす時間を決定するのに二分法を用いるので、経路探索にかける時間が短縮される。
【００７１】
（９−２）迂回経路の経由点の設定
次に、図１７を用いて、迂回経路の経由点の設定に二分法を用いた場合を説明する。図１７は、走行予定軌道から離れた経由点を決定するプロセスを示す模式図である。
【００７２】
以下、第５移載部１０５の第１クレーンコントローラ４７Ａについて説明する。ステップＳ３１では、図１７において、第１クレーンコントローラ４７Ａは、第５移載部１０５の出発位置７３と目標位置７５を結ぶベクトル７６における中間点７７の法線７８の延びる方向に最大値としてのｄｍａｘを設定する。ｄｍａｘは、レイアウト上で可能な最大距離であり、その方向はベクトル７６で分割された２つの領域のうち第６移載部１０６が存在しないまたは第６移載部１０６の影響が少ない領域側に設定される。これにより、第５移載部１０５と第６移載部１０６の干渉がより確実に防止される。ｄｍａｘは、十分大きな固定値として例えば３０００ｍｍでもよい。
以上に述べたように、経由点を求めるための法線を引く点が出発位置と目標位置とを結ぶ直線の中間点であるので、経路探索にかける時間が短縮される。
【００７３】
ステップＳ３２では、第１クレーンコントローラ４７Ａは、中間点を探索する。図１７では、中間点は（１）で示されている。
【００７４】
ステップＳ３３では、第１クレーンコントローラ４７Ａは、第１中間点（１）の距離だけ離れて走行させた場合に第５移載部１０５と第６移載部１０６の干渉があるか否かを判断する。この場合は、干渉はないので、プロセスはステップＳ３５に移行して、第１クレーンコントローラ４７Ａは、直前の分割による分割後長さが所定値以下であるか否かを判断する。所定値は、例えば１０ｍｍである。この場合は所定値を超えるので、プロセスはステップＳ３６に移行する。ステップＳ３６では、第１クレーンコントローラ４７Ａは直前に探索した中間点から見て値が小さい側の領域の中間点を探索する。この場合は、第２中間点（２）が選択される。
【００７５】
以下、ステップＳ３３〜Ｓ３６の流れを繰り返して、中間点は（１）、（２）、（３）と移動していく。そして、ステップＳ３４で第３中間点（３）が探索されると、ステップＳ３３で干渉がないと判断され、さらにステップＳ３５で直前の分割による分割後長さが所定値以下になると判断され、その結果、ステップＳ３７で第３中間点（３）の値が経由点に設定される。経由点の位置は、干渉が起こらない範囲で走行予定軌道から最も近くなっている。その結果、移動経路を短く設定できる。
【００７６】
経由点が定まると、出発点から経由点までの軌道として前述のように最短時間移動可能領域の境界を構成する２つの軌道を選択可能であり、さらに経由点から目標位置までの軌道として最短時間移動可能領域の境界を構成する２つの軌道を選択可能である。
なお、経由点の方向を決定するときには、選択した点から法線方向両側にそれぞれ経由点を求めて、距離が短い方を採用してもよい。
【００７７】
なお、迂回経路の経由点は、出発位置と目標位置との間に形成される線上の一点の法線上にあればよい。したがって、例えば、第１クレーンコントローラ４７Ａは、遅れなしで移動開始した場合の衝突地点を始点として、出発位置と衝突位置とを結ぶベクトルの衝突位置における法線上に経由点を設定してもよい。そのような場合を、図１８を用いて、説明する。図１８は、走行予定軌道から離れた経由点を決定するプロセスを示す模式図である。
【００７８】
以下、第７移載部１０７の第１クレーンコントローラ４７Ａについて説明する。ステップＳ３１では、図１８において、第１クレーンコントローラ４７Ａは、第７移載部１０７と第８移載部１０８が干渉すると予想される衝突位置１２２において出発位置と衝突位置とを結ぶベクトル上の衝突位置１２２に直交する方向に法線１２３の延びる方向に最大値としてのｄｍａｘを設定する。ｄｍａｘは前述の実施例と同様である。
以上に述べたように、経由点を求めるための法線を引く点が衝突地点であるので、経路探索にかける時間が短縮される。
【００７９】
ステップＳ３２では、第１クレーンコントローラ４７Ａは、中間点を探索する。図１８では、中間点は（１）で示されている。
【００８０】
ステップＳ３３では、第１クレーンコントローラ４７Ａは、第１中間点（１）の距離だけ離れて走行させた場合に第７移載部１０７と第８移載部１０８同士の干渉があるか否かを判断する。この場合は、干渉はないので、プロセスはステップＳ３５に移行して、第１クレーンコントローラ４７Ａは、直前の分割による分割後長さが所定値以下であるか否かを判断する。所定値は、例えば１０ｍｍである。この場合は所定値を超えるので、プロセスはステップＳ３６に移行する。ステップＳ３６では、第１クレーンコントローラ４７Ａは直前に探索した中間点から見て値が小さい側の領域の中間点を探索する。この場合は、第２中間点（２）が選択される。
【００８１】
以下、ステップＳ３３〜Ｓ３６の流れを繰り返して、中間点は（１）、（２）、（３）と移動していく。そして、ステップＳ３４で第３中間点（３）が探索されると、ステップＳ３３で干渉がないと判断され、さらにステップＳ３５で直前の分割による分割後長さが所定値以下になると判断され、その結果、ステップＳ３７で第３中間点（３）の値が経由点に設定される。経由点の位置は、干渉が起こらない範囲で走行予定軌道から最も近くなっている。その結果、移動経路を短く設定できる。
【００８２】
経由点が定まったあとの軌道の選択は前記実施例と同様である。
【００８３】
この自動倉庫１では、移載部が経由する経由点を選択した最短時間経路の一点の法線上の点とすることで、クレーンコントローラにおける経路探索に関する演算処理の負荷が少なくなる。したがって、経路探索にかかる時間が短縮される。
【００８４】
（１０）デッドロック状態の退避路形成（図８のステップＳ８）
図１９を用いて、デッドロック状態の退避路形成について説明する。図１９は、デッドロック状態で移載部が退避する動作を示す模式図である。
【００８５】
図１９に示すように、第９移載部１０９と第１０移載部１１０は、目標位置が互いの後ろ側にあり、互いに向かって走行するようになっている。このよう両移載部が待機状態になるデッドロック状態において、第９移載部１０９の動作について説明する。第９移載部１０９の第１クレーンコントローラ４７Ａは、第９移載部１０９を走行予定軌道に対して法線方向に移動させる。このとき、第１クレーンコントローラ４７Ａは、退避距離ｄａｖｏｉｄを二分法で決定する。ここでは、二分法については説明を省略する。例えば、待避距離の初期値は３０００ｍｍであり、終了条件は探索の刻み幅が１０ｍｍ以下に設定されている。最終的に、干渉を回避できる範囲で最も移動距離が短いｄａｖｏｉｄが決定される。
なお、待避経路は、法線方向に固定値で設定されてもよいし、さらには走行予定方向に沿っていずれかの側に固定値で設定されてもよい。
【００８６】
（１１）待機状態への移行（図８のステップＳ９）
図２０を用いて、図８のステップＳ９での待機状態への移行について説明する。図２０は、２つの移載部が同一または干渉が生じる物品収納棚にアクセスしようとした場合の待機動作を示す模式図である。
【００８７】
図２０において、目標位置の物品収納棚１３に対して、第１１移載部１１１と、第１２移載部１１２が接近しようとしている。この場合、第１１移載部１１１は第１２移載部１１２より目標位置に近い位置を走行中である。以下、第１２移載部１１２の第１クレーンコントローラ４７Ａについて説明する。
【００８８】
第１２移載部１１２の移動前に、第１クレーンコントローラ４７Ａは、以下の制御を行う。第１クレーンコントローラ４７Ａは、第１１移載部１１１が先に目標位置に到達すると判断すれば、自機の待機ポイントを設定する。待機ポイントは目標位置の近傍であって第１１移載部１１１に干渉しない位置である。この待機ポイントは目標位置に対して最短の距離にあることが好ましい。この実施例では、待機ポイントは、目標位置の物品収納棚１３Ａの一つ横にある物品収納棚１３Ｂである。
【００８９】
第１クレーンコントローラ４７Ａは、第１１移載部１１１が他の位置に移動して、第１２移載部１１２が目標位置の物品収納棚１３Ａに移動しても両移載部が干渉しなくなるまで待つ。具体的には、第１１移載部１１１が移動開始したことを知らせる情報を受信してから、第１２移載部１１２は移動を開始する。
【００９０】
（１２）移載動作時の干渉回避処理
図２１を用いて、ｉｄｌｅにおいて、ｆｉｎｄＷａｉｔＴｉｍｅｆｏｒＴｒａｎｓｆｅｒ（）が実行されたときの動作を説明する。図２１は、クレーンコントローラの移載動作前の干渉回避処理を示すフローチャートである。以下、第１スタッカクレーン３Ａの動作を説明する。
【００９１】
ステップＳ４１では、第１クレーンコントローラ４７Ａは、移載開始時に、移載を開始すると伸びたスライドフォーク３１が他のスタッカクレーン（第２スタッカクレーン３Ｂ）の移載部３２やマスト２３に干渉するか否かを判断する。干渉すると判断すれば、プロセスはステップＳ４２に移行して、第２スタッカクレーン３Ｂが干渉位置から離れるのを待つ。
【００９２】
ステップＳ４１で干渉しないと判断されれば、プロセスはステップＳ４３に移行する。ステップＳ４３では、第１クレーンコントローラ４７Ａは、移載動作完了までに第２スタッカクレーン３Ｂがスライドフォーク３１の伸びる側の第２走行レール２１Ｂを通過するか否かを判断する。通過しないと判断されれば、プロセスはステップＳ４５に移行し、移載動作が開示される。つまり、第１スタッカクレーン３Ａの状態がｉｄｌｅからｔｒａｎｓｆｅｒに移行する。
【００９３】
ステップＳ４３で第２スタッカクレーン３Ｂが通過すると判断されれば、プロセスはステップＳ４４に移行する。このステップが実行されるのは、具体的には、スライドフォーク３１が、第２ラック２Ｂ（第１スタッカクレーン３Ａから見て遠い側のラック）との間で物品Ｗを移載している場合である。ステップＳ４４では、第１クレーンコントローラ４７Ａは、移載中に第２スタッカクレーン３Ｂに異常が発生した場合に干渉するか否かを判断する。具体的には、移載完了時に第１スタッカクレーン３Ａと第２スタッカクレーン３Ｂとの距離が第１スタッカクレーン３Ａから緊急停止位置までの距離よりも短いか否かが判断される。つまり、移載完了時に第１スタッカクレーン３Ａと第２スタッカクレーン３Ｂとの距離が第１スタッカクレーン３Ａから緊急停止位置までの距離よりも短ければ、第２スタッカクレーン３Ｂに異常が生じた場合に第２スタッカクレーン３Ｂが第１スタッカクレーン３Ａに干渉する可能性がある。他方、移載完了時に第１スタッカクレーン３Ａと第２スタッカクレーン３Ｂとの距離が第１スタッカクレーン３Ａから緊急停止位置までの距離よりも長ければ、第２スタッカクレーン３Ｂに異常が生じた場合でも第２スタッカクレーン３Ｂが第１スタッカクレーン３Ａに干渉する可能性がない。干渉すると判断されれば、プロセスはステップＳ４２に移行する。干渉しないと判断されれば、プロセスはステップＳ４５に移行する。
【００９４】
（１３）他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組合せ可能である。
前記実施形態では、軌道選択動作、迂回路形成動作、走行開始時間遅延動作、待避動作、待機動作を一定の組み合わせで実現しているが、これら動作は個々別々に実現されてもよいし、他の組み合わせで実現されてもよい。
【産業上の利用可能性】
【００９５】
本発明は、２台のスタッカクレーンがすれ違い走行可能に配置された自動倉庫に広く適用できる。
【符号の説明】
【００９６】
１        自動倉庫
２        ラック
２Ａ      第１ラック
２Ｂ      第２ラック
３        スタッカクレーン
３Ａ      第１スタッカクレーン
３Ｂ      第２スタッカクレーン
５        スタッカクレーン通路
７        前側支柱
９        後側支柱
１１      物品支承部材
１３      物品収納棚（物品載置部）
１５      フォーク通過間隙
１７      入庫ステーション
１９      出庫ステーション
２１Ａ    第１走行レール
２１Ｂ    第２走行レール
２２      走行台車（走行部）
２３      マスト（昇降部）
２３Ａ    左側マスト（昇降部）
２３Ｂ    右側マスト（昇降部）
２５      上側フレーム
２６      レール
２７      走行車輪
２９      昇降台（移載部）
３１      スライドフォーク（移載部）
３２      移載部
３３      制御盤
３４      昇降ガイドローラ
３５      走行モータ
３７      昇降モータ
４１      ドラム
４３      ワイヤ
４４      ローラ
４５      システムコントローラ
４７Ａ    第１クレーンコントローラ（制御部）
４７Ｂ    第２クレーンコントローラ（制御部）
５３      メインコントローラ
５５      走行制御部
５７      昇降制御部
５９      移載制御部
６３      ロータリエンコーダ
６５      ロータリエンコーダ
６７      移載モータ
６９      ロータリエンコーダ
７１      時間軸
７３      出発位置
７５      目標位置
７６      ベクトル
７７      中間点
７８      法線
８１      第１軌道
８２      第２軌道
８３      第３軌道
８４      第４軌道
９１      出発位置
９３      目標位置
９５      衝突位置
９７      衝突位置
９９      経由点
１００    迂回経路
１０１    第１移載部
１０２    第２移載部
１０３    第３移載部
１０４    第４移載部
１０５    第５移載部
１０６    第６移載部
１０７    第７移載部
１０８    第８移載部
１０９    第９移載部
１１０    第１０移載部
１１１    第１１移載部
１１２    第１２移載部
１２０    経由点
１２１    迂回経路
１２２    衝突位置
１２３    法線
Ｐ        パレット
Ｗ        物品
【図１】
0005487218.tif 000002
【図２】
0005487218.tif 000003
【図３】
0005487218.tif 000004
【図４】
0005487218.tif 000005
【図５】
0005487218.tif 000006
【図６】
0005487218.tif 000007
【図７】
0005487218.tif 000008
【図８】
0005487218.tif 000009
【図９】
0005487218.tif 000010
【図１０】
0005487218.tif 000011
【図１１】
0005487218.tif 000012
【図１２】
0005487218.tif 000013
【図１３】
0005487218.tif 000014
【図１４】
0005487218.tif 000015
【図１５】
0005487218.tif 000016
【図１６】
0005487218.tif 000017
【図１７】
0005487218.tif 000018
【図１８】
0005487218.tif 000019
【図１９】
0005487218.tif 000020
【図２０】
0005487218.tif 000021
【図２１】
0005487218.tif 000022