以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
図1に示すように、本実施形態の自動倉庫1は、荷物Lを移載する移載装置21を有するスタッカクレーン2と、スタッカクレーン2の走行方向(図1のX軸方向)に沿って複数の荷物Lが載置される複数の棚31(本実施形態では一例として5段2列の棚)を有するラック3と、スタッカクレーン2の動作を制御するコントローラ4と、を備える。ラック3の複数の棚31は、走行方向に沿って所定の間隔で設けられた複数の支柱32によって支持されている。また、自動倉庫1は、荷物Lの入出庫の際に荷物を載置するためのステーション5を備える。自動倉庫1では、コントローラ4の制御の下でスタッカクレーン2が動作することにより、荷物Lのラック3への搬入(荷降ろし)及びラック3からの搬出(荷掬い)が自動化されている。すなわち、ラック3の棚31上の所定の位置とステーション5との間における荷物Lの移載が、スタッカクレーン2によって自動化されている。
スタッカクレーン2は、荷物Lの搬送を行う搬送車の一例である。スタッカクレーン2は、自動倉庫1内に敷設された走行レール6に沿って移動自在とされている。スタッカクレーン2は、移載装置21と、移載装置21を上下方向(図1のZ軸方向)に昇降させる昇降台22と、を有している。
図1及び図2に示すように、移載装置21は、荷物Lを載置するための荷台211と、一対のフォーク212と、を有する。一対のフォーク212のそれぞれは、スタッカクレーン2とラック3とが対向する奥行方向(図1のY軸方向)における一端(図1のラック3側の端部)において、先端がL字状に屈曲した爪部212aを有する。また、一対のフォーク212のそれぞれは、奥行方向における他端においても、爪部212aと同様に先端がL字状に屈曲した爪部212bを有する。爪部212a及び爪部212bは、奥行方向に沿った回動軸周りに回動可能に設けられている。スタッカクレーン2を走行レール6に沿って移動させるとともに昇降台22を昇降移動させることにより、移載装置21を任意の棚31の前方に移動させることができる。この状態で、一対のフォーク212を奥行方向に沿って進退させることで、移載装置21(荷台211)とラック3(棚31)との間で荷物Lを移載することができる。
図2を用いて、移載装置21が棚31に載置された荷物Lを取り込む場合の動作について説明する。この場合、まず、棚31上の荷物Lに爪部212aが干渉しないように爪部212aの先端を上方に向けた状態で、一対のフォーク212が、棚31上の荷物Lの側方に進出する。爪部212aが荷物Lの後端(図2のY軸方向前方側の端部)を越えた後に、爪部212aの先端が内方を向くように一対の爪部212aが回動させられる。その後、図2に示すように、爪部212aの内側を荷物Lの後端に接触させながら一対のフォーク212を後退させることで、棚31上の荷物Lを荷台211上に取り込むことができる。
なお、荷台211上の荷物Lを棚31上に送り出す場合には、例えば上述した荷物Lを取り込む場合の動作と同じ要領で、爪部212bによって荷台211上の荷物Lを棚31上に押し出せばよい。或いは、以下のようにしても荷台211上の荷物Lを棚31上に送り出すことができる。すなわち、荷台211上の荷物Lに爪部212aが干渉しないように爪部212aの先端を上方に向けた状態で、一対のフォーク212が棚31から遠ざかる方向に後退させられる。その後、爪部212aの外側を荷物Lの前端(図2のY軸方向後方側の端部)に接触させながら一対のフォーク212を棚31側に進出させることで、荷台211上の荷物Lを棚31上に送り出すことができる。
昇降台22のラック3に対向する側の側面には、距離センサ23が設けられている。距離センサ23は、奥行方向において当該距離センサ23に対向する物体までの距離を検出する。本実施形態では一例として、距離センサ23は、レーザ光の投光器と受光器とを備えている。投光器から出射されたレーザ光が距離センサ23に対向する物体に当たって反射し、その反射光を受光器が受光することにより、距離センサ23と当該物体との距離が検出される。具体的には、距離センサ23は、投光器からレーザ光が出射されてから、その反射光を受光器が受光するまでの時間を計測することで、距離センサ23と物体との距離を検出する。
なお、距離センサ23の正面位置に荷物L等の物体が存在しない場合、背景(すなわち、ラック3よりも奥側に存在する物体や建屋の壁面等)からの反射光を受光器が受光してしまう可能性がある。そこで、受光器が反射光を受光するまでの時間に閾値時間dtを設定し、受光器が閾値時間dt以内に反射光を受光できない場合、距離センサ23は、予め設定された閾値距離dmaxを検出結果として取得してもよい。なお、閾値時間dtに基づいて閾値距離dmaxを検出結果として取得する処理は、上述のように距離センサ23によって実行されてもよいし、距離センサ23から検出結果(距離データ)を受信するコントローラ4(後述する計測結果取得部42)によって実行されてもよい。
次に、図3を用いて、コントローラ4について説明する。本実施形態では一例として、コントローラ4は、地上側に配置される電子制御ユニットであり、スタッカクレーン2の動作を制御可能なように、スタッカクレーン2と電気的に接続されている。コントローラ4は、スタッカクレーン2に対して、棚31に載置された荷物Lとの距離を距離センサ23で計測しながら走行する計測走行の実施を指示することが可能なように構成されている。計測走行は、例えば地震等が発生した直後等において、棚31上の荷物Lの状態(位置ずれ等)を把握するために実施される。コントローラ4は、計測走行の実施によって得られた計測結果を出力し、当該計測結果を利用した各種処理(詳しくは後述)を実行するように構成されている。
コントローラ4は、機能的構成要素として、計測指示部41と、計測結果取得部42と、出力部43と、算出部44と、載置情報記憶部45と、位置ずれ量記憶部46と、棚情報出力部47と、判断部48と、調整部49と、を備える。コントローラ4は、CPU、ROM、RAM等からなる電子制御ユニットであって、ROMに格納されているプログラムをRAM上にロードし、CPUで実行することによって、上述した機能的構成要素をソフトウェアで構成する。ただし、コントローラ4の上述した機能的構成要素は、ハードウェアで構成されてもよい。
計測指示部41は、計測走行の実施をスタッカクレーン2に指示する。計測指示部41は、例えば作業者からの計測走行実施の指示をタッチパネルや操作キー等を介して受け付けたことを契機として、計測走行の実施をスタッカクレーン2に指示する。また、計測指示部41は、作業者の手動操作によらずに、自動的に計測走行の実施をスタッカクレーン2に指示してもよい。例えば、計測指示部41は、インターネット等の通信回線を介して外部からの地震発生情報を受信したことを契機として、計測走行の実施をスタッカクレーン2に指示してもよい。また、計測指示部41は、夜間の時間帯等の予め設定された開始時刻になったことを契機として、計測走行の実施をスタッカクレーン2に指示してもよい。計測指示部41から計測走行の実施を指示する制御信号を受信したスタッカクレーン2は、予めプログラムされた計測走行の動作を実行する。以下、計測走行の動作の一例について説明する。
スタッカクレーン2は、計測指示部41からの指示を受け付けると、距離センサ23から出射されるレーザ光が計測対象の棚31(図1の例では、5段の棚31のうち特定の段の棚31)に載置された荷物Lに当たるように、昇降台22の高さ位置を設定する。なお、高さが低い荷物Lを含む棚31上の全ての荷物Lについて適切に距離を検出するために、距離センサ23の高さ位置は、なるべく棚31の上面から近い位置に設定されることが好ましい。より具体的には、距離センサ23の高さ位置は、荷物Lの移載動作において、一対のフォーク212を進入させる高さ位置に設定されることが好ましい。これにより、一対のフォーク212を進入させる高さ位置における荷物Lの幅等を的確に把握可能となる。
続いて、スタッカクレーン2は、昇降台22の高さ位置を上述のように設定された位置に固定し、距離センサ23の検出動作をONにした状態で、計測対象の棚31の一端から他端に向かって走行する。この際、スタッカクレーン2は、例えば、走行方向における各位置での距離センサ23による距離検出が可能な程度の速度で連続的に走行する。或いは、スタッカクレーン2は、各位置での距離センサ23による距離検出を確実に行うために、停止と走行とを繰り返してもよい。
検出動作がONにされた状態の距離センサ23は、投光器からのレーザ光の出射及び受光器による反射光の受光を所定間隔毎に繰り返し実行する。ここで、レーザ光を用いた距離センサ23による1回の検出動作は非常に短い時間で完了するため、走行方向における各位置での距離検出がほぼ連続的に実行されることになる。距離センサ23は、例えば、1回の検出動作毎に、検出された距離(計測距離)と当該距離が検出された際の走行方向における距離センサ23の位置(スタッカクレーン2の走行位置)とが関連付けられた計測結果をコントローラ4に送信する。ここで、走行方向における距離センサ23の位置は、例えば、スタッカクレーン2の初期位置を原点位置とした場合の、当該原点位置からの距離(走行方向における距離)として表される。
上述した計測走行をラック3の全ての段の棚31について実施する場合、スタッカクレーン2は、一の段についての計測走行を実施した後、次の計測対象の段の高さ位置に昇降台22の高さ位置を変更し、次の計測対象の段についての計測走行を実施すればよい。なお、このような計測走行を効率的に実行するために、スタッカクレーン2は、以下のように動作してもよい。すなわち、スタッカクレーン2は、昇降台22の高さ位置を最上段の棚31の高さ位置に合わせた後、最上段の棚31の一端(ステーション5側の端)から他端(ステーション5から遠い側の端)に向かって計測走行を実施する。続いて、スタッカクレーン2は、昇降台22の高さ位置を最上段から1段下の段の棚31の高さ位置に合わせた後、最上段から1段下の段の棚31の他端から一端に向かって計測走行を実施する。以下、スタッカクレーン2は、他の段の棚31についても同様に計測走行を実施する。このように、各段の棚31の計測走行の方向を交互に変更することで、スタッカクレーン2の走行方向における移動距離を最小化した上で、各段の棚31についての計測走行を実施することができる。なお、ラック3の各棚31についてのスタッカクレーン2による計測走行の実施順は、上記例に限られず、例えば最下段の棚31から最上段の棚31に向かう順に実施されてもよい。
計測結果取得部42は、上述した計測結果を距離センサ23から取得する。なお、本実施形態では一例として、距離センサ23が、計測距離と走行位置とを関連付けた計測結果を生成する構成としているが、計測結果取得部42が計測結果を生成してもよい。例えば、距離センサ23は、計測距離及び計測時間(計測が行われた時刻)を順次コントローラ4に送信し、計測結果取得部42が、コントローラ4から受信した計測距離と計測時間における走行位置とを関連付けて上述した計測結果を生成してもよい。
出力部43は、計測結果取得部42により取得された計測結果を出力する。本実施形態では一例として、出力部43は、走行方向に対応する第1軸(走行位置)と奥行方向に対応する第2軸(計測距離)とにより定まる二次元平面上に計測結果をプロットすることで得られる波形データの形式で、計測結果を出力する。
図4及び図5を用いて、特定の段の棚31に対して上述の計測走行を実施した場合に得られる波形データの例について説明する。図4は、荷物Lに位置ずれが生じていない場合の例を示している。一方、図5は、一部の荷物Lに位置ずれが生じている場合の例を示している。図4及び図5の例では、棚31のスタッカクレーン2側に、3つの支柱32A,32B,32Cが等間隔に設けられている。また、走行方向(X軸方向)において、支柱32A,32B間に2つの荷物L1,L2が配置され、支柱32B,32C間に3つの荷物L3,L4,L5が配置されている。
まず、図4を用いて、荷物Lに位置ずれが生じていない場合の例について説明する。図4の(a)は、棚31上における荷物L1〜L5の位置を示している。この例では、各荷物L1〜L5は、位置ずれなく正規の位置(すなわち、棚31上において荷物Lを載置する位置として予め設定された位置)に載置されている。図4の(b)は、図4の(a)に示される状況で計測走行を実施した場合に、出力部43により出力される波形データP1を示している。
図4の(b)に示すように、波形データP1は、荷物L1〜L5の走行方向(X軸方向)及び奥行方向(Y軸方向)の位置を直感的に把握可能なデータとなっている。波形データP1において、区間A1,A2,A3はそれぞれ、支柱32A,32B,32Cに対応する区間である。区間A1,A2,A3の幅は、走行方向における支柱32A,32B,32Cの幅に対応しており、区間A1,A2,A3における計測距離は、距離センサ23から支柱32A,32B,32Cまでの距離に対応している。
また、波形データP1において、区間S1は、荷物L1に対応する区間である。図4の(b)の例では、区間S1において、波形データP1の計測距離が一定(計測距離d1)であり、傾きがないことから、荷物L1には、上下方向(Z軸方向)を回転軸とした回転方向における位置ずれ(回転ずれ)が生じていないことが把握できる。さらに、区間S1の幅から荷物L1の幅を把握することもできる。また、計測距離d1から、荷物L1の奥行方向における位置を把握することもできる。波形データP1からは、他の荷物L2〜L5についても、荷物L1について把握される情報と同様の情報が得られる。
次に、図5を用いて、一部の荷物L(ここでは一例として、荷物L1,L3〜L5)に位置ずれが生じている場合の例について説明する。図5の(a)は、棚31上における荷物L1〜L5の位置を示している。この例では、荷物L2のみが位置ずれなく正規の位置に載置されており、他の荷物L1,L3〜L5には位置ずれが生じている。図5の(b)は、図5の(a)に示される状況で計測走行を実施した場合に、出力部43により出力される波形データP2を示している。
波形データP2は、波形データP1と同様に、荷物L1〜L5の走行方向(X軸方向)及び奥行方向(Y軸方向)の位置を直感的に把握可能なデータとなっている。例えば、区間S2の波形から、荷物L1に回転ずれが生じていることが視覚的に容易に把握できる。また、区間S3の波形から、荷物L3に回転ずれが生じていることが容易に把握できる。さらに、区間A2と区間S3との間隔が正規の間隔(図4の(b)に示す状態における間隔)よりも小さくなっていることから、走行方向において、荷物L3の位置が正規の位置よりも支柱32B側にずれていることも把握できる。
また、波形データP2では、区間S4での計測距離d2が支柱32A,32B,32Cに対応する区間A1,A2,A3での計測距離とほぼ同じになっている。このことから、荷物L4の奥行方向における位置が、正規の位置よりも手前側(スタッカクレーン2側)にずれていることが把握できる。具体的には、荷物L4の前面位置が支柱32の前面位置とほぼ同じ位置となる程度に、荷物L4が棚31からはみ出していることが把握できる。また、区間A3との間に計測距離が閾値距離dmaxとなる区間を挟んだ区間S5は、荷物L5に対応する区間であると推定することが可能であるが、区間S4と区間S5とが連結している(計測距離が閾値距離dmaxとなる区間が区間S4と区間S5との間に存在しない)。このような波形から、作業者は、2つの荷物L4,L5が接触していることを直感的に把握できる。
算出部44は、出力部43により出力された波形データ(具体的には、波形データ上の各点の座標情報(走行位置と計測距離との組))に基づいて、棚31に載置されている荷物Lの走行方向及び奥行方向における位置を特定する。算出部44は、例えば、図4の(b)及び図5の(b)で示したような波形データP1,P2に対して予め定められた所定の演算を実行することで、荷物Lの位置を特定する。以下、算出部44の処理の一例について説明する。
算出部44は、支柱32A,32B,32Cに対応する波形パターンを予め保持し、当該波形パターンとのマッチング処理を行うことで、波形データP1,P2において支柱32A,32B,32Cに対応する区間A1,A2,A3を特定する。続いて、算出部44は、このようにして特定された区間A1,A2,A3からの相対位置に基づいて、荷物L1〜L5のそれぞれに対応する区間を特定する。例えば、算出部44は、波形データP1,P2から、計測距離が閾値距離dmaxではないひとまとまりの区間を抽出し、区間A1の次に抽出された区間(図4の例では区間S1であり、図5の例では区間S2)を荷物L1に対応する区間であると特定することができる。同様に、荷物L2〜L5に対応する区間についても特定することができる。
ここで、上述の手法の場合、図5の例では、算出部44は、区間S4と区間S5とを合わせた区間を1つの区間として抽出してしまう。そこで、算出部44は、例えば、1つの荷物Lに対応する波形パターンとしてあり得ない波形パターンに関するパターン情報を予め保持し、抽出された区間がこのようなパターン情報に示される区間に該当する場合には、パターン情報に基づいて区間を分割する処理を行ってもよい。このようにすれば、算出部44は、区間S4が荷物L4に対応する区間であり、区間S5が荷物L5に対応する区間であると特定することが可能となる。なお、存在するはずの荷物Lが落下等により棚31から消失している場合、抽出される区間の個数と本来存在するべき荷物Lの個数とが一致しない。このような場合には、算出部44は、荷物Lが消失していることを示す情報を算出結果として出力してもよい。
算出部44は、上記のような処理によって波形データ上の各荷物Lに対応する区間を特定した後、各区間の波形パターン(例えば、波形データ上の屈曲点に対応する走行位置及び計測距離、屈曲点以外の直線部分の長さや傾き等)に基づいて、各荷物Lの走行方向及び奥行方向における位置(例えば荷物Lの中心位置のXY座標)を特定する。なお、算出部44によって特定される荷物Lの位置には、各区間の波形パターンにおける直線部分の傾きから特定される回転ずれ量(回転角度等)が含まれてもよい。
続いて、算出部44は、上述のように特定された荷物Lの位置と載置情報記憶部45に記憶されている載置情報とを比較することにより、荷物Lの正規の位置からの位置ずれ量を算出する。ここで、載置情報記憶部45は、棚31毎に予め設定された荷物Lの走行方向及び奥行方向における正規の位置を示す載置情報を記憶している。例えば、図4の例の場合、載置情報記憶部45は、図4の(a)に図示される棚31の載置情報として、同図に示される荷物L1〜L5の位置(例えば荷物L1〜L5の中心位置のXY座標)をそれぞれ記憶している。
従って、本実施形態では一例として、算出部44は、上述のように特定された各荷物L1〜L5の中心位置のXY座標と載置情報として記憶されている各荷物L1〜L5の中心位置のXY座標との距離を、位置ずれ量として算出することができる。また、算出部44は、荷物L1〜L5の位置ずれの方向(ずれ方向)についても、位置ずれ量に付随する情報として算出することができる。このようにして、ラック3の各棚31に載置される荷物L毎に、正規の位置からの位置ずれ量が算出される。算出部44によって各棚31の荷物L毎に算出された位置ずれ量は、後述する棚情報出力部47、判断部48、及び調整部49が利用できるように、位置ずれ量記憶部46に記憶される。なお、荷物Lの中心位置が載置情報として記憶されている正規の中心位置と一致していたとしても、荷物Lが図5の例における荷物L1,L3,L4,L5のように回転ずれを生じている場合、当該回転ずれの分だけ正規の位置からずれている場合がある。従って、算出部44は、上述したように荷物Lの回転ずれ量を特定した上で、当該回転ずれ量にも基づいて荷物Lの位置ずれ量を算出してもよい。すなわち、回転ずれ量についても考慮された位置ずれ量が算出されてもよい。
棚情報出力部47は、位置ずれ量記憶部46に記憶された各荷物Lの位置ずれ量を参照し、ある荷物Lの位置ずれ量が所定の閾値以上である場合、当該荷物Lが載置されている棚31を示す棚情報を出力する。なお、位置ずれ量が閾値以上であるか否かは、例えば、走行方向の位置ずれ量、奥行方向の位置ずれ量、回転ずれ量のいずれかについて個別に判定されてもよいし、これらのずれ量の組み合わせについて判定されてもよい。
棚情報出力部47は、例えば、位置ずれ量が閾値以上である荷物Lが載置されている棚31の位置を示す棚情報(例えば段数及び列の組等)を一覧化したリスト情報を作成し、当該リスト情報をプリント出力したり、コントローラ4と接続されているディスプレイ等に表示出力したりする。これにより、作業者は、位置ずれ量が閾値以上である荷物Lが載置されている棚31(すなわち、荷物Lの位置ずれの修正等の復旧作業が必要な棚31)の位置を容易に把握することができる。その結果、復旧作業の円滑化をより一層図ることができる。なお、図1の例では、5段2列の10個の棚31が存在している。ただし、棚31の区分は、物理的な棚31の個数とは独立して任意に定めることができる。例えば、1つの棚31が走行方向に非常に長い場合、当該棚31を複数の領域に区分し、区分された各領域を1つの棚31と見做して、上記処理が実行されてもよい。
判断部48は、位置ずれ量記憶部46に記憶された荷物Lの位置ずれ量に基づいて、当該荷物Lが移載装置21により移載可能な状態であるか否かを判断し、判断結果を出力する。例えば、判断部48は、棚情報出力部47と同様に、荷物Lの位置ずれ量が所定の閾値以上であるか否かを判定し、位置ずれ量が閾値未満であれば移載装置21により移載可能な状態であると判断してもよい。また、一の荷物Lについて位置ずれ量が所定の閾値未満であっても、当該一の荷物Lに隣接する他の荷物Lが当該一の荷物Lに接近する方向に位置ずれしている場合等が考えられる。このような場合、当該他の荷物Lの位置ずれの程度によっては、当該一の荷物Lを移載装置21により移載する際に、当該他の荷物Lが邪魔となってしまい、適切に移載できないことがあり得る。そこで、判断部48は、移載装置21による移載対象の荷物Lの位置ずれ量とともに、当該荷物Lに隣接する他の荷物Lの位置ずれ量にも基づいて、上記判断を行ってもよい。
判断部48を備えることにより、移載対象の荷物Lが移載装置21により移載可能な状態であるか否かを予め把握することが可能となる。これにより、例えば、コントローラ4は、判断部48の判断結果に基づいて、荷物Lが移載装置21により移載可能な状態でない場合に、当該荷物Lの移載動作を実行しないようにスタッカクレーン2の動作を制御することが可能となる。その結果、スタッカクレーン2の無駄な動作を抑制することができる。また、移載装置21により移載可能な状態でない荷物Lを無理に移載しようとして荷物を落下させてしまうといった事態の発生も防止できる。
調整部49は、位置ずれ量記憶部46に記憶された荷物Lの位置ずれ量に基づいて、当該荷物Lを移載する際のスタッカクレーン2の動作を調整する。例えば、調整部49は、移載対象の荷物Lが走行方向において位置ずれしている場合、当該荷物Lの搬出(荷掬い)を行うためのスタッカクレーン2の停止位置を、正規の停止位置から、当該荷物Lの走行方向における位置ずれ量の分だけ移動させる。具体例として、図5の例のように、走行方向における位置ずれ(正規の位置から支柱32B側への位置ずれ)を生じている荷物L3の移載を行う場合について説明する。この場合、調整部49は、荷物L3の搬出を行うためのスタッカクレーン2の停止位置を、正規の停止位置(すなわち、図4に示す荷物L3の走行方向における中心位置)よりも荷物L3の位置ずれ量の分だけ支柱32B側に移動させる。これにより、走行方向において、移載時における移載装置21の中心位置を荷物Lの中心位置に合わせることができ、移載動作を適切に行うことが可能となる。また、例えば、調整部49は、移載対象の荷物Lが奥行方向において位置ずれしている場合、一対のフォーク212の進退距離を、荷物Lが正規の位置(奥行方向における位置)にある場合について設定されたデフォルトの進退距離から、当該荷物Lの奥行方向における位置ずれ量の分だけ増減させる。具体例として、図5の例のように、奥行方向における位置ずれ(正規の位置よりも手前側(スタッカクレーン2側)への位置ずれ)を生じている荷物L4の移載を行う場合について説明する。なお、この具体例において、荷物L4の移載を妨げる荷物L5はないものとして説明する。この場合、調整部49は、荷物L4の搬出を行う際の一対のフォーク212の進退距離を、デフォルトの進退距離よりも荷物L4の奥行方向における位置ずれ量の分だけ減少させる。すなわち、調整部49は、一対のフォーク212が荷物L4の奥行方向における位置ずれ量の分だけ手前側の位置まで進入するように、進退距離を減少させる。また、図5の例とは逆に、荷物L4が奥行方向において正規の位置よりも奥側への位置ずれを生じている場合には、調整部49は、荷物L4の搬出を行う際の一対のフォーク212の進退距離を、デフォルトの進退距離よりも荷物L4の奥行方向における位置ずれ量の分だけ増大させる。すなわち、調整部49は、一対のフォーク212が荷物L4の奥行方向における位置ずれ量の分だけ奥側の位置まで進入するように、進退距離を増大させる。このように、調整部49が、移載対象の荷物Lの位置ずれ量を考慮してスタッカクレーン2の動作(移載装置21の動作を含む)を調整することで、位置ずれが生じている荷物Lを適切に移載することが可能となる。
以上述べた自動倉庫1では、計測指示部41によって計測走行の実行が指示されることで、計測走行中に距離センサ23により検出された距離と当該距離が検出された際の走行方向における距離センサ23の位置とが関連付けられた計測結果がほぼ連続的に取得される。このように取得された計測結果に基づいて、走行方向(すなわち、棚31上の荷物Lの配列方向)及び奥行方向の荷物Lの位置ずれを的確に把握することが可能となる。従って、この自動倉庫1によれば、上述した計測走行をスタッカクレーン2に実行させることで、ラック3の棚31に載置された荷物Lの状態(配列方向及び奥行方向の位置ずれ)を容易且つ的確に把握可能となる。
また、自動倉庫1では、出力部43は、波形データ(例えば図4及び図5に示したような波形データP1,P2)の形式で計測結果を出力するので、波形データとして加工された計測結果から、荷物Lの位置ずれ状態を直感的に把握することが可能となる。これにより、作業者が荷物Lの状態を迅速且つ直感的に把握可能となるため、復旧作業が必要な箇所の特定等が容易となり、復旧作業の円滑化を図ることができる。
また、自動倉庫1は、算出部44及び載置情報記憶部45を備える。これにより、載置情報と計測結果との比較に基づいて、走行方向及び奥行方向の両方における荷物の位置ずれ量を自動的に算出することができるので、荷物の状態の把握が一層容易となる。
以上、本発明の一実施形態について説明したが、本発明は、上記一実施形態に限定されない。例えば、本実施形態では移載装置21の前方(図1のY軸方向前方)にのみラック3が配置されているが、走行レール6を挟んでラック3とは反対側の位置にもラック(以下「後方ラック」)を設けてもよい。この場合、移載装置21の一対のフォーク212を後方(図1のY軸方向後方)に対して進退させることで、後方ラックに対しても荷物Lの移載を行うことができる。さらに、昇降台22のラック3に対向する側の側面だけでなく、昇降台22の後方ラックに対向する側の側面(すなわち、奥行方向において、昇降台22のラック3に対向する側の側面とは反対側の側面)にも距離センサ(以下「後方センサ」)が設けられてもよい。この場合、上述した計測走行の実施において、距離センサ23及び後方センサにより、ラック3に載置された荷物Lに対する距離計測の実行と後方ラックに載置された荷物Lに対する距離計測とを同時に実行することが可能となる。
また、地震発生時に最も揺れやすい最上段の棚31において荷物Lの位置ずれが生じていない場合には、それよりも低い位置にある棚31の荷物Lについても位置ずれが生じていない可能性が高い。従って、計測指示部41は、ラック3の最上段の棚31から最下段の棚31に向かう順番で計測走行を実施するようにスタッカクレーン2に対して指示してもよい。そして、コントローラ4は、ある段の棚31について計測走行が完了した時点で、当該棚31上の各荷物Lに位置ずれが生じているか否かを判定し、いずれの荷物Lについても位置ずれが生じていない場合には、当該段よりも低い位置にある棚31についての計測走行を中止してもよい。これにより、計測走行を必要最小限の範囲で実行することができ、計測走行に係る時間の短縮を図ることができる。
また、上記実施形態では、載置情報として、荷物Lの正規の位置(中心位置の座標)が利用される場合について説明したが、載置情報の表現形式は、上記例に限られない。例えば、載置情報記憶部45は、荷物Lが棚31上の正規の位置に載置されている場合における波形データ(図4の例では、図4の(b)に示される波形データP1)を記憶してもよい。この場合、算出部44は、出力部43によって出力された実際の波形データと、載置情報として記憶されている波形データとを比較し、各波形データ同士の類似度を何らかの手法で算出し、当該類似度に基づいて棚31上の荷物Lの位置ずれ量を算出してもよい。
また、上記実施形態では、いわゆるフォーク式の移載装置21について説明したが、移載装置21による移載の方式は、上記例に限られない。例えば、スタッカクレーン2に設けられる移載装置による移載の方式は、荷物Lの幅方向両側をアームで挟み込んで持ち上げる方式(いわゆるクランプ式)であってもよい。