以下、商品ピッキング設備の一実施形態について、図1〜図12に基づいて詳細に説明する。
図1は、商品ピッキング設備100の構成を概略的に示す図である。図1に示すように、商品ピッキング設備100は、処理装置30と、商品配置ラインL10と、商品払出ラインL20と、完成容器出庫装置80と、空容器供給装置20と、完成容器排出コンベアC3と、を備える。また、商品ピッキング設備100は、商品供給ラインL1〜L4を備える。
処理装置30は、商品ピッキング設備100の各構成が協働して効率よくピッキングを行えるように、各構成の動作を制御する。また、処理装置30は、受注データからピッキング指示データ(詳細は後述する)を作成し、後述する商品供給ラインL1〜L4がそれぞれ備える制御装置40−1〜40−4に送信する。
商品配置ラインL10は、搬送方向に沿って複数の容器停止ステーションR1、R2、R3、R4と、第1搬送コンベアC1と、バッファステーションB1、B2、B3と、を有する。搬送方向は任意であるが、本実施例においては、図1に示すJ方向であるものとする。なお、商品配置ラインL10は、直線である必要はなく、曲線を含んでもよい。
容器停止ステーションR1、R2、R3、R4は、ピッキングされた商品が配置(収容)される搬送容器が停止する場所である。容器停止ステーションR1、R2、R3、R4のそれぞれには、第1搬送コンベアC1により搬送容器が供給される。なお、容器停止ステーションR1、R2、R3、R4のそれぞれには、対応する商品容器ステーションO1、O2、O3、O4から商品容器が移送される場合がある。
第1搬送コンベアC1は、例えばベルトコンベアやローラコンベア等である。第1搬送コンベアC1は、図1に示すように、商品配置ラインL10内の各ステーション間にそれぞれ設けられる。また、第1搬送コンベアC1は、図1に示すように、空容器供給装置20と最上流の容器停止ステーションR1との間に設けられる。
各第1搬送コンベアC1は、処理装置30の制御の下、互いに独立して動作する。各ステーション間の第1搬送コンベアC1は、各ステーション上の搬送容器を1つ下流側のステーションへと搬送する。また、空容器供給装置20と最上流の容器停止ステーションR1との間の第1搬送コンベアC1は、空容器供給装置20からの空の搬送容器を容器停止ステーションR1に搬送する。搬送容器は、任意の構成であってよく、プラスティックや紙等の任意の材料により形成されてもよい。
なお、各第1搬送コンベアC1を、各ステーションを含めて、K方向に回転軸を持つローラコンベアを複数本J方向に連続的に並べることで形成してもよい。この場合、各ステーションは、対応する領域のローラコンベアを停止状態とすることにより形成される。
バッファステーションB1、B2、B3は、例えば、容器停止ステーションR1、R2、R3、R4間に1つずつ設けられ、第1搬送コンベアC1により搬送容器が供給される。ただし、バッファステーションB1、B2、B3では、商品の配置は実行されない。
商品払出ラインL20は、商品配置ラインL10に並列して設けられる。すなわち、商品払出ラインL20は、商品配置ラインL10から所定距離離れた位置にK方向に並んで配置される。本実施例では、図1に示すように、K方向は、搬送方向に対して垂直な方向であるものとする。なお、商品払出ラインL20は、商品配置ラインL10に対して平行である必要はなく、また、曲線等を含んだ形状であってもよい。
商品払出ラインL20は、搬送方向に沿って複数の完成容器受ステーションS1、S2、S3、S4と、第2搬送コンベアC2と、バッファステーションB4、B5、B6と、を有する。
完成容器受ステーションS1、S2、S3、S4は、商品配置ラインL10における容器停止ステーションR1、R2、R3、R4のそれぞれに対応付けて設けられている。完成容器受ステーションS1、S2、S3、S4には、それぞれ、対応する容器停止ステーションR1、R2、R3、R4上の搬送容器が排出される。例えば、完成容器受ステーションS1には、完成容器排出コンベアC3により、容器停止ステーションR1上の搬送容器が排出される。この排出は、搬送容器内に予定の商品がすべて配置された場合、すなわち、搬送容器への最後の商品の配置が完了したときに実行される。したがって、最後の商品が容器停止ステーションR1で配置される搬送容器は、容器停止ステーションR1から完成容器受ステーションS1へ排出される。他方、最後の商品が容器停止ステーションR4で配置される搬送容器は、容器停止ステーションR4から、完成容器受ステーションS4へ排出される。
第2搬送コンベアC2は、第1搬送コンベアC1と同様、例えばベルトコンベアやローラコンベア等であり、商品払出ラインL20内の各ステーション間にそれぞれ設けられる。また、第2搬送コンベアC2は、最下流の完成容器受ステーションS4と完成容器出庫装置80との間に設けられる。
また、第2搬送コンベアC2は、第1搬送コンベアC1の搬送方向と同一の搬送方向を有する。図1に示す例では、第2搬送コンベアC2は、J方向に搬送容器を搬送する。第2搬送コンベアC2は、商品配置ラインL10よりも下流側まで延在してもよい。
各第2搬送コンベアC2は、処理装置30の制御の下、互いに独立して動作する。各ステーション間の第2搬送コンベアC2は、各ステーション上の搬送容器を1つ下流側のステーションへと搬送する。最下流の完成容器受ステーションS4と完成容器出庫装置80との間の第2搬送コンベアC2は、完成容器受ステーションS4上の搬送容器を完成容器出庫装置80に搬送する。
なお、各第2搬送コンベアC2を、各ステーションを含めて、K方向に回転軸を持つローラコンベアを複数本J方向に連続的に並べることで形成してもよい。この場合、各ステーションは、対応する領域のローラコンベアを停止状態とすることにより形成される。
完成容器出庫装置80は、図1に示すように、商品払出ラインL20の下流側に配置される。完成容器出庫装置80には、商品払出ラインL20上の搬送容器が1つずつ順次払い出される。
空容器供給装置20は、商品配置ラインL10の上流側に配置される。空容器供給装置20は、処理装置30による制御の下、商品配置ラインL10に空の搬送容器を1つずつ供給する。空容器供給装置20により供給される空の搬送容器は、第1搬送コンベアC1により容器停止ステーションR1へと移動される。
完成容器排出コンベアC3は、容器停止ステーションR1、R2、R3、R4のそれぞれに対応付けて設けられる。各完成容器排出コンベアC3は、処理装置30の制御の下、対応する容器停止ステーションR1、R2、R3、R4 上の搬送容器を、対応する完成容器受ステーションS1、S2、S3、S4へK方向に排出する。
商品供給ラインL1〜L4は、商品容器ステーションO1、O2、O3、O4をそれぞれ備える。また、各商品供給ラインL1〜L4は、ロボット51と、対応する制御装置40−1〜40−4と、を備える。なお、以後の説明において、制御装置40−1〜40−4を総称して制御装置40と記載する場合がある。
商品容器ステーションO1、O2、O3、O4には、ピッキング対象の商品が入った商品容器が配置される。商品容器は、商品容器供給装置82からコンベアC6により商品容器ステーションO1、O2、O3、O4に移送されてくる。商品容器ステーションO1、O2、O3、O4のそれぞれに配置される商品容器内の商品の種類は、それぞれ異なっていてもよいし、同一であってもよい。なお、商品容器内の商品は、任意であるが、本実施形態では、袋詰めされた商品(例えば、パン)であるものとする。
ロボット51は、商品容器ステーションO1、O2、O3、O4のそれぞれに対応して設けられる。ロボット51は、それぞれ、対応する制御装置40−1〜40−4の制御の下、動作する。ロボット51は、対応する商品容器ステーションO1、O2、O3、O4上の商品容器内の商品をピッキングする。商品のピッキング方法は任意であるが、本実施形態においては、ロボット51は、吸着により商品をピッキングするものとする。
また、ロボット51は、ピッキングした商品を、後述する制御装置40によって指示された配列方法に従って、対応する容器停止ステーションR1、R2、R3、R4上の搬送容器内に配置する(入れる)。例えばロボット51は、商品容器ステーションO1上の商品容器内の商品をピッキングし、ピッキングした商品を、制御装置40−1によって指示された配列方法に従って、容器停止ステーションR1上の搬送容器内に配置する。なお、本実施形態では、ロボット51は、商品容器からピッキングした商品を回転させて(商品の向きを変えて)搬送容器内に配置することはしない。すなわち、本実施形態では、商品は、商品容器に入っていた状態(向き)を維持したまま、搬送容器内に配置される。
なお、ロボット51によるピッキングは、搬送容器内に入れる予定の商品の数(ピッキング数量)に対応する回数実行される。本実施形態では、ロボット51は、1回の通常ピッキングにより2つの商品を配置することが可能であるものとする。したがって、例えば、容器停止ステーションR1にて搬送容器内に5個商品を入れる場合は、ロボット51は、3回(2個+2個+1個)、通常ピッキングを行う。但し、ロボット51は、1回の通常ピッキングにより1つの商品を配置する構成でもよいし、3つ以上の商品を配置することが可能な構成であってもよい。
図1に戻り、制御装置40は、搬送容器内に配列する予定の商品(以下、未配列商品とも記載する)の情報(大きさ及び数)を含むピッキング指示データを処理装置30から受信する。
ここで、制御装置40が、処理装置30から受信するピッキング指示データについて説明する。ピッキング指示データは、例えば、図2(a)に示すように、容器ID、商品、数量、入目、及び配置パターンのフィールドを有している。容器IDのフィールドには、各店舗から受注した商品を混載して配置(収容)する搬送容器を一意に識別する識別番号が格納される。なお、容器IDのフィールドを省略してもよい。商品のフィールドには、ピッキング指示データを受信した商品供給ラインにおいて、容器IDで識別される搬送容器内に配列する商品を一意に識別する識別番号(商品名であってもよい)が格納される。数量のフィールドには、商品供給ラインにおいて搬送容器内に配置する商品の数が登録されている。入目のフィールドには、当該商品のみを搬送容器内に配置した場合に、搬送容器内に配置可能な商品の数量(最大数量)が登録されている。配置パターンのフィールドには、当該商品のみを搬送容器内に配置する場合に、当該商品を搬送方向および搬送方向と垂直な方向(垂直方向)に何個ずつ配置すればよいかを表す配置パターンが登録されている。例えば、図2(a)に示すピッキング指示データでピッキングが指示されている商品1は、図2(b)に示すように、搬送容器CA10において、搬送方向に4個、垂直方向に5個配置することができるため、入目が20個となっている。なお、配置パターンは、各商品の大きさ(搬送方向の長さ(垂直方向に対する幅)、垂直方向の長さ(搬送方向に対する幅))を表す情報であるといえる。
図1に戻り、制御装置40は、処理装置30または他の制御装置40から、搬送容器内に配列された商品の配列状況に関する情報(以後、配列状況情報と省略して記載する)を受信する。制御装置40は、未配列商品の情報(大きさ及び数)と、配列状況情報とに基づいて、未配列商品の搬送容器内での配列方法をシミュレーションする。本実施形態では、制御装置40は、原則として、図3に矢印で示すように、搬送容器CA10の下流側、かつ、下側の角(図中1)から、上流に向かって搬送方向に沿って商品を配列していく。そして、2列目に商品を配列する場合には、搬送容器CA10の下流側の端を2列目の先頭として(図中2)、上流に向かって搬送方向に沿って商品を配列する。さらに、3列目に商品を配列する場合には、搬送容器CA10の下流側の端を3列目の先頭として(図中3)、上流に向かって搬送方向に沿って商品を配列する。
制御装置40は、未配列商品の配列方法を決定すると、当該配列方法で未配列商品を搬送容器内に配置するようロボット51に指示する。さらに、制御装置40は、次の商品を配置する商品供給ラインの制御装置40に、配列状況情報を送信する。
制御装置40は、図4に示すようなハードウェア構成を有する。具体的には、制御装置40は、図4に示すように、CPU(Central Processing Unit)411、ROM(Read Only Memory)412、RAM(Random Access Memory)413、記憶装置(HDD:Hard Disk Drive)414、ネットワークインタフェース415、及び可搬型記憶媒体416に記憶されたデータを読み取り可能な可搬型記憶媒体用ドライブ417等を備えている。これら制御装置40の構成各部は、バス418に接続されている。CPU411は、ROM412あるいはHDD414に格納されているプログラム(商品配列プログラムを含む)、或いは可搬型記憶媒体用ドライブ417が可搬型記憶媒体416から読み取ったプログラムを実行することで、制御装置40を図5の各部として機能させる。
具体的には、図5に示すように、CPU411がプログラムを実行することにより、制御装置40は、取得部としての通信部41、シミュレーション部43、及び指示部45として機能する。
通信部41は、処理装置30からピッキング指示データ(図2(a))を受信する。
また、通信部41は、対応する商品供給ラインで配置する商品の1つ前の商品を配置した商品供給ラインの制御装置40から、配列状況情報を受信する。なお、最初に商品を配置する商品供給ラインの制御装置40の通信部41は、処理装置30から、搬送容器内が空である(搬送容器内に商品は配置されていない)旨の情報を配列状況情報として受信する。例えば、商品供給ラインL1と商品供給ラインL2とにおいて商品を搬送容器に配置するとする。この場合、商品供給ラインL1の制御装置40−1の通信部41は、処理装置30から搬送容器内が空である旨の情報を受信し、商品供給ラインL2の制御装置40−2の通信部41は、商品供給ラインL1の制御装置40−1から配列状況情報を受信する。また、例えば、商品供給ラインL2と商品供給ラインL4とで商品を搬送容器に配置するとする。この場合、商品供給ラインL2の制御装置40−2の通信部41は、処理装置30から搬送容器内が空である旨の情報を受信し、商品供給ラインL4の制御装置40−4の通信部41は、商品供給ラインL2の制御装置40−2から配列状況情報を受信する。
シミュレーション部43は、搬送容器内に配列する予定の未配列商品の情報(大きさ及び数)と、配列状況情報とに基づいて、未配列商品の搬送容器内での配列方法をシミュレーションする。シミュレーション部43は、対応する商品供給ラインにおいて配置する商品の全てを搬送容器内に収容可能な配列方法が存在する場合、当該配列方法を、指示部45に出力する。
指示部45は、シミュレーション部43から受信した配列方法で、未配列商品を搬送容器内に配置するようにロボット51に指示する。
次に、制御装置40が実行する、商品の配列方法決定処理について、図6のフローチャートに沿って説明する。なお、図6の処理は、各制御装置40において、同時並行的に実行される処理である。
図6の処理では、まず、ステップS11において、通信部41が、処理装置30から、対応する商品供給ラインにおいて、搬送容器内に配列する予定の未配列商品のピッキング指示データを受信する。
続くステップS13において、通信部41は、搬送容器内に1つ前の品目を配置した商品供給ラインの制御装置40から、配列状況情報を受信する。なお、上述したように、搬送容器内に商品を最初に配置する商品供給ラインの制御装置40の通信部41は、処理装置30から、搬送容器が空である(搬送容器内に配列されている商品はない)という情報を受信するものとする。
続くステップS14において、シミュレーション部43は、ステップS13で受信した情報に基づいて、搬送容器が空であるか否かを判断する。ここでの判断が肯定された場合、ステップS16に移行する。
ステップS16に移行すると、シミュレーション部43は、搬送容器の搬送方向下流側の端を、最初の商品を配置する列(1列目)の配列開始位置として決定し、ステップS19に移行する。
ところで、搬送容器内に商品が既に配列されており、ステップS14の判断が否定された場合、シミュレーション部43は、ステップS15に移行する。
ステップS15に移行すると、シミュレーション部43は、ステップS11で受信した配列予定商品の大きさ及び数に関する情報と、ステップS13で受信した配列状況情報に基づいて、配列予定商品の少なくとも1つを、商品が既に配置されている列(既存列)に配列可能か否かを判断する。ここでの判断が肯定された場合、ステップS17に移行する。
ステップS17に移行すると、シミュレーション部43は、既存列の最後尾を未配列商品の配列開始位置として決定し、ステップS19に移行する。
ステップS19に移行すると、シミュレーション部43は、未配列商品の配列を開始した列(配列開始列)に、未配列商品の全量を配列可能か否かを判断する。ここでの判断が肯定された場合、ステップS29に移行する。
ステップS29に移行すると、指示部45は、シミュレーション部43が決定した配列方法で商品を搬送容器に配置するようロボット51に指示する。また、通信部41は、未配列商品を配列した後の配列状況情報を、次の商品を配置する商品供給ラインの制御装置40に送信する。なお、最後の品目を配置する商品供給ラインの制御装置40の通信部41は、配列状況情報を送信しなくてもよい。
ここで、例えば、制御装置40−1〜40−3の通信部41が、それぞれ、図7(a)〜図7(c)に示すピッキング指示データを受信したとする(S11)。また、制御装置40−1の通信部41は、処理装置30から、搬送容器が空であるという情報を受信したとする(S13)。この場合、制御装置40−1のシミュレーション部43は、搬送容器が空であるため(S14/YES)、図7(d)に示すように、搬送容器CA10の搬送方向下流側の端を、商品1の配列開始位置として決定する(S16)。商品1は、搬送容器CA10内において搬送方向に4個配置可能であるため(図7(a))、全量(2個)を1列目に配置可能である(S19/YES)。したがって、指示部45は、図7(d)に示す配列方法で商品1を搬送容器CA10に配置するようロボット51に指示する(S29)。また、通信部41は、図7(d)に示す、商品1を配列後の配列状況情報を、次の商品2を配置する商品供給ラインL2の制御装置40−2に送信し(S29)、図6の全処理を終了する。
制御装置40−2の通信部41が、制御装置40−1から、配列状況情報(図7(d))を受信すると(S13)、シミュレーション部43は、商品1が配列されている1列目に商品2を配列可能か否か判断する(S14/NO、S15)。ここで、商品1が配列されている1列目には、商品2を配置可能であるため(S15/YES、図7(e))、シミュレーション部43は、1列目の最後尾(商品1の後ろ)を商品2の配列開始位置として決定する(S17)。そして、1列目には商品2の全量(1個)を配列可能であるので(S19/YES)、指示部45は、図7(e)に示す配列方法で商品2を搬送容器CA10に配置するようロボット51に指示する(S29)。また、通信部41は、図7(e)に示す、商品2を配列後の配列状況情報を、次の商品3を配置する商品供給ラインL3の制御装置40−3に送信し(S29)、図6の全処理を終了する。
制御装置40−3の通信部41が、制御装置40−2から、配列状況情報(図7(e))を受信すると(S13)、シミュレーション部43は、商品1及び商品2が既に配列されている1列目に商品3を配列可能か否か判断する(S14/NO、S15)。ここで、1列目には、まだ、商品3を配列できるため(S15/YES、図7(f))、シミュレーション部43は、1列目の最後尾(商品2の後)を商品3の配列開始位置として決定する(S17)。そして、1列目には商品3の全量(1個)を配列可能であるため(S19/YES)、指示部45は、図7(f)に示す配列方法で商品3を搬送容器CA10に配置するようロボット51に指示し(S29)、図6の全処理を終了する。なお、商品3は最後に配置される商品であるため、制御装置40−3の通信部41は、商品3を配列後の配列状況情報(図7(f))を送信しなくてもよい。
図6に戻り、商品の配列を開始した列(配列開始列)に未配列商品の全量を配列できない場合、ステップS19の判断が否定され、シミュレーション部43は、ステップS21に移行する。
ステップS21に移行すると、シミュレーション部43は、配列開始列の搬送方向に対する幅を、配列開始列に既に配列されている商品と、これから配置予定の未配列商品とのうち、搬送方向に対する幅が最も大きい商品を基準に規定する。そして、配列開始列に配置できない残りの未配列商品を、次の列の先頭(搬送容器の搬送方向下流側の端)から配列する。
続くステップS23において、シミュレーション部43は、ステップS21の配列方法で、未配列商品の全てを配列可能か否かを判断する。ここでの判断が肯定された場合、ステップS29に移行する。
ここで、例えば、制御装置40−1及び40−2が、それぞれ、図8(a)及び図8(b)に示すピッキング指示データを受信したとする(S11)。この場合、制御装置40−1のシミュレーション部43は、図8(a)のピッキング指示データと、処理装置30から受信する搬送容器内は空である旨の情報とに基づいて、図8(c)に示すように、商品1の配列方法を決定する(S16、S19/YES)。制御装置40−1の指示部45は、図8(c)の配列方法で商品1を搬送容器CA10内に配置するようロボット51に指示する(S29)。また、通信部41は、図8(c)の情報を、次の商品2を配置する商品供給ラインL2の制御装置40−2に送信する(S29)。
制御装置40−2の通信部41が、図8(c)の情報を受信すると(S13)、シミュレーション部43は、商品1が配列されている1列目に商品2を配列可能か否か判断する(S14/NO、S15)。ここで、商品1が既に配列されている1列目には、まだ、商品2を1個配置可能であるため(S15/YES、図8(d))、シミュレーション部43は、1列目の最後尾(商品1の後ろ)を商品2の配列開始位置として決定する(S17)。しかし、1列目には商品2の全量(3個)を配列することはできない(S19/NO)。そこで、シミュレーション部43は、1列目に既に配置されている商品1の搬送方向に対する幅W1と、1列目にこれから配置する予定の商品2の搬送方向に対する幅W2とを比較する。図8(d)の場合、商品2の方が搬送方向に対する幅が長い。したがって、シミュレーション部43は、搬送方向に対する幅が最も長い商品2を基準に1列目の幅を規定する(S21、図8(e))。そして、シミュレーション部43は、残りの商品2(残数2個)を、次の列(2列目)の先頭(搬送容器CA10の搬送方向下流側の端)から配列し(S21)、当該配列方法で、商品2の全てを搬送容器CA10内に配置可能か否か判断する(S23)。図8(b)のピッキング指示に対して、図8(f)に示すように、1列目に1個、2列目に2個商品を配列することで、商品2の全てを搬送容器CA10内に配置できる。したがって、ステップS23の判断が肯定され、指示部45は、図8(f)の配列方法で商品2を搬送容器CA10に配置するようにロボット51に指示し(S29)、図6の全処理を終了する。なお、商品2は、搬送容器CA10に配置される最後の商品であるため、制御装置40−2の通信部41は、配列状況に関する情報を送信しなくてもよい。
図6に戻り、ステップS21の配列方法では、未配列商品の全てを搬送容器内に配列できない場合、ステップS23の判断が否定され、シミュレーション部43は、ステップS25に移行する。
ステップS25に移行すると、シミュレーション部43は、配列開始列の搬送方向に対する幅を、当該列の最下流に位置する商品を基準に規定し直す。そして、シミュレーション部43は、配列開始列に配置できない残りの未配列商品を、次の列の先頭(搬送容器の搬送方向下流側の端)から配列する。
続くステップS27において、シミュレーション部43は、当該配列方法によって、未配列商品の全てを配列可能であるか否かを判断する。ここでの判断が肯定された場合、ステップS29に移行する。
ここで、例えば、制御装置40−1及び40−2が、それぞれ、図9(a)および図9(b)に示すピッキング指示データを受信したとする(S11)。この場合、制御装置40−1のシミュレーション部43は、搬送容器CA10の搬送方向下流側の端を商品1の配列開始位置として決定し(S16)、1列目に商品1を4個配列する。シミュレーション部43は、商品1の全量(7個)を1列目に配列することはできないため(S19/NO)、商品1の搬送方向に対する幅を基準に1列目の搬送方向に対する幅を規定し、残りの商品(3個)を2列目の先頭(搬送容器CA10の搬送方向下流側の端)から配列する(S21)。当該配列方法で、商品1の全てを搬送容器CA10内に配置できるので(S23/YES)、指示部45は、ロボット51に図9(c)に示す配列方法で商品1を搬送容器CA10内に配置するよう指示する(S29)。また、通信部41は、図9(c)の情報を、制御装置40−2に送信し(S29)、図6の全処理を終了する。
制御装置40−2の通信部41が、図9(c)の情報を受信すると、シミュレーション部43は、2列目の最後尾を商品2の配列開始位置として決定する(S14/NO、S15/YES、S17)。しかし、商品2の全量(2個)を2列目に配列することはできないため(S19/NO)、シミュレーション部43は、搬送方向に対する幅が最も大きい商品2の幅を基準に2列目の幅を規定し、残りの商品2(1個)を3列目の先頭(搬送容器CA10の搬送方向下流側の端)から配列する(S21、図9(d))。しかし、当該配列方法では、図9(d)に示すように、商品2が搬送容器CA10からはみ出してしまい、商品2の全てを搬送容器CA10内に配置することはできない(S23/NO)。したがって、シミュレーション部43は、2列目の搬送方向に対する幅を、2列目の最下流(列の先頭)に位置する商品1を基準に規定しなおし、残りの商品2(1個)を3列目の先頭から配列する(S25)。当該配列方法では、図9(e)に示すように、商品2の全てを搬送容器CA10内に配置することができる(S27/YES)。したがって、指示部45は、図9(e)に示す配列方法で商品2を搬送容器CA10に配置するようロボット51に指示し(S29)、図6の全処理を終了する。なお、商品2が搬送容器CA10内に配置される最後の商品であるため、通信部41は図9(e)に示す情報を送信しなくてもよい。
図6に戻り、ステップS25の配列方法でも、未配列商品の全てを搬送容器内に配置できない場合、ステップS27の判断が否定され、シミュレーション部43は、ステップS31に移行する。
ステップS31に移行すると、シミュレーション部43は、既存列の搬送方向に対する幅を、既存列に既に配列されている商品のうち、幅が最も大きい商品を基準に規定する。
続くステップS33において、シミュレーション部43は、既存列の次の列の先頭を未配列商品の配列開始位置として決定する。すなわち、シミュレーション部43は、既存列には未配列商品を配列せず、既存列に配置されている商品と、未配列商品とが同一の列に配列されないよう、未配列商品の配列開始位置を決定する。
続くステップS35において、シミュレーション部43は、当該配列方法にて、未配列商品の全てを配列可能か否かを判断する。ここでの判断が肯定された場合、ステップS29に移行する。
ここで、例えば、制御装置40−1及び40−2が、それぞれ、図10(a)および図10(b)に示すピッキング指示データを受信したとする(S11)。この場合、制御装置40−1のシミュレーション部43は、図10(a)のピッキング指示データと、処理装置30から受信する搬送容器内は空である旨の情報とに基づいて、図10(c)に示すように、商品1の配列方法を決定する(S16、S21、S23/YES)。制御装置40−1の指示部45は、図10(c)に示す配列方法で商品1を搬送容器CA10内に配置するようロボット51に指示する(S29)。また、通信部41は、図10(c)の情報を、制御装置40−2に送信する(S29)。
制御装置40−2の通信部41が、図10(c)の情報を受信すると、シミュレーション部43は、2列目の最後尾(商品1の後ろ)を商品2の配列開始位置に決定する(S14/NO、S15/YES、S17)。ここで、ステップS21の配列方法では、図10(d)に示すように、商品2が搬送容器CA10からはみ出してしまう(S23/NO)。また、ステップS25の配列方法では、図10(e)に示すように、2列目に配列される商品2と、3列目に配列される商品2とが重なってしまい、商品2の全てを搬送容器CA10内に配置することができない(S27/NO)。この場合、シミュレーション部43は、2列目の幅を商品1を基準に規定し(S31)、3列目の先頭を商品2(5個)の配列開始位置として決定する(S33)。当該配列方法によれば、図10(f)に示すように、商品2の全てを搬送容器CA10内に配置できるため(S35/YES)、指示部45は、図10(f)に示す配列方法で商品1を搬送容器CA10内に配置するようロボット51に指示する(S29)。なお、商品2が搬送容器CA10内に配置される最後の商品であるため、通信部41は図10(f)に示す情報を送信しなくてもよい。
図6に戻り、ステップS15の判断が否定された場合、すなわち、既存列に配列予定商品が配列できない場合にも、シミュレーション部43は、ステップS31に移行し、上述したS31〜S35の処理を実行する。
ここで、例えば、制御装置40−1〜40−4が、それぞれ、図11(a)〜図11(d)に示すピッキング指示データを受信したとする(S11)。この場合、制御装置40−1のシミュレーション部43は、図11(a)のピッキング指示データと、処理装置30から受信する搬送容器内は空である旨の情報とに基づいて、図11(e)に示すように、商品1の配列方法を決定する(S16、S19/YES)。指示部45は、図11(e)の配列方法で商品1を搬送容器CA10に配置するようロボット51に指示する(S29)。また、通信部41は、図11(e)の情報を制御装置40−2に送信する(S29)。
制御装置40−2のシミュレーション部43は、図11(b)のピッキング指示データと、図11(e)の配列状況情報とに基づいて、図11(f)に示すように、商品2の配列方法を決定する(S17、S19/YES)。指示部45はロボット51に図11(f)に示す配列方法で商品2を搬送容器CA10内に配置するよう指示する(S29)。また、通信部41は、図11(f)の情報を、制御装置40−3に送信する(S29)。
制御装置40−3のシミュレーション部43は、図11(c)のピッキング指示データと、図11(f)の配列状況情報とに基づいて、図11(g)に示すように、商品3の配列方法を決定する(S17、S19/YES)。指示部45は、図11(g)に示す配列方法で商品3を搬送容器CA10内に配置するようロボット51に指示する(S29)。また、通信部41は、図11(g)の情報を、制御装置40−4に送信する(S29)。
制御装置40−4の通信部41が、図11(g)の情報を受信すると(S13)、シミュレーション部43は、既存列(1列目)に商品4を配列できないため(S15/NO)、既存列の搬送方向に対する幅を、既存列に配置されている商品1〜3のうち搬送方向に対する幅が最も長い商品3を基準に規定する(S31)。そして、シミュレーション部43は、図11(h)に示すように、次の列(2列目)の先頭を商品4の配列開始位置として決定する(S33)。図11(h)の例では、当該配列方法で、商品4を全て(1個)配列できるため(S35/YES)、指示部45は、図11(h)に示す配列方法で商品4を搬送容器CA10に配置するようロボット51に指示する(S29)。なお、商品4は搬送容器CA10内に配置される最後の商品であるため、通信部41は、図11(h)の情報を送信しなくてもよい。
図6に戻り、ステップS33の配列方法で、未配列商品の全てを搬送容器内に配列できない場合、ステップS35の判断が否定され、ステップS37に移行する。
ステップS37に移行すると、シミュレーション部43は、未配列商品が搬送容器内に配置できない旨を作業員に通知し、図6の全処理を終了する。当該通知を受けて、作業員は、商品の向きを変える等して、搬送容器内に商品を手作業で配置する。
ここで、例えば、制御装置40−1及び40−2が、それぞれ、図12(a)および図12(b)に示すピッキング指示データを受信したとする(S11)。この場合、制御装置40−1のシミュレーション部43は、図12(a)のピッキング指示データと、処理装置30からの搬送容器は空である旨の情報とに基づいて、図12(c)に示すように、商品1の配列方法を決定する(S16、S21、S23/YES)。指示部45は、図12(c)に示す配列方法で商品1を搬送容器CA10内に配置するようロボット51に指示する(S29)。また、通信部41は、図12(c)の情報を制御装置40−2に送信する(S29)。
制御装置40−2の通信部41が、図12(c)の情報を受信すると、シミュレーション部43は、2列目の最後尾を商品2の配列開始位置に決定する(S14/NO、S15/YES、S17)。ここで、ステップS21の配列方法では、図12(d)に示すように、商品2が搬送容器CA10からはみ出してしまい(S23/NO)、ステップS25の配列方法でも、図12(e)に示すように、商品2が搬送容器CA10からはみ出してしまう(S27/NO)。したがって、シミュレーション部43は、2列目の幅を商品1を基準に規定し(S31)、3列目の先頭を商品2(2個)の配列開始位置として決定する(S33)。しかし、当該配列方法でも、図12(f)に示すように、商品2が搬送容器CA10からはみ出してしまう(S35/NO)。この場合、シミュレーション部43は、商品2を搬送容器CA10内に配置できないことを作業員に通知し(S37)、図6の全処理を終了する。
以上、詳細に説明したように、本実施形態によれば、制御装置40は、搬送容器の搬送方向に沿って搬送容器内に配列された商品の配列状況に関する情報と、搬送方向に沿って搬送容器内に次に配列する予定の未配列商品の大きさ及び数の情報と、を取得する通信部41を備える。さらに、制御装置40は、通信部41が取得した情報に基づいて、未配列商品の配列開始位置を変更しつつ、未配列商品の全てを搬送容器内に収容可能な配列方法をシミュレーションするシミュレーション部43と、未配列商品の全てを搬送容器内に収容可能な配列方法で、未配列商品を搬送容器内に配置するようロボット51に指示する指示部45と、を備えている。これにより、複数の商品供給ラインにおいて、1つの搬送容器内に商品を順次配置していく場合に、当該商品の全てを搬送容器内に配置することができる。また、未配列商品を回転して(未配列商品の向きを変えて)搬送容器内に配置する等、複雑なシミュレーションを行う必要がないため、配列方法の決定にかかる計算時間を短縮することができる。
また、本実施形態によれば、シミュレーション部43がシミュレーションする配列方法には、搬送容器内に配列された商品の列の最後尾を未配列商品の配列開始位置として未配列商品を配列する方法が含まれる。これにより、各列に対する商品の充填率が高まるので、搬送容器に対する商品の充填率を高めることができる。
また、本実施形態によれば、シミュレーション部43がシミュレーションする配列方法には、未配列商品の少なくとも1つが、搬送容器内に配列された商品の列(既存列)の隣(次)の列に配列される場合、当該隣の列の、搬送方向と垂直な方向に関する位置を変更しつつ、未配列商品を配列する。これにより、隣の列の垂直方向に関する位置によっては、搬送容器から未配列商品が飛び出してしまうような場合でも(例えば、図9(d)等)、隣の列の位置を変えることで、搬送容器内に未配列商品を配列することができる(図9(e))。したがって、搬送容器内に配置する必要がある商品の全てを、搬送容器内に配置することができる。また、搬送容器内に商品が配置できない場合に、商品を搬送容器内に手作業で配置する作業員の数を削減することができる。
また、本実施形態によれば、シミュレーション部43がシミュレーションする配列方法には、搬送容器内に配列された商品と未配列商品とが同一の列に並ばないように、未配列商品の配列開始位置を決定する方法が含まれる。これにより、未配列商品の一部を既存列に配列し、残りを次の列に配列すると、未配列商品の全てを搬送容器内に配列できないような場合(例えば、図10(e))にも、未配列商品の全てを搬送容器内に搬送できる(図10(f))。したがって、搬送容器に配置する必要がある商品の全てを、搬送容器内に配置することができる。また、本配列方法によれば、どのような順序で商品を搬送容器内に配置するか(どの商品を、どの商品供給ラインで配置するか)を調整しなくてもよい。例えば、図13(a)に示す商品1と商品2とを搬送容器CA10内に配置する場合、商品2を搬送容器CA10内に先に配置すれば、図13(b)及び図13(c)に示すように、商品1及び商品2を搬送容器CA10内に全て配置することができる。一方、図13(d)に示すように、商品1を先に配置した場合、商品2を商品1が既に配置されている列にも並べようとすると、図13(e)及び図13(f)に示すように、商品1及び商品2の全てを搬送容器CA10内に配置することができなくなってしまう。すなわち、商品を配置する順序によって、商品の全てを搬送容器内に配列できない場合がある。しかしながら、搬送容器内に配列された商品と未配列商品とが同一の列に並ばないようにすることで、図13(g)に示すように、商品1及び商品2の全てを搬送容器CA10内に配置することができる。したがって、本配列方法によれば、商品を配置する順序を調整しなくてもよい。
また、本実施形態によれば、制御装置40は、搬送容器内の商品の配列方向を、搬送方向の下流から上流に向かう方向としていた。搬送容器が、商品配置ラインL10を移送される場合、容器停止ステーションにて停止する際に、慣性の法則によって、搬送容器内の商品が搬送容器の下流側に移動する。したがって、たとえば、搬送容器の上流から下流に向かって商品を配置する場合に生じる、容器停止ステーションにて搬送容器が停止した際の商品の下流側へのずれを抑制することができる。さらに、未配列商品を配置する商品供給ラインにおいて、下流側にずれてしまった商品の上に、未配列商品が配列されてしまう等の問題の発生を防止することができる。
また、本実施形態によれば、各制御装置40は、1つ前の商品を配置した制御装置40から、搬送容器内に配置された商品の配列状況に関する情報を受信するため、容器停止ステーション上に、商品の配列状況を取得するためのカメラ等を設置する必要がない。
なお、上記の実施形態において、図6の処理を制御装置40ではなく処理装置30が実行してもよい。また、制御装置40−1〜40−4のそれぞれが、図6の処理を実行するのではなく、制御装置40−1〜40−4のいずれかが図6の処理を実行して各商品の配列方法を決定し、決定した配列方法を他の制御装置40に送信してもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上実施形態の説明に関して、更に以下の付記を開示する。
(付記1) 容器の搬送方向に沿って容器内に配列された商品の配列状況に関する情報と、前記搬送方向に沿って前記容器内に次に配列する予定の未配列商品の大きさ及び数の情報と、を取得する取得部と、
前記取得部が取得した情報に基づいて、前記未配列商品の配列開始位置を変更しつつ、前記未配列商品の全てを前記容器内に収容可能な配列方法をシミュレーションするシミュレーション部と、
前記未配列商品の全てを前記容器内に収容可能な配列方法で、前記未配列商品を前記容器内に配置するようロボットに指示する指示部と、
を備える商品配列装置。
(付記2) 前記シミュレーション部がシミュレーションする配列方法には、前記容器内に配列された商品の列の最後尾を前記未配列商品の配列開始位置として前記未配列商品を配列する方法が含まれる付記1に記載の商品配列装置。
(付記3) 前記シミュレーション部がシミュレーションする配列方法には、前記未配列商品の少なくとも1つが、前記容器内に配列された商品の列の隣の列に配列される場合、前記隣の列の、前記搬送方向と垂直な方向に関する位置を変更しつつ、前記未配列商品を配列する方法が含まれる付記1または2に記載の商品配列装置。
(付記4) 前記シミュレーション部がシミュレーションする配列方法には、前記容器内に配列された商品と前記未配列商品とが同一の列に並ばないように、前記未配列商品の配列開始位置を決定する方法が含まれる付記1から3のいずれかに記載の商品配列装置。
(付記5) 前記シミュレーション部は、前記搬送方向の下流から上流に向けて前記未配列商品を配列する付記1から4のいずれかに記載の商品配列装置。
(付記6) 容器の搬送方向に沿って容器内に配列された商品の配列状況に関する情報と、前記搬送方向に沿って前記容器内に次に配列する予定の未配列商品の大きさ及び数の情報と、を取得し、
取得した情報に基づいて、前記未配列商品の配列開始位置を変更しつつ、前記未配列商品の全てを前記容器内に収容可能な配列方法をシミュレーションし、
前記未配列商品の全てを前記容器内に収容可能な配列方法で、前記未配列商品を前記容器内に配置するようロボットに指示する、
処理をコンピュータに実行させる商品配列プログラム。
(付記7) 前記シミュレーションでシミュレーションする配列方法には、前記容器内に配列された商品の列の最後尾を前記未配列商品の配列開始位置として前記未配列商品を配列する方法が含まれる付記6に記載の商品配列プログラム。
(付記8) 前記シミュレーションでシミュレーションする配列方法には、前記未配列商品の少なくとも1つが、前記容器内に配列された商品の列の隣の列に配列される場合、前記隣の列の、前記搬送方向と垂直な方向に関する位置を変更しつつ、前記未配列商品を配列する方法が含まれる付記6または7に記載の商品配列プログラム。
(付記9) 前記シミュレーションでシミュレーションする配列方法には、前記容器内に配列された商品と前記未配列商品とが同一の列に並ばないように、前記未配列商品の配列開始位置を決定する方法が含まれる付記6から8のいずれかに記載の商品配列プログラム。
(付記10) 前記シミュレーションでは、前記搬送方向の下流から上流に向けて前記未配列商品を配列する付記6から9のいずれかに記載の商品配列プログラム。