以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の位置情報管理装置を示す図である。位置情報管理装置1は、クレーン2に接続される。クレーン2は、倉庫3にある対象物を移動させる運搬装置である。倉庫3は、複数の対象物の保管に用いられる施設である。対象物の形状は、積み重ねが可能な形状であり、例えば、直方体や円柱などが考えられる。直方体状の対象物としては、例えば、箱や木材、鋼材、石材などのブロックなどが考えられる。円柱状の対象物としては、例えば、鋼材のコイル(鋼帯)、タイヤ、樽およびドラム缶などが考えられる。ただし、対象物の例はこれらに限定されない。
倉庫3の内部の空間は、個々の対象物を配置するための予め仕切られた領域をもたない。このため、倉庫3の内部の空間には、任意の位置に対象物を配置可能である。例えば、ある対象物は、倉庫3の床面の任意の位置(他の対象物が配置された位置と重複しない位置)に配置される。また、倉庫3に配置された対象物の上に、別の対象物を配置することもできる(例えば、円柱状の対象物であれば、いわゆる俵積み(trefoil formation)によって積まれてもよい)。
位置情報管理装置1は、クレーン2を用いて移動された対象物4に対して、倉庫3における配置位置を管理する。位置情報管理装置1は、記憶部1aおよび処理部1bを有する。
記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部1bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部1bはプログラムを実行するプロセッサでもよい。「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
記憶部1aは、対象物の配置位置の情報を記憶する。例えば、記憶部1aは、位置テーブルT1を記憶する。位置テーブルT1は、対象物の識別情報と、対象物が配置された位置を示す座標とが対応付けられた情報である。後述するように、対象物の位置は、クレーン2の位置との相対的な関係によって決定される。
ここで、座標は、倉庫3の内部の空間を表す3次元座標である。例えば、倉庫3は直方体状の空間である。例えば、倉庫3の床面の1つの角を原点(0,0,0)とする。そして、図1の左側から右側へ向かう方向をX軸の方向とし、図1の手前側から奥側へ向かう方向をY軸の方向とし、図1の下側から上側へ向かう方向をZ軸の方向とする。この場合、X座標およびY座標は、倉庫3の床面上の位置を示す。また、Z座標は、倉庫3の床面からの高さ方向の位置を示す。例えば、各座標の一目盛は、所定の単位長さに相当する。
クレーン2は、X軸方向、Y軸方向およびZ軸方向に対象物4を移動させる。クレーン2は、例えば、天井クレーンである。クレーン2は、ジブクレーンや自動車により移動する移動式クレーンなど他の種類のクレーンでもよい。クレーン2は、制御部2a、駆動部2b、ワイヤー2cおよび吊具2dを有する。
制御部2aは、位置情報管理装置1による指示、又は、ユーザによる操作に従って、駆動部2bの動作を制御し、X軸方向、Y軸方向およびZ軸方向に吊具2dを移動させる。駆動部2bは、X軸方向およびY軸方向に、ワイヤー2cおよび吊具2dを移動させる。駆動部2bは、ガーダやトロリなどでもよい。ワイヤー2cは、一端が駆動部2bに、他端が吊具2dに、それぞれ接続されており、駆動部2bの真下に吊具2dを支持する。駆動部2bは、ワイヤー2cを巻き上げ、又は、巻き下げることで、Z軸方向に吊具2dを移動させる。
吊具2dは、対象物4を吊るために用いられる部材である。吊具2dは、対象物4を把持する把持部(アームやクランプ)でもよいし、対象物4を玉掛けにより吊る鉤部(フック)などでもよい。
制御部2aは、駆動部2bの原点(0,0,0)に対するX座標およびY座標を得ることで、駆動部2bの真下に位置する吊具2dのX座標およびY座標を得る。また、制御部2aは、駆動部2bによる倉庫3の天井下のワイヤー2cの長さHにより、吊具2dのZ座標(倉庫3の天井のZ座標から長さHを引いた値)を得る。
処理部1bは、クレーン2により、倉庫3内に配置された対象物4を倉庫3内のいずれかの位置に移動させた際、クレーン2の位置情報に基づいて対象物4の位置を特定する。例えば、クレーン2の位置情報は、クレーン2の吊具2d(把持部又は鉤部など)の位置情報でもよい。吊具2dの位置情報は、例えば、吊具2dの所定の位置(重心など)の位置を示す座標でもよい。例えば、対象物の位置を示す座標は、クレーン2の吊具2dの位置との相対的な関係によって決定される。より具体的には、処理部1bは、次のようにして対象物4の位置を特定する。
まず、処理部1bは、クレーン2による対象物4の移動が完了した旨の通知をクレーン2から受け付ける。そして、処理部1bは、移動完了時における吊具2dの位置情報をクレーン2から取得する。例えば、処理部1bは、吊具2dの位置情報として、座標P1(xa,ya,za)を取得する。
そして、処理部1bは、座標P1(xa,ya,za)に基づいて、対象物4の位置を示す座標P2(xb,yb,zb)を特定する。1つの例として、吊具2dの座標から距離Dだけ真下にある位置を対象物4の座標P2とすることが考えられる。この場合、座標P2(xb,yb,zb)=(xa,ya,za−D)である。
処理部1bは、対象物の配置位置を記憶させる記憶部1aに、特定した位置と対象物4の識別情報とを対応付けて記憶させる。例えば、処理部1bは、対象物4の識別情報“ID1”に対して、位置を示す座標(xb,yb,zb)を、記憶部1aに記憶された位置テーブルT1に登録する。
なお、処理部1bは、対象物4の移動前に受け付ける対象物4の移動指示とともに、移動対象の対象物4の識別情報を取得してもよい。あるいは、対象物4の識別情報を含むバーコードやRFIDタグなどが対象物4に付されていることもある。この場合、処理部1bは、クレーン2が備えるリーダによりバーコードやRFIDタグから読み取られた識別情報を、クレーン2から取得することで、移動対象の対象物4の識別情報を取得してもよい。
位置情報管理装置1によれば、対象物の位置情報を容易に管理できる。具体的には、倉庫3のように、棚や固定の仕切りがない場合もある。この場合、保管される対象物は、倉庫内の任意の位置に配置され得る。このように、倉庫3に単純に並べて保管される対象物は、配置される場所に特定の識別名がないため、保管されている位置の管理が容易でない。
そこで、位置情報管理装置1により、対象物を運搬するクレーン2の位置情報に応じて、移動させた対象物の識別情報と、移動後の位置情報とを対応付けて管理する。これにより、移動させた対象物の位置情報を適切に管理可能となる。その結果、倉庫3の中に、対象物を配置する固定の仕切りや仕切りを識別するための設備(例えば、仕切り毎に付与されたRFIDタグなど)を設けなくても、対象物の位置情報を容易に管理することができる。
更に、処理部1bは、記憶部1aに記憶された位置テーブルT1に基づいて、特定の位置にある対象物の識別情報を特定することも可能となる。例えば、処理部1bは、記憶部1aを参照し、クレーン2を用いて対象物4をピックアップする際の、クレーン2の位置情報に基づいて、対象物4の識別情報を特定することもできる。具体的には、クレーン2の吊具2dを座標P1(xa,ya,za)に配置することを考える。例えば、この場合、処理部1bは、座標P1のz座標zaから距離Dを減算することで、座標P2(xb,yb,zb)=(xa,ya,za−D)を得る。そして、処理部1bは、位置テーブルT1を参照して、座標P2に対応する対象物4の識別情報“ID1”を得る。対象物4の識別情報を得られれば、対象物4の識別情報に対応付けられた他の情報(例えば、対象物4の内容や出荷スケジュールなど)を検索することも可能になる。
また、処理部1bは、記憶部1aに記憶された位置テーブルT1に基づいて、特定の対象物が配置された位置を特定することも可能となる。例えば、処理部1bは、出荷対象の対象物4の識別情報“ID1”の入力を受け付ける。処理部1bは、位置テーブルT1に基づいて、識別情報“ID1”に対応する座標P2(xb,yb,zb)=(xa,ya,za−D)を得る。この場合、例えば、処理部1bは、座標P2のz座標zb=za−Dに距離Dを加算することで、座標P1(xa,ya,za)を得る。そして、処理部1bは、対象物4をピックアップするために、座標P1により示される位置に吊具2dを配置すると判断する。
このような機能により、例えば、処理部1bは、対象物4をピックアップするための吊具2dの移動先として座標P1を、画面表示やメッセージの通知により、クレーン2を操作するユーザに対して指示してもよい。又は、処理部1bは、対象物4の移動指示などに応じてクレーン2の動作を制御することで、吊具2dを座標P1の位置に移動させ、対象物4を移動先の位置まで移動させてもよい。
このように、位置情報管理装置1によれば、対象物に対して管理される対象物の位置情報に基づいて、倉庫3における各対象物の入荷や出荷などに伴う効率的な運搬を支援することもできる。
なお、処理部1bは、クレーン2による対象物の移動を更に効率化させることも考えられる。例えば、クレーン2により対象物を別の場所に移動させる場合に、移動先候補が複数のこともある。この場合、処理部1bは、移動先候補の各位置へ移動させるためのコスト(移動先候補毎のコスト)を計算し、当該コストの計算結果により、対象物の移動先の位置を選択してもよい。コストとしては、例えば、移動距離に応じた移動の所要時間が考えられる。又は、移動距離に応じた移動の所要時間と、移動方向の変更やワイヤー2cの巻き上げ/巻き下げなどに伴うオペレーションに応じた所要時間との和を、コストとしてもよい。そして、処理部1bは、移動先の候補のうち、計算したコストが最小になる移動先を決定してもよい。これにより、対象物を短時間で移動可能となる。
更に、処理部1bは、移動先候補の位置を、対象物の出荷スケジュールに応じて決定してもよい。例えば、処理部1bは、移動先候補に対して、「現在から所定時間以内に出荷予定である対象物の上を、移動先候補の対象外とする」といった選択基準を設けてもよい。これにより、例えば、直近に出荷予定の対象物の取り出しに伴うコストも考慮した配置を実現でき、当該対象物を迅速に出荷可能となる。
[第2の実施の形態]
図2は、第2の実施の形態の移動制御装置を示す図である。移動制御装置5は、クレーン6に接続される。クレーン6は、管理倉庫7にあるロール状物体を移動させる運搬装置である。管理倉庫7は、複数のロール状物体の保管に用いられる施設である。ロール状物体は、例えば、円柱形状の物体であり、軸方向に沿って穴が設けられていてもよい。ロール状物体としては、例えば、鋼材のコイル(鋼帯)、タイヤ、樽およびドラム缶などが考えられる。ただし、ロール状物体の例はこれらに限定されない。
管理倉庫7の内部の空間は、個々のロール状物体を配置するための予め仕切られた領域をもたない。このため、管理倉庫7の内部の空間には、任意の位置にロール状物体を配置可能である。例えば、あるロール状物体は、管理倉庫7の床面の任意の位置(他のロール状物体が配置された位置と重複しない位置)に配置される。また、管理倉庫7に配置されたロール状物体の上に、別のロール状物体を配置することもできる。例えば、ロール状物体は、いわゆる俵積みによって積まれてもよい。俵積みは、隣接して配置された第1のロール状物体および第2のロール状物体の隣接部分の上部に、第3のロール状物体を載せる積み方である。
移動制御装置5は、このように隣り合う複数のロール状物体の上に更にロール状物体が積み重ねて配置されたロール状物体の管理倉庫7内におけるロール状物体の移動を制御する。移動制御装置5は、記憶部5aおよび処理部5bを有する。
記憶部5aは、RAMなどの揮発性記憶装置でもよいし、HDDやフラッシュメモリなどの不揮発性記憶装置でもよい。処理部5bは、CPU、DSP、ASIC、FPGAなどを含み得る。処理部5bはプログラムを実行するプロセッサでもよい。「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
記憶部5aは、ロール状物体の配置位置の情報(配置情報)を記憶する。例えば、記憶部5aは、配置テーブルT2を記憶する。配置テーブルT2は、ロール状物体の識別情報と、ロール状物体が配置された位置を示す座標とが対応付けられた配置情報の一例である。後述するように、ロール状物体の位置を示す座標は、クレーン6の位置との相対的な関係によって決定される。
倉庫10内の位置を示す座標は、管理倉庫7の内部の空間を表す3次元座標である。例えば、管理倉庫7は直方体状の空間である。例えば、管理倉庫7の床面の1つの角を原点(0,0,0)とする。そして、図2に示すように管理倉庫7の床面の一方向をX軸の方向とし、X軸と直交する管理倉庫7の床面の他の方向をY軸の方向とする。また、管理倉庫7の床面から真上へ向かう方向をZ軸の方向とする。この場合、X座標およびY座標は、管理倉庫7の床面上の位置を示す。また、Z座標は、管理倉庫7の床面からの高さ方向の位置を示す。例えば、各座標の一目盛は、所定の単位長さに相当する。
ここで、ロール状物体の移動には、クレーン6が用いられる。クレーン6は、X軸方向、Y軸方向およびZ軸方向にロール状物体を移動させる。クレーン6は、例えば、天井クレーンである。クレーン6は、ジブクレーンや自動車により移動する移動式クレーンなど他の種類のクレーンでもよい。クレーン6は、制御部6a、駆動部6b、ワイヤー6cおよび吊具6dを有する。
制御部6aは、移動制御装置5による指示、又は、ユーザによる操作に従って、駆動部6bの動作を制御し、X軸方向、Y軸方向およびZ軸方向に吊具6dを移動させる。駆動部6bは、X軸方向およびY軸方向に、ワイヤー6cおよび吊具6dを移動させる。駆動部6bは、ガーダやトロリなどでもよい。ワイヤー6cは、一端が駆動部6bに、他端が吊具6dに、それぞれ接続されており、駆動部6bの真下に吊具6dを支持する。駆動部6bは、ワイヤー6cを巻き上げ、又は、巻き下げることで、Z軸方向に吊具6dを移動させる。
吊具6dは、ロール状物体を吊るために用いられる部材である。吊具6dは、ロール状物体を把持する把持部(アームやクランプ)でもよいし、ロール状物体を玉掛けにより吊る鉤部(フック)などでもよい。
制御部6aは、駆動部6bの原点(0,0,0)に対するX座標およびY座標を得ることで、駆動部6bの真下に位置する吊具6dのX座標およびY座標を得る。また、制御部6aは、駆動部6bによる管理倉庫7の天井下のワイヤー6cの長さHにより、吊具6dのZ座標(管理倉庫7の天井のZ座標から長さHを引いた値)を得る。なお、吊具6dの位置を示す座標は、例えば、吊具6dの所定の位置(重心など)の位置を示す座標でもよい。例えば、ロール状物体の位置を示す座標は、クレーン6の吊具6dの位置との相対的な関係(吊具6dの位置から距離Dだけ下の位置をロール状物体の位置とするなど)によって決定される。
一例として、ロール状物体R1,R2,R3,R4,R5,R6が管理倉庫7に配置されているとする。ロール状物体R1,R2,R3,R4,R5,R6の円の直径は同じであるとする。ロール状物体R1,R2,R3,R4,R5,R6それぞれの軸(円柱軸)の方向は、X軸に沿う方向に保たれる。ロール状物体R1,R2,R3は、曲面を下にして管理倉庫7の床面に配置されている。ロール状物体R1,R2は、Y軸方向に沿って隣接している。ロール状物体R2,R3は、Y軸方向に沿って隣接している。ロール状物体R4は、ロール状物体R1,R2の上に配置されている。ロール状物体R5は、ロール状物体R2,R3の上に配置されている。ロール状物体R4,R5は、Y軸方向に沿って隣接して配置される。更に、ロール状物体R6は、ロール状物体R4,R5の上に配置されている。ロール状物体R6は、ロール状物体R2のほぼ真上に位置する。
この場合、配置テーブルT2は、ロール状物体R1,R2,R3,R4,R5,R6それぞれの識別情報と、ロール状物体R1,R2,R3,R4,R5,R6それぞれの位置を示す座標とを含む。具体的には、配置テーブルT2は、ロール状物体R1の識別情報“ID1”およびロール状物体R1の位置を示す座標(x1,y1,z1)を含む。配置テーブルT2は、ロール状物体R2の識別情報“ID2”およびロール状物体R2の位置を示す座標(x1,y2,z1)を含む。配置テーブルT2は、ロール状物体R3の識別情報“ID3”およびロール状物体R3の位置を示す座標(x1,y3,z1)を含む。配置テーブルT2は、ロール状物体R4の識別情報“ID4”およびロール状物体R4の位置を示す座標(x1,y4,z2)を含む。配置テーブルT2は、ロール状物体R5の識別情報“ID5”およびロール状物体R5の位置を示す座標(x1,y5,z2)を含む。配置テーブルT2は、ロール状物体R6の識別情報“ID6”およびロール状物体R6の位置を示す座標(x1,y2,z3)を含む。ここで、y1<y4<y2<y5<y3である。また、z1<z2<z3である。
処理部5bは、上方に1又は複数のロール状物体が積み重ねられた第1のロール状物体の取り出し指示に応じて、記憶部5aに記憶されたロール状物体の配置情報に基づいて、第1のロール状物体の上方に積み重ねられた全てのロール状物体を特定する。
例えば、処理部5bは、ロール状物体R2の取り出し指示の入力を受け付ける。取り出し指示は、取り出し対象であるロール状物体R2の識別情報“ID2”を含む。また、取り出し指示は、管理倉庫7における取り出し位置7aの位置を示す座標(x9,y9,z1)を含む。
処理部5bは、記憶部5aに記憶された配置テーブルT2に基づいて、識別情報“ID2”に対応する座標(x1,y2,z1)を特定する。処理部5bは、特定した座標(x1,y2,z1)により、ロール状物体R2の上方に積み重ねられたロール状物体R4,R5,R6を特定する。この場合、特定した座標(x1,y2,z1)に対して「上方」とは、「X=x1、かつ、y1≦Y≦y3、かつ、Z>z1」である座標範囲を意味する。なお、ロール状物体R1,R2,R3は隣接するので、ロール状物体R1,R2,R3の半径をrとすると、y1=y2−r、y3=y2+rと表すこともできる。そして、処理部5bは、X座標がX=x1であり、Y座標がy1≦Y≦y3であり、Z座標がZ>z1である座標に対応する識別情報“ID4”、“ID5”、“ID6”を配置テーブルT2により特定することで、ロール状物体R4,R5,R6を特定する。図1のステップS1は、このときのロール状物体R1,R2,R3,R4,R5,R6の配置(当初の配置)を示す。
処理部5bは、特定した全てのロール状物体を第1のロール状物体の上方以外の位置に移動させる。例えば、処理部5bは、クレーン6を用いて、ロール状物体R2の取り出し指示に対して特定されたロール状物体R4,R5,R6を、ロール状物体R2の上方以外の位置に移動させる。前述のように、ロール状物体R2の「上方」は、「X=x1、かつ、y1≦Y≦y3、かつ、Z>z1」の座標範囲なので、処理部5bは、当該座標範囲以外の位置に、ロール状物体R4,R5,R6を移動させる。
具体的には、まず、処理部5bは、クレーン6を用いて、ロール状物体R6を、ロール状物体R1に対してy軸方向に沿って隣接する位置に移動させる。
処理部5bは、クレーン6の位置情報をクレーン6から取得し、ロール状物体R6の移動後の座標を特定する。具体的には、第1の実施の形態でも例示したように、処理部5bは、吊具6dの座標(xa,ya,za)に基づいて、ロール状物体R6の位置を示す座標(x1,y8,z1)を特定する。1つの例として、前述のように、移動完了直後の吊具6dの座標(xa,ya,za)から距離Dだけ真下にある位置をロール状物体R6の座標とすることが考えられる。この場合、座標(x1,y8,z1)=(xa,ya,za−D)である。ここで、y8<y1である。
次に、処理部5bは、クレーン6を用いて、ロール状物体R4を、ロール状物体R6に対してy軸方向に沿って隣接する位置に移動させる。処理部5bは、ロール状物体R4の移動先の座標(x1,y6,z1)を特定する。特定方法は、ロール状物体R6の場合と同様である。ここで、y6<y8である。
次に、処理部5bは、クレーン6を用いて、ロール状物体R5を、ロール状物体R3に対してy軸方向に沿って隣接する位置に移動させる。処理部5bは、ロール状物体R5の移動先の座標(x1,y7,z1)を特定する。特定方法は、ロール状物体R6の場合と同様である。ここで、y7>y3である。
図2のステップS2は、ロール状物体R4,R5,R6の移動後の状態を示す。
更に、処理部5bは、取り出し対象のロール状物体の上方の全てのロール状物体が移動された後に残った第1のロール状物体を取り出し位置に移動させる。例えば、処理部5bは、ロール状物体R2を取り出し位置7aに移動させる。図2のステップS3は、ロール状物体R2の移動後の状態を示す。取り出し位置の座標は、取り出し指示で指定された座標(x9,y9,z1)である。
処理部5bは、上記のロール状物体の移動に伴い、移動させたロール状物体の配置位置を移動先に対応する位置となるように更新する。例えば、処理部5bは、上記のロール状物体R4,R5,R6それぞれを移動させるたびに、配置テーブルT2におけるロール状物体R4,R5,R6それぞれの移動後の座標を更新する。あるいは、処理部5bは、ロール状物体R4,R5,R6を全て移動させた後に、配置テーブルT2におけるロール状物体R4,R5,R6それぞれの移動後の座標を更新してもよい。
そして、処理部5bは、ロール状物体R2を取り出し位置7aに移動させると、配置テーブルT2におけるロール状物体R2の座標を取り出し位置の座標に更新する。
配置テーブルT2aは、ロール状物体R2,R4,R5,R6について移動後の座標に更新された結果を示す(ステップS3の配置に対応する)。
このように、移動制御装置5によれば、ロール状物体に対して管理されるロール状物体の配置情報に基づいて、管理倉庫7における各ロール状物体の効率的な運搬を支援することができる。また、移動制御装置5によれば、移動されたロール状物体の移動後の位置を示す座標により配置情報を更新する。このため、移動に伴って変更されるロール状物体の配置された位置を適切に管理することができる。こうして、ロール状物体を配置する固定の仕切りや仕切りを識別するための設備(例えば、仕切り毎に付与されたRFIDタグなど)を設けなくても、ロール状物体の位置情報を容易に管理することができる。
なお、処理部5bは、クレーン6によるロール状物体R4,R5,R6の移動を更に効率化させることも考えられる。例えば、処理部5bは、クレーン6によりロール状物体R4,R5,R6を移動先候補の各位置へ移動させるためのコストを計算し、当該コストの計算結果により、ロール状物体R4,R5,R6の移動先の位置を選択してもよい。コストとしては、例えば、移動距離に応じた移動の所要時間が考えられる。又は、移動距離に応じた移動の所要時間と、移動方向の変更やワイヤー6cの巻き上げ/巻き下げなどに伴うオペレーションに応じた所要時間との和を、コストとしてもよい。そして、処理部5bは、移動先の候補のうち、計算したコストが最小になる移動先を決定してもよい。これにより、ロール状物体R4,R5,R6を短時間で移動可能となる。
更に、処理部5bは、移動先候補の位置を、ロール状物体の出荷スケジュールに応じて決定してもよい。例えば、処理部5bは、移動先候補に対して、「現在から所定時間以内に出荷予定であるロール状物体の上を、移動先候補の対象外とする」といった選択基準を設けてもよい。これにより、例えば、直近に出荷予定のロール状物体の取り出しに伴うコストも考慮した配置を実現でき、当該ロール状物体を迅速に出荷可能となる。
[第3の実施の形態]
図3は、第3の実施の形態の倉庫管理システムの例を示す図である。第3の実施の形態の倉庫管理システムは、倉庫10に保管された保管物の管理を支援する。倉庫10は、壁や屋根に囲われた施設でもよいし、壁や屋根に囲われていない屋外の施設でもよい。倉庫10の内部の空間は、個々の保管物を配置するための予め仕切られた領域をもたない。このため、倉庫10の内部の空間には、任意の位置に保管物を配置可能である。
第3の実施の形態では、保管物の一例として、鋼材のコイルを例示する。鋼材の材質は、例えばアルミである(ただし、他の材質でもよい)。コイルは、円柱形状である。コイルは、所定の厚さの鋼板をコイル状に巻いたものであり、鋼帯とも呼ばれる。コイルには円柱軸の中央部分(巻きの中央部分)を貫通する孔がある。このため、コイルは、円筒形状であるともいえる。
第3の実施の形態の倉庫管理システムは、クレーン20、フォークリフト30、サーバ100および端末装置400,400aを有する。クレーン20およびサーバ100は、ネットワーク40に接続されている。ネットワーク40は、例えば、LAN(Local Area Network)である。フォークリフト30および端末装置400,400aは、アクセスポイント41を介してネットワーク40に接続されている。アクセスポイント41は、ネットワーク40に接続された無線ルータである。
クレーン20は、倉庫10に保管されたコイルを移動させる運搬装置である。クレーン20は、倉庫10の天井側に設けられたランウェイを走行する天井クレーンである。クレーン20は、クレーンオペレータにより操作される。
フォークリフト30は、倉庫10に保管されたコイルを移動させる運搬装置である。フォークリフト30は、自動車の一種であり、倉庫10の床面を走行する。フォークリフト30は、フォークおよびマストを備え、所定の動力(例えば、油圧)により、マストに沿ってフォークを昇降させる。フォークは、コイルの孔に差し込まれて、コイルを持ち上げ、支持する。フォークリフト30は、フォークに指し込まれたコイルを倉庫10内の任意の位置に移動させる。フォークリフト30は、リフトオペレータにより操作される。
サーバ100は、倉庫10に配置されているコイルの位置を管理するサーバコンピュータである。サーバ100は、クレーン20、フォークリフト30および端末装置400,400aと通信する。サーバ100は、クレーン20やフォークリフト30から取得される位置情報を基に、新規に搬入されたコイルの位置を特定し、保存する。サーバ100は、既存のコイルの倉庫10内での移動に伴って、クレーン20やフォークリフト30から取得される位置情報を基に、移動されたコイルの位置を特定し、当該コイルの位置を更新する。また、サーバ100は、クレーン20、フォークリフト30および端末装置400,400aに対してコイルの移動を指示する。
サーバ100は、第1の実施の形態の位置情報管理装置1の一例である。サーバ100は、第2の実施の形態の移動制御装置5の一例でもある。
端末装置400,400aは、作業員により利用されるクライアントコンピュータである。作業員は、クレーン20に対するコイルの玉掛けを行う。端末装置400,400aは、ディスプレイを内蔵し、サーバ100から受信したコイルの移動指示の内容を表示する。例えば、端末装置400,400aは、スマートフォンやタブレット端末などのスマートデバイスである。
図4は、コイルの保管例を示す図である。倉庫10には複数のコイルが保管されている。コイルは高温であることがある。例えば、製造直後のアルミのコイル(アルミコイル)は、400℃に達する。また、倉庫10内での作業時において、アルミコイルの温度は、200℃程度である場合もある。このため、倉庫10での保管は、出荷までの一時的な貯蔵とともに、冷却という役割もある。
コイルは、俵積みによって積み重ねられる。コイルは比較的重量がある。このため、保管時の安定性および安全上の理由から積み重ねの段数は2段までに制限されている。例えば、コイルの直径は2.4m程度である。コイルを2段に積み重ねると、2段目のコイルの上部は4〜5m程度の高さに達する。
また、クレーン20やフォークリフト30による運搬作業を効率的に行えるようにするため、各コイルの円柱軸は、所定の方向に揃えて配置される。更に、簡単のため、各コイルの円柱軸方向の長さは同じであるとする。ただし、あるコイルと別のコイルとで円柱軸方向の長さは異なっていてもよい。
倉庫10の一角には、搬出スペース11が設けられている。搬出スペース11は、コイルの出荷時に倉庫10からコイルを搬出するために用いられる作業用のスペースである。搬出スペース11には、出荷直前のコイル以外の配置が制限される。コイルの搬入用のスペースは、倉庫10の別の一角に設けられてもよいし、搬出スペース11が搬入と兼用でもよい。
コイル50は、倉庫10に保管されている複数のコイルのうちの1つである。コイル50には他のコイルが隣接して配置されている。また、コイル50と隣接する他のコイルとの隣接部分の上に、更に別のコイルが配置されている。コイル50の転がりを防止するため、コイルの曲面と床との間に、設置および除去が可能なストッパーなどを設けてもよい。
例えば、コイル50を移動させる場合、上に積載されている他のコイルを移動させた上でコイル50を取り出し、移動させる。その際に移動した他のコイルは、近くの空いているスペースに置かれたり、隣のコイルの上に置かれたりする。したがって、動的にコイルの置かれる位置が変わるため、作業員などの記憶では探せないケースが発生し、コイル探索に時間を要することがある。そこで、サーバ100は、コイルの位置を管理する機能を提供する。
図5は、サーバのハードウェア例を示す図である。サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびネットワークIF(InterFace)107を有する。各ハードウェアはサーバ100のバスに接続されている。
プロセッサ101は、サーバ100の情報処理を制御するハードウェアである。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASIC又はFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
画像信号処理部104は、プロセッサ101からの命令に従って、サーバ100に接続されたディスプレイ61に画像を出力する。ディスプレイ61として、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部105は、サーバ100に接続された入力デバイス62から入力信号を取得し、プロセッサ101に出力する。入力デバイス62として、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
媒体リーダ106は、記録媒体63に記録されたプログラムやデータを読み取る装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体63として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ106は、例えば、プロセッサ101からの命令に従って、記録媒体63から読み取ったプログラムやデータをRAM102又はHDD103に格納する。
ネットワークIF107は、ネットワーク40を介して他の装置と通信を行う。ネットワークIF107は、有線通信インタフェースである。ただし、ネットワークIF107は、無線通信インタフェースでもよい。
図6は、クレーン制御装置のハードウェア例を示す図である。クレーン20は、クレーン制御装置200を有する。クレーン制御装置200は、プロセッサ201、RAM202、フラッシュメモリ203、クレーン駆動制御部204、画像信号処理部205、入力信号処理部206、ネットワークIF207、デバイス接続IF208およびバーコードスキャナ209を有する。各ハードウェアはクレーン制御装置200のバスに接続されている。
プロセッサ201は、クレーン制御装置200の情報処理を制御するハードウェアである。プロセッサ201は、マルチプロセッサであってもよい。プロセッサ201は、例えばCPU、DSP、ASIC又はFPGAなどである。プロセッサ201は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM202は、クレーン制御装置200の主記憶装置である。RAM202は、プロセッサ201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM202は、プロセッサ201による処理に用いる各種データを記憶する。
フラッシュメモリ203は、クレーン制御装置200の補助記憶装置である。フラッシュメモリ203は、内蔵の記憶素子に対して、電気的にデータの書き込みおよび読み出しを行う。フラッシュメモリ203は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。
クレーン駆動制御部204は、クレーンオペレータによるクレーン操作の指示を受け付け、クレーン20における各駆動部(後述されるガーダやトロリなど)の動作を制御する。例えば、クレーンオペレータは、クレーン20に備えられたクレーン操作部(図示を省略している)を操作することで、クレーン操作の指示をクレーン駆動制御部204に入力できる。クレーン駆動制御部204は、プロセッサ201によるクレーン操作の命令に応じて、クレーン20における各駆動部の動作を制御してもよい。
画像信号処理部205は、プロセッサ201からの命令に従って、クレーン20に備えられたディスプレイ61aに画像を出力する。ディスプレイ61aとして、液晶ディスプレイなどを用いることができる。
入力信号処理部206は、クレーン20に備えられた入力デバイス62aから入力信号を取得し、プロセッサ201に出力する。入力デバイス62aとして、例えば、タッチパッドやタッチパネルなどのポインティングデバイスやキーボードなどを用いることができる。
ネットワークIF207は、ネットワーク40を介してサーバ100と通信を行う。ネットワークIF207は、有線通信インタフェースである。ただし、ネットワークIF207は、無線通信インタフェースでもよい。
デバイス接続IF208は、クレーン20が備える周辺デバイスを接続するためのインタフェースである。デバイス接続IF208は、バーコードスキャナ209と接続される。デバイス接続IF208として、USB(Universal Serial Bus)、RS(Recommended Standard)−232又はTrue RS−232などのインタフェースを用いることができる。
バーコードスキャナ209は、プロセッサ201からの命令に従って、コイル50に付されたバーコードB1を読み取り、コイル50の識別情報やコイル50に関する情報(直径などのサイズに関する情報を含む)を取得する読み取り装置である。コイル50の識別情報はコイルIDと呼ばれる。バーコードスキャナ209の受光部は、クレーン制御装置200の外枠のうち、倉庫10の床面の比較的広範囲(クレーン制御装置200の真下を含む)を望める位置に配置される。ただし、バーコードスキャナ209の配置位置は、他の位置でもよい。
バーコードスキャナ209は、至近距離(例えば、15cm程度)から比較的遠距離(例えば、最長16m程度)に存在するバーコードB1の読み取りを行うことができる。バーコードB1は、1次元バーコードでもよいし、2次元バーコードでもよい。バーコードB1はマーカーと呼ばれることもある。
図7は、フォークリフト制御装置のハードウェア例を示す図である。フォークリフト30は、フォークリフト制御装置300を有する。フォークリフト制御装置300は、プロセッサ301、RAM302、フラッシュメモリ303、リフト駆動制御部304、画像信号処理部305、入力信号処理部306、無線部307、ビーコン受信部307aおよびデバイス接続IF308を有する。各ハードウェアはフォークリフト制御装置300のバスに接続されている。
プロセッサ301は、フォークリフト制御装置300の情報処理を制御するハードウェアである。プロセッサ301は、マルチプロセッサであってもよい。プロセッサ301は、例えばCPU、DSP、ASIC又はFPGAなどである。プロセッサ301は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM302は、フォークリフト制御装置300の主記憶装置である。RAM302は、プロセッサ301に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM302は、プロセッサ301による処理に用いる各種データを記憶する。
フラッシュメモリ303は、フォークリフト制御装置300の補助記憶装置である。フラッシュメモリ303は、内蔵の記憶素子に対して、電気的にデータの書き込みおよび読み出しを行う。フラッシュメモリ303は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。
リフト駆動制御部304は、フォークリフトオペレータによるリフト操作の指示を受け付け、フォークリフト30の走行やリフトの昇降などの動作を制御する。例えば、フォークリフトオペレータは、フォークリフト30に備えられたリフト操作部(図示を省略している)を操作することで、リフト操作の指示をリフト駆動制御部304に入力できる。
画像信号処理部305は、プロセッサ301からの命令に従って、フォークリフト30に備えられたディスプレイ61bに画像を出力する。ディスプレイ61bとして、液晶ディスプレイなどを用いることができる。
入力信号処理部306は、フォークリフト30に備えられた入力デバイス62bから入力信号を取得し、プロセッサ301に出力する。入力デバイス62bとして、例えば、タッチパッドやタッチパネルなどのポインティングデバイスやキーボードなどを用いることができる。
無線部307は、アクセスポイント41と無線リンクを確立し、アクセスポイント41およびネットワーク40を介してサーバ100と通信を行う無線通信インタフェースである。
ビーコン受信部307aは、フォークリフト30の位置計測用のビーコン信号を受信する。ビーコン信号は、倉庫10内に配置されたビーコン発信装置42により発信される。ビーコン発信装置42は、倉庫10内に複数(3以上)配置される。ビーコン受信部307aとして、BLE(Bluetooth Low Energy、Bluetoothは登録商標)のインタフェースを用いることができる。ビーコン受信部307aは、音波や可視光などをビーコン信号として受信するものでもよい。
デバイス接続IF308は、フォークリフト30が備える周辺デバイスを接続するためのインタフェースである。デバイス接続IF308は、バーコードスキャナ309と接続される。デバイス接続IF308として、USB、RS−232又はTrue RS−232などのインタフェースを用いることができる。
バーコードスキャナ309は、プロセッサ301からの命令に従って、コイル50に付されたバーコードB2を読み取り、コイル50のコイルIDを取得する読み取り装置である。バーコードスキャナ309の受光部は、フォークリフト30の外枠のうち、フォークリフト30の前側を望める位置(例えば、リフトの前面部)に配置される。バーコードスキャナ309によるバーコードB2の読み取り可能距離の最大値は、バーコードスキャナ209より小さくてもよい(フォークリフト30は、コイル50に対して比較的近い位置まで接近可能であるため)。
図8は、端末装置のハードウェア例を示す図である。端末装置400は、プロセッサ401、RAM402、フラッシュメモリ403、画像信号処理部404、ディスプレイ405、入力信号処理部406、タッチパネル407、媒体リーダ408および無線部409を有する。各ハードウェアは端末装置400のバスに接続されている。また、端末装置400aも端末装置400と同様のハードウェアにより実現される。
プロセッサ401は、端末装置400の情報処理を制御するハードウェアである。プロセッサ401は、マルチプロセッサであってもよい。プロセッサ401は、例えばCPU、DSP、ASIC又はFPGAなどである。プロセッサ401は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM402は、端末装置400の主記憶装置である。RAM402は、プロセッサ401に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM402は、プロセッサ401による処理に用いる各種データを記憶する。
フラッシュメモリ403は、端末装置400の補助記憶装置である。フラッシュメモリ403は、内蔵の記憶素子に対して、電気的にデータの書き込みおよび読み出しを行う。フラッシュメモリ403は、OSのプログラム、アプリケーションプログラムおよび各種データを記憶する。
画像信号処理部404は、プロセッサ401からの命令に従って、ディスプレイ405に画像を出力する。ディスプレイ405としては、例えば、液晶ディスプレイを用いることができる。
入力信号処理部406は、端末装置400に接続されたタッチパネル407から入力信号を取得し、プロセッサ401に出力する。タッチパネル407は、作業員によりタッチ操作された位置をプロセッサ401に出力するポインティングデバイスである。タッチパネル407は、ディスプレイ405の表示領域に重ねて設けられる。作業員は、ディスプレイ405による表示を視認しながら、タッチパネル407によるタッチ操作を行える。
媒体リーダ408は、記録媒体63aに記録されたプログラムやデータを読み取る装置である。記録媒体63aとして、例えば、フラッシュメモリカードを使用できる。媒体リーダ408は、例えば、プロセッサ401からの命令に従って、記録媒体63aから読み取ったプログラムやデータをRAM402又はフラッシュメモリ403に格納する。
無線部409は、アクセスポイント41と無線リンクを確立し、アクセスポイント41およびネットワーク40を介してサーバ100と通信を行う無線通信インタフェースである。
図9は、倉庫管理システムの機能例を示す図である。サーバ100は、記憶部110、位置管理部120、位置検索部130および移動指示送信部140を有する。
記憶部110は、例えば、RAM101又はHDD103の記憶領域を用いて実現される。記憶部110は、倉庫10に配置されたコイルの位置を示す情報を、コイルIDに対応付けて記憶する。記憶部110は、コイルの属性(直径や円柱軸方向の長さなどのサイズ)に関する情報を記憶する。記憶部110は、コイルの配置可能位置を示す配置可能アドレスの情報を記憶する。記憶部110は、コイルの出荷スケジュールを示す情報を記憶する。
位置管理部120、位置検索部130および移動指示送信部140は、例えば、RAM102に記憶されたプログラムをプロセッサ101により実行することで、プロセッサ101により発揮される機能である。ただし、位置管理部120、位置検索部130および移動指示送信部140は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
位置管理部120は、クレーン制御装置200から取得されたクレーン20の位置情報に基づいてコイルが配置された位置を求め、記憶部110に格納する。位置管理部120は、フォークリフト制御装置300から取得されたフォークリフト30の位置情報に基づいてコイルが配置された位置を求め、記憶部110に格納する。
位置検索部130は、コイルの取り出し(ピックアップ)指示に応じて、記憶部110を参照して、該当のコイルが配置された位置を検索し、検索した位置を移動指示送信部140に提供する。
移動指示送信部140は、位置検索部130により検索された位置の情報、および、取り出し指示で指定されたコイルのコイルIDを含む移動指示を、クレーン制御装置200、フォークリフト制御装置300および端末装置400に送信する。移動指示は、位置およびコイルIDを示すメッセージを含む。また、移動指示は、倉庫10内のコイルの配置状況を表すマップや、マップ上の移動元位置および移動先位置を指定するカーソルなどの画像情報を含んでもよい。
クレーン制御装置200は、通信処理部210、コイルID取得部220、位置取得部230および移動指示出力部240を有する。
通信処理部210、コイルID取得部220、位置取得部230および移動指示出力部240は、RAM202に記憶されたプログラムをプロセッサ201により実行することで、プロセッサ201により発揮される機能である。ただし、通信処理部210、コイルID取得部220、位置取得部230および移動指示出力部240は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
通信処理部210は、コイルID取得部220により取得されたコイルIDやサイズなどの情報をサーバ100に送信する。通信処理部210は、位置取得部230により取得されたクレーン20の位置情報をサーバ100に送信する。通信処理部210は、コイルの移動指示をサーバ100から受信する。
コイルID取得部220は、バーコードスキャナ209を用いて、コイルに付与されたバーコードを読み取る。コイルID取得部220は、バーコードの読み取り結果に基づいて、該当のコイルのコイルIDやサイズなどの情報を取得する。
位置取得部230は、クレーン駆動制御部204によるクレーン20の移動方向、および、移動距離を取得し、クレーン20の位置情報を取得する。クレーン20の位置情報は、クレーン20が備える吊具(具体的には鉤部)の位置情報である。
移動指示出力部240は、コイルの移動指示をディスプレイ61aに出力する。移動指示出力部240は、コイルの移動指示の内容をディスプレイ61aに表示させる。
フォークリフト制御装置300は、通信処理部310、コイルID取得部320、位置取得部330および移動指示出力部340を有する。
通信処理部310、コイルID取得部320、位置取得部330および移動指示出力部340は、RAM302に記憶されたプログラムをプロセッサ301により実行することで、プロセッサ301により発揮される機能である。ただし、通信処理部310、コイルID取得部320、位置取得部330および移動指示出力部340は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
通信処理部310は、コイルID取得部320により取得されたコイルIDやサイズなどの情報をサーバ100に送信する。通信処理部310は、位置取得部330により取得されたフォークリフト30の位置情報をサーバ100に送信する。通信処理部310は、コイルの移動指示をサーバ100から受信する。
コイルID取得部320は、バーコードスキャナ309を用いて、コイルに付与されたバーコードを読み取る。コイルID取得部320は、バーコードの読み取り結果に基づいて、該当のコイルのコイルIDやサイズなどの情報を取得する。
位置取得部330は、ビーコン受信部307aにより受信されたビーコン信号に基づいて、フォークの中央部分(具体的には、コイルの孔をフォークに貫通させたときにコイルのほぼ中央に位置する部分)の位置座標を取得する。例えば、位置取得部330は、ビーコン信号に基づく三角測量によって、フォークリフト30の所定位置の座標を取得する。位置取得部330は、当該位置の座標と、フォークの中央部分のフォークリフト30上での位置座標とから、フォークの中央部分の倉庫10内での位置座標を計算する。位置取得部330は、フォークの中央部分のフォークリフト30上での座標を、リフトによるフォークの昇降度合いによって決定する。
あるいは、フォークリフト30を使用する場合、倉庫10内の床面に、倉庫10内における各位置の座標を識別するための所定のマーカーを設けてもよい。位置取得部330は、各位置に設けられた所定のマーカーをバーコードスキャナ309により読み取ることで、フォークの中央部分の倉庫10内での位置座標を取得してもよい。
移動指示出力部340は、コイルの移動指示をディスプレイ61bに出力する。移動指示出力部340は、コイルの移動指示の内容をディスプレイ61bに表示させる。
端末装置400は、通信処理部410および移動指示出力部420を有する。
通信処理部410および移動指示出力部420は、RAM402に記憶されたプログラムをプロセッサ401により実行することで、プロセッサ401により発揮される機能である。ただし、通信処理部410および移動指示出力部420は、FPGAやASICなどのハードワイヤードロジックにより実現されてもよい。
通信処理部410は、コイルの移動指示をサーバ100から受信する。
移動指示出力部420は、コイルの移動指示をディスプレイ405に出力する。移動指示出力部420は、コイルの移動指示の内容をディスプレイ405に表示させる。
次に、倉庫10内の位置を表す座標系の例を説明する。倉庫10の座標系は、X軸、Y軸およびZ軸により表される3次元直交座標系である。
図10は、座標系の例を示す図である。X軸の正方向は、図10の左側から右側へ向かう方向である。Y軸の正方向は、図10の手前側から奥側へ向かう方向(奥行きの方向)である。Z軸の正方向は、図10の下側から上側へ向かう方向である。
コイルは、コイルの円柱軸がX軸に沿う方向になるように配置される。複数のコイルは、Y軸に沿う方向で隣接して配置され得る。コイルのピックアップ作業の関係上、複数のコイルは、X軸に沿う方向には隣接して配置されない(X軸方向にはコイル間に所定の間隔が設けられる)。
倉庫10の床面の一角を原点(0,0,0)とする。単位長を座標の一目盛とする。単位長は、倉庫10の広さや保管する物のサイズなど運用に応じて決定される。ここでは、一例として1mとする。倉庫10のX軸方向の長さはA(m)である。倉庫10のY軸方向の長さはB(m)である。倉庫10の床面から天井までの長さはC(m)である。
ここで、クレーン20は、X軸方向、Y軸方向およびZ軸方向に次のように動作する。クレーン20は、ガーダ21、架台22,23、トロリ24、ワイヤー25および鉤部26を有する。
ガーダ21は、X軸方向に沿って配置された柱状の構造物であり、架台22,23上の走行軌道(ランウェイ)上をX軸方向に走行する。ガーダ21は、トロリ24を支持する。
架台22,23は、倉庫10の天井にY軸方向に沿って設けられた2つの構造物であり、ガーダ21を支持する。架台22,23は、X軸方向に沿ってガーダ21のランウェイを形成する。
トロリ24は、ガーダ21をX軸方向に沿って移動する。トロリ24は、ワイヤー25の巻上機(図示を省略している)を有し、ワイヤー25の巻き上げや巻き下げを行うことで、ワイヤー25の下端に接続された鉤部26をZ軸方向に沿って移動させる。
ワイヤー25は、鉤部26および鉤部26に玉掛けされた荷を吊るためのクレーンワイヤーである。ワイヤー25の一端は、トロリ24の巻上機に接続される。ワイヤー25の他端は、鉤部26に接続される。ワイヤー25は、トロリ24の真下に鉤部26を支持する。
鉤部26は、玉掛け用のワイヤーロープの吊り下げに用いられる吊具である。鉤部26は、ワイヤー25の巻上機による巻き上げに伴って、Z軸の正方向に移動する。鉤部26は、ワイヤー25の巻上機による巻き下げに伴って、Z軸の負方向に移動する。
図11は、鉤部の座標の例を示す図である。位置取得部230は、トロリ24の中央部のX座標およびY座標により、鉤部26のX座標およびY座標を取得する。本例では、鉤部26は、トロリ24の中央部の真下に支持される。したがって、トロリ24の中央部(トロリ24の重心)の(X,Y)座標が(X,Y)=(fx,fy)であるとき、鉤部26の(X,Y)座標も(X,Y)=(fx,fy)である。鉤部26の(X,Y)座標は、倉庫10の床面上における鉤部26の位置を示す情報であるといえる。
また、天井から鉤部26の所定部分までのZ方向の長さ(Z軸上の長さ)をH(m)とすると、床から天井までのZ軸上の長さはC(m)なので、鉤部26のZ座標fzは、fz=C−Hである。ここで、天井から鉤部26の所定部分までのZ方向の長さは、天井から鉤部26までのワイヤー25の第1の長さと、ワイヤー25および鉤部26の接続部から鉤部26の所定部分までの第2の長さとの和である。鉤部26の所定部分とは、例えば、鉤部26の重心である。ただし、鉤部26の所定部分は、鉤部26の先端部などの他の位置でもよい。第1の長さは、例えば、巻上機による巻き上げ又は巻き下げられたワイヤー25の長さとして求められる。例えば、位置取得部230は、円柱形の巻上機(円柱の周にワイヤー25を巻きつける)の回転数などに基づいて第1の長さを求める。第2の長さは固定長である。鉤部26のZ座標は、倉庫10の床面からの鉤部26の高さを示す情報であるといえる。
この場合、位置管理部120は、クレーン制御装置200から取得された鉤部26の位置情報により、次のようにしてコイルの配置座標を求めることができる。
図12は、コイルの配置座標の第1の例を示す図である。図12では、クレーン20の位置情報に基づくコイル50の配置座標を例示する。ここで、コイル50の座標は、コイル50の中央部分(すなわち、コイル50の重心)の座標に相当する。図12(A)は、コイル50の配置座標の第1の例(その1)を示す。ワイヤーロープ70は、玉掛けに用いられるロープである。玉掛けでは、作業員により、ワイヤーロープ70が、コイル50の孔に通され、ワイヤーロープ70の両端が鉤部26に括られる。
ここで、玉掛け時、又は、玉掛けを外す際に、鉤部26の所定部分は、コイル50の中央部分のほぼ真上に配置され、コイル50の上部から距離D1(m)だけ上側に離して配置される運用であるとする。この場合、コイル50の半径をr(m)とすると、玉掛け時、又は、玉掛けを外す際の鉤部26の座標(fx,fy,fz)に対して、コイル50の中央部分の座標は(fx,fy,fz−D1−r)である。こうして、位置管理部120は、玉掛け時、又は、玉掛けを外すタイミングでの鉤部26の座標を得ることで、そのときのコイル50の配置座標を得ることが可能である。
図12(B)は、コイル50の配置座標の第1の例(その2)を示す。図12(B)は、鉤部26に玉掛けされたコイル50を吊って、コイル50を浮かせる直前、又は、コイル50の接地の直後の状態を図示している。この場合の鉤部26の所定部分と、コイル50の上部との距離は、距離D2(m)である。したがって、コイル50の半径をr(m)とすると、このときの鉤部26の座標(fx,fy,fz)に対して、コイル50の中央部分(すなわち、コイル50の重心)の座標は(fx,fy,fz−D2−r)である。ここで、距離D2は次のようにして求められる。
コイル50は、ほぼ水平の姿勢を保って持ち上げられる。この場合、コイル50の軸方向の長さを2L(m)とすると、鉤部26は、コイル50の軸方向の一端から他端に向かって距離L(m)である点の真上に位置する。また、ワイヤーロープ70のうち、コイル50の上部の一端から鉤部26までの長さと、コイル50の上部の他端から鉤部26までの長さとは、ほぼ等しく、何れもW(m)である。そして、コイル50は、ほぼ水平の姿勢を保って持ち上げられるため、コイル50の軸方向は、鉛直方向とほぼ垂直と考えてよい。よって、D2=(W−L)^(1/2)である。
このように、位置管理部120は、鉤部26に玉掛けされたコイル50を吊って、コイル50を浮かせる直前のタイミング、又は、コイル50の接地の直後のタイミングでの鉤部26の座標を得ることで、そのときのコイル50の配置座標を得ることもできる。
なお、位置管理部120は、計算に用いられるr,W,Lの値を、対象となるコイルのサイズや使用するワイヤーロープ70の長さなどに応じた値とする。これらr,W,Lの値は、コイルのサイズやワイヤーロープ70の長さに応じて記憶部110に予め格納される。
図13は、コイルの配置座標の第2の例を示す図である。図13では、フォークリフトの位置情報に基づくコイル50の配置座標を例示する。前述のように、位置取得部330は、フォークリフト30において、リフトによるフォークの昇降度合いによりフォークにより支持されるコイル50の中央部の座標(gx,gy,gz)を得ることができる。位置取得部330は、コイル50を所定の位置に配置した直後のタイミングにおいて、コイル50の孔からフォークを抜き取る前にコイル50が配置された座標(gx,gy,gz)の情報をサーバ100に送信する。
あるいは、前述のように、フォークリフト30を使用する場合、倉庫10内の床面に、倉庫10内における各位置の座標を識別するための所定のマーカーを設けてもよい。位置取得部330は、各位置に設けられた所定のマーカーをバーコードスキャナ309により読み取ることで、フォークにより支持されるコイル50の中央部の座標(gx,gy,gz)を取得してもよい。
位置管理部120は、位置取得部330により送信された座標(gx,gy,gz)の情報を受信すると、受信した座標(gx,gy,gz)をコイル50が配置された座標として取得する。
なお、例えば、コイル50の搬送に自動車により移動する移動式クレーンを用いる場合も、位置管理部120は、フォークリフト30と同様にして、コイル50の位置を取得することができる。例えば、位置管理部120は、図13と同様にして、移動式クレーンの位置座標から移動式クレーンの吊具の位置座標を取得し、更に、図12と同様の計算により、コイル50の位置座標を取得する。
次に、クレーン制御装置200およびフォークリフト制御装置300によるコイルIDの読み取り例を説明する。
図14は、コイルIDの読み取り例を示す図である。前述のように、コイル50には、バーコードB1,B2が付される。バーコードB1は、例えば、コイル50が倉庫10内に置かれる際に上側になる箇所に付される。バーコードスキャナ209は、コイル50を下に望み、バーコードB1を読み取ることで、コイル50のコイルIDやサイズなどの情報を取得する。
また、バーコードB2は、例えば、コイル50の孔に対するフォークの差し込みが行われる面に付される。バーコードスキャナ309は、コイル50を前面に望み、バーコードB2を読み取ることで、コイル50のコイルIDやサイズなどの情報を取得する。
次に、倉庫10内においてコイルを配置可能な位置(配置可能アドレス)を決定する方法を例示する。
図15は、配置可能アドレスの決定方法の例を示す図である。前述のように、複数のコイルを俵積みにより、2段に積むことができる。図15(A)は、コイル51,52の上側にコイル53を積む例を示している。コイル51,52が隣接して配置されている場合、コイル51,52の隣接部分の上側に、コイル53(図中点線で表記している)を積める。したがって、コイル53を積む前の状態では、位置管理部120は、コイル51,52の隣接部分の上側を、配置可能アドレスとして管理する。
図15(B)は、配置可能アドレスの算出例を示している。コイル51,52,53の円の半径をr(m)とする。このとき、コイル53を積む前の状態における配置可能アドレスのY座標は、コイル51のY座標にrを加算した値である。また、コイル51,52,53の配置によれば、コイル51の円の中心と、コイル53の円の中心との距離は、2r(m)である。また、コイル51の円の中心からコイル51,52の隣接部分までの距離は、r(m)である。したがって、コイル53を積む前の状態における配置可能アドレスのZ座標は、r+(√3)r≒r+1.73r=2.73rである。なお、当該配置可能アドレスのX座標は、コイル51,52のX座標と同じである。
図16は、配置可能アドレスに対する制約の例を示す図である。倉庫10内では、直径の異なる複数のコイルが混在して配置されることもある。直径の異なる複数のコイルは、できるだけ倉庫10内の異なる領域に区別して配置されることが好ましい。ただし、スペースの関係上、直径の異なる複数のコイルが隣接して配置される可能性がある。
例えば、コイル54,55が、配置されている場合を考える。コイル55の直径は、コイル54の直径よりも小さい。コイル54,55はY軸方向に沿って隣接している。
この場合に、コイル54,55の上部に、コイル56を積むと、コイル54,55,56の安定性に問題が生じ得る。例えば、コイル56が重力にしたがって転がり落ちたり、コイル54,55にかかるコイル56の重みのバランスに不均衡が生じて、コイル54,55が転がったりするおそれがある。
このため、位置管理部120は、直径の異なる2つのコイルが隣接して配置されている場合、当該2つのコイルの上に別のコイルを積まないように制限する。すなわち、位置管理部120は、直径の異なる2つのコイルの隣接部分の上を、配置可能アドレスの対象外とする。
図17は、床面に対する配置可能セルの決定方法の例を示す図である。倉庫10の床面には特定の仕切りはない。このため、倉庫10の床面上には、任意の位置にコイルを配置可能である。ただし、ある場所にコイルを配置済である場合、配置済のコイルによって占められる領域と重複する領域に別のコイルを配置することはできない。また、前述のように、ピックアップ作業の関係上、X軸方向にはコイル間に所定の間隔が設けられる。
一方、位置管理部120は、倉庫10の床面についてX座標が同じであり、Y座標が2R(Rはコイルの直径でありR=2r)(m)以上離れた2つのコイルの間に他のコイルがない場合、これら2つのコイルの間の空間を、コイルを配置可能な空間と認識する。
例えば、あるX座標において、Y軸方向に沿って、コイル57,58,59が配置されている場合を考える。コイル57,58は隣接する。コイル58,59の間には、3R(m)の距離がある。そして、コイル58,59の間には、他のコイルが配置されていない。この場合、コイル58,59の間には、2つの配置可能セルCL1,CL2が存在すると考えられる。配置可能セルとは、直径Rの1つのコイルを配置可能な床面の領域を表す。すなわち、位置管理部120は、コイル58,59の間には、直径Rの2つのコイルを配置できる空間が存在すると特定する。
1つの例では、位置管理部120は、記憶部110に記憶されたコイルの位置情報に基づいて、コイル58のY座標にRを加算した値を、配置可能セルCL1に相当する位置のY座標とする((X,Z)座標は、コイル58の(X,Z)座標と同じである)。また、位置管理部120は、コイル58のY座標に2Rを加算した値を、配置可能セルCL2に相当する配置可能アドレスのY座標とする((X,Z)座標は、コイル58の(X,Z)座標と同じである)。
また、位置管理部120は、コイルと、倉庫の壁(又は壁よりも内側の所定位置)との間の空間に対しても同様に、記憶部110に記憶されたコイルの位置情報と倉庫10の壁の座標とに基づいて、配置可能セルの座標を計算する。
次に、記憶部110に記憶される情報の例を説明する。
図18は、コイル位置管理テーブルの例を示す図である。コイル位置管理テーブル111は、記憶部110に記憶されるコイルの位置情報である。コイル位置管理テーブル111は、コイルID、X座標、Y座標およびZ座標の項目を含む。
コイルIDの項目には、コイルIDが登録される。X座標の項目には、該当のコイルIDに対応するコイルのX座標が登録される。Y座標の項目には、該当のコイルIDに対応するコイルのY座標が登録される。Z座標の項目には、該当のコイルIDに対応するコイルのZ座標が登録される。
例えば、コイル位置管理テーブル111には、コイルIDが“C1”、X座標が“a1”、Y座標が“b1”、Z座標が“c1”という情報が登録される。これは、コイルID“C1”で示されるコイルが座標(X,Y,Z)=(a1,b1,c1)で示される倉庫10内の位置に配置されていることを示す。
コイル位置管理テーブル111には、他のコイルについても同様に、コイルIDと(X,Y,Z)座標との対応関係が登録される。
図19は、コイル情報管理テーブルの例を示す図である。コイル情報管理テーブル112は、記憶部110に記憶される。コイル情報管理テーブル112は、コイルIDおよび直径の項目を含む。
コイルIDの項目には、コイルIDが登録される。直径の項目には、該当のコイルIDに対応するコイルの直径が登録される。
例えば、コイル情報管理テーブル112には、コイルIDが“C1”、直径が“R”という情報が登録される。これは、該当のコイルID“C1”で示されるコイルの直径がR(m)であることを示す。
コイル情報管理テーブル112には、他のコイルについても同様に、コイルIDと直径との対応関係が登録される。
図20は、配置可能アドレステーブルの例を示す図である。配置可能アドレステーブル113は、記憶部110に記憶される。配置可能アドレステーブル113は、アドレスID、X座標、Y座標およびZ座標の項目を含む。
アドレスIDの項目には、配置可能アドレスの識別情報(アドレスIDと称する)が登録される。X座標の項目には、該当のアドレスIDに対応する配置可能アドレスのX座標が登録される。Y座標の項目には、該当のアドレスIDに対応する配置可能アドレスのY座標が登録される。Z座標の項目には、該当のアドレスIDに対応する配置可能アドレスのZ座標が登録される。
例えば、配置可能アドレステーブル113には、アドレスIDが“P1”、X座標が“a11”、Y座標が“b11”、Z座標が“c11”という情報が登録される。これは、アドレスID“P1”で示される配置可能アドレスが座標(X,Y,Z)=(a11,b11,c11)で示される倉庫10内の位置であることを示す。
配置可能アドレステーブル113には、他の配置可能アドレスについても同様に、アドレスIDと(X,Y,Z)座標との対応関係が登録される。
図21は、出荷予定テーブルの例を示す図である。出荷予定テーブル114は、記憶部110に記憶される。出荷予定テーブル114は、コイルID、出荷予定日および出荷予定時刻の項目を含む。
コイルIDの項目には、コイルIDが登録される。出荷予定日の項目には、該当のコイルIDに対応するコイルの出荷予定日が登録される。出荷予定時刻の項目には、該当のコイルIDに対応するコイルの出荷予定時刻が登録される。
例えば、出荷予定テーブル114には、コイルIDが“C1”、出荷予定日が“2017/3/10”、出荷予定時刻が“15:00:00”という情報が登録される。これは、コイルID“C1”に対応するコイルの出荷予定日が2017年3月10日であり、出荷予定日における出荷予定時刻が15時00分00秒であることを示す。
出荷予定テーブル114には、他のコイルについても同様に、コイルIDと出荷予定日/出荷予定時刻との対応関係が登録される。
出荷予定テーブル114には、所定のタイミングで、各コイルの出荷予定が記録される。例えば、サーバ100は、コイルの受注を管理する他のサーバコンピュータから、各コイルの出荷予定の情報を取得し、出荷予定テーブル114に記録してもよい。又は、サーバ100は、倉庫管理者による各コイルの出荷予定の入力を受け付けて、出荷予定テーブル114に記録してもよい。更に、各コイルに付されたバーコードに出荷予定が記録されることもある。この場合、サーバ100は、クレーン制御装置200やフォークリフト制御装置300により読み取られた各コイルの出荷予定を取得し、出荷予定テーブル114に記録してもよい。
次に、移動指示送信部140によりクレーン制御装置200、フォークリフト制御装置300および端末装置400に提供される移動指示画面の例を説明する。
図22は、移動指示画面の例を示す図である。移動指示画面G1の情報は、移動指示送信部140により生成され、クレーン制御装置200、フォークリフト制御装置300および端末装置400に送信される。移動指示出力部240は、移動指示画面G1をディスプレイ61aに表示させる。移動指示出力部340は、移動指示画面G1をディスプレイ61bに表示させる。移動指示出力部420は、移動指示画面G1をディスプレイ405に表示させる。
移動指示画面G1は、クレーンオペレータ、フォークリフトオペレータおよび玉掛けを行う各作業員に対して、移動対象のコイルを指示する画面である。例えば、移動指示画面G1は、移動対象コイルのコイルID、移動対象コイルの移動元座標および移動先座標のメッセージを含む。
また、移動指示画面G1は、移動元座標から移動先座標へ移動させるための具体的な経路を指示するメッセージを含む。当該メッセージとして、移動指示画面G1では、「移動対象コイルを 北にαm 西にβm 移動させてください。」というメッセージを例示している。
更に、移動指示画面G1は、コイルの移動方法を図示した画像を含む。当該画像は、座標の原点位置や東西南北の方位を表すシンボル、コイルを表すシンボル、移動元の位置を表すシンボル、および、移動先の位置を表すシンボルを含む。当該画像には、これらのシンボルがマッピングされる。移動指示画面G1は、各シンボルの表す意味を示す凡例の画像を含む。ここで、コイルを表すシンボルは、1段目のコイル(積み重ねの下段に位置するコイル)のシンボルと2段目のコイル(積み重ねの上段に位置するコイル)のシンボルとの2種類ある。
移動元の位置を表すシンボルは、移動元座標に対応する位置にマッピングされる。移動先の位置を表すシンボルは、移動先座標に対応する位置にマッピングされる。また、1段目のコイルを表すシンボルおよび2段目のコイルを表すシンボルは、サーバ100により管理されているコイル位置管理テーブル111に登録された各コイルの位置座標に対応する位置にマッピングされる。
更に、移動指示画面G1の画像には、前述の移動の経路を指示するメッセージに対応して、当該経路を矢印などで表した経路図を含む。経路図は、例えば、クレーン20の移動可能方向に沿った直線の組み合わせによって表される。各直線には、移動すべき距離(例えば、“α(m)”や“β(m)”)の表記が付される。
次に、サーバ100による処理手順を説明する。まず、サーバ100によるコイル位置登録処理を説明する。
図23は、コイル位置登録処理の例を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。
(S11)位置管理部120は、クレーン20又はフォークリフト30からコイルの配置完了通知を受信する。具体的には、位置管理部120は、クレーン20によるコイルの移動が完了したタイミングで、クレーン制御装置200から当該コイルの配置完了通知を受信する。ここで、クレーン20によるコイルの移動が完了したタイミングとは、図12(A)又は図12(B)で例示したタイミングである(図12(A)および図12(B)のうちの何れのタイミングとするかは運用に応じて予め定められる)。あるいは、位置管理部120は、フォークリフト30によるコイルの移動が完了したタイミングで、フォークリフト制御装置300から当該コイルの配置完了通知を受信する。
(S12)位置管理部120は、クレーン20又はフォークリフト30から位置情報およびコイルIDを受信する。具体的には、位置管理部120は、移動が完了したタイミングにおける鉤部26の座標の情報と、移動されたコイルのコイルIDとを、クレーン制御装置200から受信する。この場合、移動されたコイルのコイルIDは、前述のようにクレーン制御装置200によりバーコードスキャナ209を用いて予め読み取られる。あるいは、位置管理部120は、移動が完了したタイミングにおけるフォークの中央部分の倉庫10における座標の情報と、移動されたコイルのコイルIDとを、フォークリフト制御装置300から受信する。この場合、移動されたコイルのコイルIDは、前述のように、フォークリフト制御装置300によりバーコードスキャナ309を用いて予め読み取られる。
(S13)位置管理部120は、クレーン20又はフォークリフト30から受信した位置情報に基づいて、コイル位置を特定する。具体的には、クレーン制御装置200から位置情報を受信した場合、位置管理部120は、図12(A)又は図12(B)で例示した計算方法(ステップS11のタイミングに対応する方を用いる)によって、移動されたコイルの位置を計算する。あるいは、フォークリフト制御装置300から位置情報を受信した場合、位置管理部120は、図13で例示したように、受信した位置情報を、コイルの位置とする。
(S14)位置管理部120は、移動されたコイルが倉庫10に新たに搬入されたコイル(新規コイル)であるか否かを判定する。新規コイルである場合、位置管理部120は、ステップS15に処理を進める。新規コイルでない場合、位置管理部120は、ステップS16に処理を進める。新規コイルでない場合は、移動されたコイルは、倉庫10に配置済であった既存コイルである。
(S15)位置管理部120は、新規コイル位置の追加を行う。具体的には、位置管理部120は、クレーン20又はフォークリフト30から受信したコイルIDに対応付けて、ステップS13で特定した位置を示す座標を、記憶部110に記憶されたコイル位置管理テーブル111に登録する。そして、位置管理部120は、ステップS17に処理を進める。
(S16)位置管理部120は、既存コイル位置の更新を行う。具体的には、位置管理部120は、クレーン20又はフォークリフト30から受信したコイルIDのレコードを、コイル位置管理テーブル111から検索する。そして、位置管理部120は、検索されたレコードに登録されている座標を、ステップS13で特定した位置を示す座標に更新する。
(S17)位置管理部120は、記憶部110に記憶された配置可能アドレステーブル113を更新する。例えば、位置管理部120は、今回のコイルの配置によって、該当のコイルと隣接コイルとの上部に配置可能アドレスが発生した場合、図15で例示した方法により、当該配置可能アドレスを示す座標を計算し、配置可能アドレステーブル113に登録する。あるいは、位置管理部120は、今回のコイルの配置によって、配置可能アドレステーブル113に登録された何れかの位置に新たにコイルが配置されることもある。この場合、配置可能アドレスは消滅するため(コイル配置済になるため)、位置管理部120は、該当のアドレスIDに対応するレコードを、配置可能アドレステーブル113から削除する。なお、今回のコイルの配置により、配置可能アドレスが発生、又は、消滅しない場合には、位置管理部120は、ステップS17をスキップしてよい。
ここで、位置管理部120は、ステップS17では、記憶部110に記憶されたコイル情報管理テーブル112に基づいて、図16で例示した制約により、異なる直径の隣接する2つのコイルの隣接部分の上を配置可能アドレスの対象外とする。なお、コイル情報管理テーブル112に対する情報の登録は、後述する新規コイル搬入処理において行われる(ただし、ステップS15において行われてもよい)。
このように、図23の手順を、各コイルに対して繰り返し行うことで、各コイルの倉庫10における配置位置がサーバ100のコイル位置管理テーブル111により管理される。そして、サーバ100は、各コイルに対して管理される配置位置に基づいて、倉庫10内におけるコイルの効率的な移動を支援することができる。例えば、サーバ100は、コイルの効率的な取り出しを支援できる。具体的には、次の通りである。
図24は、コイル取り出し処理の例を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
(S21)位置検索部130は、倉庫管理者によるコイル取り出し指示の入力を受け付ける。例えば、倉庫管理者は、コイルの出荷時などに、入力デバイス62を操作して、出荷対象のコイルのコイル取り出し指示をサーバ100に入力する。コイル取り出し指示は、取り出し対象のコイルのコイルIDと、取り出し先の位置を示す座標とを含む。
(S22)位置検索部130は、記憶部110に記憶されたコイル位置管理テーブル111に基づいて、取り出し対象コイルの上方に積み重ねられた他のコイルがあるか否かを判定する。ここで、「上方」とは、取り出し対象コイルの座標を(X,Y,Z)=(a,b,c)、コイルの半径をr(m)とすると、「X=a、かつ、b−r≦Y≦b+r、かつ、Z>c」である座標範囲を意味する。取り出し対象コイルの上方に積み重ねられた他のコイルがある場合、位置検索部130は、ステップS23に処理を進める。取り出し対象コイルの上方に積み重ねられた他のコイルがない場合、位置検索部130は、ステップS24に処理を進める。
(S23)位置検索部130は、コイルの配置替え処理を実行する。コイルの配置替え処理とは、取り出し対象のコイルの上方に積み重ねられた他のコイルを、取り出し対象コイルの上方以外の位置に移動させる処理である。コイルの配置替え処理の詳細は後述される。
(S24)移動指示送信部140は、取り出し対象コイルの移動を、クレーン20および端末装置400,400aに指示する。具体的には、移動指示送信部140は、移動指示画面(例えば、移動指示画面241)の情報を含む移動指示を、クレーン20および端末装置400,400aに送信する。移動指示画面は、取り出し先として指定された移動先の位置の情報を含む。なお、移動指示送信部140は、フォークリフト30を用いて移動を行う場合には、フォークリフト30に対して移動指示を送信する(クレーン20およびフォークリフト30の何れを用いるかは倉庫管理者により指定されてもよい)。
(S25)位置管理部120は、クレーン20又はフォークリフト30による取り出し対象コイルの取り出し位置への移動が完了すると、取り出し対象コイルに対してコイル位置登録処理(図23の手順)を実行する。
なお、位置検索部130は、記憶部110に記憶された出荷予定テーブル114を参照して、出荷予定日時に達したタイミングで、出荷対象のコイルの所定の位置(例えば、搬出スペース11)への取り出しを、上記の手順によって行ってもよい。
図25は、コイル配置替え処理の例を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。以下に示す手順は、図24のステップS23に相当する。
(S31)位置検索部130は、記憶部110に記憶されたコイル位置管理テーブル111に基づいて、取り出し対象コイルの上方にある配置替え対象のコイルを特定する。ここで、「上方」とは、前述のように、取り出し対象コイルの座標を(X,Y,Z)=(a,b,c)、コイルの半径をr(m)とすると、「X=a、かつ、b−r≦Y≦b+r、かつ、Z>c」である座標範囲を意味する。
(S32)位置検索部130は、コイルの出荷スケジュールを基に、ステップS31で特定した配置替え対象のコイルの配置替え先の候補位置を決定する。具体的には、位置検索部130は、配置可能アドレステーブル113に登録された配置可能アドレスのうち、出荷予定テーブル114を基に所定時間内(例えば、24時間以内など)に出荷予定のコイルの上方にある配置可能アドレスを配置替え先の候補から除外する。なお、位置検索部130は、配置可能アドレスが何れのコイルの上方にあるかを、コイル位置管理テーブル111に登録された各コイルの位置と、ステップS31で説明した「上方」の条件によって把握する。すなわち、「上方」とは、着目するコイルの座標を(X,Y,Z)=(a0,b0,c0)、コイルの半径をr(m)とすると、「X=a0、かつ、b0−r≦Y≦b0+r、かつ、Z>c0」である座標範囲を意味する。位置検索部130は、取り出し対象コイルの上方の配置可能アドレスを、配置替え対象コイルの移動先の候補から除外する。そして、位置検索部130は、候補から除外されなかった配置可能アドレスと、倉庫10の床面に対する全ての(あるいは、取り出し対象コイル周囲の一部の)配置可能セルの座標を、配置替え先の候補位置とする。
(S33)位置検索部130は、ステップS32で決定した候補位置の中から、配置替えに伴うコストが最小になる位置を、配置替え対象のコイルの移動位置として決定する。例えば、位置検索部130は、クレーン20(又はフォークリフト30)により配置替え対象のコイルを各候補位置へ移動させるためのコストを計算し、当該コストの計算結果により、最小コストとなる候補位置を配置替え対象のコイルの移動先の位置とする。コストとしては、例えば、移動距離や、移動距離に応じた移動の所要時間が考えられる。又は、移動距離に応じた移動の所要時間と、移動方向の変更やワイヤー25の巻き上げ/巻き下げなどに伴うオペレーションに応じた所要時間との和を、コストとしてもよい。配置替え対象のコイルが複数の場合、位置検索部130は、配置替え対象の複数のコイルを順次移動させるためのコスト(各コイルに対して求められるコストの和)が最小になるように、各コイルの移動先を決定する。位置検索部130は、最小コストの経路を探索する方法として、例えば、ダイクストラ法を用いることができる。
(S34)移動指示送信部140は、配置替え対象のコイルを1つ選択し、配置替え対象のコイルの移動を、クレーン20および端末装置400,400aに指示する。具体的には、移動指示送信部140は、移動指示画面の情報を含む移動指示を、クレーン20および端末装置400,400aに送信する。移動指示画面は、ステップS33で位置検索部130により決定された移動先の位置の情報を含む。なお、移動指示送信部140は、フォークリフト30を用いて移動を行う場合には、フォークリフト30に対して移動指示を送信する(クレーン20およびフォークリフト30の何れを用いるかは倉庫管理者により指定されてもよい)。
(S35)位置管理部120は、クレーン20又はフォークリフト30による配置替え対象コイルの取り出し位置への移動が完了すると、今回配置替えを行ったコイルに対してコイル位置登録処理(図23の手順)を実行する。
(S36)位置管理部120は、配置替え対象のコイルを全て移動させたか否かを判定する。配置替え対象のコイルを全て移動させた場合、位置管理部120は、処理を終了する。未だ移動させていない配置替え対象のコイルがある場合、位置管理部120は、ステップS34に処理を進める。
次に、倉庫10に対して新たに搬入されるコイル(新規コイル)に対するサーバ100による新規コイル搬入処理を説明する。
図26は、新規コイル搬入処理の例を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。
(S41)位置管理部120は、新規コイルのコイルIDおよび直径の情報を取得し、記憶部110に記憶されたコイル情報管理テーブル112に登録する。コイルIDおよびコイルの直径の情報は、コイルに付されたバーコードに記録される。このため、クレーン制御装置200は、バーコードスキャナ209を用いて、バーコードに記録されたコイルのコイルIDおよび直径の情報を読み取れる。また、フォークリフト制御装置300は、バーコードスキャナ309を用いて、バーコードに記録されたコイルのコイルIDおよび直径の情報を読み取れる。位置管理部120は、クレーン制御装置200又はフォークリフト制御装置300により読み取られたコイルIDや直径の情報を取得する。
(S42)位置管理部120は、出荷スケジュールに基づいて新規コイルの配置先の位置を決定する。例えば、位置管理部120は、記憶部110に記憶された出荷予定テーブル114を参照して、所定時間内(例えば、24時間以内など)に出荷予定のコイルの上方の配置可能アドレスを、新規コイルの配置先の対象外とする。位置管理部120は、新規コイルの配置先の対象外とする配置可能アドレスを除いた配置可能アドレス、および、配置可能セルの座標の中から、配置先の位置を決定する。例えば、位置管理部120は、配置先の候補のうち、移動に伴うコスト(ステップS33で説明したコスト)が最小になる位置を、新規コイルの配置先とすることが考えられる。
(S43)移動指示送信部140は、新規コイルの移動を、クレーン20および端末装置400,400aに指示する。具体的には、移動指示送信部140は、移動指示画面の情報を含む移動指示を、クレーン20および端末装置400,400aに送信する。移動指示画面は、ステップS42で位置管理部120により決定された移動先の位置の情報を含む。なお、移動指示送信部140は、フォークリフト30を用いて移動を行う場合には、フォークリフト30に対して移動指示を送信する(クレーン20およびフォークリフト30の何れを用いるかは倉庫管理者により指定されてもよい)。
(S44)位置管理部120は、クレーン20又はフォークリフト30による新規コイルの配置先の位置への移動が完了すると、新規コイルに対してコイル位置登録処理(図23の手順)を実行する。
なお、ステップS42では、新規コイルの配置先を、主に、既存コイルの出荷スケジュールに基づいて選択する例を示したが、新規コイルの出荷スケジュールが既に判明している場合には、新規コイルの出荷スケジュールを基に配置先を選択してもよい。例えば、位置管理部120は、新規コイルの出荷日時が遅いほど、搬出スペース11から遠ざけて配置するように、新規コイルの配置先を選択してもよい。一方、位置管理部120は、新規コイルの出荷日時が近いほど、搬出スペース11に近づけて配置するように、新規コイルの配置先を選択してもよい。
図23〜図26のサーバ100による手順によれば、コイルの位置を適切に管理可能になるとともに、現場作業者(例えば、クレーンオペレータやフォークリフトオペレータ)によるコイルの効率的な移動を支援できる。それに加えて、現場作業者の判断によりコイルの移動先が変更される(サーバ100により指示された位置から変更される)ことも考えられるが、このような場合にもコイル位置を適切に管理可能であるという利点がある。
あるいは、サーバ100は、クレーン20やフォークリフト30に対して指示した移動先と、図23のステップS13とにおける実際の移動先とが一致している場合に、コイル位置を当該ステップS13で特定した位置で記録してもよい。その場合、サーバ100は、指示した移動先と実際の移動先とが一致していない場合に、クレーン制御装置200やフォークリフト制御装置300に対して一致していない旨を警告する運用も考えられる。
また、新規コイルの搬入では、ステップS41の次に、ステップS42,S43をスキップしてステップS44を行う制御も可能である。すなわち、新規コイルの倉庫10内の任意の位置への配置を許容してもよい。なぜなら、任意の位置への配置を許容したとしても、図23の手順によって、新規コイルの位置を適切に管理可能だからである。このように、サーバ100は、倉庫10の運用に応じて、制御方法を変更可能である。
次に、コイルの配置替え方法の具体例を説明する。
図27は、コイルの配置替え方法の第1の選択例を示す図である。例えば、コイルa,b,c,d,e,f,gは、当初、Y軸に沿って、倉庫10の床面に、この順番で隣接して配置されている。そして、コイルhは、コイルa,bの上に積まれている。コイルiは、コイルb,cの上に積まれている。コイルjは、コイルc,dの上に積まれている。コイルkは、コイルe,fの上に積まれている。コイルlは、コイルf,gの上に積まれている。
図27の例では、コイルaが取り出し対象コイルである場合を考える。コイルaの上方のコイルはコイルhである。この場合、例えば、コイルaの取り出し方法として、パターンA1,A2が考えられる。
パターンA1は、コイルhを、コイルd,eの上に移動させてから、コイルaを取り出す方法である。パターンA2は、コイルhを、コイルaの横に隣接する位置に移動させてから、コイルaを取り出す方法である。
この場合、パターンA2におけるコイルhの移動距離は、パターンA1におけるコイルhの移動距離よりも短い。したがって、位置検索部130は、コイルhの移動に伴うコストが、パターンA1よりもパターンA2の方が小さいと判定する。このため、位置検索部130は、パターンA1よりもパターンA2の方を優先して選択する。
図28は、コイルの配置替え方法の第2の選択例を示す図である。コイルa,b,c,d,e,f,g,h,i,j,k,lの当初の配置は、図27における当初の配置と同様である。図28の例では、コイルb,cが取り出し対象コイルである場合を考える。コイルb,cの上方のコイルは、コイルh,i,jである。この場合、例えば、コイルb,cの取り出し方法として、パターンB1,B2が考えられる。
パターンB1では、最初に、コイルiを、コイルgの横に隣接する床面の位置に移動させる。2番目に、コイルjをコイルd,eの上に移動させる。3番目に、コイルhをコイルg,iの上に移動させる。その後、コイルb,cを順に取り出す。
パターンB2では、最初に、コイルiを、コイルgの横に隣接する位置に移動させる。2番目にコイルjをコイルd,eの上に移動させる。3番目に、コイルhを、コイルaの横に隣接する位置に移動させる。その後、コイルb,cを順に取り出す。
この場合、パターンB2におけるコイルi,j,hの移動距離の和は、パターンB1におけるコイルi,j,hの移動距離の和よりも短い。したがって、位置検索部130は、コイルi,j,hの移動に伴うコストが、パターンB1よりもパターンB2の方が小さいと判定する。このため、位置検索部130は、パターンB1よりもパターンB2の方を優先して選択する。
なお、図27,図28では、位置検索部130は、コイルの移動距離をコストとして用いたが、前述のように、移動距離に応じた移動の所要時間をコストとしてもよい。あるいは、移動距離に応じた移動の所要時間と、移動方向の変更やワイヤー25の巻き上げ/巻き下げなどに伴うオペレーションに応じた所要時間との和を、コストとしてもよい。
こうして、サーバ100は、倉庫10におけるコイルの移動の効率化を図れる。例えば、サーバ100は、コイルを速く移動できるように支援することができる。
図29は、コイルの配置方法の選択例を示す図である。例えば、コイルa,b,c,d,e,f,gは、Y軸に沿って、倉庫10の床面に、この順番で隣接して配置されている。そして、コイルhは、コイルa,bの上に積まれている。コイルiは、コイルb,cの上に積まれている。
ここで、図29の例では、当日に出荷予定であるコイル(当日出荷予定コイル)の上には新規コイルや配置替え対象のコイルを配置しないという条件が設けられているとする。コイルd,eは、当日出荷予定コイルである。コイルm,nは、新たに配置対象であるコイル(新規コイル又は配置替え対象のコイル)である。
この場合、位置管理部120および位置検索部130は、コイルm,nを、コイルd,eの上方に配置しないようにする。例えば、パターンC1で示されるように、コイルe,fの上にコイルmが積まれる配置を避ける。
一方、位置管理部120および位置検索部130は、例えば、パターンC2で示されるように、コイルd,eの上にコイルm,nを積まない配置を採用する。
こうして、サーバ100は、直近に出荷予定のロール状物体の取り出しに伴うコストも考慮した配置を実現でき、コイルを迅速に出荷可能となる。このように、サーバ100は、倉庫10におけるコイルの移動を一層効率化することもできる。
更に、サーバ100は、倉庫10内の位置に対して、該当の位置に配置されたコイルのコイルIDを検索し、倉庫管理者などによるコイルIDの確認を支援することもできる。具体的には、次の通りである。
図30は、コイルID確認処理の例を示すフローチャートである。以下、図30に示す処理をステップ番号に沿って説明する。
(S51)位置管理部120は、確認したい位置のコイルをピックアップする際のクレーン20の位置情報を取得する。クレーン20の位置情報は、例えば、鉤部26の位置を示す座標である。例えば、倉庫管理者は、入力デバイス62を操作して、サーバ100に当該座標を入力することができる。
(S52)位置管理部120は、取得した位置情報を基に、コイルIDを検索する。具体的には、位置管理部120は、取得した位置情報を、図12(A)又は図12(B)で例示した方法によって、当該位置情報に対応するコイルの位置を示す座標に変換する。そして、位置管理部120は、変換後の座標により、記憶部110に記憶されたコイル位置管理テーブル111を検索し、変換後の座標に対応付けられたコイルIDを取得する。
(S53)位置管理部120は、検索されたコイルIDをディスプレイ61に出力する。位置管理部120は、検索されたコイルIDをディスプレイ61により表示させる。
このように、位置管理部120は、コイルをピックアップする際のクレーン20の位置情報に基づいて、該当のコイルのコイルIDを特定することもできる。なお、ステップS52において、コイルIDを検索できない場合、ステップS53では、該当の位置にコイルが存在しないことをディスプレイ61に表示させる。
こうして、位置管理部120は、倉庫10内の各位置に存在するコイルIDの、倉庫管理者による確認を支援することもできる。なお、位置管理部120は、クレーン制御装置200、フォークリフト制御装置300および端末装置400,400aによるクレーン20の位置情報に対して、コイルIDを検索し、応答してもよい。
以上で説明したように、サーバ100によれば、倉庫10におけるコイルの管理を効率的に行える。特に、倉庫10内に仕切りがないような場合でも、倉庫10内のコイルの位置の管理を容易に行うことができる。
また、倉庫10内において、既存の運用では、コイルの位置の管理が人の記憶に頼られていることが多い。このような場合でも、サーバ100によるコイルの位置の管理機能を容易に導入可能である。具体的には、サーバ100によれば、既存のコイルに対して当初は位置をデータ化できていなくても、倉庫10内でのコイルの配置替えなどに伴って、既存のコイルに対する位置も徐々にデータ化することができる。このため、既存のコイルの位置を全てデータ化してから運用を開始するようなシステムよりも、システムの導入を容易に行えるという利点もある。
なお、第1の実施の形態の情報処理は、処理部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、処理部5bにプログラムを実行させることで実現できる。また、第3の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体13に記録できる。
例えば、プログラムを記録した記録媒体13を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体13に記録されたプログラム又は他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。