以下、図面を参照して、本発明に係るコンテナ移動装置を利用した保管システムについて説明する。ただし、本発明の技術的範囲はそれらの実施の形態には限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
図1は、保管システム100の全体構造を説明するための模式図である。保管システム100は、水平方向であるX軸方向に延伸する複数の第1レール1と、水平方向であり且つX軸方向に直交するY軸方向に延伸する複数の第2レール2と、鉛直方向であるZ軸方向に延伸する支柱3と、コンテナ移動装置4と、制御装置5とを有する。隣接する2つの第1レール1と隣接する2つの第2レール2とで囲まれた領域の鉛直方向下側及び上側に形成され、複数の支柱3によって区画される複数の積載空間には、複数のコンテナ9が積載される。複数のコンテナ9は、それぞれが同一の形状を有する。これにより、コンテナを高密度に積載することができる。なお、X軸方向は第1方向の一例であり、Y軸方向は第2方向の一例である。
コンテナ移動装置4は、複数の第1レール1及び複数の第2レール2から形成される所定の平面上を移動し、積載された複数のコンテナ9の内から所望のコンテナ9を選び出してコンテナ移動装置4の内部の格納空間7に格納し、搬出作業エリアPに搬送する。搬出作業エリアPにおいて、ロボット1000が搬送されたコンテナ9内の物品を箱2000に移動させることで、物品のピッキングが行われる。また、搬入作業エリアQでは、箱2100内の物品をロボット1100がコンテナ9内に移動させる。コンテナ移動装置4は、そのコンテナを積載空間に搬送し、積載空間において物品の保管が行われる。
所望のコンテナ(例えば、9d)の上に他のコンテナ(例えば、9a~9c)が積載されている場合、コンテナ移動装置4は他のコンテナを他の積載空間に一時的に移動させてから所望のコンテナを格納空間7に格納する。この場合、コンテナ移動装置4は、他のコンテナを空きがある積載空間(コンテナを所定の平面の下側に積載可能な積載空間をいい、例えば、コンテナ9eの積載空間)に移動させてもよい。また、コンテナ移動装置4は、他のコンテナを空きがない積載空間(コンテナを所定の平面の下側に積載不可能な積載空間をいい、例えば、コンテナ9fの積載空間)に移動させてもよい。空きがない積載空間に移動されたコンテナは、その積載空間において所定の平面の上方に積載される。
図2は、コンテナ移動装置4の斜視図である。コンテナ移動装置4は、概略、枠体400、第1車輪セット401、第2車輪セット402、ハンガー駆動機構600、格納空間7、方向選択機構800を有する。第1車輪セット401は、第1レール1に係合してコンテナ移動装置4をX軸方向に移動させる。第2車輪セット402は、第2レール2に係合してコンテナ移動装置4をY軸方向に移動させる。後述するように、方向選択機構800は、第1車輪セット401及び第2車輪セット402を上下に移動させ、コンテナ移動装置4の移動方向に応じて第1車輪セット401及び第2車輪セット402の内の何れか一方のみを対応するレールに係合させる。これにより、コンテナ移動装置4は複数の第1レール1及び複数の第2レール2により形成される所定の平面上をX軸方向及びY軸方向に移動することができる。
ハンガー駆動機構600は、ハンガー(61、62)を駆動して積載空間に積載された一つ以上のコンテナ9を枠体400の内部の収容空間403まで持ち上げる。好ましくは、ハンガー駆動機構600は、最大で3個のコンテナ9を同時に収容空間403まで持ち上げる。格納空間7は、収容空間に隣接して設けられた空間であり、収容空間403まで持ち上げられたコンテナ9を格納する。複数のコンテナ9がハンガー駆動機構600によって同時に持ち上げられた場合には、格納空間7は、持ち上げられた複数のコンテナの内の一番下のコンテナ9を格納する。これにより、コンテナ移動装置4は、積載空間において所望のコンテナの上に他のコンテナが積載されている場合でも一度の持ち上げ動作で所望のコンテナを取り出すことができる。なお、格納空間7は、複数のコンテナ9を同時に格納してもよい。
枠体400は、Y軸方向に延伸する側面のうち収容空間403に接する部分が開放された形状を有する。これにより、積載空間において所定の平面の上方にコンテナが積載されている場合でも、積載されたコンテナと枠体400とが干渉することなくコンテナ移動装置4はX軸方向に移動することができる。
図3は、保管システム100の第1レール1及び第2レール2とコンテナ移動装置4との位置関係を示す平面図である。複数の第1レール1及び複数の第2レール2は、それらが交差する点において鉛直方向に延伸する支柱3によって支持される。第1レール1のそれぞれには凹部が設けられ、コンテナ移動装置4の第1車輪セット401と係合する。好ましくは、第1レール1のそれぞれには2つの凹部(例えば、凹部1a-1及び1a-2)が設けられる。これにより、2台のコンテナ移動装置4の第1車輪セット401がY軸方向に隣接して第1レール1に係合可能となる。同様に、第2レール2のそれぞれには凹部が設けられ、コンテナ移動装置4の第2車輪セット402と係合する。好ましくは、第2レール2のそれぞれには2つの凹部(例えば、凹部2a-1及び2a-2)が設けられる。これにより、2台のコンテナ移動装置4の第2車輪セット402がX軸方向に隣接して第2レール2に係合可能となる。
第1車輪セット401は、1本の第1レール1(例えば、1b)を挟んで隣接する2本の第1レール1(例えば、1a及び1c)と係合する。第2車輪セット402は、隣接する2本の第2レール2(例えば、2a及び2b)と係合する。すなわち、コンテナ移動装置4は、2つの積載空間の上方にまたがって配置される。第1レール1とコンテナ9との間には隙間が形成され、後述するようにコンテナ移動装置4が備えるハンガーが隙間から積載空間に下降することにより、コンテナ9を把持して持ち上げる。
図4は、保管システム100における支柱3と、コンテナ9及びハンガー(61、62)との位置関係を示す図であって、(a)は平面図であり、(b)は斜視図である。支柱3のそれぞれ(支柱311、312、321、322)には、コンテナ移動装置4のハンガー6(61、62)が篏合して摺動可能なように、底面部から最上部まで連続して溝(311a~d、312a~d、321a~d、322a~d)が設けられる。
ハンガー61は、支柱311に形成された溝311cと支柱312に形成された溝312bに嵌合して、ケーブル(61a、61b)によって、鉛直方向に摺動する。同様に、ハンガー62は、支柱321に形成された溝321dと支柱322に形成された溝322aに嵌合して、ケーブル(62a、62b)によって、鉛直方向に摺動する。これにより、ハンガー(61、62)は、積載された複数のコンテナ(9a、9b、9c)の内の所望のコンテナ(例えば、9b)の側面に移動させることができる。ハンガー(61、62)は、支柱3に形成された溝によって水平方向の移動が制限されるため、後述するようにフック620によってコンテナ9を持ち上げることができる。
図5は、コンテナ移動装置4に設けられたハンガー62の斜視図である。ハンガー62は、ケーブル62a及び62bによりコンテナ移動装置4から吊り下げられる。ケーブル62aは、吊下げ用兼直流電源(+)供給金属テープであり、ケーブル62bは、吊下げ用兼直流電源(-)供給金属テープである。
ハンガー62は、コンテナ9の側面側に突出し、コンテナ9と係合するフック620を備える。フック620は、ハンガーモータ62cにより駆動される。フック620が突出しているか戻っているかは、フック戻検知センサ62dにより検知される。ハンガー62は電源信号重畳・分離基板62eを備える。ハンガーモータ62cを動作させるための制御信号及びフック戻検知センサ62dからの検知信号は、電源信号重畳・分離基板62e並びにケーブル62a及び62bを介してコンテナ移動装置4との間で送受信される。
ハンガー62は、第1レール1及び第2レール2より下方に移動する際には、支柱3に形成された溝と嵌合するが、第1レール1及び第2レール2より上方のコンテナ移動装置4の内部においては、ハンガー用ガイド63a及び63bに沿って移動する。
図6はハンガー駆動機構600の斜視図であって、(a)は駆動機構の反対側から見た斜視図であり、(b)は駆動機構の側から見た斜視図である。コンテナ昇降モータ49aが回転することにより、ベルト630及びプーリー640を介して軸650が回転し、ケーブル(61a、61b、62a、62b)が巻き上げられ又は引き出される。ケーブル(61a、61b、62a、62b)は、ガイドローラー(610a、610b、620a、620b)により、鉛直方向に動作可能となっている。
コンテナ移動装置4には、ハンガー(61、62)により持ち上げられた複数のコンテナの内の所望の1つのコンテナを格納する格納空間7が設けられる。格納空間7には、持ち上げられた複数のコンテナのうちの最下部のコンテナを収容する可動テーブル71が設けられる。可動テーブル71は、その載置面を格納空間7から収容空間403の下部にスライドさせてコンテナを載置可能とする。
図7及び図8は、方向選択機構800の構成を示す斜視図である。図7は、コンテナ移動装置4がX軸方向に移動する場合の構成を示す図であり、図8は、コンテナ移動装置4がY軸方向に移動する場合の構成を示す図である。方向選択機構800は、鉛直方向に伸縮可能な伸縮機構81、板状の支軸部82、及び、回転軸831を中心に回動可能なアーム(83a~83d)を有する。伸縮機構81は、その上端において枠体400の上面と接合する。支軸部82は、その上面において板部404を貫通した伸縮機構81の下端と接合する。アーム(83a~83d)の回転軸831は、支軸部82の両側面に固定される。アーム(83a~83d)のそれぞれの下端には、第2車輪セット402に含まれる複数の第2車輪(402a~402d)が回転可能に設けられる。収容空間403を挟む枠体400のX軸方向に延伸する両側面の下部には、第1車輪セット401に含まれる複数の第1車輪(401a~401d)がそれぞれ回転可能に設けられる。
コンテナ移動装置4がX軸方向に移動する場合、伸縮機構81は鉛直方向に縮んだ状態となる。この状態では、図7に示されるように、支軸部82は枠体400に固定された板部404に接する。アーム(83a~83d)は、隣接する2本のアーム(例えば、83a及び83b)の間の角度が第1角度となる状態で支軸部82に固定される。第1角度は、第2車輪(402a~402d)が何れも第2レール2に係合せず且つ第2車輪(402a~402d)の何れもが収容空間403のX軸方向の側方に位置しないような角度である。これにより、第1車輪セット401及び第2車輪セット402のうち第1車輪セット401のみが対応するレールに係合し、コンテナ移動装置4がX軸方向に移動可能となる。なお、以降では、図7に示される状態を方向選択機構800の第1状態と称することがある。
コンテナ移動装置4がY軸方向に移動する場合、伸縮機構81は鉛直方向に伸長した状態となる。この状態では、図8に示されるように、支軸部82は板部404から下方に離隔した状態となる。アーム(83a~83d)は、突起部832がローラ405と接することにより隣接する2本のアームの間の角度が第1角度よりも大きい第2角度となる状態で固定される。第2角度は、第2車輪(402a~402d)が第2レール2に係合し且つ第2車輪(402a~402d)の何れか(例えば、402a及び402c)が収容空間403のX軸方向の側方に位置する角度である。すなわち、第2車輪(402a~402d)が第2レール2に係合しているか否かに応じて互いに隣接する第2車輪(例えば、402a及び402b、又は、402c及び402d)のY軸方向の間隔は異なる。また、枠体400が伸縮機構81に持ち上げられるため、第1車輪(401a~401d)は何れも第1レールに係合しない。これにより、第1車輪セット401及び第2車輪セット402のうち第2車輪セット402のみが対応するレールに係合し、コンテナ移動装置4がY軸方向に移動可能となる。なお、以降では、図8に示される状態を方向選択機構800の第2状態と称することがある。
X軸方向に移動していたコンテナ移動装置4が移動方向を変更してY軸方向に移動する場合、方向選択機構800は第1状態から第2状態に遷移する。この場合、まず、縮んだ状態である伸縮機構81が鉛直方向に伸長する。これにより、支軸部82が板部404に接した状態から下方に押下げられ、第2車輪(402a~402d)が第2レール2に係合する。続いて、伸縮機構81がさらに鉛直方向に伸長することで、アーム(83a~83d)が回転軸831を中心に回転して隣接する2本のアームの間の角度が第1角度から第2角度に変化するとともに、支軸部82がさらに下方に押下げられる。続いて、伸縮機構81がさらに鉛直方向に伸長することで、伸縮機構81が枠体400を押し上げて枠体400がアーム(83a~83d)に対して上昇し、第1車輪(401a~401d)は第1レール1から離隔する。このとき、ローラ405が回転することにより枠体400は突起部832との間の摩擦力の影響を受けることなく上昇することができる。このようにして、方向選択機構800は第1状態から第2状態に遷移する。
また、Y軸方向に移動していたコンテナ移動装置4が移動方向を変更してX軸方向に移動する場合、方向選択機構800は第2状態から第1状態に遷移する。この場合、まず、伸長した状態である伸縮機構81が鉛直方向に縮む。これにより、枠体400がアーム(83a~83d)に対して下降し、第1車輪(401a~401d)が第1レール1に係合する。続いて、伸縮機構81がさらに鉛直方向に縮むことで、支軸部82が上方に引き上げられ、アーム(83a~83d)の自重により隣接する2本のアームの間の角度が第2角度から第1角度に変化する。続いて、伸縮機構81がさらに鉛直方向に縮むことで、支軸部82が板部404と接するまでさらに上方に引き上げられ、第2車輪(402a~402d)は第2レール2から離隔する。このようにして、方向選択機構800は第2状態から第1状態に遷移する。
図9は、保管システム100の概略構成の一例を示す図である。制御装置5は、サーバ又はPC(Personal Computer)等の情報処理装置である。制御装置5は、物品のピッキング指示を受信し、アクセスポイント20を介してコンテナ移動装置4と通信することによりその物品を収容するコンテナ9を積載空間から搬出作業エリアPに搬送するようにコンテナ移動装置4を制御する。そのために、制御装置5は、制御記憶部51と、制御通信部52と、制御処理部53とを備える。
制御記憶部51は、プログラム又はデータを記憶するためのデバイスであり、例えば、半導体メモリ装置を備える。制御記憶部51は、制御処理部53による処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。プログラムは、CD(Compact Disc)-ROM(Read Only Memory)、DVD(Digital Versatile Disc)-ROM等のコンピュータ読み取り可能且つ非一時的な可搬型記憶媒体から、公知のセットアッププログラム等を用いて制御記憶部51にインストールされる。
制御通信部52は、アクセスポイント20を介して制御装置5をコンテナ移動装置4等の他の装置と通信可能にする通信インタフェース回路を備える。制御通信部52が備える通信インタフェース回路は、無線LAN(Local Area Network)等の通信インタフェース回路である。制御通信部52は、他の装置から送信されたデータを受信し、制御処理部53に供給するとともに、制御処理部53から供給されたデータを他の装置に送信する。
制御処理部53は、一又は複数個のプロセッサ及びその周辺回路を備える。制御処理部53は、例えばCPU(Central Processing Unit)であり、制御装置5の動作を統括的に制御する。制御処理部53は、DSP(Digital Signal Processor)、LSI(Large-Scaled IC)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等でもよい。制御処理部53は、制御記憶部51に記憶されているプログラムに基づいて制御装置5の各種処理が適切な手順で実行されるように、制御通信部52の動作を制御する。制御処理部53は、制御記憶部51に記憶されているプログラムに基づいて処理を実行する。また、制御処理部53は、複数のプログラムを並列に実行することができる。
コンテナ移動装置4は、記憶部41、通信部42、駆動部43、把持部44、格納部45及び処理部46を備える。
記憶部41は、プログラム又はデータを記憶するためのデバイスであり、例えば、半導体メモリ装置を備える。記憶部41は、処理部46による処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。プログラムは、CD-ROM、DVD-ROM等のコンピュータ読み取り可能且つ非一時的な可搬型記憶媒体から、公知のセットアッププログラム等を用いて記憶部41にインストールされる。
通信部42は、アクセスポイント20を介してコンテナ移動装置4を制御装置5等の他の装置と通信可能にする通信インタフェース回路を備える。通信部42が備える通信インタフェース回路は、無線LAN等の通信インタフェース回路である。通信部42は、他の装置から送信されたデータを受信し、処理部46に供給するとともに、処理部46から供給されたデータを他の装置に送信する。
駆動部43は、コンテナ移動装置4が移動するためにコンテナ移動装置4の各構成を駆動させるためのデバイスであり、複数のモータ及び各モータに対応するモータドライバ等の制御回路を備える。駆動部43が備えるモータは、第1車輪(401a~401d)を駆動させるX軸モータ、第2車輪(402a~402d)を駆動させるY軸モータ、伸縮機構81を駆動させる方向選択モータ等である。制御回路は、処理部46から供給された駆動制御信号に応じて対応するモータを駆動させる。
把持部44は、コンテナ移動装置4がコンテナ9を収容空間403に持ち上げるための構成であり、ハンガー(61、62)及びハンガー駆動機構600並びにこれらに含まれるモータに対応するモータドライバ等の制御回路を備える。制御回路は、処理部46から供給された駆動制御信号に応じてコンテナ昇降モータ49a及びハンガーモータ62c等を駆動させる。
格納部45は、収容空間403に持ち上げられたコンテナ9を格納するために格納空間7に設けられる構成であり、可動テーブル71を備える。
処理部46は、一又は複数個のプロセッサ及びその周辺回路を備える。処理部46は、例えばCPUであり、コンテナ移動装置4の動作を統括的に制御する。処理部46は、DSP、LSI、ASIC、FPGA等でもよい。処理部46は、記憶部41に記憶されているプログラムに基づいてコンテナ移動装置4の各種処理が適切な手順で実行されるように、通信部42、駆動部43、把持部44、格納部45の動作を制御する。処理部46は、記憶部41に記憶されているプログラムに基づいて処理を実行する。また、処理部46は、複数のプログラムを並列に実行することができる。
処理部46は、受信部461、駆動制御部462及び送信部463を機能ブロックとして備える。これらの各部は、処理部46が実行するプログラムによって実現される機能モジュールである。これらの各部は、ファームウェアとしてコンテナ移動装置4に実装されてもよい。
図10は、制御記憶部51に記憶される、積載空間に積載されるコンテナ9に関する情報を管理するコンテナテーブルT1のデータ構造の一例を示す図である。コンテナテーブルT1には、コンテナID、積載空間、段数、内容物等のデータが相互に関連付けられて記憶される。
コンテナIDは、複数のコンテナ9のそれぞれを一意に識別する識別情報である。積載空間は、対応するコンテナ9が積載されている積載空間を示す情報である。積載空間を示す情報は、例えば、積載空間のX軸方向の位置及びY軸方向の位置を示す2次元座標である。段数は、対応するコンテナ9が積載空間において積載されている段数を示す情報である。例えば、コンテナ9が積載空間の一番下に位置する場合、段数を示す情報は「1」であり、下から2番目に位置する場合、段数を示す情報は「2」である。内容物は、対応するコンテナ9に収容されている物品を示す情報である。なお、積載空間及び段数は、積載位置の一例である。
コンテナテーブルT1の各種データは、保管システム100の管理者によってあらかじめ設定される。また、コンテナテーブルT1の各種データは、コンテナ移動装置4がコンテナ9を搬送したり、搬出作業エリアP又は搬入作業エリアQにおいてコンテナ9に収容されている物品が変更されたりした場合に制御装置5によって更新される。
図11は、制御記憶部51に記憶される移動装置テーブルT2のデータ構造の一例を示す図である。移動装置テーブルT2には、移動装置ID、状態、位置等のデータが相互に関連付けられて記憶される。
移動装置IDは、複数のコンテナ移動装置4のそれぞれを一意に識別するための識別情報である。状態は、対応するコンテナ移動装置4が動作中であるか待機中であるかを示す情報である。コンテナ移動装置4が動作中であるとは、コンテナ移動装置4が制御装置5からの制御信号に応じてコンテナを搬送していることをいう。コンテナ移動装置4が待機中であるとは、コンテナ移動装置4が動作中ではなく、制御装置5からの新たな制御信号を受付可能であることをいう。位置は、コンテナ移動装置4の位置を示す情報であり、例えば、コンテナ移動装置4の内部の収容空間403の下方に位置する積載空間を示す情報である。
移動装置テーブルT2の各種データは、制御装置5がコンテナ移動装置4から現在の状態及び位置を示す信号を受信した場合に制御装置5によって更新される。
図12は、保管システム100によるコンテナ搬送処理の流れの一例を示すシーケンス図である。コンテナ搬送処理は、保管システム100が物品のピッキング指示に応じて、その物品が収容されたコンテナを搬出作業エリアPに搬送する処理である。コンテナ搬送処理は、制御記憶部51及び記憶部41に記憶されたプログラムをそれぞれ制御処理部53及び処理部46が実行することにより、制御処理部53及び処理部46が制御装置5及びコンテナ移動装置4の各構成要素と協働することで実現される。
まず、制御装置5の制御処理部53は、制御通信部52を介してピッキング指示を取得する(S101)。ピッキング指示には、複数のコンテナ9の何れかに収容されている物品を示す情報が含まれる。ピッキング指示は、例えば、保管システム100の管理者端末(不図示)等から送信される。
続いて、制御処理部53は、コンテナを搬送させるコンテナ移動装置4を特定する(S102)。例えば、制御処理部53は、コンテナテーブルT1を参照し、ピッキング指示に示される物品を収容するコンテナ9を特定する。制御処理部53は、移動装置テーブルT2を参照し、待機中のコンテナ移動装置4のうち特定されたコンテナ9の積載空間に最も近い位置にあるコンテナ移動装置4をコンテナを搬送させるコンテナ移動装置4として特定する。
続いて、制御処理部53は、制御通信部52を介して、特定されたコンテナ移動装置4に対してコンテナを搬送させるための制御信号を送信する(S103)。制御処理部53は、コンテナテーブルT1を参照して、特定されたコンテナ9の深さを算出する。コンテナ9の深さは、積載空間においてコンテナ9が上から何段目に位置するかを示す情報である。例えば、あるコンテナ9の上に他のコンテナが積載されていない場合はそのコンテナ9の深さは「1」であり、他のコンテナが一つ積載されている場合はそのコンテナ9の深さは「2」である。制御処理部53は、コンテナテーブルT1を参照し、特定されたコンテナ9の上に積載されたコンテナ9を計数する。特定されたコンテナ9の上に積載されたコンテナは、コンテナテーブルT1において特定されたコンテナ9と同一の積載空間に積載され且つ特定されたコンテナ9よりも大きい段数を有するコンテナである。制御処理部53は、計数された値に1を加えた値を特定されたコンテナ9の深さとして算出する。
制御処理部53は、特定されたコンテナ9の積載空間、段数及び算出された深さの情報を含む制御信号を生成し、コンテナ移動装置4に対して送信する。制御処理部53は、移動装置テーブルT2において、制御信号が送信されたコンテナ移動装置4の状態を動作中に更新する。
続いて、コンテナ移動装置4の受信部461は、通信部42を介して制御信号を受信する(S104)。受信部461は、制御信号に含まれるコンテナ9の積載空間及び段数の情報を取得する。
続いて、駆動制御部462は、取得された積載空間及び段数のコンテナ9を取出すコンテナ取出処理を実行する(S105)。コンテナ取出処理の詳細は後述する。
続いて、駆動制御部462は、取出したコンテナ9を搬出作業エリアPに搬送する(S106)。
続いて、送信部463は、通信部42を介してコンテナの搬送が完了したことを示す完了信号を制御装置5に送信する(S107)。
続いて、制御処理部53は、制御通信部52を介して完了信号を受信したことに応じて、移動装置テーブルT2において、コンテナ移動装置4の状態を待機中に更新し(S108)、一連の処理を終了する。
図13は、コンテナ取出処理の流れの一例を示すフロー図であり、図14-図16は、コンテナ取出処理の各ステップについて説明するための模式図である。コンテナ取出処理は、コンテナ搬送処理のS105において実行される。以下では、図14(a)に示されるようにX軸方向に隣接する2つの積載空間S1及びS2にそれぞれコンテナ9a~9f及び9g~9lが積載され、制御信号に示されるコンテナがコンテナ9fである場合を例にして説明する。また、積載空間S1及びS2には、最大6個のコンテナが積載可能であるものとする。なお、積載空間S1は所定の積載空間の一例であり、積載空間S2は他の積載空間の一例である。
まず、図14(b)に示されるように、コンテナ移動装置4の駆動制御部462は、コンテナ移動装置4を積載空間S1の上方に移動させる(S201)。駆動制御部462は、方向選択機構800、X軸モータ及びY軸モータを制御してコンテナ移動装置4の収容空間403がコンテナ9fの積載空間S1の上方に位置するようにコンテナ移動装置4を移動させる。
続いて、駆動制御部462は、コンテナ9fが持上げ可能か否かを判定する(S202)。駆動制御部462は、コンテナ9fの深さが収容空間403に収容可能なコンテナ9の最大数よりも大きい場合に、コンテナ9fを持上げ可能であると判定する。以下では、収容空間403に収容可能なコンテナ9の最大数は3であるものとする。コンテナ9fの上には5個のコンテナ9a~9eが積載され、その深さは6であるから、駆動制御部462はコンテナ9fを持上げ可能でないと判定する。
コンテナ9fが持上げ可能でないと判定されたため(S202-Yes)、図14(c)に示されるように、駆動制御部462は収容空間403に収容可能な最大数のコンテナを収容空間403まで持上げる(S203)。まず、駆動制御部462は、コンテナの段数及び深さに基づいて把持するコンテナを特定する。コンテナ9fの段数は1であり深さは6であるから、駆動制御部462は、積載空間S1に積載されているコンテナの個数を6個であると算出する。積載された6個のコンテナ9a~9fのうちから最大数である3個のコンテナを持ち上げるためには下から4段目のコンテナ9cを持ち上げればよいから、駆動制御部462は、コンテナ9cを把持するコンテナとして特定する。
続いて、駆動制御部462は、コンテナの段数に基づいてハンガー(61、62)を鉛直方向に移動させる。コンテナ9cの段数は4であるから、駆動制御部462は、ハンガー昇降モータ49を駆動させ、コンテナ9cが位置する4段目の高さまでハンガーを下降させる。
続いて、駆動制御部462はコンテナを収容空間403まで持ち上げる。駆動制御部462は、ハンガーモータを駆動させ、フックをコンテナ9cに係合させる。駆動制御部462は、ハンガー昇降モータ49を駆動させ、ハンガーを上昇させることにより3個のコンテナ9a~9cを持ち上げて収容空間403に収容する。
続いて、図15(a)に示されるように、駆動制御部462は、方向選択機構800を第1状態に遷移させる(S204)。
続いて、駆動制御部462は、コンテナ移動装置4を積載空間S2の上方に移動させる(S205)。駆動制御部462は、X軸モータを駆動させることによりコンテナ移動装置4を移動させる。
続いて、図15(b)に示されるように、駆動制御部462は、持ち上げられたコンテナ9a~9cを積載空間S2に移動させる(S206)。駆動制御部462は、ハンガー昇降モータ49及びハンガーモータを駆動させ、コンテナ9a~9cを積載空間S2のコンテナ9gの上に積載する。このとき、積載空間S2にはすでに6個のコンテナ9g~9lが積載されているため、コンテナ9a~9cは積載空間S2の上方に積載される。
続いて、駆動制御部462は、コンテナ9fの深さを更新する(S207)。駆動制御部462は、3個のコンテナ9a~9cが他の積載空間S2に移動されたことに応じて、積載空間S1におけるコンテナ9fの深さを6から3を減じた値である3に更新する。
続いて、駆動制御部462は、コンテナ移動装置4を積載空間S1の上方に移動させる(S208)。駆動制御部462は、X軸モータを駆動させ、コンテナ移動装置4を移動させる。このとき、コンテナ移動装置4の枠体400はY軸方向に延伸する側面の一部が開放された形状を有するため、積載空間S2の上方に積載されたコンテナ9a~9cと枠体400とが干渉することなくコンテナ移動装置4はX軸方向に移動することができる。
続いて、S202に戻り、駆動制御部462は、コンテナ9fが持上げ可能か否かを判定する(S202)。S208においてコンテナ9fの深さは3に更新されたから、収容空間403に収容可能なコンテナ9の最大数以下となっている。したがって、駆動制御部462はコンテナ9fが持上げ可能であると判定する。
コンテナ9fが持上げ可能であると判定されたため(S202-No)、図15(c)に示されるように、駆動制御部462は、制御信号に示されるコンテナを収容空間403まで持ち上げる(S209)。まず、駆動制御部462は、コンテナの段数に基づいてハンガー(61、62)を鉛直方向に移動させる。コンテナ9fの段数は1であるから、駆動制御部462は、ハンガー昇降モータ49を駆動させ、コンテナ9fが位置する1段目の高さまでハンガーを下降させる。
続いて、駆動制御部462はコンテナを収容空間403まで持ち上げる。駆動制御部462は、ハンガーモータを駆動させ、フックをコンテナ9fに係合させる。駆動制御部462は、ハンガー昇降モータ49を駆動させ、ハンガーを上昇させることにより3個のコンテナ9d~9fを持ち上げて収容空間403に収容する。
続いて、図16(a)に示されるように、駆動制御部462は、コンテナ9fを格納空間7に格納する(S210)。駆動制御部462は、格納部45の可動テーブル71を駆動させ、格納空間7から収容空間403の下部に載置台を移動させる。駆動制御部462は、ハンガー昇降モータ及びハンガーモータを駆動し、コンテナ9d~9fを載置台に載置した後、コンテナ9eを把持してコンテナ9d及び9eを持ち上げる。駆動制御部462は、可動テーブル71を駆動させ、コンテナ9fが載置された載置台を収容空間403の下部から格納空間7に移動させる。これにより、コンテナ9fが格納空間7に格納される。
続いて、駆動制御部462は、把持しているコンテナの有無を判定する(S211)。コンテナ9d及び9eが把持されているため、駆動制御部462は、把持しているコンテナが有ると判定する。
把持しているコンテナが有ると判定されたため(S211-Yes)、図16(b)に示されるように、駆動制御部462は、把持しているコンテナ9d及び9eを積載空間S1に戻す(S212)。駆動制御部462は、ハンガー昇降モータ49及びハンガーモータを駆動させ、コンテナ9d及び9eを積載空間S1に戻す。なお、把持しているコンテナがないと判定された場合(S211-No)、S212は実行されない。
続いて、駆動制御部462は、積載空間S1から他の積載空間にコンテナが移動されたか否かを判定する(S213)。積載空間S1から積載空間S2にコンテナ9a~9cが移動されているから、駆動制御部462は、積載空間S1から他の積載空間にコンテナが移動されたと判定する。
積載空間S1から他の積載空間にコンテナが移動されたと判定されたため(S213-Yes)、図16(c)に示されるように、駆動制御部462は、移動されたコンテナ9a~9cを積載空間S2から積載空間S1に戻す(S214)。駆動制御部462は、コンテナ移動装置4を積載空間S2の上方に移動させ、コンテナ9a~9cを持ち上げる。駆動制御部462は、コンテナ移動装置4を積載空間S1の上方に移動させ、持ち上げたコンテナ9a~9cを積載空間S1に戻す。なお、積載空間S1から他の積載空間にコンテナが移動されていないと判定された場合(S213-No)、S214は実行されない。
以上説明したように、コンテナ移動装置4の枠体400は、Y軸方向に延伸する側面の一部が開放された形状を有する。これにより、コンテナ移動装置4は、コンテナを積み重ねて保管する保管システムにおいて所望のコンテナを効率的に取り出すことを可能とする。
すなわち、所定の積載空間において所望のコンテナの上に収容空間403に収容可能な所定数よりも多くの他のコンテナが積載されている場合、コンテナ移動装置4は、他のコンテナを収容空間まで持ち上げて他の積載空間に一時的に移動させる必要がある。このとき、他の積載空間に積載されているコンテナの個数によっては、一時的に移動させられたコンテナが他の積載空間の上方まで積載されることがある。この場合でも、枠体400が上述の形状を有することにより、コンテナ移動装置4は他の積載空間の上方まで積載されたコンテナと干渉することなく他の積載空間の上方から所定の積載空間の上方に移動して所望のコンテナを持ち上げることができる。その結果、コンテナ移動装置4は他の積載空間に空きがない場合でも他のコンテナ移動装置4を用いることなく深い位置に積載された所望のコンテナを取出すことが可能となり、コンテナの取出しが効率化する。
また、コンテナ移動装置4は、第1状態と第2状態とで隣接する第2車輪(例えば、402a及び402b、又は、402c及び402d)の間隔を異ならせる。これにより、コンテナ移動装置4は、所望のコンテナを効率的に取り出すことを可能としつつ、装置の安定性を高めることができる。
すなわち、第1状態においては、コンテナ移動装置4が他の積載空間の上方まで積載されたコンテナと干渉することなくX軸方向に移動するため、第2車輪の何れもが収容空間403の側方に位置しないことが必要となる。他方、仮に、第2状態においても第2車輪の何れもが収容空間403の側方に位置しない場合、コンテナを持ち上げた場合等にコンテナ移動装置4の重心位置が収容空間403の方向に移動してコンテナ移動装置4が転倒するおそれがある。コンテナ移動装置4は、第2状態において少なくとも一つの第2車輪を収容空間403の側方に位置させることで、重心位置が第2車輪セット402の内側となるようにし、コンテナ移動装置4が転倒するおそれを低減させ、装置の安定性を高めることができる。
また、コンテナ移動装置4は、収容空間403を挟んで配置される複数の第1車輪(401a~401d)を有する。これにより、コンテナ移動装置4がX軸方向に移動する際にコンテナ移動装置4が転倒するおそれを低減させ、装置の安定性を高めることができる。
なお、コンテナ移動装置は、上述したコンテナ移動装置4の例に限られない。図17乃至図19は、コンテナ移動装置の他の一例であるコンテナ移動装置40の構成を示す斜視図である。図17及び図18はコンテナ移動装置40がX軸方向に移動する場合、すなわちコンテナ移動装置40の方向選択機構850が第1状態にある場合の図である。図17及び図18は、X軸方向において相互に異なる方向からコンテナ移動装置40を見た図である。図19はコンテナ移動装置40がY軸方向に移動する場合、すなわち方向選択機構850が第2状態にある場合の図である。
コンテナ移動装置40は、概略、枠体400、第1車輪(401a~401d)、第2車輪(402a~402d)、ハンガー駆動機構600、格納空間7及び方向選択機構850を有する。なお、ハンガー駆動機構600及び格納空間7は、コンテナ移動装置4が有するものと同様であるため、図17乃至図19では図示を省略している。第1車輪(401a~401d)は、X軸モータ432からX軸プーリー401e及びベルト401fを介して回転力を伝達されることにより駆動する。第2車輪(402a~402d)は、Y軸モータ(不図示)からY軸プーリー402e及びベルト402fを介して回転力を伝達されることにより駆動する。
方向選択機構850は、概略、装置リフト駆動リンク851、装置リフト駆動シャフト852、第2車輪駆動シャフト853、第2車輪駆動ベルト854及び第2車輪駆動アーム855を有する。装置リフト駆動リンク851は、装置リフトモータ433と装置リフト駆動シャフト852とを接続し、装置リフトモータ433の回転力を受けて装置リフト駆動シャフト852をその可動範囲において上下に駆動させる。装置リフト駆動シャフト852は、第2車輪(402a~402d)が設けられた壁面(86a、86b)と両端において接合する。第2車輪駆動シャフト853は、第2車輪駆動モータ434と第2車輪駆動ベルト854とを接続し、第2車輪駆動モータ434の回転力を第2車輪駆動ベルト854に伝達する。第2車輪駆動ベルト854は、その回転力を第2車輪駆動アーム855に伝達する。
第1状態では、図17及び図18に示されるように、装置リフト駆動シャフト852は、可動範囲の上部に位置する。この状態では、壁面(86a、86b)は、第2車輪(402a~402d)の何れもが第2レール2に係合しない高さに保持される。また、第2車輪駆動アーム855は、第2車輪(402a、402c)が収容空間403のX軸方向の側方に位置しないような角度に保持される。
第2状態では、図19に示されるように、装置リフト駆動シャフト852は、可動範囲の下部に位置する。この状態では、壁面(86a、86b)は、第2車輪(402a~402d)の何れもが第2レール2に係合する高さに保持される。また、第2車輪駆動アーム855は、第2車輪(402a、402c)が収容空間403のX軸方向の側方に位置するような角度に保持される。
方向選択機構850が第1状態から第2状態に遷移する場合、装置リフトモータ433が動作し、装置リフト駆動リンク851を通じてその回転力が伝達された装置リフト駆動シャフト852が可動範囲において下方向に駆動される。これにより、装置リフト駆動シャフト852が接合された壁面(86a、86b)が枠体400に対して下方向に押下げられ、第2車輪(402a~402d)が第2レール2に係合する。また、壁面(86a、86b)が枠体400に対して下方向に押下げられたことにより、枠体400が引上げられ、枠体400に設けられた第1車輪(401a~401d)が第1レール1から離隔する。
第2車輪(402a~402d)が第2レール2に係合する動作と同時に、又はこの動作に前後して、第2車輪駆動モータ434が動作し、その回転力が第2車輪駆動ベルト854を介して第2車輪駆動アーム855に伝達される。第2車輪駆動モータ434の回転力が伝達された第2車輪駆動アーム855は回転し、第2車輪(402a、402c)が収容空間403の側方に位置するように移動される。このようにして、方向選択機構850は第1状態から第2状態に遷移する。
方向選択機構850が第2状態から第1状態に遷移する場合、装置リフトモータ433が動作し、装置リフト駆動リンク851を通じてその回転力が伝達された装置リフト駆動シャフト852が可動範囲において上方向に駆動される。これにより、装置リフト駆動シャフト852が接合された壁面(86a、86b)が枠体400に対して上方向に引上げられ、第2車輪(402a~402d)が第2レール2から離隔する。また、壁面(86a、86b)が枠体400に対して上方向に引上げられたことにより、枠体400が下方向に下がり、枠体400に設けられた第1車輪(401a~401d)が第1レール1に係合する。
第2車輪(402a~402d)が第2レール2から離隔する動作と同時に、又はこの動作に前後して、第2車輪駆動モータ434が動作し、その回転力が第2車輪駆動ベルト854を介して第2車輪駆動アーム855に伝達される。第2車輪駆動モータ434の回転力が伝達された第2車輪駆動アーム855は回転し、第2車輪(402a、402c)が収容空間403の側方に位置しないように移動される。このようにして、方向選択機構850は第2状態から第1状態に遷移する。
また、上述した説明では、複数のコンテナ9は何れも同一の形状を有するものとしたが、このような例に限られない。複数のコンテナ9のそれぞれは、コンテナ9に応じて異なる高さを有し、コンテナ移動装置4は、コンテナ9の高さに基づいてハンガー(61、62)を鉛直方向に移動させてコンテナ9を持ち上げてもよい。これにより、保管システム100は、収容される物品に応じた高さのコンテナ9を用いることができ、より高密度に物品を保管することができる。
この場合、制御記憶部51は、コンテナテーブルT1に代えてコンテナテーブルT3を記憶する。図20は、コンテナテーブルT3のデータ構造の一例を示す図である。コンテナテーブルT3には、コンテナID、積載空間、段数、高さ、内容物が関連付けられて記憶される。高さは、コンテナ9に応じて異なる、対応するコンテナ9の高さを示す情報である。なお、積載空間及び段数は積載位置の一例である。
また、この場合、コンテナ搬送処理のS103において、制御処理部53は、特定されたコンテナ9の積載空間の下端からの高さ及びそのコンテナ9の深さを算出する。制御処理部53は、コンテナテーブルT3を参照し、特定されたコンテナ9の下に積載されている全てのコンテナ9の高さを取得して合計することにより、特定されたコンテナ9の積載空間の下端からの高さを算出する。また、制御処理部53は、コンテナテーブルT3を参照し、特定されたコンテナ9及び特定されたコンテナ9の上に積載されている全てのコンテナの高さを取得して合計することで、特定されたコンテナ9の深さを算出する。制御処理部53は、特定されたコンテナ9の積載空間、算出された下端からの高さ及び深さ、並びに特定されたコンテナ9の上に積載された各コンテナ9の高さを含む制御信号を生成し、コンテナ移動装置4に対して送信する。
また、コンテナ取出処理のS202において、駆動制御部462は、コンテナ9fの深さが収容空間403の高さよりも大きい場合に、コンテナ9fを持上げ可能であると判定する。
また、S203において、まず、駆動制御部462は、コンテナの段数及び高さに基づいて把持するコンテナを特定する。駆動制御部462は、積載空間S1の一番上に積載されたコンテナ9aからの高さの合計が収容空間403の高さ以下となるコンテナのうち、最も下に積載されたコンテナを把持するコンテナとして特定する。図14(c)に示される例において、コンテナ9a~9cの高さの合計が収容空間403の高さ以下であり且つコンテナ9a~9dの高さの合計が収容空間403の高さよりも大きい場合、駆動制御部462は、コンテナ9cを把持するコンテナとして特定する。
続いて、駆動制御部462は、コンテナの段数及び高さに基づいてハンガー(61、62)を鉛直方向に移動させる。図14(c)に示される例において、コンテナ9cの段数は4であるから、駆動制御部462は、コンテナ9cの下に積載されたコンテナ9d~9fの高さの合計をコンテナ9cが位置する高さとして算出する。駆動制御部462は、ハンガー昇降モータ49を駆動させ、算出されたコンテナ9cが位置する高さまでハンガーを下降させる。
続いて、駆動制御部462はコンテナを収容空間403まで持ち上げる。駆動制御部462は、ハンガーモータを駆動させ、フックをコンテナ9cに係合させる。駆動制御部462は、ハンガー昇降モータ49を駆動させ、ハンガーを上昇させることにより3個のコンテナ9a~9cを持ち上げて収容空間403に収容する。
また、S207において、駆動制御部462は、コンテナ9a~9cが他の積載空間S2に移動されたことに応じて、コンテナ9a~9cの高さの合計を積載空間S1におけるコンテナ9fの深さから減じることによりコンテナ9fの深さを更新する。
また、S209において、まず、駆動制御部462は、コンテナの段数及び高さに基づいてハンガー(61、62)を鉛直方向に移動させる。駆動制御部462は、ハンガー昇降モータ49を駆動して、コンテナ9fが位置する、制御信号に示されるコンテナ9fの下端からの高さまでハンガーを下降させる。
続いて、駆動制御部462はコンテナを収容空間403まで持ち上げる。駆動制御部462は、ハンガーモータを駆動させ、フックをコンテナ9fに係合させる。駆動制御部462は、ハンガー昇降モータ49を駆動させ、ハンガーを上昇させることにより3個のコンテナ9d~9fを持ち上げて収容空間403に収容する。
このようにすることで、コンテナ移動装置4は、収容される物品に応じた高さのコンテナを用いた高密度な保管システムにおいても所望のコンテナを効率的に取り出すことを可能とする。
また、上述した説明における制御装置5の機能の一部又は全部がコンテナ移動装置4において実現されてもよい。例えば、コンテナ移動装置4の駆動制御部462がコンテナテーブルT1(又は、T3)を記憶し、ピッキング指示に示される物品を収容するコンテナ9の積載空間、段数(又は、下端からの高さ)及び深さを算出してもよい。また、コンテナ移動装置4の機能の一部が制御装置5において実現されてもよい。例えば、コンテナ取出処理におけるS202、S211及びS213等の判定処理は制御装置5の制御処理部53において実行され、その判定結果に応じた指示がコンテナ移動装置4に送信されるようにしてもよい。
当業者は、本発明の精神および範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。例えば、上述した各部の処理は、本発明の範囲において、適宜に異なる順序で実行されてもよい。また、上述した実施形態及び変形例は、本発明の範囲において、適宜に組み合わせて実施されてもよい。