(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162284
(43)【公開日】2024-11-21
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
B65G 57/03 20060101AFI20241114BHJP
B65G 61/00 20060101ALI20241114BHJP
【FI】
B65G57/03 G
B65G61/00
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023077646
(22)【出願日】2023-05-10
(71)【出願人】
【識別番号】000000918
【氏名又は名称】花王株式会社
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】松永 純弥
(72)【発明者】
【氏名】永良 裕
(72)【発明者】
【氏名】菅原 英
(72)【発明者】
【氏名】清野 峻彦
(72)【発明者】
【氏名】神崎 洸平
(72)【発明者】
【氏名】鈴木 雄祐
(72)【発明者】
【氏名】山路 康平
【テーマコード(参考)】
3F029
【Fターム(参考)】
3F029AA05
3F029BA01
3F029CA51
3F029DA01
(57)【要約】
【課題】複数のオブジェクトを、荷役台に効率的に配置することができる情報処理システムに関する。
【解決手段】情報処理システムは、オブジェクトの積み付けのための情報処理システムであり、制御部を具備する。制御部は、寸法及び/又は重量が異なる複数種類が混在して順次搬送される複数のオブジェクトに関する情報と、複数のオブジェクトが積み付けられる載置面を有する荷役台におけるオブジェクト積み上げ時の第1高さ制限値に関する情報と、載置面に対する予約エリアの割合情報を取得する。制御部は、寸法及び重量の差異が所定の閾値以下であるオブジェクトからなるブロックを複数作成し、ブロックに属するオブジェクトの数、ブロックの底面積及びブロックの体積のいずれか1つを指標にし、ブロックそれぞれを、荷役台上での配置位置が予約エリアに予定される予約ブロック又は荷役台上での配置位置が予定されていない通常ブロックに設定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
オブジェクトの積み付けのための情報処理システムであって、
寸法及び/又は重量が異なる複数種類が混在して順次搬送される複数のオブジェクトの、各種類のオブジェクトの数、オブジェクトの寸法、オブジェクトの重量及びオブジェクトの積載荷重制限に関する情報と、前記複数のオブジェクトが積み付けられる載置面を有する荷役台におけるオブジェクト積み上げ時の第1高さ制限値に関する情報と、前記載置面に対する予約エリアの割合情報とを取得し、
前記オブジェクトの寸法及び前記オブジェクトの重量に関する情報を用いて、前記複数のオブジェクトを分類して、寸法及び重量の差異が所定の閾値以下であるオブジェクトを1つのグループとする複数のグループを作成し、
前記オブジェクトの数、前記オブジェクトの寸法、前記積載荷重制限及び前記第1高さ制限値に関する情報を用いて、前記グループ毎にオブジェクトを仮想的に積み上げてブロックを作成する際に用いる、グループ毎のオブジェクトのブロック作成用最大積み上げ数を表すブロック作成用最大積み上げ数を設定し、
前記グループ毎に、同一グループに属するオブジェクトを仮想的に積み上げ、前記ブロック作成用最大積み上げ数となるまで積み上げてなる1以上の正数タワー及び/又は前記ブロック作成用最大積み上げ数に満たない1つの端数タワーを作成し、
前記グループ毎に、前記正数タワーが1つの場合はこれを、複数ある場合は隣接してまとめて並べたものをfullブロックとし、前記端数タワーをnot-fullブロックとして、1以上のブロックを作成し、
前記ブロックに属するオブジェクトの数、前記ブロックの底面積及び前記ブロックの体積のいずれか1つを指標にし、前記ブロックそれぞれを、前記荷役台上での配置位置が前記予約エリアに予定される予約ブロック又は前記荷役台上での配置位置が予定されていない通常ブロックに設定する
制御部
を具備する情報処理システム。
【請求項2】
前記制御部は、
前記予約ブロック及び前記通常ブロックの設定において、
前記指標の数値が大きい順に前記ブロックを前記予約ブロックに設定していき、当該予約ブロックの設定を、前記載置面に対する前記予約ブロックに設定したブロックの底面積の合計が、前記予約エリアの割合情報に基づいて算出された前記予約エリアの面積と同じとなるまで、又は、前記予約エリアの面積を越える直前まで行い、前記予約ブロックに設定しない残りのブロックを前記通常ブロックに設定する
請求項1に記載の情報処理システム。
【請求項3】
前記制御部は、
前記オブジェクトの種類及び数に関する情報を用いて搬送順番が異なる前記複数のオブジェクトのダミー搬送パターンを複数作成し、
前記ブロックそれぞれに属するオブジェクトの数、前記ブロックの底面積及び前記ブロックの体積それぞれを仮の指標にし、当該仮の指標毎に、前記ブロックそれぞれを予約ブロック又は通常ブロックに仮設定し、
前記仮の指標毎に、前記予約エリアと、前記仮設定した予約ブロック及び通常ブロックに関する情報である仮の予約設定情報を用いて、各前記ダミー搬送パターンで搬送されるオブジェクトを前記荷役台に積み付ける積み付け計算を行い、
前記仮の指標毎に、前記積み付け計算の結果を用いて、作成した複数の前記ダミー搬送パターンの数に対する積み付けに成功したダミー搬送パターンの数の割合である積み付け成功率を算出し、
前記積み付け成功率が最も高い仮の指標を前記指標に決定する
請求項1又は2に記載の情報処理システム。
【請求項4】
前記制御部は、
前記仮の指標毎に、前記仮の予約設定情報を用いて、各前記ダミー搬送パターンで搬送される前記オブジェクトを前記荷役台に積み付けたときの空間占有率を算出し、
前記積み付け成功率が最も高い仮の指標が複数ある場合、前記空間占有率の中央値が最も高い仮の指標を前記指標に決定する
請求項3に記載の情報処理システム。
【請求項5】
前記制御部は、
前記仮の指標毎に、前記仮の予約設定情報を用いて、各前記ダミー搬送パターンで搬送される前記複数のオブジェクトを前記荷役台に積み付けたときのオブジェクト群の表面積を算出し、前記荷役台に積み付けた各前記オブジェクトの表面積の和に対する前記オブジェクト群の表面積の割合を表す表面積割合を算出し、
前記空間占有率の中央値が最も高い仮の指標が複数ある場合、前記表面積割合の中央値が最も低い仮の指標を前記指標に決定する
請求項4に記載の情報処理システム。
【請求項6】
前記制御部は、
前記ブロック作成用最大積み上げ数の設定において、
前記複数のオブジェクトを前記荷役台に積み付けたときの、前記第1高さ制限値に基づく前記荷役台の積み付け可能な最大容積に対する前記複数のオブジェクトの占める割合である容積率を算出し、
前記容積率が閾値未満の場合、前記容積率に応じた前記第1高さ制限値よりも低い第2高さ制限値を算出し、当該第2高さ制限値を算出用高さ制限値に設定し、
前記容積率が閾値以上の場合、前記第1高さ制限値を前記算出用高さ制限値に設定し、
前記オブジェクトを仮想的に1段ずつ積み上げていき、1段積み上げる毎に、更に1段積み上げた場合に前記積載荷重制限又は前記算出用高さ制限値を超過するか否かを判定し、前記積載荷重制限又は前記算出用高さ制限値の少なくとも一方を超過すると判定したときの積み上げ段数を前記ブロック作成用最大積み上げ数に設定する
請求項1から5のいずれか1項に記載の情報処理システム。
【請求項7】
前記複数のオブジェクトは搬送順に前記荷役台に積み付けられ、
前記複数のオブジェクトそれぞれの配置先は、前記荷役台又は仮置きエリアであり、
前記荷役台は、前記予約エリアと、前記予約エリアでない通常エリアを有し、
前記仮置きエリアは、前記荷役台とは異なるエリアに設けられ、
前記制御部は、
前記予約ブロックに属するオブジェクトを予約品に設定し、前記通常ブロックに属するオブジェクトを通常品に設定し、
搬送される積み付け対象のオブジェクトが前記予約品であるか前記通常品であるかを判定し、
前記予約品であると判定すると、前記積み付け対象のオブジェクトの配置先を前記予約エリアに設定することで前記積み付け対象のオブジェクトを前記予約エリアに配置し、
前記通常品であると判定すると、
前記積み付け対象のオブジェクトが、前記複数のグループそれぞれに属するオブジェクトと比較したときに相対的に軽くかつ底面が相対的に小さいという条件を満たし、前記仮置きエリアに配置可能でなく、前記通常エリアに配置可能な場合、又は、前記条件を満たさず、前記通常エリアへの配置が可能な場合、前記積み付け対象のオブジェクトの配置先を前記通常エリアに設定することで前記積み付け対象のオブジェクトを前記通常エリアに配置し、
前記積み付け対象のオブジェクトが、前記条件を満たし、前記仮置きエリアに配置可能な場合、又は、前記条件を満たさず、前記通常エリアに配置可能でなく、前記仮置きエリアに配置可能である場合、前記積み付け対象のオブジェクトの配置先を前記仮置きエリアに設定することで前記積み付け対象のオブジェクトを前記仮置きエリアに配置する
請求項1から6のいずれか1項に記載の情報処理システム。
【請求項8】
前記制御部は、
前記積み付け対象のオブジェクトを前記通常品であると判定し、前記積み付け対象のオブジェクトが、前記条件を満たさず、前記通常エリア及び前記仮置きエリアのいずれにも配置可能でないと判定する、又は、前記条件を満たし、前記仮置きエリア及び前記通常エリアのいずれにも配置可能でないと判定すると、前記仮置きエリアに既に配置されているオブジェクトを前記通常エリアに配置可能か否かを判定し、
前記通常エリアに配置可能でないと判定すると、前記予約エリアを通常エリアに設定変更し、
前記通常エリアに配置可能と判定すると、前記仮置きエリアに既に配置されているオブジェクトを前記通常エリアに配置させた後、前記積み付け対象のオブジェクトを前記通常エリアに配置可能か否かを判定し、配置可能と判定すると前記積み付け対象のオブジェクトの配置先を前記通常エリアに設定することで前記積み付け対象のオブジェクトを前記通常エリアに配置し、配置可能でないと判定すると前記積み付け対象のオブジェクトの配置先を前記仮置きエリアに設定することで前記積み付け対象のオブジェクトを前記仮置きエリアに配置する
請求項7に記載の情報処理システム。
【請求項9】
前記制御部は、
前記予約ブロック、前記通常ブロック及び前記予約エリアに関する情報に基づいて、積み付け対象のオブジェクトの配置先を設定し、
前記設定された配置先に関する情報に基づいて、積み付け対象のオブジェクトを前記設定された配置先に搬送する積み付けロボットを制御する
請求項1から8のいずれか1項に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パレタイズに係わる情報処理システムに関する。
【背景技術】
【0002】
例えば洗濯用洗剤、柔軟剤といった家庭用品等の複数の製品のストック及び出荷を担う出荷拠点では、複数の同一製品が1つの段ボールに収容されて倉庫にストックされており、出荷先からのオーダーに基づいて該当する段ボールの出荷処理が行われる。当該出荷処理では、オーダーに基づいて倉庫から出庫された段ボールは、ベルトコンベヤ等で倉庫から積み付け場所まで搬送された後、積み付け場所でパレットへ積み付けられる。一般に、製品の種類は多岐にわたっているため、製品を収容する段ボールは、製品の種類によって、寸法、重量、耐荷重値等が異なっている。また、出荷する段ボール(製品)の種類や数は出荷先からのオーダーから予めわかっているが、倉庫から積み付け場所への段ボールの搬送順番は決まっておらず、パレットへの積み付けの直前まで搬送順番がわからない状態となっているケースがある。このようなケースでは、作業者が、順次搬送される段ボールの寸法や製品の種類を見ながら、安定性を持った配置を即座に判断してパレット上に積み付けていくのが一般的である。当該作業にはスキルが必要であり、スキルが不足している作業者においては効率的な積み付けが難しい。
【0003】
これに対し、特許文献1には、パレットへの操作対象の積み付け、及び/又は、パレットからの操作対象の荷下ろしを、操作ロボットで行うことが記載されている。特許文献1では、操作対象をパレットに積み付ける、及び/又は、操作対象をパレットから荷下ろしする際に、事前に入手したデータを基に、パレット上に同一の又は近似する在庫管理単位を有する操作対象が集約して配置されるように制御シークエンスを作成しこれを実行するように、操作ロボットが制御される。しかしながら、パレットへの積み付けの直前まで操作対象の搬送順番がわからない状態となっている場合には、例えばシーケンスで2番目に積み付ける対象が、実際にはどの順番で搬送されてくるか不明であり、制御シークエンスを実行するのが困難である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
順次搬送される搬送順番がわからない寸法及び/又は重量が異なる複数の段ボール等のオブジェクトをパレット等の荷役台に効率的に配置することが望まれている。
【0006】
本発明の課題は、順次搬送される寸法及び/又は重量が異なる複数のオブジェクトを、荷役台に効率的に配置することができる情報処理システムに関する。
【課題を解決するための手段】
【0007】
本発明の一形態に係る情報処理システムは、オブジェクトの積み付けのための情報処理システムである。当該情報処理システムは、制御部を具備する。
上記制御部は、
寸法及び/又は重量が異なる複数種類が混在して順次搬送される複数のオブジェクトの、各種類のオブジェクトの数、オブジェクトの寸法、オブジェクトの重量及びオブジェクトの積載荷重制限に関する情報と、上記複数のオブジェクトが積み付けられる載置面を有する荷役台におけるオブジェクト積み上げ時の第1高さ制限値に関する情報と、前記載置面に対する予約エリアの割合情報とを取得し、
上記オブジェクトの寸法及び前記オブジェクトの重量に関する情報を用いて、上記複数のオブジェクトを分類して、寸法及び重量の差異が所定の閾値以下であるオブジェクトを1つのグループとする複数のグループを作成し、
上記オブジェクトの数、上記オブジェクトの寸法、上記積載荷重制限及び上記第1高さ制限値に関する情報を用いて、上記グループ毎にオブジェクトを仮想的に積み上げてブロックを作成する際に用いる、グループ毎のオブジェクトのブロック作成用最大積み上げ数を表すブロック作成用最大積み上げ数を設定し、
上記グループ毎に、同一グループに属するオブジェクトを仮想的に積み上げ、上記ブロック作成用最大積み上げ数となるまで積み上げてなる1以上の正数タワー及び/又は前記ブロック作成用最大積み上げ数に満たない1つの端数タワーを作成し、
上記グループ毎に、上記正数タワーが1つの場合はこれを、複数ある場合は隣接してまとめて並べたものをfullブロックとし、上記端数タワーをnot-fullブロックとして、1以上の前記ブロックを作成し、
上記ブロックに属するオブジェクトの数、上記ブロックの底面積及び上記ブロックの体積のいずれか1つを指標にし、上記ブロックそれぞれを、上記荷役台上での配置位置が上記予約エリアに予定される予約ブロック又は上記荷役台上での配置位置が予定されていない通常ブロックに設定する。
【発明の効果】
【0008】
本発明によれば、複数のオブジェクトを、荷役台に効率的に配置することができる。
【図面の簡単な説明】
【0009】
【
図1】製品倉庫から順次搬送される梱(オブジェクト)をパレット(荷役台)に積み付けていく出荷処理の様子を示す模式図である。
【
図2】本発明の一実施形態に係わる情報処理システムの機能ブロック図である。
【
図3】本発明の一実施形態に係わる情報処理システムに含まれる情報処理装置のハードウェア構成を示した図である。
【
図4】パレットに積み付けられる梱のリスト例である。
【
図5】製品倉庫から積み付け場所へ搬送される梱の作業順情報の一例(その1)である。
【
図6】製品倉庫から積み付け場所へ搬送される梱の作業順情報の一例(その2)である。
【
図7】上記情報処理システムによる積み付け処理のフロー図である。
【
図8】上記情報処理システムによる予約設定情報の生成処理のフロー図である。
【
図9】上記情報処理システムによるブロック作成用最大積み上げ数の設定処理(第1例)のフロー図である。
【
図10】上記情報処理システムによるブロック作成用最大積み上げ数の設定処理(第2例)のフロー図である。
【
図11】上記情報処理システムによるパレットへの積み付け処理である積み付け処理Aのフロー図である。
【
図12】上記情報処理システムによる通常エリア又は仮置きエリアへの積み付け処理である、積み付け処理Bのフロー図である。
【
図13】上記情報処理システムによる梱のブロック作成を説明するための図である。
【
図14】上記情報処理システムによる指標値の決定処理を説明するための図である。
【
図15】上記情報処理システムにより設定されたパレット上の予約ブロックの配置位置を示す平面図である。
【
図16】上記情報処理システムにより設定された予約設定情報を用いた積み付けによってパレットに積み付けられた梱群の1段目の梱の配置を説明する図である。
【
図17】上記情報処理システムにより設定された予約設定情報に基づいた積み付けによってパレットに全ての梱が積み付けられた梱群の側面図であり、(a)は
図16の矢印14aの方向から梱群をみたときの最も手前にある梱の配置を示し、(b)は
図16の矢印14bの方向から梱群をみたときの最も手前にある梱の配置を示し、(c)は
図16の矢印14cの方向から梱群をみたときの最も手前にある梱の配置を示し、(d)は
図16の矢印14dの方向から梱群をみたときの最も手前にある梱の配置を示す。
【
図18】上記情報処理システムにより設定された予約設定情報に基づいた積み付けによって最後のパレットに全ての梱が積み付けられた梱群のうち中央にある梱の積み上げの配置を示す図であり、
図16の矢印14Aの方向からみた側面図である。
【
図19】パレット上の梱への積み付けのルールを説明するための図である。
【
図20】パレット上に設定するXYZ座標軸を説明する図である。
【
図21】fullブロック作成の際の正数タワーの並べ方を説明するための平面図である。
【
図22】fullブロック作成の際の正数タワーの並べ方を説明するための平面図である。
【
図23】上記情報処理システムにより設定されたパレット上の予約ブロックの他の配置位置を示す平面図である。
【発明を実施するための形態】
【0010】
<情報処理システムによる情報処理の概略>
本発明に係わる一実施形態の情報処理システム100は、順次搬送される複数種類の重量及び/又は寸法の異なるオブジェクトの荷役台への積み付けの前に、予約設定情報の生成処理を行う。そして、荷役台へのオブジェクトの積み付けが開始されると、予約設定情報を用いて、順次搬送されるオブジェクトの配置先を順に設定し、荷役台への積み付けの指示を好ましくは積み付け作業用の積み付けロボット9に対して行う。このように積み付けロボット9を制御することで、パレットPLへの梱の積み付けを自動で行うことができる。
【0011】
オブジェクトの搬送順番は荷役台への積み付けの直前まで不明であり、複数種類のオブジェクトは混在して搬送される。尚、「複数種類が混在して搬送」とは、例えば2種類のオブジェクトX及びYそれぞれ3つずつが搬送される際、X、Y、X、X、Y、Yというように2種類のオブジェクトがランダムな順で搬送される場合の他、X、X、X、Y、Y、Yというように同じ種類のオブジェクトが固まって続けて順に搬送される場合も含む。いずれの場合においても、荷役台への積み付けの直前まで、どの順番でオブジェクトが搬送されてくるかは不明である。
【0012】
上記予約設定情報の生成処理では、予め入力された荷役台の載置面に対する予約エリアの割合から、荷役台の載置面に予約エリアを設定する。荷役台の載置面において予約エリアに設定されなかった領域は通常エリアである。そして、複数のオブジェクトを用いて複数のブロックを作成し、当該ブロックをそれぞれ、荷役台上でのブロックの配置位置が予約エリアに予定される予約ブロック、又は、荷役台上での配置位置が予約エリアに予定されていない通常ブロックに設定する。予約エリア、設定された予約ブロック及び通常ブロックに関する情報を「予約設定情報」という。ブロックの作成及び予約ブロックの設定の詳細については後述する。
【0013】
予約エリアは、荷役台上に設定される。予約エリアは荷役台の載置面と接触する三次元の空間である。予約エリアは、予約ブロックに属するオブジェクトの配置先として当該予約ブロックの配置位置が予定されたエリアである。予約エリアに、1以上の予約ブロックそれぞれの配置位置が割り当てられる。
【0014】
一方、通常ブロックに属するオブジェクトの配置先は、通常エリア又は後述する仮置きエリアに予定される。通常ブロックに属するオブジェクトは、通常エリア又は仮置きエリアのどの位置に配置されるかはあらかじめ決まっておらず、配置先での配置位置は、搬送されるごとに情報処理システムによって演算される。通常エリアは荷役台の載置面と接触する三次元の空間であり、仮置きエリアは仮置きエリアにおける載置面と接触する三次元の空間である。
【0015】
本実施形態の情報処理システムでは、複数のオブジェクトを用いて複数のブロックを作成し、当該ブロックを予約ブロック又は通常ブロックに設定することで、当該予約ブロックに属する複数のオブジェクトが配置されるスペースを荷役台上に確保する。これにより、順次搬送される複数種類の重量及び/又は寸法の異なるオブジェクトを荷役台に効率的に配置することができる。
【0016】
以下、図面を参照しながら、より詳細に説明する。尚、図面において、「積み付け」を「積付」と表記している。
【0017】
<出荷処理の概略>
本実施形態では、複数の梱がストックされている出荷拠点での出荷処理を例に挙げる。本実施形態では、荷役台はパレットPLであり、当該荷役台に配置されるオブジェクトは梱であり、仮置きエリアは仮置き用パレットTPLである。本実施形態では、パレットとして平パレットを用いる。梱は、典型的には、複数の同じ種類の製品を収容する段ボールである。梱は、収容する製品の種類や数によって、寸法、重量、耐荷重等が異なっている。梱は、典型的には略直方体である。
【0018】
本明細書において、オブジェクト(本実施形態では梱)の「底面」とは、当該オブジェクトを水平面上に配置したときの水平面上と接する面である。また、オブジェクトの「上面」とは、当該オブジェクトを水平面上に配置したときの、当該オブジェクトの上方に位置する面である。オブジェクトが略直方体の場合、上面は底面と略平行である。
【0019】
図20に示すように、パレットPLは平置きした際の上面視で矩形状を有する。パレットPLにおいて、直交する2辺それぞれに平行なX軸及びY軸を設定し、X軸及びY軸に直交するZ軸を設定する。Z軸は、パレットPL上に梱Pを積み上げたときの積み上げ方向と平行である。すなわち、パレットPLを高さ方向Z上方から見ることが平面視となる。
【0020】
また、
図20に示すように、後述する積み付けロボット9からパレットPLをみたときに、図上、パレットPLの左奥(
図20における左上)に位置する角のXY平面における位置座標(j,i)を(0,0)に設定する。図上、右にいくほどjの座標値が大きくなり、下にいくほど(積み付けロボット9からみて、奥から手前にいくほど)iの座標値が大きくなる。
【0021】
出荷拠点での出荷処理では、梱Pの出庫、梱Pの積み付け場所への搬送、梱PのパレットPLへの積み付け(以下、「積み付け処理」という。)が行われる。
【0022】
図1に示すように、製品の出荷拠点では、製品倉庫Sに複数の製品が梱の状態でストックされ、出荷先からのオーダーに基づいて、製品倉庫Sから複数の梱Pが出庫される(梱Pの出庫)。出庫された梱Pは、複数のソーター93(931~93N)によって出荷先毎に分別された後、ベルトコンベヤ92等の搬送手段によって積み付け場所95まで順次搬送される(梱Pの積み付け場所への搬送)。尚、1つの出荷先へ出荷する梱Pが多い場合、複数のソーター93を用いてもよい。また、ソーターを設けなくてもよいが、複数のソーター93を設けることで、複数の出荷先への積み付けを効率良く行うことができる。ベルトコンベヤ92によって1つずつ順次搬送される複数の梱Pは、積み付け場所95に配置されるパレットPLに積み付けられる(積み付け処理)。当該積み付け処理は、本実施形態では、積み付けロボット9により行われる。
【0023】
本実施形態では積み付け場所95に、パレットPLと、仮置き用パレットTPLとが設けられる。仮置き用パレットTPLは積み付け場所95以外の場所に、例えば積み付け場所95に隣接させて設けてもよい。
【0024】
仮置き用パレットTPLは、平面視で矩形状を有する。本実施例では仮置き用パレットTPLが仮置きエリア25となり、具体的には仮置き用パレットTPLの載置面全面が仮置きエリア25である。仮置きエリア25は、パレットPLへの梱Pの積み付けに際し、必要に応じて梱Pを仮置きするエリアである。仮置きエリア25はパレットPLとは異なるエリアに設けられる。本実施例では積み付け場所95での仮置き用パレットTPLの配置位置は固定されている。なお、仮置きエリアは仮置き用パレットTPL上に設ける必要はなく、空きスペースに所定のエリアを確保して仮置きエリアとしてもよい。
【0025】
積み付けロボット9と積み付け対象のパレットPLとの距離と、積み付けロボット9と仮置き用パレットTPLとの距離とがほぼ同じとなるように、仮置き用パレットTPLとパレットPLを配置することが好ましい。これによりベルトコンベヤ92から仮置き用パレットTPLへの梱Pの搬送、及び、仮置き用パレットTPLから積み付け対象のパレットPLへの梱Pの搬送を効率的に行うことができる。なお、積み付けロボット9による梱Pの搬送を効率的に行う観点から、積み付けロボット9の搬送可能範囲内となるように、仮置きエリア25を定める必要がある。
【0026】
パレットPLは、梱Pが積み付けられ、出荷先に搬送される。パレットPLは、梱Pが積み付けられる載置面20を有する。パレットPLの寸法及びパレットPLにおける梱積み上げ時の第1高さ制限値に関する情報は予め取得される。以下、各パレットに紐づけられるパレット寸法及び第1高さ制限値に関する情報を「パレット情報(荷役台情報)」という。パレットPLの寸法に関する情報には、パレットPLを平面視したときのX軸寸法とY軸寸法の情報が含まれる。本実施形態では、パレットPLのX軸寸法は1100mm、Y軸寸法は1100mmである。また、第1高さ制限値a(
図17及び
図18参照)は、パレットに梱を積み上げたときのパレットにおける梱群(積み上げた複数の梱全体を示す。)の最大許容高さであり、本実施形態では第1高さ制限値aは1800mmである。尚、パレットPLの寸法値及び第1高さ制限値は、本実施形態における値に限定されない。
【0027】
パレットPLは1つの出荷先に対して1以上準備される。出荷先からのオーダーに基づき生成される積み付け指示情報は、積み付け処理よりも前(例えば2時間前)に確定する。当該積み付け指示情報には、出荷先へ出荷される梱情報(以下、「出荷梱情報」ということがある。)が含まれる。出荷梱情報には、どの製品の梱をどれだけ出荷するかという情報(出荷する梱の種類毎の数情報)が含まれている。具体的には、出荷梱情報には、梱Pの種類ごとに付与されている梱コードとその出荷数量が含まれる。出荷梱情報及びパレット情報に基づいて、1つの出荷先に対して必要なパレットPLの数が算出される。出荷する梱が多い場合は、容積率や重量を勘案して複数枚のパレットPLが準備され、1つのパレットPLで足りる場合は1つのパレットPLが準備される。
【0028】
図1に示すように、パレットPLが複数準備される場合、パレットPLへの梱Pの積み付けは、1つのパレットPL毎に順次完了させるように行われる。出荷梱情報もパレット毎に提示される。つまり、1つのパレットPLへの積み付けが完了しないと、次のパレットPLへの積み付けは開始せず、複数のパレットPLに対して並行して梱の積み付けは行わない。梱Pが積み付けられる積み付け対象のパレットPLは、ベルトコンベヤ92の下流付近の積み付け場所95に準備される。積み付け場所95において、梱Pが積み付けられる積み付け対象のパレットPLの位置を積み付け位置95aと称する(
図1参照。)。
【0029】
積み付け処理が開始されると、まず積み付け位置95aにある1番目のパレット1st PLに梱Pを積み付ける。1番目のパレット1st PLへの積み付けが完了すると、1番目のパレット1st PLを他の場所へ移動し、積み付け位置95aに2番目のパレット2nd PLを配置して梱Pを積み付ける。このように、パレットPLへの積み付けを1枚ずつ順次完了して、梱の積み付けを行う。また、パレットPL又は仮置き用パレットTPLへの梱Pの移動作業は、順次搬送されてくる梱Pの搬送順に行う。つまり、n番目(nは1以上の整数)に搬送されてきた梱Pの、パレットPLへの移動作業であるパレットPLへの積み付け、又は、仮置き用パレットTPLへの移動作業である仮置き用パレットTPLへの仮置きが行われる前に、n+1番目以降の梱Pの移動作業は行わない。梱の搬送順は、言い換えると、梱の移動作業順である。
【0030】
1つの出荷先に対して必要なパレットPLが複数ある場合、最後に梱が積み付けられるパレットPLが、最後のパレットLast PLとなる。一方、1つの出荷先に対して必要なパレットPLの数が1つである場合、当該パレットPLが、最後のパレットLast PLとなる。尚、1st PL、2nd PL、Last PLというように特に区別する必要がない場合はPLという。
【0031】
以下の説明では、1つの出荷先に対して必要なパレットPLの数が1つである場合を例にあげて説明する。
【0032】
本実施形態では、積み付け処理の約2時間前に、出荷梱情報が確定する。製品倉庫Sからの梱Pの出庫は、出荷梱情報に基づいて行うが、積み付け場所95への梱Pの搬送順番は決まっていない。ソーター93付近に設けられた後述する梱識別用センサ8で、順次搬送される検出対象の梱Pに付与されている梱コードを検出することで梱Pの種類を識別できる。本実施例では、梱識別用センサ8によるセンシング位置から積み付け位置までの梱の搬送時間は約1分であり、梱Pの出庫間隔は約3秒である。すなわち、梱識別用センサ8による先頭(1番目)の梱Pに付与された梱コードの検出結果は、積み付け処理開始約1分前に取得でき、その後約3秒間隔で後続の梱Pに付与された梱コードの検出結果を順次取得できる。このように、搬送順に順次梱Pに付与された梱コード情報(梱種別情報)を取得することで、逐次更新した梱Pの搬送順の梱種別情報(梱順番情報)を取得できる。
【0033】
このように、パレットPLへの積み付け直前まで梱Pの搬送順番は不明となっている。尚、本実施形態では、出荷梱情報が積み付け処理開始よりもだいぶ前(約2時間前)に確定されるのに対し、梱Pの搬送順番が積み付け処理開始の直前(約1分前以降:梱識別用センサ8で梱Pの種類を検出した時点)に確定されることを説明するにあたり、具体的に時間の数値をあげたが、当該数値は一例であり、これに限定されるものではない。
【0034】
図4は、出荷梱情報の一例である。当該出荷梱情報には、梱毎の、梱コード、製品名、梱長さ(L)寸法、梱幅(W)寸法、梱高さ(H)寸法、梱数(梱の種類毎の数)といった情報が含まれる。ここでは、パレットに積み付ける梱は、8個の漂白剤Aの梱、2個の洗濯洗剤Bの梱、1個の漂白剤Cの梱、9個の洗濯洗剤Dの梱、1個のトイレ用シートEの梱、13個の洗濯洗剤Fの梱、13個の洗濯洗剤Gの梱、18個の洗濯洗剤Hの梱、1個の消毒液Jの梱、1個の柔軟剤Kの梱、1個の洗濯洗剤Mの梱、及び、1個の漂白剤Qの梱である。
【0035】
図5及び
図6は、
図4に示す出荷梱情報に含まれる各梱がどのような順番で搬送されてきたかを示す作業順情報の一例である。
【0036】
本実施形態では、
図4に示す出荷梱情報及び後述する載置面20に対する予約エリアの割合情報を用いて、複数のブロックを作成した後、当該複数のブロックを予約ブロックと通常ブロックに分類する。予約ブロックは、パレットPL上での配置位置が予定されているブロックである。通常ブロックは、パレットPL上での配置位置が予定されていないブロックである。ブロック作成及び予約ブロックの設定の詳細については後述する。
【0037】
図15に示すように、パレットPLは、載置面20に、各予約ブロックに対応する予約エリア21と、予約エリアでない通常エリア22とを有する。本実施形態では、パレットPLは、漂白剤Aの予約ブロックの配置が予定される予約エリア21Aと、洗濯洗剤Fの予約ブロックの配置が予定される予約エリア21Fと、洗濯洗剤Gの予約ブロックの配置が予定される予約エリア21Gと、洗濯洗剤Hの予約ブロックの配置が予定される予約エリア21Ha及び予約エリア21Hbと、通常エリア22と、を有する。各予約エリアを特に区別しない場合は、予約エリア21という。通常エリア22は、パレットPL上の予約エリア21でないエリアである。
【0038】
また、予約エリア21の上方が、最終的には通常ブロックに属する梱が配置され得る通常エリア22として機能してもよい。
図15に示す例では、予約エリア21Hbの上方が通常ブロックに属する梱が配置され得る通常エリア22となる。
【0039】
予約ブロックに属する梱は予約品である。通常ブロックに属する梱は通常品である。
【0040】
図5及び
図6において、予約品とした梱をドットで示し、異なる予約ブロック毎にドットの密度を異ならせて示した。
図15において、予約エリア21の領域をドットで示し、異なる予約ブロックそれぞれに対応して個別に設けられた予約エリア毎にドットの密度を異ならせて示した。
図15おいて、通常エリア22の領域を斜線で示した。尚、
図15は、載置面20上での予約エリア及び通常エリアを示している。
【0041】
図13、
図17及び
図18において、梱Pに付している「A」は
図4にあげた「漂白剤A」を示す。「B」は「洗濯洗剤B」を示す。「C」は「漂白剤C」を示す。「D」は「洗濯洗剤D」を示す。「E」は「トイレ用シートE」を示す。「F」は「洗濯洗剤F」を示す。「G」は「洗濯洗剤G」を示す。「H」は「洗濯洗剤H」を示す。「J」は「消毒液J」を示す。「K」は「柔軟剤K」を示す。「L」は「柔軟剤L」を示す。「M」は「洗濯洗剤M」を示す。「N」は「洗濯洗剤N」を示す。「Q」は「漂白剤Q」を示す。
【0042】
<情報処理システムの全体構成>
図2に示すように、本実施形態の情報処理システム100は、情報処理装置1と、自動倉庫制御サーバ6と、出荷管理サーバ7と、梱識別用センサ8と、積み付けロボット9と、を有する。情報処理装置1は、積み付けに係わる処理を行う積み付け用サーバである。
【0043】
<出荷管理サーバの機能ブロック構成>
出荷管理サーバ7は、出荷先からのオーダー(受注データ)に基づいて出庫指示情報及び積み付け指示情報を生成する。出荷管理サーバ7は、通信部70と、生成部71と、記憶部72と、を有する。記憶部72は、出庫指示情報DB73と、積み付け指示情報DB74と、倉庫情報DB75と、を有する。DBはデータベースを意味する。
【0044】
通信部70は、出荷先からのオーダー(受注データ)を受信する。通信部70は、例えばインターネットを介して、自動倉庫制御サーバ6や情報処理装置1等と通信可能に構成される。通信部70は、自動倉庫制御サーバ6に、出庫指示情報DB73に記憶する出庫指示情報を送信する。通信部70は、情報処理装置1に、積み付け指示情報DB74に記憶する積み付け指示情報を送信する。
【0045】
出庫指示情報DB73は、出荷先からのオーダーに基づいて生成部71により生成された出庫指示情報を出荷先毎に記憶する。出庫指示情報には、出荷先名や出荷先住所といった出荷先の属性情報、出荷先に出荷する梱(出庫する梱)の梱コード、出荷数量、製品倉庫Sでの梱Pを取り出す位置である梱取り出し間口等の情報が含まれる。
【0046】
積み付け指示情報DB74は、出荷先からのオーダーに基づいて生成部71により生成された積み付け指示情報を出荷先毎に記憶する。積み付け指示情報には、積み付けに用いるパレットの枚数、各パレットの識別情報(以下、「パレットID」という。)、出荷先に出荷する梱の梱コード、出荷数量等の情報が含まれる。
【0047】
倉庫情報DB75は、製品倉庫Sにストックされている梱の種類や数、製品倉庫S内での位置等の情報を記憶する。倉庫情報DB75の記憶内容は、出荷先からのオーダーに基づいて、現在製品倉庫Sにある在庫から出荷分の数を除き(在庫引当)、逐次更新される。
【0048】
生成部71は、出荷先からのオーダーに基づき、出庫指示情報及び積み付け指示情報を生成する。生成部71は、積み付け指示情報に含まれるパレットの数情報を、出荷先からのオーダー及びパレット情報に基づいて算出する。
【0049】
<梱識別用センサ>
梱識別用センサ8は、ソーター93付近に設けられる。梱識別用センサ8は、例えば、ソーター93でソートされ、ベルトコンベヤ92へ供給される梱Pの表面に付与されている梱コードを読み取るコードリーダーである。梱Pが梱識別用センサ8の前を通過することで、梱コードが読み取られる。複数の梱Pは、1つずつ順に梱識別用センサ8の前を通過する。梱識別用センサ8の検出結果(読み取り結果)により梱識別用センサ8の前を通った梱Pの種類を把握することができる。すなわち搬送されてくる梱Pの順番を把握することができる。尚、梱識別用センサ8はコードリーダーに限定されない。例えば、カメラであってもよく、当該カメラで取得された画像情報を用いて梱Pの種類を特定してもよい。梱識別用センサ8での検出結果は、自動倉庫制御サーバ6に出力される。
【0050】
<自動倉庫制御サーバの機能ブロック構成>
製品倉庫Sからの梱Pの出庫作業は、出庫用ロボット(図示せず)が担う。自動倉庫制御サーバ6は、出荷管理サーバ7で生成された出庫指示情報に基づいて出庫用ロボットを制御し、梱Pを出庫する。また、自動倉庫制御サーバ6は、梱識別用センサ8での検出結果(梱種別情報)に基づいて、梱順番情報を逐次更新する。
【0051】
図2に示すように、自動倉庫制御サーバ6は、通信部60と、出庫制御部61と、順番情報生成部62と、梱順番情報DB63とを有する。
【0052】
通信部60は、例えば構内ネットを介して、梱識別用センサ8、出荷管理サーバ7、情報処理装置1等と通信可能に構成される。通信部60は、梱識別用センサ8から出力される梱コードの検出結果を受信する。通信部60は、情報処理装置1へ梱順番情報DB63に記憶する梱順番情報を送信する。通信部60は、出荷管理サーバ7から出庫指示情報を受信する。
【0053】
出庫制御部61は、出荷管理サーバ7から受信した出庫指示情報に基づいて、出庫用ロボットを制御し、製品倉庫Sから出荷対象の梱Pを出庫する。
【0054】
順番情報生成部62は、梱識別用センサ8から逐次出力される検出結果に基づいて更新した梱順番情報を生成し、梱順番情報DB63に記憶する。梱順番情報は、梱識別用センサ8の梱コード検出結果である梱種別情報と梱の移動作業順情報とを含む。本実施形態では、梱順番情報は約3秒毎に更新される。更新された梱順番情報は逐次情報処理装置1へ送信される。
【0055】
<情報処理装置>
<<情報処理装置のハードウェア構成>>
図3に示すように、情報処理装置(積み付け用サーバ)1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入出力インターフェース15、及び、これらを互いに接続するバス14を備える。
【0056】
CPU11は、必要に応じてRAM13等に適宜アクセスし、各種演算処理を行いながら、情報処理装置(積み付け用サーバ)1の各ブロック全体を統括的に制御する。ROM12は、CPU11に実行させるOSのプログラムや各種パラメータ等のファームウェアを記憶する不揮発性のメモリである。RAM13は、CPU11の作業用領域等として用いられ、OS、実行中の各種アプリケーション、処理中の各種データ等を一時的に保持する。
【0057】
入出力インターフェース15には、表示部16、操作受付部17、記憶部18、通信部19等が接続される。
【0058】
表示部16は、例えばLCD(Liquid Crystal Display)、OELD(Organic Electro Luminescence Display)等を用いた表示デバイスである。
【0059】
操作受付部17は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の入力装置である。操作受付部17がタッチパネルである場合、そのタッチパネルは表示部16と一体となり得る。
【0060】
記憶部18は、例えばHDD(Hard Disk Drive)や、フラッシュメモリ(SSD;Solid State Drive)、その他の固体メモリ等の不揮発性メモリである。当該記憶部18には、上記OSや各種アプリケーション、各種データ等が記憶される。
【0061】
通信部19は、例えばEthernet用のNIC(Network Interface Card)や無線LAN等の無線通信用の各種モジュールであり、上記自動倉庫制御サーバ6や出荷管理サーバ7等との間の通信処理を担う。
【0062】
なお、図示しないが、自動倉庫制御サーバ6や出荷管理サーバ7の基本的なハードウェア構成も情報処理装置1のハードウェア構成と略同様である。
【0063】
<<情報処理装置の機能ブロック構成>>
図2に示すように、情報処理装置1は、通信部2と、制御部3と、記憶部4とを有する。
【0064】
[通信部]
通信部2は、例えば構内ネットを介して、自動倉庫制御サーバ6、出荷管理サーバ7等と通信可能に構成される。通信部2は、ハードウェア構成の通信部19に対応する。通信部2は、出荷管理サーバ7から積み付け指示情報を受信する。通信部2は、自動倉庫制御サーバ6から梱順番情報(梱種別情報と梱の移動作業順情報を含む)を受信する。通信部2は、当該梱順番情報を、自動倉庫制御サーバ6から、パレットPLへの積み付け処理開始の約1分前から逐次(本実施形態では約3秒毎)受信する。通信部2は、制御部3で生成したロボット制御信号を積み付けロボット9に出力する。通信部2は、ユーザによる上記操作受付部17からの入力操作情報を受信する。例えば、通信部2は、入力操作情報として、載置面に対する予約エリアの割合情報(以下、単に「予約エリアの割合情報」という。)を受信する。例えば、通信部2は、ユーザにより予約エリアの割合情報として入力された0.5という数値を受信し、制御部3は当該数値を予約エリアの割合情報として取得する。
【0065】
[記憶部]
記憶部4は、DBユニット40と、プログラム記憶部48とを有する。記憶部4は、
図3に示すハードウェア構成の記憶部18に対応する。
【0066】
(DBユニット)
DBユニット40は、梱マスターDB41と、積み付け指示情報DB43と、積み付け情報DB44と、パレット情報DB45と、積み付け計算用パラメータテーブルDB46と、予約設定情報DB47とを有する。
【0067】
((梱マスターDB))
梱マスターDB41は、梱マスター情報として、梱Pに関する情報を梱Pの種類毎に記憶する。梱Pに収容されている製品の種類と数に応じて、梱Pの種類が分別される。例えば、香りの種類が異なり(例えばバラの香りとソープの香り等)、1つの製品あたりの容量が等しく製品名が同じ柔軟剤が、それぞれ、同じ数収容された梱Pが2つある場合、2種類の梱Pがあるとする。また、全く同じ製品が6つ入っている梱と、12個入っている梱がある場合、2種類の梱Pがあるとする。
【0068】
梱Pに関する情報には、梱Pの表面に付与されている梱コード、梱Pに収容されている製品の種類(製品名等)、梱Pの寸法(梱長さ(L)寸法、梱幅(W)寸法、梱高さ(H)寸法)、梱Pの重量、積載荷重制限等に関する情報が含まれる。梱マスターDB41は、これらの情報を紐づけて記憶する。
【0069】
上記梱コードは、種類の異なる梱Pを識別する識別情報であり、梱Pの種類毎に異なって割り振られる。梱コードによって梱Pに収容されている製品の種類を把握することができる。例えば、梱コードは、バーコードやQRコード(登録商標)等の一次元コードや二次元コード等である。
【0070】
上記積載荷重制限は、梱P毎に予め設定される。積載荷重制限は、梱の上に載せることが可能な梱の最大総重量を示す。積載荷重制限は、例えば次のような方法で設定することができる。以下では、2通りの方法を例にあげる。尚、本実施形態では、2つめの方法を採用して設定された積載荷重制限を用いるが、1つめの方法を採用して設定された積載荷重制限を用いてもよい。
【0071】
1つめの方法として、荷重試験に基づいて積載荷重制限値を設定することができる。具体的には、梱が座屈する荷重を測定し、当該荷重に所定の安全率をかけた値を積載荷重制限の値に設定する。
【0072】
2つめの方法として、出荷拠点の製品倉庫Sでの梱のストック実績情報に基づいて積載荷重制限を設定する方法がある。
【0073】
製品倉庫Sでは、一種類の梱だけを所定段数積層したパレット(正パレット)が複数積まれた状態でストックされている。ストック時の正パレットの積層段数は、輸送揺れ等が生じない事を考慮し、当該正パレットを輸送する際の積層段数よりも1段多くできる。
【0074】
積載荷重制限は、ストック時における最大の梱の積層段数(前記所定段数とストック時の正パレットの最大の積層段数の積)から求められる。すなわち、この状態における最下段の梱が受ける荷重を、積載荷重制限とする。具体的には、ストック時における最大の梱の積層段数から1を引いた値(最下段の梱が支えている梱の数)と梱の重量との積によって算出する。上記ストック時の梱の段数は、積載荷重制限に基づく最大積み上げ数である。
【0075】
一例として、重量12.21kgの漂白剤Aの梱を挙げる。漂白剤Aの梱が積み上げられた正パレットは、1段に10個の梱が配置されたものが4段積み上げられて構成され、計40個の漂白剤Aの梱を有する。当該正パレットの配送時の積層段数である段積みは2である。従って、ストック時では、最大で3つの正パレットが積み重ねられる。1つの正パレットに積み上げられる梱の段数である4と、ストック時の正パレットの積層段数である3との積から、ストック時の最大の梱の積層段数である12を算出する。そして、当該算出した段数である12から1を引いた値である11(最下段の梱が支えている梱の数)と、梱の重量である12.21kgとの積を算出する。当該積の値である134.31kgを、漂白剤Aの梱の積載荷重制限に設定する。積載荷重制限に基づく漂白剤Aの梱の最大積み上げ数は12である。
【0076】
また、梱マスターDB41は、同一の在庫管理単位(SKU:Stock Keeping Unit)の梱を1つのパレットPL上に積んだ正パレットに関する情報を有してもよい。当該正パレットに関する情報は、1つのパレットPLあたりの可能な最大配置梱数、1段に配置される梱Pの可能な最大配置梱数、積載段数、段積み数が含まれる。
【0077】
((積み付け指示情報DB))
積み付け指示情報DB43は、出荷管理サーバ7から受信した積み付け指示情報を記憶する。上述したように、積み付け指示情報には、積み付けに用いるパレットの数、パレットID、出荷梱情報等が含まれる。当該出荷梱情報は、出荷先に出荷する梱の梱コード、出荷数量等の情報を含む。制御部3は、積み付け指示情報に含まれる梱コードを用いて、梱マスターDB41が記憶する梱マスター情報を参照して、当該梱コードが付与されている梱Pの寸法、重量、積載荷重制限に係わる情報等を取得することができる。
【0078】
((積み付け情報DB))
積み付け情報DB44は、積み付け情報を記憶する。当該積み付け情報は、パレットPLに既に積み付けた梱Pに関する情報と、仮置き用パレットTPLに仮置きした梱Pに関する情報とを含む。
【0079】
より詳細には、積み付け情報DB44は、パレットID毎に、当該パレットPLに積み付けた梱Pのパレット上の配置位置情報と、当該梱Pの梱コードといった識別情報とを紐づけて記憶する。これら情報により、パレットPLを平面視したときのパレットPLのXY平面における梱Pの積み付け状況、高さ方向Zにおける梱Pの積み上げ状況が把握される。
【0080】
梱Pのパレット上の配置位置情報には、梱Pの矩形状の底面の4つの頂点、底面の各辺の中点、底面の中心点の計9つの点の位置座標(j,i)、底面の高さ方向Zの位置、梱高さ(H)寸法等に関する情報が含まれる。上記9つの点の位置座標及び底面の高さ方向Zの位置に関する情報から、梱Pの底面の三次元での配置位置を算出できる。また、梱Pは、直方体であるので、当該9つの点の位置座標、底面の高さ方向Zの位置情報及び梱高さ(H)寸法情報とから、梱Pの矩形状の上面の三次元での配置位置を算出できる。
【0081】
また、積み付け情報DB44は、仮置き用パレットTPLに紐づけて、当該仮置き用パレットTPLに仮置きした梱Pの配置位置情報と、当該梱Pの梱コードといった識別情報とを紐づけて記憶する。
【0082】
以下、パレットPLを高さ方向Z上方から見たときのパレットPL全体の様子を盤面26といい、パレットPLを上方から見たときの梱Pの積み付け状況を「盤面状況」という。「盤面状況」は、XY平面における梱の配置状況に関する情報を含む。仮置き用パレットTPLについても同様である。
【0083】
上記積み付け情報は、盤面状況情報を含む。パレットPLに梱Pが積み付けられるたびに盤面状況は変化し、積み付け情報は逐次更新される。積み付け情報DB44は、更新された積み付け情報を逐次記憶する。仮置き用パレットTPLの積み付け情報についても同様に記憶する。
【0084】
また、積み付け情報DB44に記憶する情報から、既にパレットPLに積み付けた梱Pの種類と数を算出することができる。例えば、複数のパレットPLに積み付けを行う場合、当該算出結果と、積み付け指示情報DBに記憶する積み付け指示情報とを用い演算を行うことで、最後パレットに積みつける梱情報を取得することができる。また、各パレット毎に出荷梱情報は提示されるが、該演算により得られる梱情報と突き合わせて確認することもできる。
【0085】
((パレット情報DB))
積み付けに用いるパレットには、パレットを識別するパレットIDが付与されている。パレット情報DB45は、パレットID毎に、パレットの寸法(x軸寸法、y軸寸法)と第1高さ制限値aに関する情報を含むパレット情報(荷役台情報)を記憶する。上述したように、第1高さ制限値aは、パレットに梱を積み上げたときのパレットにおける梱群の最大許容高さであり、本実施形態では第1高さ制限値aは1800mmである。制御部3は、積み付け指示情報DBに記憶する積み付け指示情報に含まれるパレットIDから、パレット情報DBを参照してパレットPLの寸法及び第1高さ制限値に関する情報を取得することができる。出荷拠点で用いる全てのパレットPLが、全て同じ種類(平パレット)で同じ寸法であってもよいし、パレットの種類及び/又は寸法が異なってもよい。
【0086】
((積み付け計算用パラメータテーブルDB))
積み付け計算用パラメータテーブルDB46は、梱Pの積み付け計算に際して用いる評価関数に関する情報(以下、「評価関数情報」という。)を記憶する。評価関数情報は、評価関数と、当該評価関数に紐づけたパラメータ情報を含む。
【0087】
ここで、積み付け計算とは、パレットPL上に梱Pの配置位置を決定する計算である。評価関数は、積み付けがどの程度安定なものかを評価するための評価指標である。例えば、より広く空いている領域、より低い位置に積み付け対象の梱を配置することが、安定な積み付けにより優位であり、梱の配置領域の広さや配置位置の高さ等が評価指標となる。後述する積み付け計算部31は、評価関数情報と積み付け対象の梱Pに関する情報を用い、盤面状況情報に基づいて、梱Pの配置位置を決定する。
【0088】
パラメータ情報は、パレット毎によって異なり、積み付け計算用パラメータテーブルDB46はパレットID毎にパラメータ情報を記憶する。パラメータは、積み付けられる梱の種類数と梱の数に応じて、最適なパラメータが算出される。詳細には、出荷梱情報を用いて、各パレットでの積み付け難易度ラベルを設定する。難易度ラベルは例えば4つ設定される。各難易度ラベルに異なるパラメータが設定される。積み付け計算用パラメータテーブルDB46は、パレット毎に設定されたパラメータの情報を記憶する。積み付け対象となるパレットPLが変わるたびに、積み付け計算を行う際に用いるパラメータは変更され得る。
【0089】
((予約設定情報DB))
予約設定情報DB47は、後述する予約設定情報生成部33で生成される予約設定情報と仮置きエリア優先配置情報とを記憶する。
【0090】
予約設定情報は、パレットPLに積み付け対象の梱を積み付ける際に用いる情報である。予約設定情報は、予約エリア、予約ブロック及び通常ブロックに関する情報を含む。予約ブロックに関する情報は、当該予約ブロックに属する梱の種類とその数の情報を含む。通常ブロックに関する情報は、当該通常ブロックに属する梱の種類とその数の情報を含む。予約エリアに関する情報は、各予約ブロックのパレットPL上での配置位置情報と、当該配置位置に配置される予約ブロックに属する梱Pの種類とその数の情報が含まれる。
【0091】
仮置きエリア優先配置情報は、仮置き用パレットTPLに優先的に配置する仮置きエリア優先配置条件を満たす梱に関する情報であり、詳細については後述する。
【0092】
(プログラム記憶部)
プログラム記憶部48は、情報処理システム100の制御部3で行われる各種処理を実行するためのプログラムを記憶している。例えば、プログラム記憶部48は、積み付け計算処理、ブロック作成処理、予約設定情報生成処理、配置先設定処理、ロボット制御信号生成処理を、情報処理装置1に実行させるプログラムを記憶している。
【0093】
[制御部]
制御部3は、パレットPLへの梱Pの積み付けに係わる各種処理を行う。制御部3は、パレットPLへの梱の積み付けに対して、予約設定情報生成処理を実行し、生成した予約設定情報を用いて、積み付け対象の梱Pの配置先(配置位置)を設定し(配置先設定処理)、当該配置先に積み付け対象の梱Pを搬送するように積み付けロボット9の制御信号を生成する(ロボット制御生成処理)。言い換えると、制御部3は、積み付けロボット9に積み付け指示をする。以下、詳細に説明する。
【0094】
制御部3は、積み付け計算部31と、ブロック作成部32と、予約設定情報生成部33と、配置先設定部35と、ロボット制御信号生成部36とを有する。制御部3は、CPU11が、プログラム記憶部48に記憶するプログラムをRAM13にロードして実行することにより、積み付け計算部31と、ブロック作成部32と、予約設定情報生成部33と、配置先設定部35と、ロボット制御信号生成部36を構成する。
【0095】
(積み付け計算部)
積み付け計算部31は、積み付け計算用パラメータテーブルDB46に記憶する評価関数情報、梱マスターDB41に記憶する梱マスター情報、梱コード情報(梱種別情報)を含む梱順番情報、積み付け情報DB44に記憶する盤面状況情報を含む積み付け情報を用いて、積み付け計算を行い、梱Pの配置位置情報を算出する。
【0096】
積み付け計算部31は、各種情報を用いて、後述する計算ルールに従って、梱の配置位置の候補を探索位置5として複数導き出す。その後、積み付け計算部31は、評価関数情報を用い、後述する積み付け時の制約条件を順守する範囲で各探索位置5に梱Pを配置すると仮定したときのスコアを算出し、最もスコアが高かった探索位置5を、梱Pの配置位置に決定する。
【0097】
なお、制御部3は、積み付け対象の梱Pの梱コード情報を梱識別用センサ8から直接受け取る構成でもよいが、本実施形態では自動倉庫制御サーバ6で生成された梱順番情報から得ている。
【0098】
上記計算ルール例をあげる。例えば、積み付け計算時、積み付け対象の梱PをパレットPLや仮置き用パレットTPLに配置する際に、積み付けロボット9のグリッパ91が既に配置されている梱に干渉してしまうスペースは、積み付け対象の梱Pを配置する対象としない、という計算ルールとする。
図19(b)に示すように、既に積み付けられている梱P1と梱P2との間のスペースに梱P3(積み付け対象の梱)を新たに配置する場合、グリッパ91は梱P1及びP2と干渉するため、梱P1と梱P2との間のスペースは梱P3の配置対象としない。一方、
図19(a)に示すように、既に梱P1,P2及びP3が積み付けられ、梱P1と梱P2の間に配置される梱P3の上のスペースに梱P4(積み付け対象の梱)を新たに配置する場合、グリッパ91は、梱P1~P3と干渉せずに梱P4を配置できるため、梱P1と梱P2の間にある梱P3上のスペースは梱P4の配置対象となり得る。
【0099】
上記制約条件について説明する。制約条件として、例えば下記(1)~(4)がある。
【0100】
(1)パレットPLの載置面20(本実施形態では、1100mm×1100mmの大きさを有する)をはみ出さない。
(2)高さ制限値を越えない。
(3)梱毎の耐荷重値を越える積み上げはしない。
(4)各梱の底面の一定割合以上(例えば本実施形態では85%以上)がパレットPLの載置面又は他の梱に接している。
【0101】
上記(2)について補足する。高さ制限値は、「積み付け計算時の高さ制限値」である。「積み付け計算時の高さ制限値」は、第1高さ制限値a(本実施形態では1800mm。)又は第1高さ制限値aよりも低い第2高さ制限値(
図17及び
図18において、符号bで示す。)に設定する。第1高さ制限値a及び第2高さ制限値bのうちいずれを「積み付け計算時の高さ制限値」として採用するかは、容積率によって決定する。容積率は、パレットPL上に複数の梱を積み付けたときの、上記第1高さ制限値に基づくパレットの積み付け可能な最大容積(本実施形態では、1800mm×1100mm×1100mmで算出される。)に対する複数の梱の占める割合(全梱の体積和/最大容積)である。
この容積率が所定の閾値以上である場合は第1高さ制限値を採用し、該閾値未満であるときは第2高さ制限値を採用する。
【0102】
ここでの「積み付け計算時の高さ制限値」は、後述の[ブロック作成用最大積み上げ数設定処理]で説明する「算出用高さ制限値」と同様の手法で求めることができる。明細書中、「積み付け計算時の高さ制限値」と、タワー作成時に用いる「算出用高さ制限値」とを区別して記載しているが、両者は実質同じであり、数値は同じである。
【0103】
本実施形態では、容積率の閾値を0.8とした。
図4のリストにある梱のパレットPLにおける容積率は0.71(71%)であり、閾値未満であるので、積み付け計算時の高さ制限値として第2高さ制限値を採用した。第2高さ制限値は、後述する(A)式により算出する。本実施形態では、算出用高さ制限値(第2高さ制限値)は1530mmである。
【0104】
上記積み付け計算部31による積み付け計算結果、換言すると積み付け対象の梱Pの配置位置情報は、ロボット制御信号生成部36に出力される。積み付け計算部31による積み付け計算は、通常品と判定された梱Pの通常エリア22への積み付け時又は仮置きエリア25への仮置き時に行われる。
【0105】
(ブロック作成部)
ブロック作成部32は、出荷梱情報と、梱マスターDB41に記憶する梱マスター情報とを用いて、パレットPLに積み付ける複数の梱を分類して、寸法及び重量の差異が所定の閾値以下である梱からなるブロックを複数作成する。詳細には、ブロックの作成には、グループ化工程、タワー作成工程、ブロック作成工程の3つの工程が含まれる。以下、
図13を参照し、各工程について具体例をあげてブロック作成の手順を説明する。
図13は、
図4のリストにある複数の梱Pを分類して複数のブロックを作成する例を示す。
【0106】
((グループ化工程))
グループ化工程では、
図4のリストにあるパレットPLに積み付けられる予定の複数の梱Pを寸法及び重量に応じて複数のグループに分類する。詳細には、寸法及び重量の差異が閾値以下の複数の梱を1つのグループとして、複数の梱を、複数のグループに分類する。当該グループ化工程は、後述する
図8のフロー図におけるST12に対応する。
【0107】
上記寸法に係わる閾値は適宜設定され得る。一例として、本実施形態では、寸法の差異の閾値を1mm未満と設定した。つまり、1mm単位で寸法が一致する梱は同じグループになり得る。閾値は1mm未満に限定されない。尚、グループ化工程以外での寸法値を用いた計算(例えば、容積率の計算、積み付け計算等)では、寸法をcm単位に換算し、切り上げて1cm単位とした数値を用いる。
【0108】
また、上記の「重量の差異が閾値以下」とは、同じグループに属する複数の梱Pの当該グループ内での次式(B)で算出される重量の差異が閾値以下になることをいう。
【0109】
ブロック内の重量の差異=(最大値-最小値)/最大値 …(B)
式中、「最大値」は、同じグループに属する複数の梱のうち最も重量が重い梱の重量値であり、「最小値」は、同じグループに属する複数の梱のうち最も重量が軽い梱の重量値である。重量に係わる閾値は適宜設定され得る。一例として、本実施形態では閾値を0.2と設定した。
【0110】
図13に示す例では、ブロック作成部32は、寸法及び重量の差異が閾値以下の柔軟剤Kの梱Pと柔軟剤Lの梱Pとを1つのグループとする。また、ブロック作成部32は、寸法及び重量の差異が閾値以下の洗濯洗剤Mの梱Pと洗濯洗剤Nの梱Pとを1つのグループとする。本実施形態では、ブロック作成部32は、その他の製品の梱Pについてはそれぞれ同じ種類の梱のみのグループとし、第1~第12グループの計12個のグループを作成する。
【0111】
((タワー作成工程))
タワー作成工程では、ブロック作成部32は、グループ毎に、積載荷重制限及び算出用高さ制限値を用いてブロック作成用最大積み上げ数を設定し、当該ブロック作成用最大積み上げ数を用いてタワーを作成する。作成したタワーを用いて、後述するブロック作成工程でブロックが作成される。「算出用高さ制限値」は、本実施形態では1530mmである。当該タワー作成工程は、後述する
図8のフロー図におけるST8及びST13に対応する。
【0112】
梱の積載荷重制限に基づく最大積み上げ数と、算出用高さ制限値に基づく最大積み上げ数のうち、小さい値の方が、ブロック作成用最大積み上げ数となる。
【0113】
例えば、漂白剤Aの梱の積載荷重制限に基づく最大積み上げ数は12である。
【0114】
一方、算出用高さ制限値に基づく最大積み上げ数は、梱を1段ずつ積み上げていったときに算出用高さ制限値を超過する直前まで梱を積み上げたときの段数である。例えば、算出用高さ制限値が1530mmの場合、漂白剤Aの梱の高さが235mmであるので、漂白剤Aの梱の算出用高さ制限値に基づく最大積み上げ数は6となる。尚、ここでは、漂白剤Aの梱の高さを24cmとして最大積み上げ数を算出した。
【0115】
以上、本実施形態では、漂白剤Aの梱のグループでのブロック作成用最大積み上げ数は6に設定する。同様に、他のグループについても、グループ毎に、当該グループに属する梱のブロック作成時に用いるブロック作成用最大積み上げ数を設定する。
【0116】
タワー作成工程では、ブロック作成部32は、グループ毎に、ブロック作成用最大積み上げ数を用いてタワーを作成する。詳細には、同一グループに属する梱を仮想的に積み上げていき、ブロック作成用最大積み上げ数となるまで積み上げてなる正数タワー及び/又はブロック作成用最大積み上げ数に満たない端数タワーを作成する。各グループは、1以上の正数タワーと1つの端数タワー、1以上の正数タワー、1つの端数タワーのいずれかの形態となる。
【0117】
((ブロック作成工程))
ブロック作成工程では、ブロック作成部32は、グループ毎に、タワーを用いてブロックを作成する。詳細には、作成した正数タワーを隣接してまとめて並べたものをfullブロックとし、端数タワーをnot-fullブロックとして、1以上のブロックを作成する。fullブロックは正数タワーのみから構成されるブロックであり、not-fullブロックは端数タワーのみから構成されるブロックである。当該ブロック作成工程は、後述する
図8のフロー図におけるST14に対応する。
【0118】
このように作成された寸法及び重量の差異が閾値以下の梱からなるブロックは、予約ブロック設定時の基準単位となる。予約ブロックのパレットPL上での配置位置が設定されることで、寸法及び重量の差異が閾値以下の梱同士が集約して配置されるスペースをパレットPL上に設けることができる。これにより、後続の積み付け対象の梱をパレットPL上に配置することができる確率をより高めることができる。更に、梱を仮想的に積み上げてブロックを作成するにあたって、梱の数、梱の寸法、ブロック作成用最大積み上げ数を用いることで、高さ方向にオブジェクトを積み上げすぎないように調整することができ、安定した積み付けを行うことができる。
【0119】
((ブロック作成の具体例))
以下、
図4のリストにある梱を用いた具体的なブロック作成について
図13及び表1を用いて説明する。
【0120】
図13(a)に示すように、第1グループは8個の漂白剤Aの梱Pからなる。これら8個の漂白剤Aの梱を積み重ねていきタワーを作成する。本実施形態では、漂白剤Aの梱のブロック作成用最大積み上げ数は6である。ブロック作成部32は、同一グループに属する8個の漂白剤Aの梱Pを、ブロック作成用最大積み上げ数まで積み上げた1つの正数タワーT1と、ブロック作成用最大積み上げ数に満たない1つの端数タワーT2とに区分する。ブロック作成部32は、正数タワーT1からなるブロックをfullブロックFBLに設定し、端数タワーT2からなるブロックをnot-fullブロックNFBLに設定する。このように漂白剤Aの梱Pからなる第1グループは、fullブロックFBLと、not-fullブロックNFBLの2つのブロックに区分される。
【0121】
図11(b)~
図11(l)に示すように、第2~第12グループそれぞれにおいても、第1グループと同様に、正数タワーT1及び/又は端数タワーT2を形成し、full ブロックFBL及び/not full ブロックNFBLを作成する。表1に、グループ毎の、正数タワー数、端数タワー数、fullブロック数、not-fullブロック数、各ブロックの梱数、各ブロックの底面積及び各ブロックの体積を示す。
【0122】
【0123】
以上のように、ブロック作成部32は、最後パレットの梱を、計18個のブロックに区分する。
【0124】
尚、本実施形態では、いずれのfullブロックも1つの正数タワーから構成されるが、複数の正数タワーから構成される場合もある。正数タワーT1が複数作成される場合、作成された複数の正数タワーT1を隣接してまとめて並べて1つのfullブロックFBLとする。複数の正数タワーT1を用いてfullブロックを構成する例を、
図21及び
図22を用いて説明する。尚、fullブロック作成時のタワーの並べ方は、これに限定されない。複数の正数タワー群からなるfullブロックは、平面視したときにできる限り矩形状となるように配置することが好ましい。
【0125】
図21及び
図22に示すように、図上、仮想的に正数タワーT1の長辺が上下方向に平行となるよう位置させ、短辺が左右方向に平行となるように位置させて正数タワーT1を隣接して並べて、fullブロックを形成する。
【0126】
図21(a)~(g)に示す複数の正数タワー群からなるfullブロックは、いずれも平面視で矩形状を有する。例えば
図21(e)に示すように、正数タワーT1が6つの場合、正数タワーを左右方向に3つ、上下方向に2つ隣接して並べた形状のfullブロックとする。
【0127】
例えば正数タワーT1が7つの場合、
図22(a)に示すように、正数タワーを左右方向に7つ隣接して並べ、平面視で矩形状のfullブロックとしてもよい。この場合、上下方向及び左右方向に複数の正数タワーを並べようとすると、矩形状のfullブロックとならない。このような場合は、
図22(b)~(d)に示すように、6つの正数タワーからなる平面矩形状のブロックを形成した後、当該ブロックに残りの正数タワー1つを隣接させてfullブロックを形成してもよい。或いは、
図22(e)に示すように、4つの正数タワーからなる平面視矩形状のブロックを形成した後、当該ブロックに残りの正数タワー3つを隣接させて、例えば
図22(e)に示すようなfullブロックを形成してもよい。
【0128】
(予約設定情報生成部)
予約設定情報生成部33は、各ブロックを予約ブロック又は通常ブロックに設定する予約ブロックの設定処理を実行する。予約設定情報生成部33は、予約ブロック設定処理に先立って、当該予約ブロック設定処理に用いる指標を決定する処理(「指標の決定処理」という。)を実行するのが好ましい。以下、指標の決定処理、予約ブロックの設定処理について順に説明するが、より詳細な説明は後述する。
【0129】
((指標の決定処理))
指標の決定処理について説明する。指標の決定処理は、後述する
図8のST17~ST24の工程に対応する。予約設定情報生成部33は、あらかじめ入力された情報(入力操作情報)である載置面20に対する予約エリアの割合yに関する情報である予約エリアの割合情報を取得する。本実施形態では、予約エリアの割合yが0.5(50%)である例を挙げる。予約エリアの割合yに基づく予約エリアの面積Yは、載置面20の面積(本実施形態では12100cm
2である。)に0.5を乗じた値(本実施形態では6050cm
2である。)となる。この予約エリアの面積の値は、予約ブロック設定の際に用いる値である。実際に予約ブロックに設定されるブロックの底面積の合計は、予約ブロック設定の際に用いる予約エリアの面積Y(本実施形態では6050cm
2)以下の値となる。
【0130】
本実施形態では、予約設定情報生成部33は、取得した予約エリアの割合情報に基づいて、載置面20上に、載置面20の50%の領域を予約エリア21に設定する。予約設定情報生成部33は、ブロック作成部32で作成した各ブロックに属する梱の個数、ブロックの底面積、ブロックの体積それぞれを仮の指標として、指標の値が大きい順にブロックの配置位置を予約エリア21に割り振っていく。予約設定情報生成部33は、予約エリア21に割り振ったブロックを仮の予約ブロックに設定する。仮の予約ブロックの設定は、予約ブロックに設定したブロックの底面積の合計が、予約エリアの割合yに基づいて設定した予約エリアの面積と同じとなる、又は、当該予約エリアの面積を超える直前まで行う。そして、予約設定情報生成部33は、予約エリアの割合yに基づいて設定した予約エリア内にブロックを配置できなくなると、それ以降のブロックを仮の通常ブロックに設定する。また、予約設定情報生成部33は、仮の予約ブロックの載置面20上の配置位置を事前に予定し設定する。このように、指標の決定に際して設定した、仮の予約ブロック及び通常ブロックと、仮の予約ブロックの載置面20上の配置位置に係わる情報を含む情報を「仮の予約設定情報」と称する。詳細は後述するが、予約設定情報生成部33は、作成した複数のダミー搬送パターン毎に行う指標毎の仮の予約設定情報を用いた積み付け計算結果等を用いて、予約ブロック設定処理で用いる指標を決定する。
【0131】
((予約ブロック設定処理))
予約ブロック設定処理について説明する。予約ブロック設定処理は、後述する
図8のST40に対応する。予約設定情報生成部33は、指標の決定処理で決定された指標に関する情報を用いて、予約ブロック及び通常ブロックの設定処理(「予約ブロック設定処理」という。)を行う。
【0132】
具体的には、予約設定情報生成部33は、上述の仮の予約設定情報の設定と同様の手法で、指標の決定処理で決定した指標の値の大きい順に、ブロックを予約エリア21のスペースに割り振って予約ブロックを設定し、通常ブロックを設定し、予約ブロックの載置面20上の配置位置を設定する。このように、指標の決定処理で決定された指標に基づいて設定した予約ブロック及び通常ブロックと、各予約ブロックの載置面20上の配置位置(換言すると「配置先」)に関する情報を含む情報を「予約設定情報」と称する。予約設定情報生成部33は、予約ブロックに属する梱を予約品に設定し、通常ブロックに属する梱を通常品に設定する。
【0133】
予約設定情報生成部33は、予約設定情報を予約設定情報DB47に記憶する。
【0134】
このように、本実施形態では、制御部3は、予約ブロック又は通常ブロックの設定において、ブロックに属する梱の数、梱の底面積及び梱の体積のいずれか1つを指標とし、当該指標の数値が大きい順に、ブロックを予約ブロックに設定していく。そして、当該予約ブロックの設定を、載置面に対する予約ブロックに設定したブロックの底面積の合計が、予約エリアの割合yに基づいて設定した予約エリアの面積と同じとなる、又は、当該予約エリアの面積を超える直前まで行い、残りのブロックを通常ブロックに設定する。上記「予約エリアの面積を超える直前まで」とは、言い換えると「予約ブロックの底面積の合計が予約エリアの面積Yを超えない最大面積となるまで」である。
【0135】
このような構成によれば、オブジェクトの数がより多いブロック、底面積がより大きいブロック、又は、体積がより大きいブロックが優先的に予約ブロックに設定され、当該予約ブロックのパレットPL上での配置位置が確保されることになる。つまり、オブジェクト数が多い、ブロックの底面積が大きい、又は、ブロックの体積が大きいといった、パレットPL上での配置スペースを確保しにくい傾向にあるブロックのパレットPLでの配置位置が優先的に確保されることになる。従って、このような配置スペースが確保しにくい梱をパレットPLに配置することができ、複数の梱をより効率的にパレットPLに積み付けることができる。
【0136】
同一グループにおいてfullブロックはnot-fullブロックと比較して、オブジェクトの数が多く、体積が大きいため、パレットPL上での配置スペースを確保しにくいブロックである。指標の数値が大きい順に予約ブロックに設定していくことで、fullブロックは同一グループのnot-fullブロックよりも優先的に予約ブロックに設定されやすくなり、配置スペースが確保しにくい傾向にあるfullブロックをより確実にパレットPLに配置することができ、複数の梱をより効率的にパレットPLに積み付けることができる。
【0137】
(配置先設定部)
ベルトコンベヤ92で搬送される梱は、パレットPL又は仮置き用パレットTPLに移動、配置される。配置先設定部35は、パレットPLへの積み付けに際し、予約設定情報DB47に記憶する予約設定情報及び梱種別情報に基づいて、次の積み付け対象の梱Pが予約品か、又は、通常品かを判定する。
【0138】
配置先設定部35は、予約品であると判定した積み付け対象の梱Pの配置先を、当該予約品が配置されるエリアとして設定されている予約エリア21に設定する。配置先設定部35は、予約設定情報DB47に記憶する予約設定情報、及び、積み付け情報DB44に記憶するパレットPLの最新の盤面状況情報を用いて、予約品と判定した積み付け対象の梱Pの配置先であるパレットPL上の三次元の配置位置情報(予約エリアの座標情報)を算出する。配置先設定部35は、予約品に設定されている積み付け対象の梱PのパレットPL上での配置位置情報を、ロボット制御信号生成部36に出力する。ロボット制御信号生成部36で生成されたロボット制御信号に基づいて積み付けロボット9が作動し、予約品に設定されている積み付け対象の梱Pを対応する予約エリア21に配置する。
【0139】
一方、配置先設定部35は、通常品であると判定した積み付け対象の梱Pの配置先を、通常エリア22又は仮置き用パレットTPLに設定する。この設定された配置先に関する情報は、積み付け計算部31に出力される。積み付け計算部31は、通常品であると判定した積み付け対象の梱Pの通常エリア22(又は仮置きエリア25)での配置位置情報を算出する。積み付け計算部31は、算出した通常エリア22(又は仮置きエリア25)での配置位置情報を、ロボット制御信号生成部36に出力する。ロボット制御信号生成部36で生成されたロボット制御信号に基づいて積み付けロボット9が作動し、積み付け対象の梱Pを通常エリア22(又は仮置きエリア25)に配置する。
【0140】
以下、積み付け対象の梱Pが通常品である場合の配置先設定について、より詳細に説明する。
【0141】
配置先設定部35は、積み付け対象の梱Pが通常品であると判定すると、次の(5)及び(6)の場合、積み付け対象の梱Pの配置先を通常エリア22に設定する。
【0142】
(5)積み付け対象の梱が、各グループに属する梱と比較したときに相対的に軽くかつ底面が相対的に小さいという条件(以下、仮置きエリア優先配置条件という。)を満たし、仮置きエリア25に配置可能でなく、通常エリア22に配置可能な場合。
(6)上記仮置きエリア優先配置条件を満たさず、通常エリア22に配置可能な場合。
【0143】
配置先設定部35は、積み付け対象の梱Pが通常品であると判定すると、次の(7)及び(8)の場合、積み付け対象の梱の配置先を仮置き用パレットTPLの仮置きエリア25に設定する。
【0144】
(7)積み付け対象の梱が、仮置きエリア優先配置条件を満たし、仮置きエリア25に配置可能な場合。
(8)積み付け対象の梱が、仮置きエリア優先配置条件を満たさず、通常エリア22に配置可能でなく、仮置きエリア25に配置可能である場合。
【0145】
配置先設定部35は、積み付け対象の梱Pを通常品であると判定し、積み付け対象の梱Pが仮置きエリア優先配置条件を満たさず、通常エリア22及び仮置きエリア25のいずれにも配置可能でないと判定する、又は、積み付け対象の梱Pが仮置きエリア優先配置条件を満たし、通常エリア22及び仮置きエリア25のいずれにも配置可能でないと判定すると、仮置きエリア25に既に配置されている梱を通常エリア22に配置可能か否かを判定する。
【0146】
配置先設定部35は、仮置きエリア25に既に配置されている梱を通常エリア22に配置可能と判定すると、当該仮置きエリア25に既に配置されている梱を通常エリア22に配置し、積み付け対象の梱Pの配置先を仮置きエリア25に設定し、仮置きエリア25の空いたスペースに当該積み付け対象の梱Pを配置する。
【0147】
一方、配置先設定部35は、仮置きエリア25に既に配置されている梱を通常エリア22に配置可能でないと判定すると、予約設定情報生成部33は、予約エリア21を通常エリアに設定変更し、変更後の予約設定情報を予約設定情報DB47に記憶する。そして、配置先設定部35は、積み付け対象の梱Pの配置先を通常エリアに設定する。これにより積み付け対象の梱Pを通常エリア22に配置することができる。
【0148】
ここで、予約エリア21を通常エリア22に設定変更する場合、予約ブロックとして設定していたブロックを通常ブロックと同様の扱いとしてもよい。或いは、予約ブロックとして設定していたブロックを通常ブロックに設定変更してもよい。本実施形態では、予約設定情報生成部33は、予約ブロックを通常ブロックに設定変更するとして以下説明する。この場合、予約設定情報生成部33は、予約エリア21の通常エリア22への設定変更及び予約ブロックの通常ブロックへの設定変更が反映された予約設定情報を予約設定情報DB47に記憶する。
【0149】
((仮置きエリア優先配置条件))
仮置きエリア優先配置条件は、通常品に設定した積み付け対象の梱Pの配置先を優先的に仮置きエリア25(仮置き用パレットTPL)とするときの条件である。通常品に設定した積み付け対象の梱Pを、優先的に仮置きエリア25に搬送するか否かの決定は、ブロック作成部32でのブロック作成の過程で作成されるグループに関する情報を用いて行われる。
【0150】
配置先設定部35は、複数のグループ(
図11に示す例では、12のグループ)に関する情報を用いて、下記(9)~(11)の3つ条件を全て満たすグループを仮置き場への配置条件を満たすグループとする。そして、それ以外のグループを、仮置き用パレットTPLに優先的に配置する仮置きエリア優先配置条件を満たさないグループに決定する。
【0151】
(9)同一グループに属する梱の重量の最大値が全グループの75パーセンタイル以下のグループ。ここで、同一グループ内に属する複数の梱の重量が異なる場合があるので、グループ内の梱重量の最大値を代表値としている。
(10)同一グループに属する梱の短辺が全グループ中の25パーセンタイル以下のグループ。ここで、本実施形態では1mm単位で寸法が一致する梱は同じグループになるため、グループの短辺寸法値と当該グループに属する短辺の寸法値とは一致する。
(11)同一グループに属する梱の長辺が全グループ中の25パーセンタイル以下のグループ。ここで、本実施形態では1mm単位で寸法が一致する梱は同じグループになるため、グループの長辺寸法値と当該グループに属する長辺の寸法値とは一致する。
【0152】
上記(10)及び(11)について補足する。「短辺(長辺)が全グループの25パーセンタイル以下のグループ」とは、仮に全グループ数が20の場合、グループの短辺(長辺)を昇順ソートしたときに、数値が小さい順に5グループまでのグループを指す。同様に、上記(9)において「重量の最大値が全グループの75パーセンタイル以下のグループ」とは、仮に全グループ数が20の場合、グループの重量の最大値を昇順ソートしたときに、数値が小さい順に15グループまでのグループを指す。
【0153】
上記(9)~(11)の条件を全て満たすグループ(仮置きエリア優先配置条件を満たすグループ)に属する梱は、相対的に軽くかつ底面が相対的に小さいという条件を満たす梱である。このような比較的軽く底面が小さい梱が仮置きエリアに優先的に配置されることで、最終的に、パレットPLに積み付ける梱群の上方に比較的軽く底面が小さい梱が配置されるよう積み付けを行うことができる。これにより、複数の梱をより効率的にパレットPLに配置することができるとともに、倒壊しにくい安定した配置でパレットPLに複数の梱を配置することができる。
【0154】
配置先設定部35は、上記仮置きエリア優先配置条件を満たすか否かに基づいて決定される、仮置きエリアへ優先的に配置する梱に関する情報(仮置きエリア優先配置情報)を、予約設定情報DB47に記憶する。具体的には、仮置きエリア優先配置情報は、仮置きエリアへ優先的に配置する梱に付与された梱コードを含む。
【0155】
(ロボット制御信号生成部)
ロボット制御信号生成部36は、積み付け計算部31から出力される積み付け対象の梱Pの配置位置情報、又は、配置先設定部35から出力される予約品に設定されている積み付け対象の梱Pの配置位置情報に基づいて、積み付けロボット9の駆動を制御するロボット制御信号を生成する。上記積み付け対象の梱Pの配置位置情報は、配置先設定部35により設定された配置先設定結果に基づいて生成される情報である。ロボット制御信号生成部36は、生成したロボット制御信号を積み付けロボット9に出力する。
【0156】
<積み付けロボット>
図1に示す例では、積み付けロボット9は、複数のリンク97と、複数のジョイント96と、先端部に取り付けられた把持部となる二爪式のグリッパ91と、を有する垂直多関節ロボットである。
【0157】
図2に示すように、積み付けロボット9は、ロボット駆動ユニット90を有する。当該ロボット駆動ユニット90は、モータと、当該モータを駆動させる駆動回路を有する。当該駆動回路は、情報処理装置1から出力されるロボット制御信号に基づいてモータを駆動する。これにより、グリッパ91の位置姿勢及びグリッパ91の2つの爪の開閉が制御される。梱Pは、グリッパ91の2つの爪によって挟まれて把持され、ベルトコンベヤ92上からパレットPL上又は仮置き用パレットTPL上へと搬送される。
【0158】
尚、本実施形態では、積み付けロボットの把持部が二爪式のグリッパである例にあげたが、これに限定されない。梱Pを把持して搬送可能な把持部であればよく、把持対象の梱の形状、材質、大きさ等によって適宜選択することができる。例えば、把持部が、3本以上の爪を有するグリッパであっても良い。また、例えば、把持部が吸着パッドであってもよく、吸着パッドに梱Pを吸いつけて把持してもよい。尚、吸着パッドは一般に柔軟な素材で形成されるとともに梱を挟持する必要が無いため、梱に傷等を与えにくい利点がある。また、本実施形態では、垂直多関節ロボットを例にあげたが、パラレルリンクロボットであってもよく、梱Pを把持し搬送することが可能なロボットであればよい。
【0159】
<情報処理方法>
情報処理装置1におけるパレットPLへの梱Pの積み付けに係わる情報処理の流れについて
図7~
図12を用いて説明する。
図7~
図12において、「ST」は「ステップ」を意味する。
図7~
図12に示す情報処理は、制御部3が主体となって実行する処理である。また、同じステップには同じステップ番号を付している。
【0160】
[パレットへの梱の積み付けに係わる情報処理の全体の流れ]
図7に示すように、パレットPLへの積み付け処理が開始すると、制御部3は、予約設定情報生成処理(ST1)を実行し、続いて、積み付け処理A(ST5)を実行する。予約設定情報生成処理及び積み付け処理Aについては後述する。
【0161】
順次搬送される複数種類の梱のパレットへの積み付けに際し、
図7に示す積み付け処理が実行されることで、
図4のリストにある梱は、
図16~
図18に示すように、パレットに積み付けられる。
【0162】
[予約設定情報生成処理]
図8を用いて予約設定情報生成処理(ST1)について説明する。予約設定情報生成処理では、ブロックが作成された後、予約設定情報を算出する際の指標を決定する「指標の決定処理」が行われる。続いて、指標の決定処理で決定された指標を用いて、「予約ブロック設定処理」が行われる。
【0163】
図8に示すように、予約設定情報生成処理が開始すると、予約設定情報生成部33は、積み付け指示情報DB43が記憶する積み付け指示情報と、梱マスターDB41が記憶する梱マスター情報等を取得する(ST10)。
【0164】
予約設定情報生成部33は、積み付け指示情報に含まれる出荷梱情報を用いて、梱の搬送順番が異なる50個のダミー搬送パターンを作成する(ST11)。ダミー搬送パターンの作成数は50に限定されず、適宜設定され得る。
【0165】
次に、ブロック作成部32は、出荷梱情報と、梱マスター情報に含まれる梱Pの寸法情報及び重量情報に基づいて、パレットに積み付ける梱を寸法及び重量に応じて複数のグループに分類する(ST12)。本実施形態では、ブロック作成部32は、すでに
図11について説明したように、第1~第12グループの計12個のグループを作成する。
【0166】
次に、ブロック作成部32は、グループ毎に、ブロック作成用最大積み上げ数を設定する(ST8)。
【0167】
次に、ブロック作成部32は、グループ毎に、ブロック作成用最大積み上げ数に関する情報を用いて正数タワーT1及び/又は端数タワーT2を作成する(ST13)。
【0168】
次に、ブロック作成部32は、グループ毎に、作成されたタワーを用いてブロックを作成する(ST14)。本実施形態では、
図13に示すように、計18個のブロックが作成される。
【0169】
次に、ブロック作成部32は、各ブロックの梱数、底面積、体積を算出する(ST15)。
また、ブロック作成部32は、ユーザによる入力操作によって設定された載置面に対する予約エリアの割合yの情報を取得する(ST16)。予約設定情報生成部33は、取得した予約エリアの割合情報に基づいて、載置面20上に予約エリアを設定する。
【0170】
次に、予約設定情報生成部33は、ブロックの梱数を仮指標とし、各ブロックを予約ブロック及び通常ブロックに仮設定して仮の予約設定情報を生成する。そして、積み付け計算部31は、当該仮の予約設定情報を用いて、ダミー搬送パターン毎に、積み付け計算を行う(ST17)。
【0171】
詳細には、予約設定情報生成部33は、各ブロックの梱数を仮指標として各ブロックを降順ソート(梱数が多い順からソート)して、梱数の多い方から順に当該ブロックを予約エリアに割り振り、予約ブロックに仮設定していく。当該予約ブロックの仮設定は、予約ブロックに仮設定したブロックの底面積の合計が、上記予約エリアの面積Yと同じとなるまで、又は、予約エリアの面積Yを超える直前まで行う。予約ブロックに仮設定したブロック以外のブロックは通常ブロックに仮設定する。更に、予約設定情報生成部33は、予約ブロックに設定したブロックのパレットPL上の配置位置を仮設定する。このように、予約設定情報生成部33は、仮の予約設定情報を生成する。続いて、積み付け計算部31は、仮の予約設定情報を用いて、ダミー搬送パターン毎に、積み付け計算を行う。
【0172】
パレットPL上に積み付け対象となる梱が全て積み付けられた場合は積み付け成功となり、全て積み付けられなかった場合は積み付け不成功となる。
【0173】
次に、予約設定情報生成部33は、ブロックの底面積を仮指標とし、ST17と同様の手法で、仮の予約設定情報を生成する。そして、積み付け計算部31は、当該仮の予約設定情報を用いて、ダミー搬送パターン毎に、積み付け計算を行う(ST18)。
【0174】
次に、予約設定情報生成部33は、ブロックの体積を仮指標とし、ST17と同様の手法で、仮の予約設定情報を生成する。積み付け計算部31は、当該仮の予約設定情報を用いて、ダミー搬送パターン毎に、積み付け計算を行う(ST19)。
【0175】
次に、ST20において、予約設定情報生成部33は、ST17~ST19での積み付け計算結果を用いて、仮指標毎に、積み付け成功率を算出する。当該積み付け成功率は、作成したダミー搬送パターン数(ここでは50)に対する、積み付け成功したダミー搬送パターン数の割合である。例えば、積み付け成功のダミー搬送パターンが40あった場合は、積み付け成功率は0.8(80%)となる。
【0176】
更に、ST20において、仮の指標毎に、仮の予約設定情報を用いて、各ダミー搬送パターンで搬送される梱をパレットPLに積み付けたときの空間占有率を算出し、その中央値を算出する。空間占有率は、積み付けた梱の体積の合計の値を、載置面面積(ここでは1100mm×1100mm)と梱が積み付けられたときのパレット全体の最大高さとの積の値で、除することで算出する。空間占有率が高いほど、積み付け安定性が高いといえる。
【0177】
更に、ST20において、仮の指標毎に、仮の予約設定情報を用いて、各ダミー搬送パターンで搬送される梱をパレットPLに積み付けたときの梱群の表面積を算出する。そして、当該梱群の表面積を用いて表面積割合を算出し、その中央値を算出する。表面積割合は、上記梱群の表面積の値を、各梱の表面積の合計の値で、除することで算出する。表面積割合が低いほど、空間利用効率が上がり、積み付け安定性が高いといえる。
【0178】
次に、予約設定情報生成部33は、ST20で算出した積み付け成功率を基準にして、梱数、底面積、体積を降順ソートする(ST21)。
次に、予約設定情報生成部33は、ST20で算出した空間占有率の中央値を基準にして、梱数、底面積、体積を降順ソートする(ST22)。
次に、予約設定情報生成部33は、ST20で算出した表面積の中央値を基準にして、梱数、底面積、体積を昇順ソートする(ST23)。
本実施形態におけるST21~ST23での処理結果を
図14に示す。
【0179】
次に、ST21~ST23の処理結果に基づいて、指標を決定する(ST24)。詳細には、積み付け成功率が最も高い仮指標を指標に決定する。積み付け成功率が最も高い仮指標が複数ある場合は、空間占有率の中央値が最も高い仮指標を指標に決定する。更に、空間占有率の中央値が最も高い仮指標が複数ある場合は、表面積の中央値が最も低い仮指標を指標に決定する。
図14に示すように、本実施形態では、「体積」を指標に決定する。
【0180】
このように、制御部3は、搬送順番が異なる複数の梱のダミー搬送パターンを複数作成し、ブロックに属する梱の数、ブロックの底面積及びブロックの体積それぞれを仮の指標として、当該仮の指標毎に、各ブロックを予約ブロック又は通常ブロックに仮設定して仮の予約設定情報を生成する。そして、仮の指標毎の仮の予約設定情報に基づいて、ダミー搬送パターン毎に積み付け計算を行い、仮の指標毎に積み付け成功率を算出し、積み付け成功率が最も高い仮の指標を指標に決定してもよい。
【0181】
このような構成によれば、積み付け成功率が最も高い仮の指標を指標に決定することで、パレットPLへのオブジェクトの積み付けの成功確率を高めることができる。
【0182】
また、本実施形態のように、制御部3は、仮の指標毎に、仮の予約設定情報を用いて、各ダミー搬送パターンで搬送される梱をパレットPLに積み付けたときの空間占有率を算出し、積み付け成功率が最も高い仮の指標が複数ある場合、空間占有率の中央値が最も高い仮の指標を指標に決定してもよい。
【0183】
このような構成によれば、空間占有率の中央値が高いほど積み付け安定性が高いことを示すので、積み付け成功率が最も高い仮の指標が複数ある場合は、空間占有率の中央値が最も高い仮の指標を指標に決定することで、パレットPLへ高い安定性で梱を積み付けることができる。
【0184】
また、本実施形態のように、制御部3は、仮の指標毎に、仮の予約設定情報を用いて、各ダミー搬送パターンで搬送される複数の梱をパレットPLに積み付けたときの梱群の表面積を算出し、パレットPLに積み付けた各梱の表面積の和に対する上記梱群の表面積の割合を表す表面積割合を算出し、空間占有率の中央値が最も高い仮の指標が複数ある場合、表面積割合の中央値が最も低い仮の指標を指標に決定してもよい。
【0185】
このような構成によれば、表面積割合の中央値が低いほど積み付けの効率が良く、また、積み付け安定性が高いことを示すので、空間占有率の中央値が最も高い仮の指標が複数ある場合は、表面積割合の中央値が最も低い仮の指標を指標に決定することで、パレットPLへの梱の積み付けを効率的に安定性高く行うことができる。
【0186】
以上のように、予約設定情報生成部33は、指標の決定処理(ST17~ST24)で予約設定情報算出の際の指標を決定する。予約設定情報生成部33は、予約設定情報の指標を決定すると、当該指標を基準にして、予約ブロック及び通常ブロックの設定処理(ST40、「予約ブロック設定処理」という。)を行う。
【0187】
予約ブロック設定処理ST40では、ST14で作成した複数のブロックを、決定した指標の数値が大きい順(降順ソート)に、上述の仮の予約設定情報生成と同様の手法で、ブロックを予約エリアに割り振って配置していき、予約ブロックを設定する。
【0188】
以下、予約ブロック設定処理(ST40)について、適宜
図13を参照しながら説明する。本実施形態では、決定した指標が「体積」であるため、指標を「体積」とした場合を例にあげて説明する。尚、指標が、「梱数」又は「面積」であっても、同様の処理が行われる。
【0189】
予約設定情報生成部33は、決定した指標である「体積」の数値が大きい順に、複数のブロックを順に予約ブロックに設定していく(体積の数値については表1参照。)。以下、詳細に説明する。
【0190】
予約設定情報生成部33は、体積の数値が大きいブロックから順に、ブロックを予約ブロックに仮設定し、予約済みブロックの底面積を算出し、当該算出結果が、予約エリアの面積Yよりも小さいか否かを判定する(ST41)。ST41において、指標(ここでは体積)の数値が最も大きいブロックを予約ブロックに仮設定する場合、当該予約ブロックに仮設定したブロックの底面積が、判定時に用いる「予約済みブロックの底面積」となる。ST41において、指標の数値が最も大きいブロック以外のブロックを予約ブロックに仮設定する場合、当該予約ブロックに仮設定したブロックの底面積とこれまでに予約ブロックに本設定したブロックの底面積との和が、「予約済みブロックの底面積」となる。
【0191】
予約設定情報生成部33は、予約エリアの面積Yより小さいと判定すると(ST41に対してYES)、ST42に進む。
【0192】
ST42では、予約設定情報生成部33は、予約ブロックに仮設定していたブロックを予約ブロックに設定する(本設定)。更に、予約設定情報生成部33は、予約ブロックが属するグループの梱のうち、予約ブロックに設定したブロックの梱数分を予約品に設定する。更に、
図15に示すように、載置面20上に予約ブロックの配置位置を設定する。
【0193】
次に、ST41に進む。予約設定情報生成部33は、予約ブロックに設定したブロックの底面積の合計が、予約エリアの面積Yとなるまで、又は、予約エリアの面積Yを越える直前まで、ST41及びST42を繰り返す。
【0194】
予約設定情報生成部33は、予約エリアの面積Yより小さくない、つまり予約エリアの面積Yと同等となる、又は、予約エリアの面積Yを越える、と判定すると(ST41に対してNO)、ST43に進む。
【0195】
ST43では、予約設定情報生成部33は、予約ブロックに設定したブロックの底面積の合計が、予約エリアの面積Yと同じか否かを判定する。
【0196】
予約設定情報生成部33は、予約エリアの面積Yと同じであると判定すると(ST43に対してYES)、予約ブロックに仮設定していたブロックを予約ブロックに設定(本設定)し、残りのブロックを全て通常ブロックに設定(本設定)し(ST44)、ST46に進む。
【0197】
予約設定情報生成部33は、予約エリアの面積Yと同じでないと判定すると(ST43に対してNO)、予約ブロックに仮設定していたブロックを通常ブロックに設定(本設定)し、残りのブロックも通常ブロックに設定(本設定)し(ST45)、ST46に進む。
【0198】
ST46において、予約設定情報生成部33は、設定した予約ブロック、通常ブロック及び予約ブロックのパレットPL上での配置位置に係わる情報(予約設定情報)を予約設定情報DB47に記憶する。
【0199】
本実施形態では、予約設定情報生成部33は、第6グループのfullブロックFBL、第8グループのfullブロックFBL、第7グループのfullブロックFBL、第1グループのfullブロックFBL、第8グループのnot-fullブロックNFBLを予約ブロックに設定する。そして、各グループにおいて、当該グループに属する梱Pのうち、予約ブロックに設定したfullブロックFBL(又はnot-fullブロックNFBL)の梱数分の梱を予約品に設定する。第8グループについては、fullブロックFBL及びnot-fullブロックNFBLのいずれもが予約ブロックに設定されるため、第8グループに属する18の梱全てが予約品に設定される。更に、これとともに、
図15に示すように、予約設定情報生成部33は、パレットPL上に、各予約ブロックの配置位置を設定する。
図15上、予約エリア21Haは第7グループのfullブロックの配置位置、予約エリア21Hbは第7グループのnot-fullブロックの配置位置、予約エリア21Aは第1グループのfullブロックの配置位置、予約エリア21Fは第6グループのfullブロックの配置位置、予約エリア21Gは第7グループのfullブロックの配置位置を示す。各配置位置の平面視での形状及び大きさは、対応するブロックの底面と同じである。
【0200】
尚、本実施形態では、予約ブロックの設定時、予約ブロックに設定したブロックの底面積の合計が、予約エリアの面積Yと同じとなるまで、又は、予約エリアの面積Yを超える直前までを予約ブロックに設定し、その他を通常ブロックに設定したが、これに限定されない。例えば、予約ブロックに設定したブロックの底面積の合計が、予約エリアの面積Yと同じとなるまで、又は、予約エリアの面積Yを初めて超えるときまでを予約ブロックに設定し、その他を通常ブロックに設定してもよい。このように、予約エリアの割合を基準にして予約ブロックを設定することができる。
また、1つ目の予約ブロックの底面積が予約エリアの面積を超える場合は、警告を提示してもよいし、当該予約ブロックの底面積が予約エリアの面積を下回るまで正タワーを1つずつ外していってもよい。この場合、当該外されたタワーは通常ブロックとして扱う。
【0201】
図15に示すように、本実施形態では、パレットPL上に、第1予約エリア群211と、第2予約エリア群212が設けられる。第1予約エリア群211は、予約エリア21Fと、予約エリア21Gと、予約エリア21Haと、予約エリア21Hbの4つの予約エリア21が接して1箇所に集約してなる。第2予約エリア群212は、第1予約エリア群211と離間して位置し、予約エリア21Aからなる。「予約エリア群」は、1以上の各予約ブロックの配置位置に対応する予約エリアから構成される。また、パレットPL上に予約エリア群は1以上あってよい。例えば、
図23に示すように、全ての予約ブロックが1箇所に集約して1つの予約エリア群213を構成するようにしてもよい。
【0202】
[ブロック作成用最大積み上げ数設定処理]
以下、ブロック作成用最大積み上げ数設定処理(
図8におけるST8)について説明する。ここでは、ブロック作成用最大積み上げ数設定処理について、第1例と第2例の2つの例をあげて説明する。第1例及び第2例のいずれの処理方法を用いてもよい。
【0203】
容積率が閾値以上の場合は、第1高さ制限値aを、「積み付け計算時の高さ制限値」及びタワー作成のための「算出用高さ制限値」として採用する。
【0204】
容積率が閾値未満の場合は、第2高さ制限値bを、積み付け計算時の高さ制限値及び算出用高さ制限値として採用する。第2高さ制限値bは、容積率に応じて算出され、具体的には、次の(A)式で算出する。
第2高さ制限値=第1高さ制限値×容積率×所定の係数 …(A)式
式中、所定の係数は1以上の数値であり、例えばここでは1.25とする。また、本実施形態では、第1高さ制限値aは1800mmである。
このように容積率が低い場合は、積み付け計算時の高さ制限値及び算出用高さ制限値を、第1高さ制限値aよりも低い第2高さ制限値bに設定することで、梱を高さ方向に積み上げすぎないように調整することができる。
【0205】
上述したように、本実施形態では、容積率の閾値を0.8とした。
図4のリストにある梱の容積率は0.71であったので、上記(A)式で算出される第2高さ制限値bを算出し、これを積み付け計算時の高さ制限値及びタワー作成のための算出用高さ制限値に用いた。
【0206】
(第1例)
図9を用いて、第1例のブロック作成用最大積み上げ数設定処理について説明する。
【0207】
図9に示すように、ブロック作成用最大積み上げ数設定処理が開始すると、ブロック作成部32は、積載荷重制限及び第1高さ制限値に関する情報を取得する(ST80)。
【0208】
次に、ブロック作成部32は、容積率を算出する(ST81)。次に、ブロック作成部32は、容積率が閾値以上か否かを判定する(ST82)。
【0209】
ブロック作成部32は、閾値以上でないと判定すると(ST82に対してNO)、上記(A)式を用いて、容積率に応じた第2高さ制限値を算出し(ST84)、当該第2高さ制限値を算出用高さ制限値に設定する(ST85)。次に、ブロック作成部32は、グループ毎に、当該グループに属する梱を仮想的に複数積み上げていき、第2高さ制限値を超過しない最大段数まで梱を積み上げたときの段数を、ブロック作成用最大積み上げ数に設定する(ST86)。
【0210】
一方、ブロック作成部32は、閾値以上であると判定すると(ST82に対してYES)、第1高さ制限値を算出用高さ制限値に設定し(ST83)、ブロック作成用最大積み上げ数設定処理(ST9)を実行する。
【0211】
ST9では、グループ毎に、ブロック作成用最大積み上げ数を設定する。ST9では、グループ毎に、グループに属する梱を仮想的に1段ずつ積み上げていき、1段積み上げる毎に、積載荷重制限、第1高さ制限値の順に、積載荷重制限又は第1高さ制限値を超過するか否かを判定し、先に積載荷重制限又は第1高さ制限値を超過したときの超過する直前の積み上げ段数をブロック作成用最大積み上げ数に設定する。
【0212】
ST9の詳細を
図9のフローに従って説明する。ブロック作成部32は、梱を仮想的に1段ずつ積み上げていき(ST90)、もう1段積んだら積載荷重制限を超過するか否かを判定する(ST91)。
【0213】
ブロック作成部32は、超過すると判定すると(ST91に対してYES)、超過直前の積み上げ段数をブロック作成用最大積み上げ数に設定する(ST92)。
一方、ブロック作成部32は、超過しないと判定すると(ST91に対してNO)、ST93に進む。ST93では、ST90の1段積み上げた状態から、もう1段積んだら算出用高さ制限値(第1例においては、第1高さ制限値)を超過するか否かを判定する。
【0214】
ブロック作成部32は、超過すると判定すると(ST93に対してYES)、現在の積み上げ段数をブロック作成用最大積み上げ数に設定する(ST94)。一方、ブロック作成部32は、超過しないと判定すると(ST93に対してNO)、ST90に戻り、ブロック作成用最大積み上げ数が設定されるまで、処理を繰り返す。
【0215】
(第2例)
図10を用いて、第2例のブロック作成用最大積み上げ数設定処理について説明する。ここでは、第1例と異なる点を中心に説明する。
【0216】
第1例では、第1高さ制限値を算出用高さ制限値に設定した場合、ST9の処理を経てブロック作成用最大積み上げ数を算出し、第2高さ制限値を算出用高さ制限値に設定した場合、ST86で当該第2高さ制限値(算出用高さ制限値)を用いてブロック作成用最大積み上げ数を算出した。
【0217】
第2例では、
図10に示すように、第1高さ制限値を算出用高さ制限値に設定した場合、第1例と同様に、ST9の処理を経てブロック作成用最大積み上げ数を算出する。一方、第2高さ制限値を算出用高さ制限値に設定した場合、ST9の処理を経てブロック作成用最大積み上げ数を算出する。このように、第2高さ制限値を算出用高さ制限値に設定した場合、ST9の処理を経てブロック作成用最大積み上げ数を算出してもよい。尚、第2例における第2高さ制限値を算出用高さ制限値に設定した場合のST9の処理を経て算出したブロック作成用最大積み上げ数は、結果的に、第1例のST86での算出結果と同じとなる。
【0218】
[積み付け処理A]
積み付け処理A(
図7におけるST5)は、パレットPLへの梱の積み付け時に実行される。積み付け処理Aは、積み付け対象の梱の配置先の設定処理である。以下、
図11のフローに従って説明する。
【0219】
図11に示すように、積み付け処理Aが開始すると、配置先設定部35は、作業順番情報、予約設定情報DB47に記憶する予約設定情報及び仮置きエリア優先配置情報、積み付け情報DB44に記憶する盤面状況情報、積み付け指示情報DB43に記憶する積み付け指示情報を取得する(ST50)。
【0220】
次に、配置先設定部35は、作業順番情報から積み付け対象の梱種別情報を取得し、予約設定情報に基づいて、当該積み付け対象の梱が予約エリア21に配置する梱であるか否かを判定する(ST51)。換言すると、ST51では、配置先設定部35は、積み付け対象の梱が、予約品か通常品かを判定する。
【0221】
配置先設定部35は、予約エリアに配置する梱(予約品)であると判定すると(S51に対してYES)、積み付け対象の梱の配置先を予約エリア21に設定し(ST52)、積み付け対象の梱の配置位置情報(位置座標)を算出する。
【0222】
配置先設定部35で算出された積み付け対象の梱P(予約品)の配置位置情報は、ロボット制御信号生成部36に出力される。ロボット制御信号生成部36は、配置位置情報を用いて積み付けロボット9の駆動を制御するロボット制御信号を生成し(ST53)、積み付けロボット9に出力する(ST54)。積み付けロボット9は、ロボット制御信号に基づいて駆動し、積み付け対象の梱P(予約品)を、対応する予約エリア21に搬送する。続いて、ST64に進む。
【0223】
配置先設定部35は、積み付け対象の梱が予約エリア21に配置する梱でない、換言すると梱が通常品である、と判定すると(S51に対してNO)、仮置きエリア優先配置情報を用いて、積み付け対象の梱が、仮置きエリア優先配置条件を満たす梱か否かを判定する(ST55)。
【0224】
配置先設定部35は、通常品と判定された積み付け対象の梱が仮置きエリア優先配置条件を満たす梱ではないと判定すると(ST55に対してNo)、ST56に進む。
【0225】
ST56において、配置先設定部35は、盤面状況情報を用いて、積み付け対象の梱を通常エリア22に配置可能か否かを判定する。
【0226】
配置先設定部35は、通常品と判定された積み付け対象の梱を通常エリア22に配置可能であると判定すると(ST56に対してYes)、当該積み付け対象の梱の配置先を通常エリア22に設定する(ST57)。
【0227】
続いて、通常品と判定された積み付け対象の梱の積み付け処理B(ST7)が実行される。当該積み付け処理Bでは、通常エリア22での積み付け対象の梱の配置位置情報の算出、当該算出結果に基づく、積み付けロボットの制御が行われ、積み付け対象の梱は通常エリア22に配置される。ST7については後述する。ST7が終了すると、ST64に進む。
【0228】
配置先設定部35は、通常品と判定された積み付け対象の梱を通常エリア22に配置可能でないと判定すると(ST56に対してNo)、盤面状況情報を用いて、当該積み付け対象の梱を仮置きエリア25に配置可能か否かを判定する(ST59)。
【0229】
配置先設定部35は、通常品と判定された積み付け対象の梱を仮置きエリア25に配置可能であると判定すると(ST59に対してYes)、積み付け対象の梱の配置先を仮置きエリア25に設定する(ST60)。
【0230】
続いて、積み付け処理B(ST7)が実行される。当該積み付け処理Bでは、仮置きエリア25での積み付け対象の梱の配置位置情報の算出、当該算出結果に基づく、積み付けロボットの制御が行われ、積み付け対象の梱は仮置きエリア25に配置される。ST7が終了すると、ST64に進む。
【0231】
配置先設定部35は、通常品と判定された積み付け対象の梱を仮置きエリア25に配置可能でないと判定すると(ST59に対してNo)、ST61に進む。
【0232】
配置先設定部35は、通常品と判定された積み付け対象の梱が仮置きエリア優先配置条件を満たす梱Pであると判定すると(ST55に対してYes)、盤面状況情報を用いて、積み付け対象の梱を仮置きエリア25に配置可能か否かを判定する(ST58)。
【0233】
配置先設定部35は、積み付け対象の梱を仮置きエリア25に配置可能と判定すると(ST58に対してYes)、積み付け対象の梱の配置先を仮置きエリア25に設定する(ST60)。続いて、積み付け対象の梱に対して積み付け処理B(ST7)が実行され、積み付け対象の梱は仮置きエリア25に配置される。
【0234】
一方、配置先設定部35は、通常品と判定された積み付け対象の梱が仮置きエリア25に配置可能でないと判定すると(ST58に対してNo)、盤面状況情報を用いて、積み付け対象の梱を通常エリア22に配置可能か否かを判定する(ST67)。
【0235】
配置先設定部35は、積み付け対象の梱が通常エリア22に配置可能であると判定すると(ST67に対してYES)、積み付け対象の梱の配置先を通常エリア22に設定する(ST57)。その後、積み付け対象の梱に対して積み付け処理B(ST7)が実行され、積み付け対象の梱は通常エリア22に配置される。続いて、ST64に進む。
【0236】
一方、配置先設定部35は、積み付け対象の梱が通常エリア22に配置可能でないと判定すると(ST67に対してNO)、ST61に進む。
【0237】
ST61では、配置先設定部35は、盤面状況情報を用いて、既に仮置きエリア25に配置していた梱を移送して通常エリア22に配置可能か否かを判定する。
【0238】
配置先設定部35は、既に仮置きエリア25に配置していた梱を通常エリア22に配置可能である(移動できる)と判定すると(ST61に対してYes)、仮置きエリアに配置していた梱の配置先を通常エリア22に設定する(ST62)。続いて、仮置きエリア25に配置していた梱に対して積み付け処理B(ST7)が実行され、仮置きエリア25に配置していた梱は通常エリア22に配置される。これにより、パレットPL及び仮置き用パレットTPLでの盤面状況が変わる。
【0239】
その後、配置先設定部35は、盤面状況情報を用いて、積み付け対象の梱を通常エリア22に配置可能か否かを判定する(ST69)。
【0240】
配置先設定部35は、積み付け対象の梱を通常エリア22に配置可能でないと判定すると(ST69に対してNo)、積み付け対象の梱の配置先を仮置きエリア25に設定する(ST60)。続いて、積み付け対象の梱について、積み付け処理B(ST7)が実行され、積み付け対象の梱は仮置きエリア25に配置される。その後、ST64に進む。
【0241】
一方、配置先設定部35は、積み付け対象の梱を通常エリア22に配置可能であると判定すると(ST69に対してYes)、積み付け対象の梱の配置先を通常エリア22に設定する(ST57)。続いて、積み付け対象の梱について、積み付け処理B(ST7)が実行され、積み付け対象の梱は通常エリア22に配置される。その後、ST64に進む。
このように、通常エリア22への配置が可能である場合、積み付け対象の梱の配置先を仮置きエリア25よりも優先的に通常エリア22に設定することで、積み付け対象の梱を確実にパレットPL上に配置することができる。
【0242】
配置先設定部35は、既に仮置き用パレットTPL(仮置きエリア)に配置していた梱を通常エリア22に配置可能でない(移動できない)と判定すると(ST61に対してNo)、予約設定情報生成部33は、予約エリアの設定を全てキャンセルし、予約エリアを通常エリアに変更する(ST63)。これにより、パレットPLには予約エリア21は存在せず、通常エリア22のみが設定されることになる。
これに伴い、予約設定情報生成部33は、積み付け対象の梱の後続の梱のうち予約品に設定していた梱を全て通常品に設定変更する。
また、予約設定情報生成部33は、予約品から通常品への変更、予約エリアから通常エリアの変更に伴い、予約設定情報を更新し、当該更新した予約設定情報を予約設定情報DB47に記憶する(ST66)。
【0243】
その後、ST50に戻り、処理が繰り返されるが、予約設定情報が更新されたことで、ST51では、積み付け対象の梱及びその後続の梱はいずれも予約エリアに配置する梱ではないと判定される。
【0244】
このように、積み付け対象の梱を通常エリアにも仮置きエリアにも配置できない場合、パレットPL上の予約エリアの設定を解除して通常エリアに設定変更することで、積み付け対象の梱の配置先を確保することができる。
【0245】
ST64では、配置先設定部35は、搬送順番情報及び積み付け指示情報を用いて、積み付け残りの梱があるか否かを判定する。
【0246】
配置先設定部35は、積み付け残りの梱があると判定すると(ST64に対してYes)、盤面状況情報を更新し、更新した盤面状況情報を積み付け情報DB44に記憶する(ST65)。その後、配置先設定部35は、ST50に戻り、積み付け残りの梱がなくなるまで処理を繰り返す。
【0247】
配置先設定部35は、積み付け残りの梱がないと判定すると(ST64に対してNo)、仮置きエリア25に配置されている梱の配置先を通常エリア22に設定し(ST68)、仮置きエリア25に配置していた梱に対して積み付け処理B(ST7)が実行され、仮置きエリア25に配置していた梱は通常エリア22に配置され、積み付け処理Aが終了する。
【0248】
[積み付け処理B]
積み付け処理B(
図7、
図11のST7に対応する)は、通常エリアと仮想エリアへの梱の積み付けに実行される。積み付け処理Bでは、積み付け対象の梱のパレットPL上の通常エリアでの配置位置情報及び仮想エリアでの配置位置情報が算出される。
【0249】
図12に示すように、積み付け処理Bが開始すると、積み付け計算部31は、積み付け計算用パラメータテーブルDB46に記憶する評価関数情報、梱マスターDB41に記憶する梱マスター情報、作業順番情報、積み付け情報DB44に記憶する盤面状況情報を取得する(ST70)。
【0250】
次に、積み付け計算部31は、取得した各種情報を用いて、積み付け対象の梱の配置位置情報を算出する(ST71)。配置先設定部35で設定された配置先設定結果情報が通常エリア又は仮置きエリアであると、当該配置先設定結果情報が配置先設定部35から積み付け計算部31に出力されて、ST71の処理が実行される。積み付け計算部31は、算出した配置位置情報をロボット制御信号生成部36に出力する。
【0251】
次に、ロボット制御信号生成部36は、梱の配置位置情報に基づいて、積み付けロボット9を駆動するロボット制御信号を生成し(ST72)、当該ロボット制御信号を積み付けロボット9に出力する(ST73)。
【0252】
<作用効果>
以上のように、本発明の情報処理システムの制御部は、複数のオブジェクト(梱)の荷役台(パレット)への積み付けに際し、複数のオブジェクトを寸法及び重量に応じて複数のブロックに分類し、複数のブロックのうち一部のブロックを、荷役台上での配置位置が予定される予約ブロックに設定する。
【0253】
このような構成とすることで、同一の予約ブロックに属する寸法及び重量の差異が閾値以下のオブジェクト同士が集約して配置されるスペースを荷役台上に予約エリアとして確保することができる。これにより、寸法及び/又は重量が異なる複数種類のオブジェクトを効率的に荷役台に配置することができ、後続の積み付け対象のオブジェクトを荷役台に配置することができる確率をより高めることができる。
【0254】
更に、上記制御部は、ブロックの作成にあたって、複数のオブジェクトをグループ化し、グループ毎にブロック作成用最大積み上げ数を設定し、当該ブロック作成用最大積み上げ数を用いて正数タワー及び/又は端数タワーを作成し、これらのタワーを用いてfullブロック及び/又はnot-fullブロックを作成する。当該ブロックは、予約ブロックを設定していくにあたっての基準単位となる。ブロック作成用最大積み上げ数は、オブジェクトの数、オブジェクトの寸法、積載荷重制限及び第1高さ制限値に関する情報を用いて設定される。ブロック作成用最大積み上げ数は、仮想的にオブジェクトを積み上げる際のオブジェクトの最大積み上げ数である。
このように、オブジェクトを仮想的に積み上げて、予約ブロック設定時の基準単位となるブロックを作成するにあたって、オブジェクトの数、オブジェクトの寸法、積載荷重制限及び第1高さ制限値に関する情報を用いて設定されたブロック作成用最大積み上げ数を用いることで、高さ方向にオブジェクトを積み上げすぎないように調整することができ、安定した積み付けを行うことができる。
【0255】
<変形例>
以上、本発明の実施形態について説明したが、本発明は上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0256】
[変形例1]
上述の実施形態では、パレットPLへの梱Pの積み付けが積み付けロボット9により行われる例を挙げたが、作業者によって行われてもよい。
【0257】
例えば、制御部3は、予約設定情報に基づいて、
図15に示すような各予約ブロックの配置位置となる予約エリア21の位置が示されるパレットPLの平面図と、各予約エリア21に配置する梱Pの種類情報(例えば、梱に収容されている製品の名前など)と、その数情報を示す画像情報を生成し、当該画像情報を表示部16に表示させてもよい。作業者は、表示部16に表示される画像を参照しながら、予め配置先が確定された予約品を予約エリアに配置することができる。これにより、作業者の積み付けに対するスキルが不足していても、効率的な積み付けが可能となる。
【0258】
また、上記画像情報に、実際にパレットPLに積み付けた情報が反映されてもよい。例えば、予約エリアに配置する梱の数情報において、当該予約エリアにあと何段積めるかの情報が表示されるようにしてもよい。ある予約エリアに10個の梱を積み上げる場合、積み付け開始時は10が表示され、1個積み上げられるたびに、数字が1ずつ減っていくことで、後何段積めばよいかを把握しやすい。
【0259】
また、制御部3は、予約設定情報に基づいて、上記画像情報に加え、或いは、替えて、音声情報を生成し、当該音声情報をスピーカ等の音声出力部を用いて出力させてもよい。音声情報は、例えば、積み付け対象の梱が予約品であるか通常品であるかの情報、積み付け対象の梱が予約品である場合は当該予約品を配置する予約エリアの位置情報等を含んでいてもよい。このように画像情報に加えて、又は、替えて、音声情報による積み付け指示がなされてもよい。
【0260】
また、制御部は、予約設定情報に基づいて、上記画像情報に加えて、或いは、替えて、予約エリア21の位置を示す映像情報を生成し、当該映像情報をパレットPL上に投影させてもよい。
【0261】
このように、予約設定情報を用いて、画像情報、音声情報、投影用の映像情報などを生成し、作業者に対して、積み付け作業の支援を行ってもよい。
【0262】
[変形例2]
上述の実施形態では、荷役台として平パレットを例にあげたが、これに限定されない。荷役台は大きさが限定された載置面を有していればよく、例えばボックスパレット、ロールボックスパレット、ポストパレット、台車等であってもよい。また、室内の一部のエリアを荷役台として機能させ、オブジェクトの整頓に本発明を適用してもよい。
また、上述の実施形態では、仮置きエリアを仮置き用パレットに設ける例をあげたが、これに限定されない。例えば、仮置き用パレットを配置せず、所定の面積の載置面を有する地面を仮置きエリアとしてもよい。
また、上述の実施形態では、オブジェクトとして、略直方体の段ボール等の梱を例にあげたが、梱の形状は略直方体に限定されず、他の形状の梱に本発明を適用してもよい。
【0263】
[変形例3]
上述の実施形態では、1つの出荷先に対して必要なパレットPLの数が1つである場合を例に挙げて説明したが、1つの出荷先に対して必要なパレットPLの数が複数であってもよい。
【0264】
例えば、パレットPLの数が複数あり、パレット毎に当該パレットに積み付ける梱情報が取得される場合、各パレットPLに対して、本発明に係わる予約設定情報生成処理及び設定した予約設定情報を用いた積み付け処理を行ってもよい。
【0265】
また、例えば、パレットPLの数が複数ある場合であって、パレット毎に積み付ける梱情報が得られない場合、本発明に係わる予約設定情報生成処理及び設定した予約設定情報を用いた積み付け処理を、最後のパレットLast PLに対してのみ行うようにしてもよい。最後のパレットLast PLへの積み付けに割り振られる梱情報は、出荷梱情報から最後のパレットLast PLの直前のパレットまでに積み付けた梱分を除くことで、得ることができる。このような構成とすることで、梱のパレットへの効率的な積み付けの効果を最大限に発揮させることができる。
【0266】
[変形例4]
上述の実施形態では、予約設定情報を取得するために用いる指標を、ブロックに属する梱の数、ブロックの底面積及びブロックの体積の3つの選択肢から1つ選択する例をあげたが、これに限定されない。例えば、梱数と底面積の2つの選択肢、梱数と体積の2つの選択肢、又は、底面積と体積の2つの選択肢から、指標となる1つを選択するようにしてもよい。
このように、梱数、底面積及び体積のうち2以上を含む選択肢から、梱数、底面積及び体積のいずれか1つを指標として決定するようにしてもよい。
【0267】
[変形例5]
上述の実施形態では、情報処理システム100が、自動倉庫制御サーバ6、出荷管理サーバ7、情報処理装置(積み付け用サーバ)1といった複数のサーバによって構成される例をあげたが、例えば1台のサーバで構成してもよい。
また、逆に、制御部3は、1つの情報処理装置である必要はなく、複数の情報処理装置が一体となって、制御部3の動作を行う構成でもよい。
【0268】
また、上述の実施形態では、情報処理装置1が制御部3と記憶部4を有する例をあげたが、記憶部4に含まれるDBユニット40が情報処理装置1とは異なる別個のサーバで構成されていてもよい。また、情報処理装置1のDBユニット40と、出荷管理サーバ7の各種DB73~75と、自動倉庫制御サーバ6の作業順番情報DB63が、1台のサーバで構成されてもよいし、複数のサーバで構成されてもよい。
【符号の説明】
【0269】
3…制御部
21…予約エリア
100…情報処理システム
FBL…ブロック、fullブロック
NFBL…ブロック、not-fullブロック
P…梱(オブジェクト)
PL…パレット(荷役台)