(57)【要約】【課題】位置情報を容易に管理可能にすること。【解決手段】位置情報管理装置１は、記憶部１ａと処理部１ｂとを有する。記憶部１ａは、対象物の配置位置を記憶する。処理部１ｂは、クレーン２により、倉庫３内に配置された第１の対象物４を倉庫３内のいずれかの位置に移動させた際、クレーン２の位置情報に基づいて、第１の対象物４の位置を特定する。処理部１ｂは、特定した位置と第１の対象物４の識別情報とを対応付けて記憶部１ａに記憶させる。【選択図】図１
2018145007.tif 000002
【特許請求の範囲】
【請求項１】
クレーンにより、倉庫内に配置された第１の対象物を前記倉庫内のいずれかの位置に移動させた際、前記クレーンの位置情報に基づいて、前記位置を特定し、
対象物の配置位置を記憶させる記憶部に、特定した前記位置と前記第１の対象物の識別情報とを対応付けて記憶させる、
処理をコンピュータに実行させることを特徴とする位置情報管理プログラム。
【請求項２】
対象物の配置位置を記憶させる前記記憶部を参照し、前記クレーンを用いて前記第１の対象物をピックアップする際の、前記クレーンの位置情報に基づいて、前記第１の対象物の識別情報を特定する、
ことを特徴とする請求項１に記載の位置情報管理プログラム。
【請求項３】
前記クレーンの位置情報は、前記クレーンに含まれる鉤部の位置情報である、
ことを特徴とする請求項１又は２に記載の位置情報管理プログラム。
【請求項４】
前記クレーンの位置情報は、前記倉庫の床面上の位置と高さ方向の位置とを含む、
ことを特徴とする請求項１に記載の位置情報管理プログラム。
【請求項５】
前記第１の対象物の第１の配置位置と前記第１の対象物に隣接する第２の対象物の第２の配置位置とに基づいて、前記第１の対象物および前記第２の対象物の上側における他の対象物を配置可能な配置可能位置を計算する、
ことを特徴とする請求項１乃至４の何れか１項に記載の位置情報管理プログラム。
【請求項６】
第３の対象物の移動先を選択する際に、前記配置可能位置を含む複数の移動先候補に対して、前記クレーンによる移動のコストを移動先候補毎に計算し、移動先候補毎の前記コストに基づいて、前記複数の移動先候補の中から前記移動先を選択する、
ことを特徴とする請求項５に記載の位置情報管理プログラム。
【請求項７】
前記第３の対象物の前記移動先を選択する際に、前記記憶部に記憶された対象物の出荷予定の情報に基づいて、前記複数の移動先候補を決定する、
ことを特徴とする請求項６に記載の位置情報管理プログラム。
【請求項８】
対象物の配置位置を記憶する記憶部と、
クレーンにより、倉庫内に配置された第１の対象物を前記倉庫内のいずれかの位置に移動させた際、前記クレーンの位置情報に基づいて、前記位置を特定し、特定した前記位置と前記第１の対象物の識別情報とを対応付けて前記記憶部に記憶させる処理部と、
を有することを特徴とする位置情報管理装置。
【請求項９】
コンピュータが、
クレーンにより、倉庫内に配置された第１の対象物を前記倉庫内のいずれかの位置に移動させた際、前記クレーンの位置情報に基づいて、前記位置を特定し、
対象物の配置位置を記憶させる記憶部に、特定した前記位置と前記第１の対象物の識別情報とを対応付けて記憶させる、
ことを特徴とする位置情報管理方法。
【請求項１０】
隣り合う複数のロール状物体の上に更にロール状物体が積み重ねて配置されたロール状物体の管理倉庫内におけるロール状物体の移動制御プログラムにおいて、
上方に１又は複数のロール状物体が積み重ねられた第１のロール状物体の取り出し指示に応じて、記憶部に記憶されたロール状物体の配置情報に基づいて、前記第１のロール状物体の上方に積み重ねられた全てのロール状物体を特定し、
特定した前記全てのロール状物体を前記第１のロール状物体の上方以外の位置に移動させ、前記全てのロール状物体が移動された後に残った前記第１のロール状物体を取り出し位置に移動させるとともに、移動させた前記全てのロール状物体の配置位置を移動先に対応する位置となるように更新する、
処理をコンピュータに実行させることを特徴とするロール状物体の移動制御プログラム。
【請求項１１】
隣り合う複数のロール状物体の上に更にロール状物体が積み重ねて配置されたロール状物体の管理倉庫内におけるロール状物体の移動制御装置において、
ロール状物体の配置情報を記憶する記憶部と、
上方に１又は複数のロール状物体が積み重ねられた第１のロール状物体の取り出し指示に応じて、前記記憶部に記憶された前記配置情報に基づいて、前記第１のロール状物体の上方に積み重ねられた全てのロール状物体を特定し、特定した前記全てのロール状物体を前記第１のロール状物体の上方以外の位置に移動させ、前記全てのロール状物体が移動された後に残った前記第１のロール状物体を取り出し位置に移動させるとともに、移動させた前記全てのロール状物体の配置位置を移動先に対応する位置となるように更新する処理部と、
を有することを特徴とするロール状物体の移動制御装置。
【請求項１２】
隣り合う複数のロール状物体の上に更にロール状物体が積み重ねて配置されたロール状物体の管理倉庫内におけるロール状物体の移動制御方法において、
コンピュータが、
上方に１又は複数のロール状物体が積み重ねられた第１のロール状物体の取り出し指示に応じて、記憶部に記憶されたロール状物体の配置情報に基づいて、前記第１のロール状物体の上方に積み重ねられた全てのロール状物体を特定し、
特定した前記全てのロール状物体を前記第１のロール状物体の上方以外の位置に移動させ、前記全てのロール状物体が移動された後に残った前記第１のロール状物体を取り出し位置に移動させるとともに、移動させた前記全てのロール状物体の配置位置を移動先に対応する位置となるように更新する、
ことを特徴とするロール状物体の移動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は位置情報管理プログラム、移動制御プログラム、位置情報管理装置、移動制御装置、位置情報管理方法および移動制御方法に関する。
【背景技術】
【０００２】
倉庫に保管された物の管理を情報処理システムによって支援することが考えられている。例えば、ＲＦＩＤ（Radio Frequency IDentifier）タグを用いて、管理対象物を管理する置場管理システムの提案がある。
【０００３】
この提案では、置場管理システムは、第１および第２のＲＦＩＤタグと、第１および第２のＲＦＩＤタグの情報を読み取る第１および第２のＲＦＩＤリーダと、読み取られた情報を含むフレームを受信するサーバとを含む。第１のＲＦＩＤタグは、管理対象物に装着され、管理対象物の識別情報を保持する。第２のＲＦＩＤタグは、管理対象物が配置される置場に装着され、置場の位置情報を保持する。第１および第２のＲＦＩＤリーダは、管理対象物を移動させる移送手段に設けられ、第１のＲＦＩＤタグの識別情報と、第２のＲＦＩＤタグの位置情報とを読み取り、通信用の変換アダプタを介してサーバに送信する。サーバは、受信した識別情報と置場の位置情報から管理対象物の移動実績を把握し、移動実績と管理対象物の入出庫指示との照合を行い、管理対象物の移動の成否を判断する。
【０００４】
また、複数のクレーンを用いた被搬送体の搬送を制御するクレーン装置の提案もある。この提案では、複数のクレーンの各々の演算部により、クレーンの位置データと被搬送体の位置情報によりクレーンの動作範囲を算出する。そして、主制御部により、各クレーンの演算結果を比較し、動作範囲が重畳しないクレーンを選択し、選択したクレーンにより被搬送体の搬送動作を行うように制御する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−９４５０４号公報
【特許文献２】特開昭５９−１９４９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、倉庫内に棚や区画などの固定の仕切りがある場合には、固定の仕切りに識別名を与えることで、該当の仕切りに収納された保管物の保管位置を管理し得る。しかし、固定の仕切りがない場合もある。この場合、保管物は、倉庫内の任意の位置に配置され得る。このため、保管場所の管理が容易でないという問題がある。
【０００７】
１つの側面では、本発明は、位置情報を容易に管理可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、位置情報管理プログラムが提供される。位置情報管理プログラムは、クレーンにより、倉庫内に配置された第１の対象物を倉庫内のいずれかの位置に移動させた際、クレーンの位置情報に基づいて、当該位置を特定し、対象物の配置位置を記憶させる記憶部に、特定した位置と第１の対象物の識別情報とを対応付けて記憶させる、処理をコンピュータに実行させる。
【０００９】
また、１つの態様では、隣り合う複数のロール状物体の上に更にロール状物体が積み重ねて配置されたロール状物体の管理倉庫内におけるロール状物体の移動制御プログラムが提供される。移動制御プログラムは、上方に１又は複数のロール状物体が積み重ねられた第１のロール状物体の取り出し指示に応じて、記憶部に記憶されたロール状物体の配置情報に基づいて、第１のロール状物体の上方に積み重ねられた全てのロール状物体を特定し、特定した全てのロール状物体を第１のロール状物体の上方以外の位置に移動させ、全てのロール状物体が移動された後に残った第１のロール状物体を取り出し位置に移動させるとともに、移動させた全てのロール状物体の配置位置を移動先に対応する位置となるように更新する、処理をコンピュータに実行させる。
【発明の効果】
【００１０】
１つの側面では、位置情報を容易に管理できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の位置情報管理装置を示す図である。
【図２】第２の実施の形態の移動制御装置を示す図である。
【図３】第３の実施の形態の倉庫管理システムの例を示す図である。
【図４】コイルの保管例を示す図である。
【図５】サーバのハードウェア例を示す図である。
【図６】クレーン制御装置のハードウェア例を示す図である。
【図７】フォークリフト制御装置のハードウェア例を示す図である。
【図８】端末装置のハードウェア例を示す図である。
【図９】倉庫管理システムの機能例を示す図である。
【図１０】座標系の例を示す図である。
【図１１】鉤部の座標の例を示す図である。
【図１２】コイルの配置座標の第１の例を示す図である。
【図１３】コイルの配置座標の第２の例を示す図である。
【図１４】コイルＩＤの読み取り例を示す図である。
【図１５】配置可能アドレスの決定方法の例を示す図である。
【図１６】配置可能アドレスに対する制約の例を示す図である。
【図１７】床面に対する配置可能セルの決定方法の例を示す図である。
【図１８】コイル位置管理テーブルの例を示す図である。
【図１９】コイル情報管理テーブルの例を示す図である。
【図２０】配置可能アドレステーブルの例を示す図である。
【図２１】出荷予定テーブルの例を示す図である。
【図２２】移動指示画面の例を示す図である。
【図２３】コイル位置登録処理の例を示すフローチャートである。
【図２４】コイル取り出し処理の例を示すフローチャートである。
【図２５】コイル配置替え処理の例を示すフローチャートである。
【図２６】新規コイル搬入処理の例を示すフローチャートである。
【図２７】コイルの配置替え方法の第１の選択例を示す図である。
【図２８】コイルの配置替え方法の第２の選択例を示す図である。
【図２９】コイルの配置方法の選択例を示す図である。
【図３０】コイルＩＤ確認処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の位置情報管理装置を示す図である。位置情報管理装置１は、クレーン２に接続される。クレーン２は、倉庫３にある対象物を移動させる運搬装置である。倉庫３は、複数の対象物の保管に用いられる施設である。対象物の形状は、積み重ねが可能な形状であり、例えば、直方体や円柱などが考えられる。直方体状の対象物としては、例えば、箱や木材、鋼材、石材などのブロックなどが考えられる。円柱状の対象物としては、例えば、鋼材のコイル（鋼帯）、タイヤ、樽およびドラム缶などが考えられる。ただし、対象物の例はこれらに限定されない。
【００１３】
倉庫３の内部の空間は、個々の対象物を配置するための予め仕切られた領域をもたない。このため、倉庫３の内部の空間には、任意の位置に対象物を配置可能である。例えば、ある対象物は、倉庫３の床面の任意の位置（他の対象物が配置された位置と重複しない位置）に配置される。また、倉庫３に配置された対象物の上に、別の対象物を配置することもできる（例えば、円柱状の対象物であれば、いわゆる俵積み（trefoil formation）によって積まれてもよい）。
【００１４】
位置情報管理装置１は、クレーン２を用いて移動された対象物４に対して、倉庫３における配置位置を管理する。位置情報管理装置１は、記憶部１ａおよび処理部１ｂを有する。
【００１５】
記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部１ｂは、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。処理部１ｂはプログラムを実行するプロセッサでもよい。「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００１６】
記憶部１ａは、対象物の配置位置の情報を記憶する。例えば、記憶部１ａは、位置テーブルＴ１を記憶する。位置テーブルＴ１は、対象物の識別情報と、対象物が配置された位置を示す座標とが対応付けられた情報である。後述するように、対象物の位置は、クレーン２の位置との相対的な関係によって決定される。
【００１７】
ここで、座標は、倉庫３の内部の空間を表す３次元座標である。例えば、倉庫３は直方体状の空間である。例えば、倉庫３の床面の１つの角を原点（０，０，０）とする。そして、図１の左側から右側へ向かう方向をＸ軸の方向とし、図１の手前側から奥側へ向かう方向をＹ軸の方向とし、図１の下側から上側へ向かう方向をＺ軸の方向とする。この場合、Ｘ座標およびＹ座標は、倉庫３の床面上の位置を示す。また、Ｚ座標は、倉庫３の床面からの高さ方向の位置を示す。例えば、各座標の一目盛は、所定の単位長さに相当する。
【００１８】
クレーン２は、Ｘ軸方向、Ｙ軸方向およびＺ軸方向に対象物４を移動させる。クレーン２は、例えば、天井クレーンである。クレーン２は、ジブクレーンや自動車により移動する移動式クレーンなど他の種類のクレーンでもよい。クレーン２は、制御部２ａ、駆動部２ｂ、ワイヤー２ｃおよび吊具２ｄを有する。
【００１９】
制御部２ａは、位置情報管理装置１による指示、又は、ユーザによる操作に従って、駆動部２ｂの動作を制御し、Ｘ軸方向、Ｙ軸方向およびＺ軸方向に吊具２ｄを移動させる。駆動部２ｂは、Ｘ軸方向およびＹ軸方向に、ワイヤー２ｃおよび吊具２ｄを移動させる。駆動部２ｂは、ガーダやトロリなどでもよい。ワイヤー２ｃは、一端が駆動部２ｂに、他端が吊具２ｄに、それぞれ接続されており、駆動部２ｂの真下に吊具２ｄを支持する。駆動部２ｂは、ワイヤー２ｃを巻き上げ、又は、巻き下げることで、Ｚ軸方向に吊具２ｄを移動させる。
【００２０】
吊具２ｄは、対象物４を吊るために用いられる部材である。吊具２ｄは、対象物４を把持する把持部（アームやクランプ）でもよいし、対象物４を玉掛けにより吊る鉤部（フック）などでもよい。
【００２１】
制御部２ａは、駆動部２ｂの原点（０，０，０）に対するＸ座標およびＹ座標を得ることで、駆動部２ｂの真下に位置する吊具２ｄのＸ座標およびＹ座標を得る。また、制御部２ａは、駆動部２ｂによる倉庫３の天井下のワイヤー２ｃの長さＨにより、吊具２ｄのＺ座標（倉庫３の天井のＺ座標から長さＨを引いた値）を得る。
【００２２】
処理部１ｂは、クレーン２により、倉庫３内に配置された対象物４を倉庫３内のいずれかの位置に移動させた際、クレーン２の位置情報に基づいて対象物４の位置を特定する。例えば、クレーン２の位置情報は、クレーン２の吊具２ｄ（把持部又は鉤部など）の位置情報でもよい。吊具２ｄの位置情報は、例えば、吊具２ｄの所定の位置（重心など）の位置を示す座標でもよい。例えば、対象物の位置を示す座標は、クレーン２の吊具２ｄの位置との相対的な関係によって決定される。より具体的には、処理部１ｂは、次のようにして対象物４の位置を特定する。
【００２３】
まず、処理部１ｂは、クレーン２による対象物４の移動が完了した旨の通知をクレーン２から受け付ける。そして、処理部１ｂは、移動完了時における吊具２ｄの位置情報をクレーン２から取得する。例えば、処理部１ｂは、吊具２ｄの位置情報として、座標Ｐ１（ｘａ，ｙａ，ｚａ）を取得する。
【００２４】
そして、処理部１ｂは、座標Ｐ１（ｘａ，ｙａ，ｚａ）に基づいて、対象物４の位置を示す座標Ｐ２（ｘｂ，ｙｂ，ｚｂ）を特定する。１つの例として、吊具２ｄの座標から距離Ｄだけ真下にある位置を対象物４の座標Ｐ２とすることが考えられる。この場合、座標Ｐ２（ｘｂ，ｙｂ，ｚｂ）＝（ｘａ，ｙａ，ｚａ−Ｄ）である。
【００２５】
処理部１ｂは、対象物の配置位置を記憶させる記憶部１ａに、特定した位置と対象物４の識別情報とを対応付けて記憶させる。例えば、処理部１ｂは、対象物４の識別情報“ＩＤ１”に対して、位置を示す座標（ｘｂ，ｙｂ，ｚｂ）を、記憶部１ａに記憶された位置テーブルＴ１に登録する。
【００２６】
なお、処理部１ｂは、対象物４の移動前に受け付ける対象物４の移動指示とともに、移動対象の対象物４の識別情報を取得してもよい。あるいは、対象物４の識別情報を含むバーコードやＲＦＩＤタグなどが対象物４に付されていることもある。この場合、処理部１ｂは、クレーン２が備えるリーダによりバーコードやＲＦＩＤタグから読み取られた識別情報を、クレーン２から取得することで、移動対象の対象物４の識別情報を取得してもよい。
【００２７】
位置情報管理装置１によれば、対象物の位置情報を容易に管理できる。具体的には、倉庫３のように、棚や固定の仕切りがない場合もある。この場合、保管される対象物は、倉庫内の任意の位置に配置され得る。このように、倉庫３に単純に並べて保管される対象物は、配置される場所に特定の識別名がないため、保管されている位置の管理が容易でない。
【００２８】
そこで、位置情報管理装置１により、対象物を運搬するクレーン２の位置情報に応じて、移動させた対象物の識別情報と、移動後の位置情報とを対応付けて管理する。これにより、移動させた対象物の位置情報を適切に管理可能となる。その結果、倉庫３の中に、対象物を配置する固定の仕切りや仕切りを識別するための設備（例えば、仕切り毎に付与されたＲＦＩＤタグなど）を設けなくても、対象物の位置情報を容易に管理することができる。
【００２９】
更に、処理部１ｂは、記憶部１ａに記憶された位置テーブルＴ１に基づいて、特定の位置にある対象物の識別情報を特定することも可能となる。例えば、処理部１ｂは、記憶部１ａを参照し、クレーン２を用いて対象物４をピックアップする際の、クレーン２の位置情報に基づいて、対象物４の識別情報を特定することもできる。具体的には、クレーン２の吊具２ｄを座標Ｐ１（ｘａ，ｙａ，ｚａ）に配置することを考える。例えば、この場合、処理部１ｂは、座標Ｐ１のｚ座標ｚａから距離Ｄを減算することで、座標Ｐ２（ｘｂ，ｙｂ，ｚｂ）＝（ｘａ，ｙａ，ｚａ−Ｄ）を得る。そして、処理部１ｂは、位置テーブルＴ１を参照して、座標Ｐ２に対応する対象物４の識別情報“ＩＤ１”を得る。対象物４の識別情報を得られれば、対象物４の識別情報に対応付けられた他の情報（例えば、対象物４の内容や出荷スケジュールなど）を検索することも可能になる。
【００３０】
また、処理部１ｂは、記憶部１ａに記憶された位置テーブルＴ１に基づいて、特定の対象物が配置された位置を特定することも可能となる。例えば、処理部１ｂは、出荷対象の対象物４の識別情報“ＩＤ１”の入力を受け付ける。処理部１ｂは、位置テーブルＴ１に基づいて、識別情報“ＩＤ１”に対応する座標Ｐ２（ｘｂ，ｙｂ，ｚｂ）＝（ｘａ，ｙａ，ｚａ−Ｄ）を得る。この場合、例えば、処理部１ｂは、座標Ｐ２のｚ座標ｚｂ＝ｚａ−Ｄに距離Ｄを加算することで、座標Ｐ１（ｘａ，ｙａ，ｚａ）を得る。そして、処理部１ｂは、対象物４をピックアップするために、座標Ｐ１により示される位置に吊具２ｄを配置すると判断する。
【００３１】
このような機能により、例えば、処理部１ｂは、対象物４をピックアップするための吊具２ｄの移動先として座標Ｐ１を、画面表示やメッセージの通知により、クレーン２を操作するユーザに対して指示してもよい。又は、処理部１ｂは、対象物４の移動指示などに応じてクレーン２の動作を制御することで、吊具２ｄを座標Ｐ１の位置に移動させ、対象物４を移動先の位置まで移動させてもよい。
【００３２】
このように、位置情報管理装置１によれば、対象物に対して管理される対象物の位置情報に基づいて、倉庫３における各対象物の入荷や出荷などに伴う効率的な運搬を支援することもできる。
【００３３】
なお、処理部１ｂは、クレーン２による対象物の移動を更に効率化させることも考えられる。例えば、クレーン２により対象物を別の場所に移動させる場合に、移動先候補が複数のこともある。この場合、処理部１ｂは、移動先候補の各位置へ移動させるためのコスト（移動先候補毎のコスト）を計算し、当該コストの計算結果により、対象物の移動先の位置を選択してもよい。コストとしては、例えば、移動距離に応じた移動の所要時間が考えられる。又は、移動距離に応じた移動の所要時間と、移動方向の変更やワイヤー２ｃの巻き上げ／巻き下げなどに伴うオペレーションに応じた所要時間との和を、コストとしてもよい。そして、処理部１ｂは、移動先の候補のうち、計算したコストが最小になる移動先を決定してもよい。これにより、対象物を短時間で移動可能となる。
【００３４】
更に、処理部１ｂは、移動先候補の位置を、対象物の出荷スケジュールに応じて決定してもよい。例えば、処理部１ｂは、移動先候補に対して、「現在から所定時間以内に出荷予定である対象物の上を、移動先候補の対象外とする」といった選択基準を設けてもよい。これにより、例えば、直近に出荷予定の対象物の取り出しに伴うコストも考慮した配置を実現でき、当該対象物を迅速に出荷可能となる。
【００３５】
［第２の実施の形態］
図２は、第２の実施の形態の移動制御装置を示す図である。移動制御装置５は、クレーン６に接続される。クレーン６は、管理倉庫７にあるロール状物体を移動させる運搬装置である。管理倉庫７は、複数のロール状物体の保管に用いられる施設である。ロール状物体は、例えば、円柱形状の物体であり、軸方向に沿って穴が設けられていてもよい。ロール状物体としては、例えば、鋼材のコイル（鋼帯）、タイヤ、樽およびドラム缶などが考えられる。ただし、ロール状物体の例はこれらに限定されない。
【００３６】
管理倉庫７の内部の空間は、個々のロール状物体を配置するための予め仕切られた領域をもたない。このため、管理倉庫７の内部の空間には、任意の位置にロール状物体を配置可能である。例えば、あるロール状物体は、管理倉庫７の床面の任意の位置（他のロール状物体が配置された位置と重複しない位置）に配置される。また、管理倉庫７に配置されたロール状物体の上に、別のロール状物体を配置することもできる。例えば、ロール状物体は、いわゆる俵積みによって積まれてもよい。俵積みは、隣接して配置された第１のロール状物体および第２のロール状物体の隣接部分の上部に、第３のロール状物体を載せる積み方である。
【００３７】
移動制御装置５は、このように隣り合う複数のロール状物体の上に更にロール状物体が積み重ねて配置されたロール状物体の管理倉庫７内におけるロール状物体の移動を制御する。移動制御装置５は、記憶部５ａおよび処理部５ｂを有する。
【００３８】
記憶部５ａは、ＲＡＭなどの揮発性記憶装置でもよいし、ＨＤＤやフラッシュメモリなどの不揮発性記憶装置でもよい。処理部５ｂは、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどを含み得る。処理部５ｂはプログラムを実行するプロセッサでもよい。「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００３９】
記憶部５ａは、ロール状物体の配置位置の情報（配置情報）を記憶する。例えば、記憶部５ａは、配置テーブルＴ２を記憶する。配置テーブルＴ２は、ロール状物体の識別情報と、ロール状物体が配置された位置を示す座標とが対応付けられた配置情報の一例である。後述するように、ロール状物体の位置を示す座標は、クレーン６の位置との相対的な関係によって決定される。
【００４０】
倉庫１０内の位置を示す座標は、管理倉庫７の内部の空間を表す３次元座標である。例えば、管理倉庫７は直方体状の空間である。例えば、管理倉庫７の床面の１つの角を原点（０，０，０）とする。そして、図２に示すように管理倉庫７の床面の一方向をＸ軸の方向とし、Ｘ軸と直交する管理倉庫７の床面の他の方向をＹ軸の方向とする。また、管理倉庫７の床面から真上へ向かう方向をＺ軸の方向とする。この場合、Ｘ座標およびＹ座標は、管理倉庫７の床面上の位置を示す。また、Ｚ座標は、管理倉庫７の床面からの高さ方向の位置を示す。例えば、各座標の一目盛は、所定の単位長さに相当する。
【００４１】
ここで、ロール状物体の移動には、クレーン６が用いられる。クレーン６は、Ｘ軸方向、Ｙ軸方向およびＺ軸方向にロール状物体を移動させる。クレーン６は、例えば、天井クレーンである。クレーン６は、ジブクレーンや自動車により移動する移動式クレーンなど他の種類のクレーンでもよい。クレーン６は、制御部６ａ、駆動部６ｂ、ワイヤー６ｃおよび吊具６ｄを有する。
【００４２】
制御部６ａは、移動制御装置５による指示、又は、ユーザによる操作に従って、駆動部６ｂの動作を制御し、Ｘ軸方向、Ｙ軸方向およびＺ軸方向に吊具６ｄを移動させる。駆動部６ｂは、Ｘ軸方向およびＹ軸方向に、ワイヤー６ｃおよび吊具６ｄを移動させる。駆動部６ｂは、ガーダやトロリなどでもよい。ワイヤー６ｃは、一端が駆動部６ｂに、他端が吊具６ｄに、それぞれ接続されており、駆動部６ｂの真下に吊具６ｄを支持する。駆動部６ｂは、ワイヤー６ｃを巻き上げ、又は、巻き下げることで、Ｚ軸方向に吊具６ｄを移動させる。
【００４３】
吊具６ｄは、ロール状物体を吊るために用いられる部材である。吊具６ｄは、ロール状物体を把持する把持部（アームやクランプ）でもよいし、ロール状物体を玉掛けにより吊る鉤部（フック）などでもよい。
【００４４】
制御部６ａは、駆動部６ｂの原点（０，０，０）に対するＸ座標およびＹ座標を得ることで、駆動部６ｂの真下に位置する吊具６ｄのＸ座標およびＹ座標を得る。また、制御部６ａは、駆動部６ｂによる管理倉庫７の天井下のワイヤー６ｃの長さＨにより、吊具６ｄのＺ座標（管理倉庫７の天井のＺ座標から長さＨを引いた値）を得る。なお、吊具６ｄの位置を示す座標は、例えば、吊具６ｄの所定の位置（重心など）の位置を示す座標でもよい。例えば、ロール状物体の位置を示す座標は、クレーン６の吊具６ｄの位置との相対的な関係（吊具６ｄの位置から距離Ｄだけ下の位置をロール状物体の位置とするなど）によって決定される。
【００４５】
一例として、ロール状物体Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５，Ｒ６が管理倉庫７に配置されているとする。ロール状物体Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５，Ｒ６の円の直径は同じであるとする。ロール状物体Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５，Ｒ６それぞれの軸（円柱軸）の方向は、Ｘ軸に沿う方向に保たれる。ロール状物体Ｒ１，Ｒ２，Ｒ３は、曲面を下にして管理倉庫７の床面に配置されている。ロール状物体Ｒ１，Ｒ２は、Ｙ軸方向に沿って隣接している。ロール状物体Ｒ２，Ｒ３は、Ｙ軸方向に沿って隣接している。ロール状物体Ｒ４は、ロール状物体Ｒ１，Ｒ２の上に配置されている。ロール状物体Ｒ５は、ロール状物体Ｒ２，Ｒ３の上に配置されている。ロール状物体Ｒ４，Ｒ５は、Ｙ軸方向に沿って隣接して配置される。更に、ロール状物体Ｒ６は、ロール状物体Ｒ４，Ｒ５の上に配置されている。ロール状物体Ｒ６は、ロール状物体Ｒ２のほぼ真上に位置する。
【００４６】
この場合、配置テーブルＴ２は、ロール状物体Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５，Ｒ６それぞれの識別情報と、ロール状物体Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５，Ｒ６それぞれの位置を示す座標とを含む。具体的には、配置テーブルＴ２は、ロール状物体Ｒ１の識別情報“ＩＤ１”およびロール状物体Ｒ１の位置を示す座標（ｘ１，ｙ１，ｚ１）を含む。配置テーブルＴ２は、ロール状物体Ｒ２の識別情報“ＩＤ２”およびロール状物体Ｒ２の位置を示す座標（ｘ１，ｙ２，ｚ１）を含む。配置テーブルＴ２は、ロール状物体Ｒ３の識別情報“ＩＤ３”およびロール状物体Ｒ３の位置を示す座標（ｘ１，ｙ３，ｚ１）を含む。配置テーブルＴ２は、ロール状物体Ｒ４の識別情報“ＩＤ４”およびロール状物体Ｒ４の位置を示す座標（ｘ１，ｙ４，ｚ２）を含む。配置テーブルＴ２は、ロール状物体Ｒ５の識別情報“ＩＤ５”およびロール状物体Ｒ５の位置を示す座標（ｘ１，ｙ５，ｚ２）を含む。配置テーブルＴ２は、ロール状物体Ｒ６の識別情報“ＩＤ６”およびロール状物体Ｒ６の位置を示す座標（ｘ１，ｙ２，ｚ３）を含む。ここで、ｙ１＜ｙ４＜ｙ２＜ｙ５＜ｙ３である。また、ｚ１＜ｚ２＜ｚ３である。
【００４７】
処理部５ｂは、上方に１又は複数のロール状物体が積み重ねられた第１のロール状物体の取り出し指示に応じて、記憶部５ａに記憶されたロール状物体の配置情報に基づいて、第１のロール状物体の上方に積み重ねられた全てのロール状物体を特定する。
【００４８】
例えば、処理部５ｂは、ロール状物体Ｒ２の取り出し指示の入力を受け付ける。取り出し指示は、取り出し対象であるロール状物体Ｒ２の識別情報“ＩＤ２”を含む。また、取り出し指示は、管理倉庫７における取り出し位置７ａの位置を示す座標（ｘ９，ｙ９，ｚ１）を含む。
【００４９】
処理部５ｂは、記憶部５ａに記憶された配置テーブルＴ２に基づいて、識別情報“ＩＤ２”に対応する座標（ｘ１，ｙ２，ｚ１）を特定する。処理部５ｂは、特定した座標（ｘ１，ｙ２，ｚ１）により、ロール状物体Ｒ２の上方に積み重ねられたロール状物体Ｒ４，Ｒ５，Ｒ６を特定する。この場合、特定した座標（ｘ１，ｙ２，ｚ１）に対して「上方」とは、「Ｘ＝ｘ１、かつ、ｙ１≦Ｙ≦ｙ３、かつ、Ｚ＞ｚ１」である座標範囲を意味する。なお、ロール状物体Ｒ１，Ｒ２，Ｒ３は隣接するので、ロール状物体Ｒ１，Ｒ２，Ｒ３の半径をｒとすると、ｙ１＝ｙ２−ｒ、ｙ３＝ｙ２＋ｒと表すこともできる。そして、処理部５ｂは、Ｘ座標がＸ＝ｘ１であり、Ｙ座標がｙ１≦Ｙ≦ｙ３であり、Ｚ座標がＺ＞ｚ１である座標に対応する識別情報“ＩＤ４”、“ＩＤ５”、“ＩＤ６”を配置テーブルＴ２により特定することで、ロール状物体Ｒ４，Ｒ５，Ｒ６を特定する。図１のステップＳ１は、このときのロール状物体Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５，Ｒ６の配置（当初の配置）を示す。
【００５０】
処理部５ｂは、特定した全てのロール状物体を第１のロール状物体の上方以外の位置に移動させる。例えば、処理部５ｂは、クレーン６を用いて、ロール状物体Ｒ２の取り出し指示に対して特定されたロール状物体Ｒ４，Ｒ５，Ｒ６を、ロール状物体Ｒ２の上方以外の位置に移動させる。前述のように、ロール状物体Ｒ２の「上方」は、「Ｘ＝ｘ１、かつ、ｙ１≦Ｙ≦ｙ３、かつ、Ｚ＞ｚ１」の座標範囲なので、処理部５ｂは、当該座標範囲以外の位置に、ロール状物体Ｒ４，Ｒ５，Ｒ６を移動させる。
【００５１】
具体的には、まず、処理部５ｂは、クレーン６を用いて、ロール状物体Ｒ６を、ロール状物体Ｒ１に対してｙ軸方向に沿って隣接する位置に移動させる。
処理部５ｂは、クレーン６の位置情報をクレーン６から取得し、ロール状物体Ｒ６の移動後の座標を特定する。具体的には、第１の実施の形態でも例示したように、処理部５ｂは、吊具６ｄの座標（ｘａ，ｙａ，ｚａ）に基づいて、ロール状物体Ｒ６の位置を示す座標（ｘ１，ｙ８，ｚ１）を特定する。１つの例として、前述のように、移動完了直後の吊具６ｄの座標（ｘａ，ｙａ，ｚａ）から距離Ｄだけ真下にある位置をロール状物体Ｒ６の座標とすることが考えられる。この場合、座標（ｘ１，ｙ８，ｚ１）＝（ｘａ，ｙａ，ｚａ−Ｄ）である。ここで、ｙ８＜ｙ１である。
【００５２】
次に、処理部５ｂは、クレーン６を用いて、ロール状物体Ｒ４を、ロール状物体Ｒ６に対してｙ軸方向に沿って隣接する位置に移動させる。処理部５ｂは、ロール状物体Ｒ４の移動先の座標（ｘ１，ｙ６，ｚ１）を特定する。特定方法は、ロール状物体Ｒ６の場合と同様である。ここで、ｙ６＜ｙ８である。
【００５３】
次に、処理部５ｂは、クレーン６を用いて、ロール状物体Ｒ５を、ロール状物体Ｒ３に対してｙ軸方向に沿って隣接する位置に移動させる。処理部５ｂは、ロール状物体Ｒ５の移動先の座標（ｘ１，ｙ７，ｚ１）を特定する。特定方法は、ロール状物体Ｒ６の場合と同様である。ここで、ｙ７＞ｙ３である。
【００５４】
図２のステップＳ２は、ロール状物体Ｒ４，Ｒ５，Ｒ６の移動後の状態を示す。
更に、処理部５ｂは、取り出し対象のロール状物体の上方の全てのロール状物体が移動された後に残った第１のロール状物体を取り出し位置に移動させる。例えば、処理部５ｂは、ロール状物体Ｒ２を取り出し位置７ａに移動させる。図２のステップＳ３は、ロール状物体Ｒ２の移動後の状態を示す。取り出し位置の座標は、取り出し指示で指定された座標（ｘ９，ｙ９，ｚ１）である。
【００５５】
処理部５ｂは、上記のロール状物体の移動に伴い、移動させたロール状物体の配置位置を移動先に対応する位置となるように更新する。例えば、処理部５ｂは、上記のロール状物体Ｒ４，Ｒ５，Ｒ６それぞれを移動させるたびに、配置テーブルＴ２におけるロール状物体Ｒ４，Ｒ５，Ｒ６それぞれの移動後の座標を更新する。あるいは、処理部５ｂは、ロール状物体Ｒ４，Ｒ５，Ｒ６を全て移動させた後に、配置テーブルＴ２におけるロール状物体Ｒ４，Ｒ５，Ｒ６それぞれの移動後の座標を更新してもよい。
【００５６】
そして、処理部５ｂは、ロール状物体Ｒ２を取り出し位置７ａに移動させると、配置テーブルＴ２におけるロール状物体Ｒ２の座標を取り出し位置の座標に更新する。
配置テーブルＴ２ａは、ロール状物体Ｒ２，Ｒ４，Ｒ５，Ｒ６について移動後の座標に更新された結果を示す（ステップＳ３の配置に対応する）。
【００５７】
このように、移動制御装置５によれば、ロール状物体に対して管理されるロール状物体の配置情報に基づいて、管理倉庫７における各ロール状物体の効率的な運搬を支援することができる。また、移動制御装置５によれば、移動されたロール状物体の移動後の位置を示す座標により配置情報を更新する。このため、移動に伴って変更されるロール状物体の配置された位置を適切に管理することができる。こうして、ロール状物体を配置する固定の仕切りや仕切りを識別するための設備（例えば、仕切り毎に付与されたＲＦＩＤタグなど）を設けなくても、ロール状物体の位置情報を容易に管理することができる。
【００５８】
なお、処理部５ｂは、クレーン６によるロール状物体Ｒ４，Ｒ５，Ｒ６の移動を更に効率化させることも考えられる。例えば、処理部５ｂは、クレーン６によりロール状物体Ｒ４，Ｒ５，Ｒ６を移動先候補の各位置へ移動させるためのコストを計算し、当該コストの計算結果により、ロール状物体Ｒ４，Ｒ５，Ｒ６の移動先の位置を選択してもよい。コストとしては、例えば、移動距離に応じた移動の所要時間が考えられる。又は、移動距離に応じた移動の所要時間と、移動方向の変更やワイヤー６ｃの巻き上げ／巻き下げなどに伴うオペレーションに応じた所要時間との和を、コストとしてもよい。そして、処理部５ｂは、移動先の候補のうち、計算したコストが最小になる移動先を決定してもよい。これにより、ロール状物体Ｒ４，Ｒ５，Ｒ６を短時間で移動可能となる。
【００５９】
更に、処理部５ｂは、移動先候補の位置を、ロール状物体の出荷スケジュールに応じて決定してもよい。例えば、処理部５ｂは、移動先候補に対して、「現在から所定時間以内に出荷予定であるロール状物体の上を、移動先候補の対象外とする」といった選択基準を設けてもよい。これにより、例えば、直近に出荷予定のロール状物体の取り出しに伴うコストも考慮した配置を実現でき、当該ロール状物体を迅速に出荷可能となる。
【００６０】
［第３の実施の形態］
図３は、第３の実施の形態の倉庫管理システムの例を示す図である。第３の実施の形態の倉庫管理システムは、倉庫１０に保管された保管物の管理を支援する。倉庫１０は、壁や屋根に囲われた施設でもよいし、壁や屋根に囲われていない屋外の施設でもよい。倉庫１０の内部の空間は、個々の保管物を配置するための予め仕切られた領域をもたない。このため、倉庫１０の内部の空間には、任意の位置に保管物を配置可能である。
【００６１】
第３の実施の形態では、保管物の一例として、鋼材のコイルを例示する。鋼材の材質は、例えばアルミである（ただし、他の材質でもよい）。コイルは、円柱形状である。コイルは、所定の厚さの鋼板をコイル状に巻いたものであり、鋼帯とも呼ばれる。コイルには円柱軸の中央部分（巻きの中央部分）を貫通する孔がある。このため、コイルは、円筒形状であるともいえる。
【００６２】
第３の実施の形態の倉庫管理システムは、クレーン２０、フォークリフト３０、サーバ１００および端末装置４００，４００ａを有する。クレーン２０およびサーバ１００は、ネットワーク４０に接続されている。ネットワーク４０は、例えば、ＬＡＮ（Local Area Network）である。フォークリフト３０および端末装置４００，４００ａは、アクセスポイント４１を介してネットワーク４０に接続されている。アクセスポイント４１は、ネットワーク４０に接続された無線ルータである。
【００６３】
クレーン２０は、倉庫１０に保管されたコイルを移動させる運搬装置である。クレーン２０は、倉庫１０の天井側に設けられたランウェイを走行する天井クレーンである。クレーン２０は、クレーンオペレータにより操作される。
【００６４】
フォークリフト３０は、倉庫１０に保管されたコイルを移動させる運搬装置である。フォークリフト３０は、自動車の一種であり、倉庫１０の床面を走行する。フォークリフト３０は、フォークおよびマストを備え、所定の動力（例えば、油圧）により、マストに沿ってフォークを昇降させる。フォークは、コイルの孔に差し込まれて、コイルを持ち上げ、支持する。フォークリフト３０は、フォークに指し込まれたコイルを倉庫１０内の任意の位置に移動させる。フォークリフト３０は、リフトオペレータにより操作される。
【００６５】
サーバ１００は、倉庫１０に配置されているコイルの位置を管理するサーバコンピュータである。サーバ１００は、クレーン２０、フォークリフト３０および端末装置４００，４００ａと通信する。サーバ１００は、クレーン２０やフォークリフト３０から取得される位置情報を基に、新規に搬入されたコイルの位置を特定し、保存する。サーバ１００は、既存のコイルの倉庫１０内での移動に伴って、クレーン２０やフォークリフト３０から取得される位置情報を基に、移動されたコイルの位置を特定し、当該コイルの位置を更新する。また、サーバ１００は、クレーン２０、フォークリフト３０および端末装置４００，４００ａに対してコイルの移動を指示する。
【００６６】
サーバ１００は、第１の実施の形態の位置情報管理装置１の一例である。サーバ１００は、第２の実施の形態の移動制御装置５の一例でもある。
端末装置４００，４００ａは、作業員により利用されるクライアントコンピュータである。作業員は、クレーン２０に対するコイルの玉掛けを行う。端末装置４００，４００ａは、ディスプレイを内蔵し、サーバ１００から受信したコイルの移動指示の内容を表示する。例えば、端末装置４００，４００ａは、スマートフォンやタブレット端末などのスマートデバイスである。
【００６７】
図４は、コイルの保管例を示す図である。倉庫１０には複数のコイルが保管されている。コイルは高温であることがある。例えば、製造直後のアルミのコイル（アルミコイル）は、４００℃に達する。また、倉庫１０内での作業時において、アルミコイルの温度は、２００℃程度である場合もある。このため、倉庫１０での保管は、出荷までの一時的な貯蔵とともに、冷却という役割もある。
【００６８】
コイルは、俵積みによって積み重ねられる。コイルは比較的重量がある。このため、保管時の安定性および安全上の理由から積み重ねの段数は２段までに制限されている。例えば、コイルの直径は２．４ｍ程度である。コイルを２段に積み重ねると、２段目のコイルの上部は４〜５ｍ程度の高さに達する。
【００６９】
また、クレーン２０やフォークリフト３０による運搬作業を効率的に行えるようにするため、各コイルの円柱軸は、所定の方向に揃えて配置される。更に、簡単のため、各コイルの円柱軸方向の長さは同じであるとする。ただし、あるコイルと別のコイルとで円柱軸方向の長さは異なっていてもよい。
【００７０】
倉庫１０の一角には、搬出スペース１１が設けられている。搬出スペース１１は、コイルの出荷時に倉庫１０からコイルを搬出するために用いられる作業用のスペースである。搬出スペース１１には、出荷直前のコイル以外の配置が制限される。コイルの搬入用のスペースは、倉庫１０の別の一角に設けられてもよいし、搬出スペース１１が搬入と兼用でもよい。
【００７１】
コイル５０は、倉庫１０に保管されている複数のコイルのうちの１つである。コイル５０には他のコイルが隣接して配置されている。また、コイル５０と隣接する他のコイルとの隣接部分の上に、更に別のコイルが配置されている。コイル５０の転がりを防止するため、コイルの曲面と床との間に、設置および除去が可能なストッパーなどを設けてもよい。
【００７２】
例えば、コイル５０を移動させる場合、上に積載されている他のコイルを移動させた上でコイル５０を取り出し、移動させる。その際に移動した他のコイルは、近くの空いているスペースに置かれたり、隣のコイルの上に置かれたりする。したがって、動的にコイルの置かれる位置が変わるため、作業員などの記憶では探せないケースが発生し、コイル探索に時間を要することがある。そこで、サーバ１００は、コイルの位置を管理する機能を提供する。
【００７３】
図５は、サーバのハードウェア例を示す図である。サーバ１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６およびネットワークＩＦ（InterFace）１０７を有する。各ハードウェアはサーバ１００のバスに接続されている。
【００７４】
プロセッサ１０１は、サーバ１００の情報処理を制御するハードウェアである。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣ又はＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００７５】
ＲＡＭ１０２は、サーバ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００７６】
ＨＤＤ１０３は、サーバ１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、ＯＳのプログラム、アプリケーションプログラム、および各種データを記憶する。サーバ１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００７７】
画像信号処理部１０４は、プロセッサ１０１からの命令に従って、サーバ１００に接続されたディスプレイ６１に画像を出力する。ディスプレイ６１として、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００７８】
入力信号処理部１０５は、サーバ１００に接続された入力デバイス６２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス６２として、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００７９】
媒体リーダ１０６は、記録媒体６３に記録されたプログラムやデータを読み取る装置である。記録媒体１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体６３として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ１０６は、例えば、プロセッサ１０１からの命令に従って、記録媒体６３から読み取ったプログラムやデータをＲＡＭ１０２又はＨＤＤ１０３に格納する。
【００８０】
ネットワークＩＦ１０７は、ネットワーク４０を介して他の装置と通信を行う。ネットワークＩＦ１０７は、有線通信インタフェースである。ただし、ネットワークＩＦ１０７は、無線通信インタフェースでもよい。
【００８１】
図６は、クレーン制御装置のハードウェア例を示す図である。クレーン２０は、クレーン制御装置２００を有する。クレーン制御装置２００は、プロセッサ２０１、ＲＡＭ２０２、フラッシュメモリ２０３、クレーン駆動制御部２０４、画像信号処理部２０５、入力信号処理部２０６、ネットワークＩＦ２０７、デバイス接続ＩＦ２０８およびバーコードスキャナ２０９を有する。各ハードウェアはクレーン制御装置２００のバスに接続されている。
【００８２】
プロセッサ２０１は、クレーン制御装置２００の情報処理を制御するハードウェアである。プロセッサ２０１は、マルチプロセッサであってもよい。プロセッサ２０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣ又はＦＰＧＡなどである。プロセッサ２０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００８３】
ＲＡＭ２０２は、クレーン制御装置２００の主記憶装置である。ＲＡＭ２０２は、プロセッサ２０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ２０２は、プロセッサ２０１による処理に用いる各種データを記憶する。
【００８４】
フラッシュメモリ２０３は、クレーン制御装置２００の補助記憶装置である。フラッシュメモリ２０３は、内蔵の記憶素子に対して、電気的にデータの書き込みおよび読み出しを行う。フラッシュメモリ２０３は、ＯＳのプログラム、アプリケーションプログラム、および各種データを記憶する。
【００８５】
クレーン駆動制御部２０４は、クレーンオペレータによるクレーン操作の指示を受け付け、クレーン２０における各駆動部（後述されるガーダやトロリなど）の動作を制御する。例えば、クレーンオペレータは、クレーン２０に備えられたクレーン操作部（図示を省略している）を操作することで、クレーン操作の指示をクレーン駆動制御部２０４に入力できる。クレーン駆動制御部２０４は、プロセッサ２０１によるクレーン操作の命令に応じて、クレーン２０における各駆動部の動作を制御してもよい。
【００８６】
画像信号処理部２０５は、プロセッサ２０１からの命令に従って、クレーン２０に備えられたディスプレイ６１ａに画像を出力する。ディスプレイ６１ａとして、液晶ディスプレイなどを用いることができる。
【００８７】
入力信号処理部２０６は、クレーン２０に備えられた入力デバイス６２ａから入力信号を取得し、プロセッサ２０１に出力する。入力デバイス６２ａとして、例えば、タッチパッドやタッチパネルなどのポインティングデバイスやキーボードなどを用いることができる。
【００８８】
ネットワークＩＦ２０７は、ネットワーク４０を介してサーバ１００と通信を行う。ネットワークＩＦ２０７は、有線通信インタフェースである。ただし、ネットワークＩＦ２０７は、無線通信インタフェースでもよい。
【００８９】
デバイス接続ＩＦ２０８は、クレーン２０が備える周辺デバイスを接続するためのインタフェースである。デバイス接続ＩＦ２０８は、バーコードスキャナ２０９と接続される。デバイス接続ＩＦ２０８として、ＵＳＢ（Universal Serial Bus）、ＲＳ（Recommended Standard）−２３２又はＴｒｕｅ  ＲＳ−２３２などのインタフェースを用いることができる。
【００９０】
バーコードスキャナ２０９は、プロセッサ２０１からの命令に従って、コイル５０に付されたバーコードＢ１を読み取り、コイル５０の識別情報やコイル５０に関する情報（直径などのサイズに関する情報を含む）を取得する読み取り装置である。コイル５０の識別情報はコイルＩＤと呼ばれる。バーコードスキャナ２０９の受光部は、クレーン制御装置２００の外枠のうち、倉庫１０の床面の比較的広範囲（クレーン制御装置２００の真下を含む）を望める位置に配置される。ただし、バーコードスキャナ２０９の配置位置は、他の位置でもよい。
【００９１】
バーコードスキャナ２０９は、至近距離（例えば、１５ｃｍ程度）から比較的遠距離（例えば、最長１６ｍ程度）に存在するバーコードＢ１の読み取りを行うことができる。バーコードＢ１は、１次元バーコードでもよいし、２次元バーコードでもよい。バーコードＢ１はマーカーと呼ばれることもある。
【００９２】
図７は、フォークリフト制御装置のハードウェア例を示す図である。フォークリフト３０は、フォークリフト制御装置３００を有する。フォークリフト制御装置３００は、プロセッサ３０１、ＲＡＭ３０２、フラッシュメモリ３０３、リフト駆動制御部３０４、画像信号処理部３０５、入力信号処理部３０６、無線部３０７、ビーコン受信部３０７ａおよびデバイス接続ＩＦ３０８を有する。各ハードウェアはフォークリフト制御装置３００のバスに接続されている。
【００９３】
プロセッサ３０１は、フォークリフト制御装置３００の情報処理を制御するハードウェアである。プロセッサ３０１は、マルチプロセッサであってもよい。プロセッサ３０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣ又はＦＰＧＡなどである。プロセッサ３０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００９４】
ＲＡＭ３０２は、フォークリフト制御装置３００の主記憶装置である。ＲＡＭ３０２は、プロセッサ３０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ３０２は、プロセッサ３０１による処理に用いる各種データを記憶する。
【００９５】
フラッシュメモリ３０３は、フォークリフト制御装置３００の補助記憶装置である。フラッシュメモリ３０３は、内蔵の記憶素子に対して、電気的にデータの書き込みおよび読み出しを行う。フラッシュメモリ３０３は、ＯＳのプログラム、アプリケーションプログラム、および各種データを記憶する。
【００９６】
リフト駆動制御部３０４は、フォークリフトオペレータによるリフト操作の指示を受け付け、フォークリフト３０の走行やリフトの昇降などの動作を制御する。例えば、フォークリフトオペレータは、フォークリフト３０に備えられたリフト操作部（図示を省略している）を操作することで、リフト操作の指示をリフト駆動制御部３０４に入力できる。
【００９７】
画像信号処理部３０５は、プロセッサ３０１からの命令に従って、フォークリフト３０に備えられたディスプレイ６１ｂに画像を出力する。ディスプレイ６１ｂとして、液晶ディスプレイなどを用いることができる。
【００９８】
入力信号処理部３０６は、フォークリフト３０に備えられた入力デバイス６２ｂから入力信号を取得し、プロセッサ３０１に出力する。入力デバイス６２ｂとして、例えば、タッチパッドやタッチパネルなどのポインティングデバイスやキーボードなどを用いることができる。
【００９９】
無線部３０７は、アクセスポイント４１と無線リンクを確立し、アクセスポイント４１およびネットワーク４０を介してサーバ１００と通信を行う無線通信インタフェースである。
【０１００】
ビーコン受信部３０７ａは、フォークリフト３０の位置計測用のビーコン信号を受信する。ビーコン信号は、倉庫１０内に配置されたビーコン発信装置４２により発信される。ビーコン発信装置４２は、倉庫１０内に複数（３以上）配置される。ビーコン受信部３０７ａとして、ＢＬＥ（Bluetooth Low Energy、Ｂｌｕｅｔｏｏｔｈは登録商標）のインタフェースを用いることができる。ビーコン受信部３０７ａは、音波や可視光などをビーコン信号として受信するものでもよい。
【０１０１】
デバイス接続ＩＦ３０８は、フォークリフト３０が備える周辺デバイスを接続するためのインタフェースである。デバイス接続ＩＦ３０８は、バーコードスキャナ３０９と接続される。デバイス接続ＩＦ３０８として、ＵＳＢ、ＲＳ−２３２又はＴｒｕｅ  ＲＳ−２３２などのインタフェースを用いることができる。
【０１０２】
バーコードスキャナ３０９は、プロセッサ３０１からの命令に従って、コイル５０に付されたバーコードＢ２を読み取り、コイル５０のコイルＩＤを取得する読み取り装置である。バーコードスキャナ３０９の受光部は、フォークリフト３０の外枠のうち、フォークリフト３０の前側を望める位置（例えば、リフトの前面部）に配置される。バーコードスキャナ３０９によるバーコードＢ２の読み取り可能距離の最大値は、バーコードスキャナ２０９より小さくてもよい（フォークリフト３０は、コイル５０に対して比較的近い位置まで接近可能であるため）。
【０１０３】
図８は、端末装置のハードウェア例を示す図である。端末装置４００は、プロセッサ４０１、ＲＡＭ４０２、フラッシュメモリ４０３、画像信号処理部４０４、ディスプレイ４０５、入力信号処理部４０６、タッチパネル４０７、媒体リーダ４０８および無線部４０９を有する。各ハードウェアは端末装置４００のバスに接続されている。また、端末装置４００ａも端末装置４００と同様のハードウェアにより実現される。
【０１０４】
プロセッサ４０１は、端末装置４００の情報処理を制御するハードウェアである。プロセッサ４０１は、マルチプロセッサであってもよい。プロセッサ４０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣ又はＦＰＧＡなどである。プロセッサ４０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【０１０５】
ＲＡＭ４０２は、端末装置４００の主記憶装置である。ＲＡＭ４０２は、プロセッサ４０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ４０２は、プロセッサ４０１による処理に用いる各種データを記憶する。
【０１０６】
フラッシュメモリ４０３は、端末装置４００の補助記憶装置である。フラッシュメモリ４０３は、内蔵の記憶素子に対して、電気的にデータの書き込みおよび読み出しを行う。フラッシュメモリ４０３は、ＯＳのプログラム、アプリケーションプログラムおよび各種データを記憶する。
【０１０７】
画像信号処理部４０４は、プロセッサ４０１からの命令に従って、ディスプレイ４０５に画像を出力する。ディスプレイ４０５としては、例えば、液晶ディスプレイを用いることができる。
【０１０８】
入力信号処理部４０６は、端末装置４００に接続されたタッチパネル４０７から入力信号を取得し、プロセッサ４０１に出力する。タッチパネル４０７は、作業員によりタッチ操作された位置をプロセッサ４０１に出力するポインティングデバイスである。タッチパネル４０７は、ディスプレイ４０５の表示領域に重ねて設けられる。作業員は、ディスプレイ４０５による表示を視認しながら、タッチパネル４０７によるタッチ操作を行える。
【０１０９】
媒体リーダ４０８は、記録媒体６３ａに記録されたプログラムやデータを読み取る装置である。記録媒体６３ａとして、例えば、フラッシュメモリカードを使用できる。媒体リーダ４０８は、例えば、プロセッサ４０１からの命令に従って、記録媒体６３ａから読み取ったプログラムやデータをＲＡＭ４０２又はフラッシュメモリ４０３に格納する。
【０１１０】
無線部４０９は、アクセスポイント４１と無線リンクを確立し、アクセスポイント４１およびネットワーク４０を介してサーバ１００と通信を行う無線通信インタフェースである。
【０１１１】
図９は、倉庫管理システムの機能例を示す図である。サーバ１００は、記憶部１１０、位置管理部１２０、位置検索部１３０および移動指示送信部１４０を有する。
記憶部１１０は、例えば、ＲＡＭ１０１又はＨＤＤ１０３の記憶領域を用いて実現される。記憶部１１０は、倉庫１０に配置されたコイルの位置を示す情報を、コイルＩＤに対応付けて記憶する。記憶部１１０は、コイルの属性（直径や円柱軸方向の長さなどのサイズ）に関する情報を記憶する。記憶部１１０は、コイルの配置可能位置を示す配置可能アドレスの情報を記憶する。記憶部１１０は、コイルの出荷スケジュールを示す情報を記憶する。
【０１１２】
位置管理部１２０、位置検索部１３０および移動指示送信部１４０は、例えば、ＲＡＭ１０２に記憶されたプログラムをプロセッサ１０１により実行することで、プロセッサ１０１により発揮される機能である。ただし、位置管理部１２０、位置検索部１３０および移動指示送信部１４０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【０１１３】
位置管理部１２０は、クレーン制御装置２００から取得されたクレーン２０の位置情報に基づいてコイルが配置された位置を求め、記憶部１１０に格納する。位置管理部１２０は、フォークリフト制御装置３００から取得されたフォークリフト３０の位置情報に基づいてコイルが配置された位置を求め、記憶部１１０に格納する。
【０１１４】
位置検索部１３０は、コイルの取り出し（ピックアップ）指示に応じて、記憶部１１０を参照して、該当のコイルが配置された位置を検索し、検索した位置を移動指示送信部１４０に提供する。
【０１１５】
移動指示送信部１４０は、位置検索部１３０により検索された位置の情報、および、取り出し指示で指定されたコイルのコイルＩＤを含む移動指示を、クレーン制御装置２００、フォークリフト制御装置３００および端末装置４００に送信する。移動指示は、位置およびコイルＩＤを示すメッセージを含む。また、移動指示は、倉庫１０内のコイルの配置状況を表すマップや、マップ上の移動元位置および移動先位置を指定するカーソルなどの画像情報を含んでもよい。
【０１１６】
クレーン制御装置２００は、通信処理部２１０、コイルＩＤ取得部２２０、位置取得部２３０および移動指示出力部２４０を有する。
通信処理部２１０、コイルＩＤ取得部２２０、位置取得部２３０および移動指示出力部２４０は、ＲＡＭ２０２に記憶されたプログラムをプロセッサ２０１により実行することで、プロセッサ２０１により発揮される機能である。ただし、通信処理部２１０、コイルＩＤ取得部２２０、位置取得部２３０および移動指示出力部２４０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【０１１７】
通信処理部２１０は、コイルＩＤ取得部２２０により取得されたコイルＩＤやサイズなどの情報をサーバ１００に送信する。通信処理部２１０は、位置取得部２３０により取得されたクレーン２０の位置情報をサーバ１００に送信する。通信処理部２１０は、コイルの移動指示をサーバ１００から受信する。
【０１１８】
コイルＩＤ取得部２２０は、バーコードスキャナ２０９を用いて、コイルに付与されたバーコードを読み取る。コイルＩＤ取得部２２０は、バーコードの読み取り結果に基づいて、該当のコイルのコイルＩＤやサイズなどの情報を取得する。
【０１１９】
位置取得部２３０は、クレーン駆動制御部２０４によるクレーン２０の移動方向、および、移動距離を取得し、クレーン２０の位置情報を取得する。クレーン２０の位置情報は、クレーン２０が備える吊具（具体的には鉤部）の位置情報である。
【０１２０】
移動指示出力部２４０は、コイルの移動指示をディスプレイ６１ａに出力する。移動指示出力部２４０は、コイルの移動指示の内容をディスプレイ６１ａに表示させる。
フォークリフト制御装置３００は、通信処理部３１０、コイルＩＤ取得部３２０、位置取得部３３０および移動指示出力部３４０を有する。
【０１２１】
通信処理部３１０、コイルＩＤ取得部３２０、位置取得部３３０および移動指示出力部３４０は、ＲＡＭ３０２に記憶されたプログラムをプロセッサ３０１により実行することで、プロセッサ３０１により発揮される機能である。ただし、通信処理部３１０、コイルＩＤ取得部３２０、位置取得部３３０および移動指示出力部３４０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【０１２２】
通信処理部３１０は、コイルＩＤ取得部３２０により取得されたコイルＩＤやサイズなどの情報をサーバ１００に送信する。通信処理部３１０は、位置取得部３３０により取得されたフォークリフト３０の位置情報をサーバ１００に送信する。通信処理部３１０は、コイルの移動指示をサーバ１００から受信する。
【０１２３】
コイルＩＤ取得部３２０は、バーコードスキャナ３０９を用いて、コイルに付与されたバーコードを読み取る。コイルＩＤ取得部３２０は、バーコードの読み取り結果に基づいて、該当のコイルのコイルＩＤやサイズなどの情報を取得する。
【０１２４】
位置取得部３３０は、ビーコン受信部３０７ａにより受信されたビーコン信号に基づいて、フォークの中央部分（具体的には、コイルの孔をフォークに貫通させたときにコイルのほぼ中央に位置する部分）の位置座標を取得する。例えば、位置取得部３３０は、ビーコン信号に基づく三角測量によって、フォークリフト３０の所定位置の座標を取得する。位置取得部３３０は、当該位置の座標と、フォークの中央部分のフォークリフト３０上での位置座標とから、フォークの中央部分の倉庫１０内での位置座標を計算する。位置取得部３３０は、フォークの中央部分のフォークリフト３０上での座標を、リフトによるフォークの昇降度合いによって決定する。
【０１２５】
あるいは、フォークリフト３０を使用する場合、倉庫１０内の床面に、倉庫１０内における各位置の座標を識別するための所定のマーカーを設けてもよい。位置取得部３３０は、各位置に設けられた所定のマーカーをバーコードスキャナ３０９により読み取ることで、フォークの中央部分の倉庫１０内での位置座標を取得してもよい。
【０１２６】
移動指示出力部３４０は、コイルの移動指示をディスプレイ６１ｂに出力する。移動指示出力部３４０は、コイルの移動指示の内容をディスプレイ６１ｂに表示させる。
端末装置４００は、通信処理部４１０および移動指示出力部４２０を有する。
【０１２７】
通信処理部４１０および移動指示出力部４２０は、ＲＡＭ４０２に記憶されたプログラムをプロセッサ４０１により実行することで、プロセッサ４０１により発揮される機能である。ただし、通信処理部４１０および移動指示出力部４２０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【０１２８】
通信処理部４１０は、コイルの移動指示をサーバ１００から受信する。
移動指示出力部４２０は、コイルの移動指示をディスプレイ４０５に出力する。移動指示出力部４２０は、コイルの移動指示の内容をディスプレイ４０５に表示させる。
【０１２９】
次に、倉庫１０内の位置を表す座標系の例を説明する。倉庫１０の座標系は、Ｘ軸、Ｙ軸およびＺ軸により表される３次元直交座標系である。
図１０は、座標系の例を示す図である。Ｘ軸の正方向は、図１０の左側から右側へ向かう方向である。Ｙ軸の正方向は、図１０の手前側から奥側へ向かう方向（奥行きの方向）である。Ｚ軸の正方向は、図１０の下側から上側へ向かう方向である。
【０１３０】
コイルは、コイルの円柱軸がＸ軸に沿う方向になるように配置される。複数のコイルは、Ｙ軸に沿う方向で隣接して配置され得る。コイルのピックアップ作業の関係上、複数のコイルは、Ｘ軸に沿う方向には隣接して配置されない（Ｘ軸方向にはコイル間に所定の間隔が設けられる）。
【０１３１】
倉庫１０の床面の一角を原点（０，０，０）とする。単位長を座標の一目盛とする。単位長は、倉庫１０の広さや保管する物のサイズなど運用に応じて決定される。ここでは、一例として１ｍとする。倉庫１０のＸ軸方向の長さはＡ（ｍ）である。倉庫１０のＹ軸方向の長さはＢ（ｍ）である。倉庫１０の床面から天井までの長さはＣ（ｍ）である。
【０１３２】
ここで、クレーン２０は、Ｘ軸方向、Ｙ軸方向およびＺ軸方向に次のように動作する。クレーン２０は、ガーダ２１、架台２２，２３、トロリ２４、ワイヤー２５および鉤部２６を有する。
【０１３３】
ガーダ２１は、Ｘ軸方向に沿って配置された柱状の構造物であり、架台２２，２３上の走行軌道（ランウェイ）上をＸ軸方向に走行する。ガーダ２１は、トロリ２４を支持する。
【０１３４】
架台２２，２３は、倉庫１０の天井にＹ軸方向に沿って設けられた２つの構造物であり、ガーダ２１を支持する。架台２２，２３は、Ｘ軸方向に沿ってガーダ２１のランウェイを形成する。
【０１３５】
トロリ２４は、ガーダ２１をＸ軸方向に沿って移動する。トロリ２４は、ワイヤー２５の巻上機（図示を省略している）を有し、ワイヤー２５の巻き上げや巻き下げを行うことで、ワイヤー２５の下端に接続された鉤部２６をＺ軸方向に沿って移動させる。
【０１３６】
ワイヤー２５は、鉤部２６および鉤部２６に玉掛けされた荷を吊るためのクレーンワイヤーである。ワイヤー２５の一端は、トロリ２４の巻上機に接続される。ワイヤー２５の他端は、鉤部２６に接続される。ワイヤー２５は、トロリ２４の真下に鉤部２６を支持する。
【０１３７】
鉤部２６は、玉掛け用のワイヤーロープの吊り下げに用いられる吊具である。鉤部２６は、ワイヤー２５の巻上機による巻き上げに伴って、Ｚ軸の正方向に移動する。鉤部２６は、ワイヤー２５の巻上機による巻き下げに伴って、Ｚ軸の負方向に移動する。
【０１３８】
図１１は、鉤部の座標の例を示す図である。位置取得部２３０は、トロリ２４の中央部のＸ座標およびＹ座標により、鉤部２６のＸ座標およびＹ座標を取得する。本例では、鉤部２６は、トロリ２４の中央部の真下に支持される。したがって、トロリ２４の中央部（トロリ２４の重心）の（Ｘ，Ｙ）座標が（Ｘ，Ｙ）＝（ｆｘ，ｆｙ）であるとき、鉤部２６の（Ｘ，Ｙ）座標も（Ｘ，Ｙ）＝（ｆｘ，ｆｙ）である。鉤部２６の（Ｘ，Ｙ）座標は、倉庫１０の床面上における鉤部２６の位置を示す情報であるといえる。
【０１３９】
また、天井から鉤部２６の所定部分までのＺ方向の長さ（Ｚ軸上の長さ）をＨ（ｍ）とすると、床から天井までのＺ軸上の長さはＣ（ｍ）なので、鉤部２６のＺ座標ｆｚは、ｆｚ＝Ｃ−Ｈである。ここで、天井から鉤部２６の所定部分までのＺ方向の長さは、天井から鉤部２６までのワイヤー２５の第１の長さと、ワイヤー２５および鉤部２６の接続部から鉤部２６の所定部分までの第２の長さとの和である。鉤部２６の所定部分とは、例えば、鉤部２６の重心である。ただし、鉤部２６の所定部分は、鉤部２６の先端部などの他の位置でもよい。第１の長さは、例えば、巻上機による巻き上げ又は巻き下げられたワイヤー２５の長さとして求められる。例えば、位置取得部２３０は、円柱形の巻上機（円柱の周にワイヤー２５を巻きつける）の回転数などに基づいて第１の長さを求める。第２の長さは固定長である。鉤部２６のＺ座標は、倉庫１０の床面からの鉤部２６の高さを示す情報であるといえる。
【０１４０】
この場合、位置管理部１２０は、クレーン制御装置２００から取得された鉤部２６の位置情報により、次のようにしてコイルの配置座標を求めることができる。
図１２は、コイルの配置座標の第１の例を示す図である。図１２では、クレーン２０の位置情報に基づくコイル５０の配置座標を例示する。ここで、コイル５０の座標は、コイル５０の中央部分（すなわち、コイル５０の重心）の座標に相当する。図１２（Ａ）は、コイル５０の配置座標の第１の例（その１）を示す。ワイヤーロープ７０は、玉掛けに用いられるロープである。玉掛けでは、作業員により、ワイヤーロープ７０が、コイル５０の孔に通され、ワイヤーロープ７０の両端が鉤部２６に括られる。
【０１４１】
ここで、玉掛け時、又は、玉掛けを外す際に、鉤部２６の所定部分は、コイル５０の中央部分のほぼ真上に配置され、コイル５０の上部から距離Ｄ１（ｍ）だけ上側に離して配置される運用であるとする。この場合、コイル５０の半径をｒ（ｍ）とすると、玉掛け時、又は、玉掛けを外す際の鉤部２６の座標（ｆｘ，ｆｙ，ｆｚ）に対して、コイル５０の中央部分の座標は（ｆｘ，ｆｙ，ｆｚ−Ｄ１−ｒ）である。こうして、位置管理部１２０は、玉掛け時、又は、玉掛けを外すタイミングでの鉤部２６の座標を得ることで、そのときのコイル５０の配置座標を得ることが可能である。
【０１４２】
図１２（Ｂ）は、コイル５０の配置座標の第１の例（その２）を示す。図１２（Ｂ）は、鉤部２６に玉掛けされたコイル５０を吊って、コイル５０を浮かせる直前、又は、コイル５０の接地の直後の状態を図示している。この場合の鉤部２６の所定部分と、コイル５０の上部との距離は、距離Ｄ２（ｍ）である。したがって、コイル５０の半径をｒ（ｍ）とすると、このときの鉤部２６の座標（ｆｘ，ｆｙ，ｆｚ）に対して、コイル５０の中央部分（すなわち、コイル５０の重心）の座標は（ｆｘ，ｆｙ，ｆｚ−Ｄ２−ｒ）である。ここで、距離Ｄ２は次のようにして求められる。
【０１４３】
コイル５０は、ほぼ水平の姿勢を保って持ち上げられる。この場合、コイル５０の軸方向の長さを２Ｌ（ｍ）とすると、鉤部２６は、コイル５０の軸方向の一端から他端に向かって距離Ｌ（ｍ）である点の真上に位置する。また、ワイヤーロープ７０のうち、コイル５０の上部の一端から鉤部２６までの長さと、コイル５０の上部の他端から鉤部２６までの長さとは、ほぼ等しく、何れもＷ（ｍ）である。そして、コイル５０は、ほぼ水平の姿勢を保って持ち上げられるため、コイル５０の軸方向は、鉛直方向とほぼ垂直と考えてよい。よって、Ｄ２＝（Ｗ−Ｌ）＾（１／２）である。
【０１４４】
このように、位置管理部１２０は、鉤部２６に玉掛けされたコイル５０を吊って、コイル５０を浮かせる直前のタイミング、又は、コイル５０の接地の直後のタイミングでの鉤部２６の座標を得ることで、そのときのコイル５０の配置座標を得ることもできる。
【０１４５】
なお、位置管理部１２０は、計算に用いられるｒ，Ｗ，Ｌの値を、対象となるコイルのサイズや使用するワイヤーロープ７０の長さなどに応じた値とする。これらｒ，Ｗ，Ｌの値は、コイルのサイズやワイヤーロープ７０の長さに応じて記憶部１１０に予め格納される。
【０１４６】
図１３は、コイルの配置座標の第２の例を示す図である。図１３では、フォークリフトの位置情報に基づくコイル５０の配置座標を例示する。前述のように、位置取得部３３０は、フォークリフト３０において、リフトによるフォークの昇降度合いによりフォークにより支持されるコイル５０の中央部の座標（ｇｘ，ｇｙ，ｇｚ）を得ることができる。位置取得部３３０は、コイル５０を所定の位置に配置した直後のタイミングにおいて、コイル５０の孔からフォークを抜き取る前にコイル５０が配置された座標（ｇｘ，ｇｙ，ｇｚ）の情報をサーバ１００に送信する。
【０１４７】
あるいは、前述のように、フォークリフト３０を使用する場合、倉庫１０内の床面に、倉庫１０内における各位置の座標を識別するための所定のマーカーを設けてもよい。位置取得部３３０は、各位置に設けられた所定のマーカーをバーコードスキャナ３０９により読み取ることで、フォークにより支持されるコイル５０の中央部の座標（ｇｘ，ｇｙ，ｇｚ）を取得してもよい。
【０１４８】
位置管理部１２０は、位置取得部３３０により送信された座標（ｇｘ，ｇｙ，ｇｚ）の情報を受信すると、受信した座標（ｇｘ，ｇｙ，ｇｚ）をコイル５０が配置された座標として取得する。
【０１４９】
なお、例えば、コイル５０の搬送に自動車により移動する移動式クレーンを用いる場合も、位置管理部１２０は、フォークリフト３０と同様にして、コイル５０の位置を取得することができる。例えば、位置管理部１２０は、図１３と同様にして、移動式クレーンの位置座標から移動式クレーンの吊具の位置座標を取得し、更に、図１２と同様の計算により、コイル５０の位置座標を取得する。
【０１５０】
次に、クレーン制御装置２００およびフォークリフト制御装置３００によるコイルＩＤの読み取り例を説明する。
図１４は、コイルＩＤの読み取り例を示す図である。前述のように、コイル５０には、バーコードＢ１，Ｂ２が付される。バーコードＢ１は、例えば、コイル５０が倉庫１０内に置かれる際に上側になる箇所に付される。バーコードスキャナ２０９は、コイル５０を下に望み、バーコードＢ１を読み取ることで、コイル５０のコイルＩＤやサイズなどの情報を取得する。
【０１５１】
また、バーコードＢ２は、例えば、コイル５０の孔に対するフォークの差し込みが行われる面に付される。バーコードスキャナ３０９は、コイル５０を前面に望み、バーコードＢ２を読み取ることで、コイル５０のコイルＩＤやサイズなどの情報を取得する。
【０１５２】
次に、倉庫１０内においてコイルを配置可能な位置（配置可能アドレス）を決定する方法を例示する。
図１５は、配置可能アドレスの決定方法の例を示す図である。前述のように、複数のコイルを俵積みにより、２段に積むことができる。図１５（Ａ）は、コイル５１，５２の上側にコイル５３を積む例を示している。コイル５１，５２が隣接して配置されている場合、コイル５１，５２の隣接部分の上側に、コイル５３（図中点線で表記している）を積める。したがって、コイル５３を積む前の状態では、位置管理部１２０は、コイル５１，５２の隣接部分の上側を、配置可能アドレスとして管理する。
【０１５３】
図１５（Ｂ）は、配置可能アドレスの算出例を示している。コイル５１，５２，５３の円の半径をｒ（ｍ）とする。このとき、コイル５３を積む前の状態における配置可能アドレスのＹ座標は、コイル５１のＹ座標にｒを加算した値である。また、コイル５１，５２，５３の配置によれば、コイル５１の円の中心と、コイル５３の円の中心との距離は、２ｒ（ｍ）である。また、コイル５１の円の中心からコイル５１，５２の隣接部分までの距離は、ｒ（ｍ）である。したがって、コイル５３を積む前の状態における配置可能アドレスのＺ座標は、ｒ＋（√３）ｒ≒ｒ＋１．７３ｒ＝２．７３ｒである。なお、当該配置可能アドレスのＸ座標は、コイル５１，５２のＸ座標と同じである。
【０１５４】
図１６は、配置可能アドレスに対する制約の例を示す図である。倉庫１０内では、直径の異なる複数のコイルが混在して配置されることもある。直径の異なる複数のコイルは、できるだけ倉庫１０内の異なる領域に区別して配置されることが好ましい。ただし、スペースの関係上、直径の異なる複数のコイルが隣接して配置される可能性がある。
【０１５５】
例えば、コイル５４，５５が、配置されている場合を考える。コイル５５の直径は、コイル５４の直径よりも小さい。コイル５４，５５はＹ軸方向に沿って隣接している。
この場合に、コイル５４，５５の上部に、コイル５６を積むと、コイル５４，５５，５６の安定性に問題が生じ得る。例えば、コイル５６が重力にしたがって転がり落ちたり、コイル５４，５５にかかるコイル５６の重みのバランスに不均衡が生じて、コイル５４，５５が転がったりするおそれがある。
【０１５６】
このため、位置管理部１２０は、直径の異なる２つのコイルが隣接して配置されている場合、当該２つのコイルの上に別のコイルを積まないように制限する。すなわち、位置管理部１２０は、直径の異なる２つのコイルの隣接部分の上を、配置可能アドレスの対象外とする。
【０１５７】
図１７は、床面に対する配置可能セルの決定方法の例を示す図である。倉庫１０の床面には特定の仕切りはない。このため、倉庫１０の床面上には、任意の位置にコイルを配置可能である。ただし、ある場所にコイルを配置済である場合、配置済のコイルによって占められる領域と重複する領域に別のコイルを配置することはできない。また、前述のように、ピックアップ作業の関係上、Ｘ軸方向にはコイル間に所定の間隔が設けられる。
【０１５８】
一方、位置管理部１２０は、倉庫１０の床面についてＸ座標が同じであり、Ｙ座標が２Ｒ（Ｒはコイルの直径でありＲ＝２ｒ）（ｍ）以上離れた２つのコイルの間に他のコイルがない場合、これら２つのコイルの間の空間を、コイルを配置可能な空間と認識する。
【０１５９】
例えば、あるＸ座標において、Ｙ軸方向に沿って、コイル５７，５８，５９が配置されている場合を考える。コイル５７，５８は隣接する。コイル５８，５９の間には、３Ｒ（ｍ）の距離がある。そして、コイル５８，５９の間には、他のコイルが配置されていない。この場合、コイル５８，５９の間には、２つの配置可能セルＣＬ１，ＣＬ２が存在すると考えられる。配置可能セルとは、直径Ｒの１つのコイルを配置可能な床面の領域を表す。すなわち、位置管理部１２０は、コイル５８，５９の間には、直径Ｒの２つのコイルを配置できる空間が存在すると特定する。
【０１６０】
１つの例では、位置管理部１２０は、記憶部１１０に記憶されたコイルの位置情報に基づいて、コイル５８のＹ座標にＲを加算した値を、配置可能セルＣＬ１に相当する位置のＹ座標とする（（Ｘ，Ｚ）座標は、コイル５８の（Ｘ，Ｚ）座標と同じである）。また、位置管理部１２０は、コイル５８のＹ座標に２Ｒを加算した値を、配置可能セルＣＬ２に相当する配置可能アドレスのＹ座標とする（（Ｘ，Ｚ）座標は、コイル５８の（Ｘ，Ｚ）座標と同じである）。
【０１６１】
また、位置管理部１２０は、コイルと、倉庫の壁（又は壁よりも内側の所定位置）との間の空間に対しても同様に、記憶部１１０に記憶されたコイルの位置情報と倉庫１０の壁の座標とに基づいて、配置可能セルの座標を計算する。
【０１６２】
次に、記憶部１１０に記憶される情報の例を説明する。
図１８は、コイル位置管理テーブルの例を示す図である。コイル位置管理テーブル１１１は、記憶部１１０に記憶されるコイルの位置情報である。コイル位置管理テーブル１１１は、コイルＩＤ、Ｘ座標、Ｙ座標およびＺ座標の項目を含む。
【０１６３】
コイルＩＤの項目には、コイルＩＤが登録される。Ｘ座標の項目には、該当のコイルＩＤに対応するコイルのＸ座標が登録される。Ｙ座標の項目には、該当のコイルＩＤに対応するコイルのＹ座標が登録される。Ｚ座標の項目には、該当のコイルＩＤに対応するコイルのＺ座標が登録される。
【０１６４】
例えば、コイル位置管理テーブル１１１には、コイルＩＤが“Ｃ１”、Ｘ座標が“ａ１”、Ｙ座標が“ｂ１”、Ｚ座標が“ｃ１”という情報が登録される。これは、コイルＩＤ“Ｃ１”で示されるコイルが座標（Ｘ，Ｙ，Ｚ）＝（ａ１，ｂ１，ｃ１）で示される倉庫１０内の位置に配置されていることを示す。
【０１６５】
コイル位置管理テーブル１１１には、他のコイルについても同様に、コイルＩＤと（Ｘ，Ｙ，Ｚ）座標との対応関係が登録される。
図１９は、コイル情報管理テーブルの例を示す図である。コイル情報管理テーブル１１２は、記憶部１１０に記憶される。コイル情報管理テーブル１１２は、コイルＩＤおよび直径の項目を含む。
【０１６６】
コイルＩＤの項目には、コイルＩＤが登録される。直径の項目には、該当のコイルＩＤに対応するコイルの直径が登録される。
例えば、コイル情報管理テーブル１１２には、コイルＩＤが“Ｃ１”、直径が“Ｒ”という情報が登録される。これは、該当のコイルＩＤ“Ｃ１”で示されるコイルの直径がＲ（ｍ）であることを示す。
【０１６７】
コイル情報管理テーブル１１２には、他のコイルについても同様に、コイルＩＤと直径との対応関係が登録される。
図２０は、配置可能アドレステーブルの例を示す図である。配置可能アドレステーブル１１３は、記憶部１１０に記憶される。配置可能アドレステーブル１１３は、アドレスＩＤ、Ｘ座標、Ｙ座標およびＺ座標の項目を含む。
【０１６８】
アドレスＩＤの項目には、配置可能アドレスの識別情報（アドレスＩＤと称する）が登録される。Ｘ座標の項目には、該当のアドレスＩＤに対応する配置可能アドレスのＸ座標が登録される。Ｙ座標の項目には、該当のアドレスＩＤに対応する配置可能アドレスのＹ座標が登録される。Ｚ座標の項目には、該当のアドレスＩＤに対応する配置可能アドレスのＺ座標が登録される。
【０１６９】
例えば、配置可能アドレステーブル１１３には、アドレスＩＤが“Ｐ１”、Ｘ座標が“ａ１１”、Ｙ座標が“ｂ１１”、Ｚ座標が“ｃ１１”という情報が登録される。これは、アドレスＩＤ“Ｐ１”で示される配置可能アドレスが座標（Ｘ，Ｙ，Ｚ）＝（ａ１１，ｂ１１，ｃ１１）で示される倉庫１０内の位置であることを示す。
【０１７０】
配置可能アドレステーブル１１３には、他の配置可能アドレスについても同様に、アドレスＩＤと（Ｘ，Ｙ，Ｚ）座標との対応関係が登録される。
図２１は、出荷予定テーブルの例を示す図である。出荷予定テーブル１１４は、記憶部１１０に記憶される。出荷予定テーブル１１４は、コイルＩＤ、出荷予定日および出荷予定時刻の項目を含む。
【０１７１】
コイルＩＤの項目には、コイルＩＤが登録される。出荷予定日の項目には、該当のコイルＩＤに対応するコイルの出荷予定日が登録される。出荷予定時刻の項目には、該当のコイルＩＤに対応するコイルの出荷予定時刻が登録される。
【０１７２】
例えば、出荷予定テーブル１１４には、コイルＩＤが“Ｃ１”、出荷予定日が“２０１７／３／１０”、出荷予定時刻が“１５：００：００”という情報が登録される。これは、コイルＩＤ“Ｃ１”に対応するコイルの出荷予定日が２０１７年３月１０日であり、出荷予定日における出荷予定時刻が１５時００分００秒であることを示す。
【０１７３】
出荷予定テーブル１１４には、他のコイルについても同様に、コイルＩＤと出荷予定日／出荷予定時刻との対応関係が登録される。
出荷予定テーブル１１４には、所定のタイミングで、各コイルの出荷予定が記録される。例えば、サーバ１００は、コイルの受注を管理する他のサーバコンピュータから、各コイルの出荷予定の情報を取得し、出荷予定テーブル１１４に記録してもよい。又は、サーバ１００は、倉庫管理者による各コイルの出荷予定の入力を受け付けて、出荷予定テーブル１１４に記録してもよい。更に、各コイルに付されたバーコードに出荷予定が記録されることもある。この場合、サーバ１００は、クレーン制御装置２００やフォークリフト制御装置３００により読み取られた各コイルの出荷予定を取得し、出荷予定テーブル１１４に記録してもよい。
【０１７４】
次に、移動指示送信部１４０によりクレーン制御装置２００、フォークリフト制御装置３００および端末装置４００に提供される移動指示画面の例を説明する。
図２２は、移動指示画面の例を示す図である。移動指示画面Ｇ１の情報は、移動指示送信部１４０により生成され、クレーン制御装置２００、フォークリフト制御装置３００および端末装置４００に送信される。移動指示出力部２４０は、移動指示画面Ｇ１をディスプレイ６１ａに表示させる。移動指示出力部３４０は、移動指示画面Ｇ１をディスプレイ６１ｂに表示させる。移動指示出力部４２０は、移動指示画面Ｇ１をディスプレイ４０５に表示させる。
【０１７５】
移動指示画面Ｇ１は、クレーンオペレータ、フォークリフトオペレータおよび玉掛けを行う各作業員に対して、移動対象のコイルを指示する画面である。例えば、移動指示画面Ｇ１は、移動対象コイルのコイルＩＤ、移動対象コイルの移動元座標および移動先座標のメッセージを含む。
【０１７６】
また、移動指示画面Ｇ１は、移動元座標から移動先座標へ移動させるための具体的な経路を指示するメッセージを含む。当該メッセージとして、移動指示画面Ｇ１では、「移動対象コイルを  北にαｍ  西にβｍ  移動させてください。」というメッセージを例示している。
【０１７７】
更に、移動指示画面Ｇ１は、コイルの移動方法を図示した画像を含む。当該画像は、座標の原点位置や東西南北の方位を表すシンボル、コイルを表すシンボル、移動元の位置を表すシンボル、および、移動先の位置を表すシンボルを含む。当該画像には、これらのシンボルがマッピングされる。移動指示画面Ｇ１は、各シンボルの表す意味を示す凡例の画像を含む。ここで、コイルを表すシンボルは、１段目のコイル（積み重ねの下段に位置するコイル）のシンボルと２段目のコイル（積み重ねの上段に位置するコイル）のシンボルとの２種類ある。
【０１７８】
移動元の位置を表すシンボルは、移動元座標に対応する位置にマッピングされる。移動先の位置を表すシンボルは、移動先座標に対応する位置にマッピングされる。また、１段目のコイルを表すシンボルおよび２段目のコイルを表すシンボルは、サーバ１００により管理されているコイル位置管理テーブル１１１に登録された各コイルの位置座標に対応する位置にマッピングされる。
【０１７９】
更に、移動指示画面Ｇ１の画像には、前述の移動の経路を指示するメッセージに対応して、当該経路を矢印などで表した経路図を含む。経路図は、例えば、クレーン２０の移動可能方向に沿った直線の組み合わせによって表される。各直線には、移動すべき距離（例えば、“α（ｍ）”や“β（ｍ）”）の表記が付される。
【０１８０】
次に、サーバ１００による処理手順を説明する。まず、サーバ１００によるコイル位置登録処理を説明する。
図２３は、コイル位置登録処理の例を示すフローチャートである。以下、図２３に示す処理をステップ番号に沿って説明する。
【０１８１】
（Ｓ１１）位置管理部１２０は、クレーン２０又はフォークリフト３０からコイルの配置完了通知を受信する。具体的には、位置管理部１２０は、クレーン２０によるコイルの移動が完了したタイミングで、クレーン制御装置２００から当該コイルの配置完了通知を受信する。ここで、クレーン２０によるコイルの移動が完了したタイミングとは、図１２（Ａ）又は図１２（Ｂ）で例示したタイミングである（図１２（Ａ）および図１２（Ｂ）のうちの何れのタイミングとするかは運用に応じて予め定められる）。あるいは、位置管理部１２０は、フォークリフト３０によるコイルの移動が完了したタイミングで、フォークリフト制御装置３００から当該コイルの配置完了通知を受信する。
【０１８２】
（Ｓ１２）位置管理部１２０は、クレーン２０又はフォークリフト３０から位置情報およびコイルＩＤを受信する。具体的には、位置管理部１２０は、移動が完了したタイミングにおける鉤部２６の座標の情報と、移動されたコイルのコイルＩＤとを、クレーン制御装置２００から受信する。この場合、移動されたコイルのコイルＩＤは、前述のようにクレーン制御装置２００によりバーコードスキャナ２０９を用いて予め読み取られる。あるいは、位置管理部１２０は、移動が完了したタイミングにおけるフォークの中央部分の倉庫１０における座標の情報と、移動されたコイルのコイルＩＤとを、フォークリフト制御装置３００から受信する。この場合、移動されたコイルのコイルＩＤは、前述のように、フォークリフト制御装置３００によりバーコードスキャナ３０９を用いて予め読み取られる。
【０１８３】
（Ｓ１３）位置管理部１２０は、クレーン２０又はフォークリフト３０から受信した位置情報に基づいて、コイル位置を特定する。具体的には、クレーン制御装置２００から位置情報を受信した場合、位置管理部１２０は、図１２（Ａ）又は図１２（Ｂ）で例示した計算方法（ステップＳ１１のタイミングに対応する方を用いる）によって、移動されたコイルの位置を計算する。あるいは、フォークリフト制御装置３００から位置情報を受信した場合、位置管理部１２０は、図１３で例示したように、受信した位置情報を、コイルの位置とする。
【０１８４】
（Ｓ１４）位置管理部１２０は、移動されたコイルが倉庫１０に新たに搬入されたコイル（新規コイル）であるか否かを判定する。新規コイルである場合、位置管理部１２０は、ステップＳ１５に処理を進める。新規コイルでない場合、位置管理部１２０は、ステップＳ１６に処理を進める。新規コイルでない場合は、移動されたコイルは、倉庫１０に配置済であった既存コイルである。
【０１８５】
（Ｓ１５）位置管理部１２０は、新規コイル位置の追加を行う。具体的には、位置管理部１２０は、クレーン２０又はフォークリフト３０から受信したコイルＩＤに対応付けて、ステップＳ１３で特定した位置を示す座標を、記憶部１１０に記憶されたコイル位置管理テーブル１１１に登録する。そして、位置管理部１２０は、ステップＳ１７に処理を進める。
【０１８６】
（Ｓ１６）位置管理部１２０は、既存コイル位置の更新を行う。具体的には、位置管理部１２０は、クレーン２０又はフォークリフト３０から受信したコイルＩＤのレコードを、コイル位置管理テーブル１１１から検索する。そして、位置管理部１２０は、検索されたレコードに登録されている座標を、ステップＳ１３で特定した位置を示す座標に更新する。
【０１８７】
（Ｓ１７）位置管理部１２０は、記憶部１１０に記憶された配置可能アドレステーブル１１３を更新する。例えば、位置管理部１２０は、今回のコイルの配置によって、該当のコイルと隣接コイルとの上部に配置可能アドレスが発生した場合、図１５で例示した方法により、当該配置可能アドレスを示す座標を計算し、配置可能アドレステーブル１１３に登録する。あるいは、位置管理部１２０は、今回のコイルの配置によって、配置可能アドレステーブル１１３に登録された何れかの位置に新たにコイルが配置されることもある。この場合、配置可能アドレスは消滅するため（コイル配置済になるため）、位置管理部１２０は、該当のアドレスＩＤに対応するレコードを、配置可能アドレステーブル１１３から削除する。なお、今回のコイルの配置により、配置可能アドレスが発生、又は、消滅しない場合には、位置管理部１２０は、ステップＳ１７をスキップしてよい。
【０１８８】
ここで、位置管理部１２０は、ステップＳ１７では、記憶部１１０に記憶されたコイル情報管理テーブル１１２に基づいて、図１６で例示した制約により、異なる直径の隣接する２つのコイルの隣接部分の上を配置可能アドレスの対象外とする。なお、コイル情報管理テーブル１１２に対する情報の登録は、後述する新規コイル搬入処理において行われる（ただし、ステップＳ１５において行われてもよい）。
【０１８９】
このように、図２３の手順を、各コイルに対して繰り返し行うことで、各コイルの倉庫１０における配置位置がサーバ１００のコイル位置管理テーブル１１１により管理される。そして、サーバ１００は、各コイルに対して管理される配置位置に基づいて、倉庫１０内におけるコイルの効率的な移動を支援することができる。例えば、サーバ１００は、コイルの効率的な取り出しを支援できる。具体的には、次の通りである。
【０１９０】
図２４は、コイル取り出し処理の例を示すフローチャートである。以下、図２４に示す処理をステップ番号に沿って説明する。
（Ｓ２１）位置検索部１３０は、倉庫管理者によるコイル取り出し指示の入力を受け付ける。例えば、倉庫管理者は、コイルの出荷時などに、入力デバイス６２を操作して、出荷対象のコイルのコイル取り出し指示をサーバ１００に入力する。コイル取り出し指示は、取り出し対象のコイルのコイルＩＤと、取り出し先の位置を示す座標とを含む。
【０１９１】
（Ｓ２２）位置検索部１３０は、記憶部１１０に記憶されたコイル位置管理テーブル１１１に基づいて、取り出し対象コイルの上方に積み重ねられた他のコイルがあるか否かを判定する。ここで、「上方」とは、取り出し対象コイルの座標を（Ｘ，Ｙ，Ｚ）＝（ａ，ｂ，ｃ）、コイルの半径をｒ（ｍ）とすると、「Ｘ＝ａ、かつ、ｂ−ｒ≦Ｙ≦ｂ＋ｒ、かつ、Ｚ＞ｃ」である座標範囲を意味する。取り出し対象コイルの上方に積み重ねられた他のコイルがある場合、位置検索部１３０は、ステップＳ２３に処理を進める。取り出し対象コイルの上方に積み重ねられた他のコイルがない場合、位置検索部１３０は、ステップＳ２４に処理を進める。
【０１９２】
（Ｓ２３）位置検索部１３０は、コイルの配置替え処理を実行する。コイルの配置替え処理とは、取り出し対象のコイルの上方に積み重ねられた他のコイルを、取り出し対象コイルの上方以外の位置に移動させる処理である。コイルの配置替え処理の詳細は後述される。
【０１９３】
（Ｓ２４）移動指示送信部１４０は、取り出し対象コイルの移動を、クレーン２０および端末装置４００，４００ａに指示する。具体的には、移動指示送信部１４０は、移動指示画面（例えば、移動指示画面２４１）の情報を含む移動指示を、クレーン２０および端末装置４００，４００ａに送信する。移動指示画面は、取り出し先として指定された移動先の位置の情報を含む。なお、移動指示送信部１４０は、フォークリフト３０を用いて移動を行う場合には、フォークリフト３０に対して移動指示を送信する（クレーン２０およびフォークリフト３０の何れを用いるかは倉庫管理者により指定されてもよい）。
【０１９４】
（Ｓ２５）位置管理部１２０は、クレーン２０又はフォークリフト３０による取り出し対象コイルの取り出し位置への移動が完了すると、取り出し対象コイルに対してコイル位置登録処理（図２３の手順）を実行する。
【０１９５】
なお、位置検索部１３０は、記憶部１１０に記憶された出荷予定テーブル１１４を参照して、出荷予定日時に達したタイミングで、出荷対象のコイルの所定の位置（例えば、搬出スペース１１）への取り出しを、上記の手順によって行ってもよい。
【０１９６】
図２５は、コイル配置替え処理の例を示すフローチャートである。以下、図２５に示す処理をステップ番号に沿って説明する。以下に示す手順は、図２４のステップＳ２３に相当する。
【０１９７】
（Ｓ３１）位置検索部１３０は、記憶部１１０に記憶されたコイル位置管理テーブル１１１に基づいて、取り出し対象コイルの上方にある配置替え対象のコイルを特定する。ここで、「上方」とは、前述のように、取り出し対象コイルの座標を（Ｘ，Ｙ，Ｚ）＝（ａ，ｂ，ｃ）、コイルの半径をｒ（ｍ）とすると、「Ｘ＝ａ、かつ、ｂ−ｒ≦Ｙ≦ｂ＋ｒ、かつ、Ｚ＞ｃ」である座標範囲を意味する。
【０１９８】
（Ｓ３２）位置検索部１３０は、コイルの出荷スケジュールを基に、ステップＳ３１で特定した配置替え対象のコイルの配置替え先の候補位置を決定する。具体的には、位置検索部１３０は、配置可能アドレステーブル１１３に登録された配置可能アドレスのうち、出荷予定テーブル１１４を基に所定時間内（例えば、２４時間以内など）に出荷予定のコイルの上方にある配置可能アドレスを配置替え先の候補から除外する。なお、位置検索部１３０は、配置可能アドレスが何れのコイルの上方にあるかを、コイル位置管理テーブル１１１に登録された各コイルの位置と、ステップＳ３１で説明した「上方」の条件によって把握する。すなわち、「上方」とは、着目するコイルの座標を（Ｘ，Ｙ，Ｚ）＝（ａ０，ｂ０，ｃ０）、コイルの半径をｒ（ｍ）とすると、「Ｘ＝ａ０、かつ、ｂ０−ｒ≦Ｙ≦ｂ０＋ｒ、かつ、Ｚ＞ｃ０」である座標範囲を意味する。位置検索部１３０は、取り出し対象コイルの上方の配置可能アドレスを、配置替え対象コイルの移動先の候補から除外する。そして、位置検索部１３０は、候補から除外されなかった配置可能アドレスと、倉庫１０の床面に対する全ての（あるいは、取り出し対象コイル周囲の一部の）配置可能セルの座標を、配置替え先の候補位置とする。
【０１９９】
（Ｓ３３）位置検索部１３０は、ステップＳ３２で決定した候補位置の中から、配置替えに伴うコストが最小になる位置を、配置替え対象のコイルの移動位置として決定する。例えば、位置検索部１３０は、クレーン２０（又はフォークリフト３０）により配置替え対象のコイルを各候補位置へ移動させるためのコストを計算し、当該コストの計算結果により、最小コストとなる候補位置を配置替え対象のコイルの移動先の位置とする。コストとしては、例えば、移動距離や、移動距離に応じた移動の所要時間が考えられる。又は、移動距離に応じた移動の所要時間と、移動方向の変更やワイヤー２５の巻き上げ／巻き下げなどに伴うオペレーションに応じた所要時間との和を、コストとしてもよい。配置替え対象のコイルが複数の場合、位置検索部１３０は、配置替え対象の複数のコイルを順次移動させるためのコスト（各コイルに対して求められるコストの和）が最小になるように、各コイルの移動先を決定する。位置検索部１３０は、最小コストの経路を探索する方法として、例えば、ダイクストラ法を用いることができる。
【０２００】
（Ｓ３４）移動指示送信部１４０は、配置替え対象のコイルを１つ選択し、配置替え対象のコイルの移動を、クレーン２０および端末装置４００，４００ａに指示する。具体的には、移動指示送信部１４０は、移動指示画面の情報を含む移動指示を、クレーン２０および端末装置４００，４００ａに送信する。移動指示画面は、ステップＳ３３で位置検索部１３０により決定された移動先の位置の情報を含む。なお、移動指示送信部１４０は、フォークリフト３０を用いて移動を行う場合には、フォークリフト３０に対して移動指示を送信する（クレーン２０およびフォークリフト３０の何れを用いるかは倉庫管理者により指定されてもよい）。
【０２０１】
（Ｓ３５）位置管理部１２０は、クレーン２０又はフォークリフト３０による配置替え対象コイルの取り出し位置への移動が完了すると、今回配置替えを行ったコイルに対してコイル位置登録処理（図２３の手順）を実行する。
【０２０２】
（Ｓ３６）位置管理部１２０は、配置替え対象のコイルを全て移動させたか否かを判定する。配置替え対象のコイルを全て移動させた場合、位置管理部１２０は、処理を終了する。未だ移動させていない配置替え対象のコイルがある場合、位置管理部１２０は、ステップＳ３４に処理を進める。
【０２０３】
次に、倉庫１０に対して新たに搬入されるコイル（新規コイル）に対するサーバ１００による新規コイル搬入処理を説明する。
図２６は、新規コイル搬入処理の例を示すフローチャートである。以下、図２６に示す処理をステップ番号に沿って説明する。
【０２０４】
（Ｓ４１）位置管理部１２０は、新規コイルのコイルＩＤおよび直径の情報を取得し、記憶部１１０に記憶されたコイル情報管理テーブル１１２に登録する。コイルＩＤおよびコイルの直径の情報は、コイルに付されたバーコードに記録される。このため、クレーン制御装置２００は、バーコードスキャナ２０９を用いて、バーコードに記録されたコイルのコイルＩＤおよび直径の情報を読み取れる。また、フォークリフト制御装置３００は、バーコードスキャナ３０９を用いて、バーコードに記録されたコイルのコイルＩＤおよび直径の情報を読み取れる。位置管理部１２０は、クレーン制御装置２００又はフォークリフト制御装置３００により読み取られたコイルＩＤや直径の情報を取得する。
【０２０５】
（Ｓ４２）位置管理部１２０は、出荷スケジュールに基づいて新規コイルの配置先の位置を決定する。例えば、位置管理部１２０は、記憶部１１０に記憶された出荷予定テーブル１１４を参照して、所定時間内（例えば、２４時間以内など）に出荷予定のコイルの上方の配置可能アドレスを、新規コイルの配置先の対象外とする。位置管理部１２０は、新規コイルの配置先の対象外とする配置可能アドレスを除いた配置可能アドレス、および、配置可能セルの座標の中から、配置先の位置を決定する。例えば、位置管理部１２０は、配置先の候補のうち、移動に伴うコスト（ステップＳ３３で説明したコスト）が最小になる位置を、新規コイルの配置先とすることが考えられる。
【０２０６】
（Ｓ４３）移動指示送信部１４０は、新規コイルの移動を、クレーン２０および端末装置４００，４００ａに指示する。具体的には、移動指示送信部１４０は、移動指示画面の情報を含む移動指示を、クレーン２０および端末装置４００，４００ａに送信する。移動指示画面は、ステップＳ４２で位置管理部１２０により決定された移動先の位置の情報を含む。なお、移動指示送信部１４０は、フォークリフト３０を用いて移動を行う場合には、フォークリフト３０に対して移動指示を送信する（クレーン２０およびフォークリフト３０の何れを用いるかは倉庫管理者により指定されてもよい）。
【０２０７】
（Ｓ４４）位置管理部１２０は、クレーン２０又はフォークリフト３０による新規コイルの配置先の位置への移動が完了すると、新規コイルに対してコイル位置登録処理（図２３の手順）を実行する。
【０２０８】
なお、ステップＳ４２では、新規コイルの配置先を、主に、既存コイルの出荷スケジュールに基づいて選択する例を示したが、新規コイルの出荷スケジュールが既に判明している場合には、新規コイルの出荷スケジュールを基に配置先を選択してもよい。例えば、位置管理部１２０は、新規コイルの出荷日時が遅いほど、搬出スペース１１から遠ざけて配置するように、新規コイルの配置先を選択してもよい。一方、位置管理部１２０は、新規コイルの出荷日時が近いほど、搬出スペース１１に近づけて配置するように、新規コイルの配置先を選択してもよい。
【０２０９】
図２３〜図２６のサーバ１００による手順によれば、コイルの位置を適切に管理可能になるとともに、現場作業者（例えば、クレーンオペレータやフォークリフトオペレータ）によるコイルの効率的な移動を支援できる。それに加えて、現場作業者の判断によりコイルの移動先が変更される（サーバ１００により指示された位置から変更される）ことも考えられるが、このような場合にもコイル位置を適切に管理可能であるという利点がある。
【０２１０】
あるいは、サーバ１００は、クレーン２０やフォークリフト３０に対して指示した移動先と、図２３のステップＳ１３とにおける実際の移動先とが一致している場合に、コイル位置を当該ステップＳ１３で特定した位置で記録してもよい。その場合、サーバ１００は、指示した移動先と実際の移動先とが一致していない場合に、クレーン制御装置２００やフォークリフト制御装置３００に対して一致していない旨を警告する運用も考えられる。
【０２１１】
また、新規コイルの搬入では、ステップＳ４１の次に、ステップＳ４２，Ｓ４３をスキップしてステップＳ４４を行う制御も可能である。すなわち、新規コイルの倉庫１０内の任意の位置への配置を許容してもよい。なぜなら、任意の位置への配置を許容したとしても、図２３の手順によって、新規コイルの位置を適切に管理可能だからである。このように、サーバ１００は、倉庫１０の運用に応じて、制御方法を変更可能である。
【０２１２】
次に、コイルの配置替え方法の具体例を説明する。
図２７は、コイルの配置替え方法の第１の選択例を示す図である。例えば、コイルａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇは、当初、Ｙ軸に沿って、倉庫１０の床面に、この順番で隣接して配置されている。そして、コイルｈは、コイルａ，ｂの上に積まれている。コイルｉは、コイルｂ，ｃの上に積まれている。コイルｊは、コイルｃ，ｄの上に積まれている。コイルｋは、コイルｅ，ｆの上に積まれている。コイルｌは、コイルｆ，ｇの上に積まれている。
【０２１３】
図２７の例では、コイルａが取り出し対象コイルである場合を考える。コイルａの上方のコイルはコイルｈである。この場合、例えば、コイルａの取り出し方法として、パターンＡ１，Ａ２が考えられる。
【０２１４】
パターンＡ１は、コイルｈを、コイルｄ，ｅの上に移動させてから、コイルａを取り出す方法である。パターンＡ２は、コイルｈを、コイルａの横に隣接する位置に移動させてから、コイルａを取り出す方法である。
【０２１５】
この場合、パターンＡ２におけるコイルｈの移動距離は、パターンＡ１におけるコイルｈの移動距離よりも短い。したがって、位置検索部１３０は、コイルｈの移動に伴うコストが、パターンＡ１よりもパターンＡ２の方が小さいと判定する。このため、位置検索部１３０は、パターンＡ１よりもパターンＡ２の方を優先して選択する。
【０２１６】
図２８は、コイルの配置替え方法の第２の選択例を示す図である。コイルａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ，ｋ，ｌの当初の配置は、図２７における当初の配置と同様である。図２８の例では、コイルｂ，ｃが取り出し対象コイルである場合を考える。コイルｂ，ｃの上方のコイルは、コイルｈ，ｉ，ｊである。この場合、例えば、コイルｂ，ｃの取り出し方法として、パターンＢ１，Ｂ２が考えられる。
【０２１７】
パターンＢ１では、最初に、コイルｉを、コイルｇの横に隣接する床面の位置に移動させる。２番目に、コイルｊをコイルｄ，ｅの上に移動させる。３番目に、コイルｈをコイルｇ，ｉの上に移動させる。その後、コイルｂ，ｃを順に取り出す。
【０２１８】
パターンＢ２では、最初に、コイルｉを、コイルｇの横に隣接する位置に移動させる。２番目にコイルｊをコイルｄ，ｅの上に移動させる。３番目に、コイルｈを、コイルａの横に隣接する位置に移動させる。その後、コイルｂ，ｃを順に取り出す。
【０２１９】
この場合、パターンＢ２におけるコイルｉ，ｊ，ｈの移動距離の和は、パターンＢ１におけるコイルｉ，ｊ，ｈの移動距離の和よりも短い。したがって、位置検索部１３０は、コイルｉ，ｊ，ｈの移動に伴うコストが、パターンＢ１よりもパターンＢ２の方が小さいと判定する。このため、位置検索部１３０は、パターンＢ１よりもパターンＢ２の方を優先して選択する。
【０２２０】
なお、図２７，図２８では、位置検索部１３０は、コイルの移動距離をコストとして用いたが、前述のように、移動距離に応じた移動の所要時間をコストとしてもよい。あるいは、移動距離に応じた移動の所要時間と、移動方向の変更やワイヤー２５の巻き上げ／巻き下げなどに伴うオペレーションに応じた所要時間との和を、コストとしてもよい。
【０２２１】
こうして、サーバ１００は、倉庫１０におけるコイルの移動の効率化を図れる。例えば、サーバ１００は、コイルを速く移動できるように支援することができる。
図２９は、コイルの配置方法の選択例を示す図である。例えば、コイルａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇは、Ｙ軸に沿って、倉庫１０の床面に、この順番で隣接して配置されている。そして、コイルｈは、コイルａ，ｂの上に積まれている。コイルｉは、コイルｂ，ｃの上に積まれている。
【０２２２】
ここで、図２９の例では、当日に出荷予定であるコイル（当日出荷予定コイル）の上には新規コイルや配置替え対象のコイルを配置しないという条件が設けられているとする。コイルｄ，ｅは、当日出荷予定コイルである。コイルｍ，ｎは、新たに配置対象であるコイル（新規コイル又は配置替え対象のコイル）である。
【０２２３】
この場合、位置管理部１２０および位置検索部１３０は、コイルｍ，ｎを、コイルｄ，ｅの上方に配置しないようにする。例えば、パターンＣ１で示されるように、コイルｅ，ｆの上にコイルｍが積まれる配置を避ける。
【０２２４】
一方、位置管理部１２０および位置検索部１３０は、例えば、パターンＣ２で示されるように、コイルｄ，ｅの上にコイルｍ，ｎを積まない配置を採用する。
こうして、サーバ１００は、直近に出荷予定のロール状物体の取り出しに伴うコストも考慮した配置を実現でき、コイルを迅速に出荷可能となる。このように、サーバ１００は、倉庫１０におけるコイルの移動を一層効率化することもできる。
【０２２５】
更に、サーバ１００は、倉庫１０内の位置に対して、該当の位置に配置されたコイルのコイルＩＤを検索し、倉庫管理者などによるコイルＩＤの確認を支援することもできる。具体的には、次の通りである。
【０２２６】
図３０は、コイルＩＤ確認処理の例を示すフローチャートである。以下、図３０に示す処理をステップ番号に沿って説明する。
（Ｓ５１）位置管理部１２０は、確認したい位置のコイルをピックアップする際のクレーン２０の位置情報を取得する。クレーン２０の位置情報は、例えば、鉤部２６の位置を示す座標である。例えば、倉庫管理者は、入力デバイス６２を操作して、サーバ１００に当該座標を入力することができる。
【０２２７】
（Ｓ５２）位置管理部１２０は、取得した位置情報を基に、コイルＩＤを検索する。具体的には、位置管理部１２０は、取得した位置情報を、図１２（Ａ）又は図１２（Ｂ）で例示した方法によって、当該位置情報に対応するコイルの位置を示す座標に変換する。そして、位置管理部１２０は、変換後の座標により、記憶部１１０に記憶されたコイル位置管理テーブル１１１を検索し、変換後の座標に対応付けられたコイルＩＤを取得する。
【０２２８】
（Ｓ５３）位置管理部１２０は、検索されたコイルＩＤをディスプレイ６１に出力する。位置管理部１２０は、検索されたコイルＩＤをディスプレイ６１により表示させる。
このように、位置管理部１２０は、コイルをピックアップする際のクレーン２０の位置情報に基づいて、該当のコイルのコイルＩＤを特定することもできる。なお、ステップＳ５２において、コイルＩＤを検索できない場合、ステップＳ５３では、該当の位置にコイルが存在しないことをディスプレイ６１に表示させる。
【０２２９】
こうして、位置管理部１２０は、倉庫１０内の各位置に存在するコイルＩＤの、倉庫管理者による確認を支援することもできる。なお、位置管理部１２０は、クレーン制御装置２００、フォークリフト制御装置３００および端末装置４００，４００ａによるクレーン２０の位置情報に対して、コイルＩＤを検索し、応答してもよい。
【０２３０】
以上で説明したように、サーバ１００によれば、倉庫１０におけるコイルの管理を効率的に行える。特に、倉庫１０内に仕切りがないような場合でも、倉庫１０内のコイルの位置の管理を容易に行うことができる。
【０２３１】
また、倉庫１０内において、既存の運用では、コイルの位置の管理が人の記憶に頼られていることが多い。このような場合でも、サーバ１００によるコイルの位置の管理機能を容易に導入可能である。具体的には、サーバ１００によれば、既存のコイルに対して当初は位置をデータ化できていなくても、倉庫１０内でのコイルの配置替えなどに伴って、既存のコイルに対する位置も徐々にデータ化することができる。このため、既存のコイルの位置を全てデータ化してから運用を開始するようなシステムよりも、システムの導入を容易に行えるという利点もある。
【０２３２】
なお、第１の実施の形態の情報処理は、処理部１ｂにプログラムを実行させることで実現できる。また、第２の実施の形態の情報処理は、処理部５ｂにプログラムを実行させることで実現できる。また、第３の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体１３に記録できる。
【０２３３】
例えば、プログラムを記録した記録媒体１３を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体１３に記録されたプログラム又は他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＨＤＤ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０２３４】
１  位置情報管理装置
１ａ  記憶部
１ｂ  処理部
２  クレーン
２ａ  制御部
２ｂ  駆動部
２ｃ  ワイヤー
２ｄ  吊具
３  倉庫
４  対象物
Ｔ１  位置テーブル
【図１】
2018145007.tif 000003
【図２】
2018145007.tif 000004
【図３】
2018145007.tif 000005
【図４】
2018145007.tif 000006
【図５】
2018145007.tif 000007
【図６】
2018145007.tif 000008
【図７】
2018145007.tif 000009
【図８】
2018145007.tif 000010
【図９】
2018145007.tif 000011
【図１０】
2018145007.tif 000012
【図１１】
2018145007.tif 000013
【図１２】
2018145007.tif 000014
【図１３】
2018145007.tif 000015
【図１４】
2018145007.tif 000016
【図１５】
2018145007.tif 000017
【図１６】
2018145007.tif 000018
【図１７】
2018145007.tif 000019
【図１８】
2018145007.tif 000020
【図１９】
2018145007.tif 000021
【図２０】
2018145007.tif 000022
【図２１】
2018145007.tif 000023
【図２２】
2018145007.tif 000024
【図２３】
2018145007.tif 000025
【図２４】
2018145007.tif 000026
【図２５】
2018145007.tif 000027
【図２６】
2018145007.tif 000028
【図２７】
2018145007.tif 000029
【図２８】
2018145007.tif 000030
【図２９】
2018145007.tif 000031
【図３０】
2018145007.tif 000032