IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社豊田自動織機の特許一覧 ▶ 独立行政法人産業技術総合研究所の特許一覧

特開2023-177582荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム
<>
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図1
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図2
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図3
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図4
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図5
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図6
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図7
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図8
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図9
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図10
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図11
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図12
  • 特開-荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023177582
(43)【公開日】2023-12-14
(54)【発明の名称】荷姿決定システム、荷姿決定方法、及び荷姿決定プログラム
(51)【国際特許分類】
   B65G 57/22 20060101AFI20231207BHJP
【FI】
B65G57/22
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022090322
(22)【出願日】2022-06-02
(71)【出願人】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【弁理士】
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【弁理士】
【氏名又は名称】中山 浩光
(74)【代理人】
【識別番号】100162640
【弁理士】
【氏名又は名称】柳 康樹
(72)【発明者】
【氏名】井上 祐太
(72)【発明者】
【氏名】小出 幸和
(72)【発明者】
【氏名】岡本 浩伸
(72)【発明者】
【氏名】音田 弘
(72)【発明者】
【氏名】吉田 英一
【テーマコード(参考)】
3F029
【Fターム(参考)】
3F029AA03
3F029BA01
3F029CA21
3F029DA01
(57)【要約】
【課題】荷物を積み付ける過程で局面に応じた積み付けを実現する。
【解決手段】荷姿決定システム1は、輸送箱6内における荷物3の荷姿を決定するための荷姿決定システム1であって、荷物3に関する荷物情報を生成する荷物情報生成部11と、荷物情報に基づいて、輸送箱6内における荷物3の荷姿を演算する荷姿演算部13と、荷物3の荷姿の評価値を取得する評価値取得部14と、評価値に基づいて、輸送箱6内における荷物3の荷姿を決定する荷姿決定部16と、を備え、荷姿決定部16は、第1段階において、所定の第1決定数と等しい数の荷姿を決定し、第1段階の後の第2段階において、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する。
【選択図】図2
【特許請求の範囲】
【請求項1】
収容体内における荷物の荷姿を決定するための荷姿決定システムであって、
前記荷物に関する荷物情報を生成する荷物情報生成部と、
前記荷物情報に基づいて、前記収容体内における前記荷物の荷姿を演算する荷姿演算部と、
前記荷物の荷姿の評価値を取得する評価値取得部と、
前記評価値に基づいて、前記収容体内における前記荷物の荷姿を決定する荷姿決定部と、を備え、
前記荷姿決定部は、
第1段階において、所定の第1決定数と等しい数の荷姿を決定し、
前記第1段階の後の第2段階において、前記第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する、
荷姿決定システム。
【請求項2】
前記荷姿決定部は、前記第2段階の後の第3段階において、前記第2決定数とは異なる所定の第3決定数と等しい数の荷姿を決定し、
前記第2決定数は、前記第1決定数及び前記第3決定数よりも大きい、
請求項1記載の荷姿決定システム。
【請求項3】
前記評価値取得部は、
第1評価段階において、少なくとも1つの評価関数からなる第1評価関数群に基づいて前記評価値を取得し、
前記第1評価段階の後の第2評価段階において、前記第1評価段階における結果と、前記第1評価関数群の前記評価関数とは異なる評価関数からなる第2評価関数群とに基づいて前記評価値を取得し、
前記荷姿決定部は、前記第2評価段階における結果に基づいて、前記荷物の荷姿を決定する、
請求項1又は2記載の荷姿決定システム。
【請求項4】
予め設定された複数の評価関数から前記評価値の取得に用いられる前記評価関数を選択する評価関数選択部をさらに備え、
前記評価値取得部は、選択された前記評価関数に基づいて前記評価値を取得する、
請求項1又は2記載の荷姿決定システム。
【請求項5】
収容体内における荷物の荷姿を決定するための荷姿決定方法であって、
前記荷物に関する荷物情報を生成するステップと、
前記荷物情報に基づいて、前記収容体内における前記荷物の荷姿を演算するステップと、
前記荷物の荷姿の評価値を取得するステップと、
前記評価値に基づいて、前記収容体内における前記荷物の荷姿を決定するステップと、を備え、
前記決定するステップは、
所定の第1決定数と等しい数の荷姿を決定する第1ステップと、
前記第1ステップの後に、前記第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する第2ステップと、を含む、
荷姿決定方法。
【請求項6】
収容体内における荷物の荷姿を決定するための荷姿決定プログラムであって、
前記荷物に関する荷物情報を生成するステップと、
前記荷物情報に基づいて、前記収容体内における前記荷物の荷姿を演算するステップと、
前記荷物の荷姿の評価値を取得するステップと、
前記評価値に基づいて、前記収容体内における前記荷物の荷姿を決定するステップと、を制御部に実行させ、
前記決定するステップは、
所定の第1決定数と等しい数の荷姿を決定する第1ステップと、
前記第1ステップの後に、前記第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する第2ステップと、を含む、
荷姿決定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、荷姿決定システム、荷姿決定方法、及び荷姿決定プログラムに関する。
【背景技術】
【0002】
特許文献1には、積付面上に積み付けるべき物品の数として予め定めた数と、積付面上に積み付けようとする物品の数とを比較し、予め定めた数より少ないか否かを判断する第1工程と、第1工程により予め定めた数より少ないと判断された端数物品について演算し、予め定めた数により形成される平面積より小さく、かつ積付面の半分以上の平面積を形成する特定形状を形成する端数物品を決定する第2工程と、この第2工程により決定された物品の数分、物品を積み付ける第3工程と、を備える荷積み方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9-183519号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した荷積み方法では、パレット上の積付平面の面積、端数物品の数及び端数物品の縦横寸法に基づいて、パレット上に物品を積み付ける。特許文献1では、積み付けの開始から終了まで同様の処理を繰り返すことにより、効率的にパレット上のスペースに効率的に物品を積み上げることができるとされている。
【0005】
一方で、収容体内における荷姿を決定する過程において、荷物の積み付けの好適な態様は局面に応じて変化し得る。このため、荷物を積み付けるための好適な戦略が局面に応じて異なる可能性がある。したがって、荷物を積み付ける過程で局面に応じた積み付けを実現することが求められていた。
【0006】
本発明は、上記課題の解決のためになされたものであり、荷物を積み付ける過程で局面に応じた積み付けを実現することができる荷姿決定システム、荷姿決定方法及び荷姿決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係る荷姿決定システムは、収容体内における荷物の荷姿を決定するための荷姿決定システムであって、荷物に関する荷物情報を生成する荷物情報生成部と、荷物情報に基づいて、収容体内における荷物の荷姿を演算する荷姿演算部と、荷物の荷姿の評価値を取得する評価値取得部と、評価値に基づいて、収容体内における荷物の荷姿を決定する荷姿決定部と、を備え、荷姿決定部は、第1段階において、所定の第1決定数と等しい数の荷姿を決定し、第1段階の後の第2段階において、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する。
【0008】
この荷姿決定システムでは、第1段階において、所定の第1決定数と等しい数の荷姿を決定し、第1段階の後の第2段階において、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する。この場合、第1段階及び第1段階の後の第2段階において、評価値に基づいて決定する荷姿の数を変化させる。これにより、積み付けの局面に応じて決定する荷姿の数を変化させることができる。したがって、荷物を積み付ける過程で局面に応じた積み付けを実現することができる。
【0009】
荷姿決定部は、第2段階の後の第3段階において、第2決定数とは異なる所定の第3決定数と等しい数の荷姿を決定し、第2決定数は、第1決定数及び第3決定数よりも大きくてもよい。この場合、第1段階の後の第2段階において、第1決定数よりも大きい第2決定数と等しい数の荷姿を決定し、第2段階の後の第3段階において、第2決定数よりも小さい第3決定数と等しい数の荷姿を決定する。このとき、第2段階においては、評価値に基づいて第1段階よりも多くの荷姿を決定するため、第1段階よりも多くの荷姿を広く探索することができる。また、第3段階においては、評価値に基づいて第2段階よりも少ない荷姿を決定するため、荷姿の決定に要する計算量が増大することを抑制できる。加えて、第1段階及び第2段階の後の第3段階においては、積み付けを行う荷物の数が少なくなるため、演算される荷姿の数が少なくなる。このため、第2決定数よりも小さい第3決定数と等しい数の荷姿を決定した場合でも、好適な荷姿を決定することができる。以上より、計算量の増大を抑制しつつ、荷姿を広く探索することができる。
【0010】
評価値取得部は、第1評価段階において、少なくとも1つの評価関数からなる第1評価関数群に基づいて評価値を取得し、第1評価段階の後の第2評価段階において、第1評価段階における結果と、第1評価関数群の評価関数とは異なる評価関数からなる第2評価関数群とに基づいて評価値を取得し、荷姿決定部は、第2評価段階における結果に基づいて、荷物の荷姿を決定してもよい。この場合、例えば、第1評価段階において第1評価関数群に基づいて評価値を取得した結果、所定の要件を満たす荷姿について、第2評価段階において第2評価関数群に基づいて評価値を取得する。そして、第2評価段階における結果に基づいて荷物の荷姿を決定する。よって、一の評価関数群のみに基づいて評価値を取得して荷物の荷姿を決定する場合に比べ、所定の要件を満たした荷姿を一層確実に決定することができる。
【0011】
荷姿決定システムは、予め設定された複数の評価関数から評価値の取得に用いられる評価関数を選択する評価関数選択部をさらに備え、評価値取得部は、選択された評価関数に基づいて評価値を取得してもよい。この場合、予め設定された複数の評価関数の全てを用いて評価値を取得する場合に比べ、計算量を低減することができる。
【0012】
本発明の一態様に係る荷姿決定方法は、収容体内における荷物の荷姿を決定するための荷姿決定方法であって、荷物に関する荷物情報を生成するステップと、荷物情報に基づいて、収容体内における荷物の荷姿を演算するステップと、荷物の荷姿の評価値を取得するステップと、評価値に基づいて、収容体内における荷物の荷姿を決定するステップと、を備え、決定するステップは、所定の第1決定数と等しい数の荷姿を決定する第1ステップと、第1ステップの後に、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する第2ステップと、を含む。
【0013】
本発明の一態様に係る荷姿決定プログラムは、収容体内における荷物の荷姿を決定するための荷姿決定プログラムであって、荷物に関する荷物情報を生成するステップと、荷物情報に基づいて、収容体内における荷物の荷姿を演算するステップと、荷物の荷姿の評価値を取得するステップと、評価値に基づいて、収容体内における荷物の荷姿を決定するステップと、を制御部に実行させ、決定するステップは、所定の第1決定数と等しい数の荷姿を決定する第1ステップと、第1ステップの後に、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する第2ステップと、を含む。
【0014】
これらの荷姿決定方法及び荷姿決定プログラムによれば、上述の荷姿決定システムと同様な効果を得ることができる。
【0015】
すなわち、本発明の要旨は以下の[1]~[6]に存する。
[1]収容体内における荷物の荷姿を決定するための荷姿決定システムであって、荷物に関する荷物情報を生成する荷物情報生成部と、荷物情報に基づいて、収容体内における荷物の荷姿を演算する荷姿演算部と、荷物の荷姿の評価値を取得する評価値取得部と、評価値に基づいて、収容体内における荷物の荷姿を決定する荷姿決定部と、を備え、荷姿決定部は、第1段階において、所定の第1決定数と等しい数の荷姿を決定し、第1段階の後の第2段階において、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する、荷姿決定システム。
[2]荷姿決定部は、第2段階の後の第3段階において、第2決定数とは異なる所定の第3決定数と等しい数の荷姿を決定し、第2決定数は、第1決定数及び第3決定数よりも大きい、[1]記載の荷姿決定システム。
[3]評価値取得部は、第1評価段階において、少なくとも1つの評価関数からなる第1評価関数群に基づいて評価値を取得し、第1評価段階の後の第2評価段階において、第1評価段階における結果と、第1評価関数群の評価関数とは異なる評価関数からなる第2評価関数群とに基づいて評価値を取得し、荷姿決定部は、第2評価段階における結果に基づいて、荷物の荷姿を決定する、[1]又は[2]記載の荷姿決定システム。
[4]予め設定された複数の評価関数から評価値の取得に用いられる評価関数を選択する評価関数選択部をさらに備え、評価値取得部は、選択された評価関数に基づいて評価値を取得する、[1]~[3]のいずれかに記載の荷姿決定システム。
[5]収容体内における荷物の荷姿を決定するための荷姿決定方法であって、荷物に関する荷物情報を生成するステップと、荷物情報に基づいて、収容体内における荷物の荷姿を演算するステップと、荷物の荷姿の評価値を取得するステップと、評価値に基づいて、収容体内における荷物の荷姿を決定するステップと、を備え、決定するステップは、所定の第1決定数と等しい数の荷姿を決定する第1ステップと、第1ステップの後に、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する第2ステップと、を含む、荷姿決定方法。
[6]収容体内における荷物の荷姿を決定するための荷姿決定プログラムであって、荷物に関する荷物情報を生成するステップと、荷物情報に基づいて、収容体内における荷物の荷姿を演算するステップと、荷物の荷姿の評価値を取得するステップと、評価値に基づいて、収容体内における荷物の荷姿を決定するステップと、を制御部に実行させ、決定するステップは、所定の第1決定数と等しい数の荷姿を決定する第1ステップと、第1ステップの後に、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する第2ステップと、を含む、荷姿決定プログラム。
【発明の効果】
【0016】
本発明によれば、荷物を積み付ける過程で局面に応じた積み付けを実現することができる。
【図面の簡単な説明】
【0017】
図1】本発明の実施形態に係る荷姿決定システムが適用される作業場の様子を示す概略図である。
図2】本発明の実施形態に係る荷姿決定システムの機能構成を示すブロック図である。
図3図2に示された評価関数選択部の機能構成を示すブロック図である。
図4図2に示された評価値取得部の機能構成を示すブロック図である。
図5】本発明の実施形態に係る荷姿決定システムのハード構成を示すブロック図である。
図6】本発明の実施形態に係る荷姿決定方法を示すフローチャートである。
図7図6に示された評価関数選択処理を示すフローチャートである。
図8図6に示された評価値取得処理を示すフローチャートである。
図9図2に示された決定数判定部の機能構成を示すブロック図である。
図10】決定数を変更するか否かを判定する方法を示すフローチャートである。
図11】本発明の実施形態に係る荷姿決定システムに対して入出力される情報を示す概略的な図である。
図12】荷姿を決定する過程の一例を示す概略的な図である。
図13図12に示された荷姿を決定する過程の一部を示す概略的な図である。
【発明を実施するための形態】
【0018】
以下、図面を参照しながら、本発明の一側面に係る荷姿決定システム、荷姿決定方法、及び荷姿決定プログラムの好適な実施形態について詳細に説明する。
【0019】
まず、本実施形態に係る荷姿決定システム1が用いられる態様について説明する。
【0020】
図1は、本発明の実施形態に係る荷姿決定システム1が適用される作業場Aの様子を示す概略図である。図1に示すように、作業場Aでは、一例として、荷物3がコンベア4によって作業員5の元に搬送される。また、作業員5は、荷物3を輸送箱6(収容体)内に積み付ける。荷物3が積み付けられた輸送箱6は、例えばトラック等の輸送機器によって配送先に配送される。荷物3の配送先は、一例として、スーパーマーケット等の小売店舗である。
【0021】
荷物3は、一例として、上述の小売店舗で販売される商品等、当該商品等が収容された段ボール箱等の包装用箱である。荷物3は、輸送箱6に収容されて輸送されるものであればよく、形状、種類、大きさ等は特に限定されない。輸送箱6内に配置される荷物3の数は、特に限定されないが、一例として30である。
【0022】
荷姿決定システム1は、輸送箱6内における荷物3の荷姿を決定する。荷姿決定システム1は、後述の処理を行うことにより、荷物3を効率的に輸送箱6内に積み付けることができるように、輸送箱6内における荷物3の荷姿を決定する。ここで「荷姿」とは、輸送箱6内における荷物3の配置をいう。荷姿決定システム1は、決定した荷姿を出力する出力部7に通信可能に接続されている。出力部7は、一例として、荷物3の荷姿を表示するモニタである。ただし、出力部7による情報の出力態様は特に限定されず、出力部7は音声や、指示書のプリントアウトなどによって、荷姿を出力してもよい。本実施形態において、作業員5は、荷姿決定システム1によって決定された荷姿を出力部7を介して確認すると共に、決定された荷姿となるように輸送箱6に荷物3を積み付ける。
【0023】
続いて、本実施形態に係る荷姿決定システム1の動作の概要について説明する。
【0024】
図11は、本発明の実施形態に係る荷姿決定システム1に対して入出力される情報を示す概略的な図である。図11に示されるように、荷姿決定システム1は、例えば、ユーザにより荷物3のID(Identification)に関する情報を入力される。荷物3のIDに関する情報は、例えば、荷物3の種類に関する情報を含む。すなわち、荷姿決定システム1は、例えばユーザによる入力を受け付けることにより、輸送箱6内に積み付けられる荷物3の個数及び種類に関する情報を取得する。また、荷姿決定システム1は、輸送箱6内における荷物3の荷姿(図11では、最終決定した荷姿)を決定すると共に、当該荷姿をユーザに向けて出力する。
【0025】
図12は、荷姿を決定する過程の一例を示す概略的な図である。図12は、荷姿決定システム1が最終決定した荷姿(図11参照)を決定する過程の一例を示している。図12に示されるように、荷姿決定システム1は、輸送箱6内における荷物3の荷姿を決定する過程における、各手番における荷姿を順次演算する。「手番」とは、輸送箱6内に荷物3を積み付ける際の順番を言う。例えば、荷物3が配置されていない輸送箱6内に、未配置の荷物3のうち1つ目の演算対象の荷物3を積み付ける場合、荷物3を積み付ける手番は、1である。
【0026】
荷姿決定システム1は、手番ごとに候補荷姿を演算する。「候補荷姿」とは、手番ごとに決定される荷姿の候補を言う。荷姿決定システム1は、演算された候補荷姿の評価値を取得することで、その手番における決定荷姿を決定する。「決定荷姿」とは、候補荷姿のうち、評価値に基づいて決定される荷姿を言う。本実施形態では、荷姿決定システム1は、候補荷姿のうち、高い評価値を有する複数(或いは1つ)の荷姿を決定荷姿として決定する。
【0027】
荷姿決定システム1は、決定した決定荷姿に対して、積付情報を複数生成する。「積付情報」とは、次の手番において、輸送箱6内に積み付けられる荷物3のうち、一の荷物3をどのように積み付けるかについての情報を含む。本実施形態では、積付情報は、輸送箱6内に積み付けられる当該一の荷物3の種類、輸送箱6内における位置及び方向に関する情報を含む。
【0028】
図12に示される楕円のそれぞれは、1つの積付情報を示している。図12の例では、最も左側に示された楕円は、荷物3が配置されていない輸送箱6についての積付情報を示している。荷姿決定システム1は、輸送箱6内に1つ目の荷物3を積み付ける手番(図12では「手番1」と記載)において、荷物3が配置されていない輸送箱6についての積付情報に基づいて、輸送箱6内に一の荷物3を積み付けたときの荷姿を候補荷姿として演算する。図12の例では、荷姿決定システム1は、1つの積付情報に基づいて、4つの候補荷姿を演算する。
【0029】
続いて、荷姿決定システム1は、4つの候補荷姿のうち、高い評価値を有する候補荷姿を当該手番における決定荷姿として決定する。図12では、決定荷姿として決定された荷姿に関する積付情報を示す楕円には、グレースケールが付されている。このとき、荷姿決定システム1は、所定の決定数と等しい数の決定荷姿を決定する。当該決定数は、決定荷姿を決定する段階に応じて変化する。
【0030】
続いて、荷姿決定システム1は、手番1において決定された決定荷姿に関する積付情報に基づいて、2つ目の荷物3を輸送箱6内に積み付けたときの荷姿を候補荷姿として演算する。以上の動作を繰り返すことにより、荷姿決定システム1は、手番6において、2つの決定荷姿を決定する。
【0031】
以上説明したように、荷姿決定システム1は、輸送箱6内に配置される荷物3のうち、いずれの荷物3をどのような配置で、どのような順序で輸送箱6内に積み付けるかを演算する。そして、荷姿決定システム1は、最終決定した荷姿を作業員5に対して出力する。
【0032】
続いて、本実施形態に係る荷姿決定システム1の構成について説明する。
【0033】
図2は、本発明の実施形態に係る荷姿決定システム1の機能構成を示すブロック図である。図2に示されるように、荷姿決定システム1は、荷物情報生成部11と、評価関数選択部12と、荷姿演算部13と、評価値取得部14と、決定数判定部15と、荷姿決定部16と、を備える。なお、これらの構成は、1台のコンピュータにまとめられていてもよく、複数台のコンピュータに分散していてもよい。また、これらの構成は、スマートフォン、タブレットといった携帯端末にまとめられていてもよい。
【0034】
荷物情報生成部11は、荷物3に関する荷物情報を生成する。「荷物情報」とは、輸送箱6内における荷物3の荷姿を決定するための基礎となる情報である。より具体的には、荷物情報は、荷物3の種類、個数、寸法、及び重量に関する情報である。荷物3の寸法とは、荷物3の縦寸法、横寸法、及び高さ寸法を含む。本実施形態では、荷物情報生成部11は、荷物3の種類に応じた寸法、及び重量に関する情報を予め記憶している。荷物情報生成部11は、例えば、ユーザにより入力された荷物3のIDに関する情報と、荷物3の種類に応じた寸法、及び重量に関する情報とを紐づけることにより、荷物情報を生成する。
【0035】
評価関数選択部12は、予め設定された複数の評価関数から所定の評価関数を選択する。評価関数とは、評価値を取得する際に用いられる関数である。評価関数選択部12は、後述の処理で評価値の取得に用いられる評価関数を選択する。評価関数選択部12の詳細については、後述する。
【0036】
荷姿演算部13は、荷物情報に基づいて、輸送箱6内における荷物3の荷姿を演算する。荷姿演算部13は、演算対象の荷物3を積み付ける手番ごとに輸送箱6内における荷物3の荷姿を演算する。荷姿演算部13は、演算対象の荷物3の種類、輸送箱6内における位置及び方向ごとに、輸送箱6内における荷物3の荷姿を演算する。
【0037】
評価値取得部14は、輸送箱6内における荷物3の荷姿の評価値を取得する。評価値取得部14は、荷姿演算部13によって演算された荷物3の荷姿ごとに評価値を取得する。換言すれば、評価値取得部14は、荷物3を積み付ける手番ごとに荷姿の評価値を取得する。例えば、図13の例では、評価値取得部14は、手番1における積付情報A1a~A1dの候補荷姿のそれぞれについて、評価値を取得する。評価値取得部14は、評価関数選択部12により選択された所定の評価関数からなる評価関数群に基づいて荷姿の評価値を取得する。評価値取得部14の詳細については、後述する。
【0038】
決定数判定部15は、荷姿の決定数を変更するか否かを判定する。決定数とは、後述する荷姿決定部16により決定される荷姿の数である。決定数判定部15の詳細については、後述する。
【0039】
荷姿決定部16は、評価値に基づいて、輸送箱6内における荷物3の荷姿を決定する。荷姿決定部16は、荷物3を積み付ける手番ごとに荷姿を決定する。換言すれば、荷姿決定部16は、荷物3の種類、輸送箱6内における位置及び方向ごとに、輸送箱6内における荷物3の荷姿を決定する。荷姿決定部16は、評価値取得部14により取得された評価値に基づいて、所定の決定数と等しい数の荷姿を決定する。例えば、図12の例では、荷姿決定部16は、積付情報A1a~A1dの候補荷姿のそれぞれについて取得された評価値に基づいて、積付情報A1a,A1dの候補荷姿を決定荷姿として決定する。荷姿決定部16は、後述する第2評価段階における結果に基づいて、荷物3の荷姿を決定する。
【0040】
図3は、図2に示された評価関数選択部12の機能構成を示すブロック図である。図3に示されるように、評価関数選択部12は、評価関数取得部21と、評価値算出部22と、リスト生成部23と、第1ループ判定部24と、成分解析部25と、第2ループ判定部26と、評価関数決定部27とを有する。
【0041】
評価関数取得部21は、予め設定された評価関数を取得する。当該評価関数は、例えば、ユーザにより予め入力される。本実施形態では、評価関数取得部21は、以下説明する評価関数XA~XNを取得する。
【0042】
評価関数XAは、重心の高さに関する評価関数である。評価関数XAは、例えば、輸送箱6の底面から、輸送箱6内における荷物3の重心までの距離を評価指標として含む。荷物3の重心の高さが低い程、荷物3の重心の位置が低いこととなり、より安定性に優れた荷姿であると言える。
【0043】
評価関数XBは、荷物3を積み付ける高さに関する評価指標である。評価関数XBは、例えば、輸送箱6の底面の面積に対する輸送箱6内に積み付けられる荷物3の一致面の面積の割合を評価指標として含む。一致面とは、輸送箱6内に既に配置された荷物3の上面と一致している荷物3の上面を言う。当該割合が高い程、積み付けられる荷物3と、当該荷物3の上面と一致している上面を有する荷物3との上に、さらに別の荷物3を安定して積み付けることができることとなり、より安定性に優れた荷姿であると言える。なお、ここで言う「一致している」とは、必ずしも積み付けられる荷物3の上面と配置済みの荷物3の上面とが厳密に一致していることを言うものではない。積み付けられる荷物3の一致面の高さは、配置済みの荷物3の上面の高さと所定の範囲内において異なっていてもよい。
【0044】
評価関数XCは、荷物3の位置に関する評価関数である。評価関数XCは、例えば、輸送箱6の壁部から、輸送箱6の奥行方向の荷物3までの距離を評価指標として含む。当該距離が低い程、荷物3を輸送箱6の隅に近い位置に積み付けることができたこととなり、より充填性に優れた荷姿であると言える。
【0045】
評価関数XDは、荷物3の位置に関する評価関数である。評価関数XDは、例えば、輸送箱6の壁部から、輸送箱6の幅方向の荷物3までの距離を評価指標として含む。当該距離が小さい程、荷物3を輸送箱6の隅に近い位置に積み付けることができたこととなり、より充填性に優れた荷姿であると言える。
【0046】
評価関数XEは、重心の位置に関する評価関数である。評価関数XEは、例えば、平面視における輸送箱6の中心から、輸送箱6内に配置された荷物3の重心までの距離を評価指標として含む。当該距離が小さい程、輸送箱6内に配置された荷物3の重心が輸送箱6の中心の近くに位置していることとなり、より安定性に優れた荷姿であると言える。
【0047】
評価関数XFは、荷物3の積み付けの密度に関する評価関数である。評価関数XFは、例えば、輸送箱6内における荷物3を囲む仮想領域(いわゆるバウンディングボックス)の体積に対する輸送箱6内における荷物3の体積の割合を評価指標として含む。当該割合が大きい程、荷物3を輸送箱6内に隙間なく積み付けることができたこととなり、より充填性に優れた荷姿であると言える。
【0048】
評価関数XGは、他の荷物3に接している面に関する評価関数である。評価関数XGは、例えば、他の荷物3に接している各荷物3の底面及び側面の数を評価指標として含む。当該底面及び側面の数が多い程、各荷物3が他の荷物3に支えられた荷姿とすることができたこととなり、より安定性に優れた荷姿であると言える。
【0049】
評価関数XHは、演算対象の荷物3の体積に関する評価関数である。評価関数XHは、例えば、未配置の荷物3のうち最大の体積を有する荷物3の体積に対する演算対象の荷物3の体積の割合を評価指標として含む。当該割合が大きい程、未配置の荷物3のうち大きい体積を有する荷物3から輸送箱6に積み付けることとなり、なるべく隙間なく荷物3を積み付けることができる。よって、より充填性に優れた荷姿であると言える。
【0050】
評価関数XIは、他の荷物3に接している面に関する評価関数である。評価関数XIは、例えば、他の荷物3に接している各荷物3の底面の数を評価指標として含む。当該底面の数が多い程、各荷物3が他の荷物3に底面を支えられた荷姿とすることができたこととなり、より安定性に優れた荷姿であると言える。
【0051】
評価関数XJは、他の荷物3に接している面に関する評価関数である。評価関数XJは、例えば、他の荷物3に接している各荷物3の側面の数を評価指標として含む。当該側面の数が多い程、各荷物3が他の荷物3に側面を支えられた荷姿とすることができたこととなり、より安定性に優れた荷姿であると言える。
【0052】
評価関数XKは、重心の高さに関する評価関数である。評価関数XKは、例えば、輸送箱6内における荷物3の重心の高さを評価指標として含む。当該高さが低い程、荷物3の重心の位置が低いこととなり、より安定性に優れた荷姿であると言える。
【0053】
評価関数XLは、重心の水平方向の位置に関する評価関数である。評価関数XLは、例えば、平面視における輸送箱6の中心から、輸送箱6内における荷物3の重心までの距離(本実施形態では、マンハッタン距離)を評価指標として含む。当該距離が小さい程、荷物3の重心が輸送箱6の中心の近くに位置していることとなり、より安定性に優れた荷姿であると言える。
【0054】
評価関数XMは、重心の水平方向の位置に関する評価関数である。評価関数XMは、例えば、平面視における輸送箱6の中心から、輸送箱6内における荷物3の重心までの距離(本実施形態では、ユークリッド距離)を評価指標として含む。当該距離が小さい程、荷物3の重心が輸送箱6の中心の近くに位置していることとなり、より安定性に優れた荷姿であると言える。
【0055】
評価関数XNは、荷物3の底面を支える別の荷物3の数に関する評価指標である。評価関数XNは、例えば、輸送箱6内に積み付けられる荷物3の底面のうち、所定の範囲以上を支える他の荷物3の数を評価指標として含む。所定の範囲は、例えば、輸送箱6内に積み付けられる荷物3の底面の25%であってもよい。当該別の荷物3の数が多い程、積み付けられる荷物3の底面のうち、所定の範囲以上を支える別の荷物3の数が多いこととなり、より安定性に優れた荷姿であると言える。
【0056】
評価値は、例えば、上述の評価関数XA~XNの合計として算出される。すなわち、一例として、評価値は、上述の各評価指標と各評価関数XA~XNに対応する各重み係数との積の和である。当該重み係数は、例えば、ユーザにより予め設定されてもよい。
【0057】
重み係数は、例えば、ユーザの要望に合わせて設定されてもよい。例えば、ユーザが荷物3の積み付けの密度に優れた荷姿とすることを要望する場合、ユーザは、入力した評価関数XA~XNのうち、荷物3の積み付けの密度に関する評価関数XFの重み係数を、他の評価関数の重み係数に比して大きくしてもよい。
【0058】
評価値算出部22は、評価関数取得部21により取得された評価関数に基づいて、手番ごとに各荷姿の評価値を算出する。
【0059】
リスト生成部23は、手番ごとに各評価関数(評価関数XA~XN)の値を算出すると共に、各手番及び各評価関数の値が互いに紐づけられたリストを生成する。
【0060】
第1ループ判定部24は、手番が輸送箱6内に配置される荷物3の総数よりも少ないか否かを判定する。第1ループ判定部24が実行する具体的な処理については、後述する。
【0061】
成分解析部25は、リストを参照すると共に、評価関数ごとにリストの要素を解析する。成分解析部25は、例えば主成分解析、独立成分解析等の成分解析を実行する。成分解析部25は、例えば、評価関数取得部21により取得された評価関数のうち、相関を有する評価関数を特定する。評価関数の成分解析には、公知の解析手法を用いることができ、処理の内容は特に限定されない。成分解析部25は、リストの要素の一部をサンプリングすると共に、当該サンプリングされた要素を解析してもよい。この場合、計算量を低減することが可能となる。
【0062】
第2ループ判定部26は、成分解析を行った評価関数の数が、評価関数取得部21により取得された評価関数の数よりも少ないか否かを判定する。第2ループ判定部26が実行する具体的な処理については、後述する。
【0063】
評価関数決定部27は、成分解析部25の解析結果に基づいて、評価値取得部14による評価値の取得に用いられる評価関数を決定する。評価関数決定部27は、例えば、互いに相関のある評価関数のうち少なくとも1つの評価関数を、評価値の取得に用いられる評価関数として決定する。評価関数決定部27は、例えば、ユーザにより予め設定されたδの値よりも小さい数の評価関数を、評価値の取得に用いられる評価関数として決定する。δの値は、例えば、第1評価関数群又は第2評価関数群の評価関数として必要十分であると考えられる評価関数の数と等しい(或いは大きい)値とされる。一例として、ユーザは、評価関数取得部21により取得された全ての評価関数をδの値と等しい数の評価関数まで減らして近似しても、当該全ての評価関数のそれぞれの情報を十分に保持していると考えられる値を、δの値として選択する。δの値は、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0064】
図4は、図2に示された評価値取得部14の機能構成を示すブロック図である。図4に示されるように、評価値取得部14は、第1評価部41と、第1結果取得部42と、第2評価部43とを有する。
【0065】
第1評価部41は、荷姿の評価値を取得する段階である第1評価段階において、少なくとも1つの評価関数からなる第1評価関数群に基づいて評価値を取得する。第1評価部41は、評価関数選択部12により第1評価関数群の評価関数として選択された評価関数に基づいて荷姿の評価値を取得する。
【0066】
第1結果取得部42は、第1評価段階における結果を取得する。より具体的には、第1評価関数群に基づいて取得された各荷姿の評価値を取得する。また、第1結果取得部42は、取得した各荷姿の評価値を、第2評価部43に出力する。
【0067】
第2評価部43は、第1評価段階の後の第2評価段階において、第1評価段階における結果と、第2評価関数群とに基づいて評価値を取得する。第2評価段階は、第1評価段階の後の荷姿の評価値を取得する段階である。第2評価関数群は、第1評価関数群の評価関数とは異なる評価関数からなる。
【0068】
第2評価部43は、第1評価段階において所定の要件を満たす評価値を有する荷姿について、第2評価関数群に基づいて評価値を取得する。所定の要件とは、例えば、第1評価関数群の評価関数の値がいずれも所定の値以上であることを言う。当該所定の要件は、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0069】
図5に示されるように、荷姿決定システム1は、物理的には、プロセッサである一以上の制御部31と、一以上のROM(Read Only Memory)32と、主記憶装置である一以上のRAM(Random Access Memory)33と、補助記憶装置であるHDD(Hard Disk Drive)34と、例えば出力部7と通信を行うための通信インタフェース等の通信部35と、を含むコンピュータシステムとして構成され得る。例えば、制御部31が、HDD34に予め格納されているプログラム(荷姿決定プログラムP)をRAM33に読み出して実行することにより、制御部31の制御のもとで各ハードウェアが動作し、ROM32、RAM33及びHDD34におけるデータの読み出し及び書き込みが行われる。これにより、図5に示される荷姿決定システム1の各機能が実現される。なお、荷姿決定システム1は、図5に示したハードウェア構成以外にも、例えば、マウス及びキーボード等の入力装置、ディスプレイ及びスピーカ等の出力装置等を備えてもよい。
【0070】
続いて、図6図8を用いて、本実施形態に係る荷姿決定システム1の動作(本実施形態に係る荷姿決定方法を含む)について説明する。
【0071】
図6に示されるように、まず、荷姿決定システム1は、ステップS1を実行する。ステップS1では、荷物情報生成部11は、荷物情報を生成する(生成するステップ)。上述したように、荷物情報は、ユーザにより入力された荷物3のIDに関する情報と、荷物3の種類に応じた寸法、及び重量に関する情報とを紐づけることにより生成される。ユーザは、例えば、荷姿決定システム1の入力装置を介して荷物3のIDに関する情報を入力してもよい。
【0072】
続いて、荷姿決定システム1は、ステップS2を実行する。ステップS2では、評価関数選択部12は、評価関数選択処理を実行する。評価関数選択処理では、評価関数選択部12は、予め設定された複数の評価関数から評価値の取得に用いられる評価関数を選択する。ユーザは、例えば、荷姿決定システム1の入力装置を介して複数の評価関数を予め入力及び設定してもよい。ここでは、ユーザが評価関数XA~XNを予め入力した場合の例について説明する。より具体的には、ユーザは、第1評価関数群の評価関数の候補として評価関数XA~XHを入力し、第2評価関数群の評価関数の候補として評価関数XF,XG,XI~XNを入力する。評価関数選択部12は、第1評価関数群の評価関数の候補から第1評価関数群の評価関数を選択すると共に、第2評価関数群の評価関数の候補から第2評価関数群の評価関数を選択する。評価関数選択処理における評価関数選択部12の具体的な動作については、後述する。
【0073】
続いて、荷姿決定システム1は、ステップS3を実行する。ステップS3では、荷姿決定システム1は、カウンタ変数nに対し、n=1を代入する。カウンタ変数nは、荷姿決定部16が荷姿を決定する段階の数に対応する。
【0074】
続いて、荷姿決定システム1は、ステップS4を実行する。ステップS4では、荷姿演算部13は、荷物情報に基づいて、輸送箱6内における荷物3の荷姿を演算する(演算するステップ)。荷姿演算部13は、荷物3を積み付ける手番ごとに輸送箱6内における荷物3の荷姿を演算する。荷姿演算部13が輸送箱6内における荷物3の荷姿を演算する手法としては、公知の演算手法を用いることができる。
【0075】
続いて、荷姿決定システム1は、ステップS5を実行する。ステップS5では、評価値取得部14は、評価値取得処理を実行する。評価値取得処理では、評価値取得部14は、ステップS2において選択された評価関数に基づいて、手番ごとに荷物3の荷姿の評価値を取得する(取得するステップ)。評価値取得処理における評価値取得部14の具体的な動作については、後述する。
【0076】
続いて、荷姿決定システム1は、ステップS6を実行する。ステップS6では、荷姿決定部16は、ステップS5において取得された評価値に基づいて、第n決定数と等しい数の荷姿を決定する(決定するステップ)。荷姿決定部16は、一例として、高い評価値を有する荷姿から順に第n決定数と等しい数の荷姿を決定する。なお、各決定数の値は、例えば予めユーザにより入力されていてもよい。
【0077】
ステップS6では、荷姿決定部16は、第1~3段階において、所定の決定数と等しい数の荷姿を決定する。荷姿決定部16は、第1段階において、第1決定数と等しい数の荷姿を決定する(第1ステップ)。また、荷姿決定部16は、第1段階の後の第2段階において、第2決定数と等しい数の荷姿を決定する(第2ステップ)。さらに、荷姿決定部16は、第2段階の後の第3段階において、第3決定数と等しい数の荷姿を決定する。第2決定数は、第1決定数及び第3決定数よりも大きい。第1~3決定数の値は、特に限定されない。一例として、第1決定数は2であり、第2決定数は3であり、第3決定数は2である。図12に示す例では、手番6において積み付けが終了する場合の例が示されている。序盤の手番1,2を第1段階とし、中盤の手番3,4を第2段階とし、終盤の手番5,6を第3段階としている。
【0078】
図12に示されるように、荷姿演算部13は、手番1において、積付情報A1a~A1dを生成する。また、荷姿演算部13は、当該積付情報A1a~A1dに基づいて、4つの候補荷姿を演算する(ステップS4)。
【0079】
続いて、評価値取得部14は、演算された各候補荷姿の評価値を取得する(ステップS5)。そして、荷姿決定部16は、評価値に基づいて、候補荷姿の中から決定数に等しい数の決定荷姿を決定する(ステップS6)。図12の例では、手番1,2に対応する第1段階における決定数(第1決定数)は、2である。よって、荷姿決定部16は、積付情報A1a~A1dに基づく候補荷姿のうち、積付情報A1a,A1dに基づく候補荷姿を決定荷姿として決定する。
【0080】
図13は、図12に示された荷姿を決定する過程の一部を示す概略的な図である。図13では、手番1において決定された1つの決定荷姿(図13では「決定荷姿1」と記載)に対して、手番2における4つの候補荷姿(図13では「候補荷姿1」~「候補荷姿4」と記載)が演算される様子が図示されている。
【0081】
図12及び図13の例では、決定荷姿1は、積付情報A1aに基づく決定荷姿である。決定荷姿1では、複数の積付候補の荷物3のうち、荷物3aが採用されており、荷物3aは、輸送箱6の底面6aの角部(図13の例では底面6aの左下の角部)に配置されている。したがって、積付情報A1aは、荷物3aを輸送箱6の底面6aの左下の角部に積み付ける旨の情報を含む。要するに、決定荷姿1は、積付情報A1aに基づいて荷物3aが輸送箱6内に積み付けられた荷姿となっている。
【0082】
図12に示されるように、荷姿演算部13は、手番2において、積付情報A1aに基づく決定荷姿(つまり決定荷姿1)に対して、積付情報A2a~A2dを生成する。また、荷姿演算部13は、手番2において、積付情報A1dに基づく決定荷姿に対して、積付情報B2a~B2dを生成する。
【0083】
図13に示されるように、荷姿演算部13は、手番2において、積付情報A1a及び積付情報A2aに基づく候補荷姿(図13では「候補荷姿1」と記載)と、積付情報A1a及び積付情報A2bに基づく候補荷姿(図13では「候補荷姿2」と記載)とを演算する。また、荷姿演算部13は、手番2において、積付情報A1a及び積付情報A2cに基づく候補荷姿(図13では「候補荷姿3」と記載)と、積付情報A1a及び積付情報A2dに基づく候補荷姿(図13では「候補荷姿4」と記載)とを演算する。
【0084】
候補荷姿1の積付情報A2aは、荷物3bを荷物3aの右側に接するように積み付ける旨の情報を含む。候補荷姿2の積付情報A2bは、荷物3bを荷物3aの奥側に接するように積み付ける旨の情報を含む。候補荷姿3の積付情報A2cは、荷物3cを荷物3aの右側に接するように積み付ける旨の情報を含む。候補荷姿4の積付情報A2dは、荷物3cを荷物3aの奥側に接するように積み付ける旨の情報を含む。なお、荷姿演算部13は、積付情報A1dに基づく決定荷姿についても、積付情報B2a~B2dに基づいて、4つの候補荷姿が演算される。
【0085】
続いて、荷姿決定部16は、演算された合計8つの候補荷姿から、第1決定数と等しい数(すなわち2つ)の決定荷姿を決定する。図13の例では、荷姿決定部16は、評価値に基づいて、積付情報A1a及び積付情報A2bに基づく候補荷姿と、積付情報A1d及び積付情報B2aに基づく候補荷姿と、を決定荷姿として決定する。
【0086】
以上説明した処理を繰り返すことにより、最後の手番6では、荷姿決定部16は、積付情報A1a,A2b,A3d,B4b,B5d,A6bに基づく候補荷姿と、積付情報A1d,B2a,B3c,C4a,C5c,B6dに基づく候補荷姿と、を決定荷姿として決定する。
【0087】
荷姿決定システム1は、手番6において決定された2つの決定荷姿のうち、高い評価を有する荷姿を最終決定した荷姿として作業員5に対して出力してもよい。また、荷姿決定システム1は、2つの決定荷姿の両方を最終決定した荷姿として作業員5に対して出力してもよい。
【0088】
続いて、荷姿決定システム1は、ステップS7を実行する。ステップS7では、決定数判定部15は、決定数を変更するか否かを判定する。決定数を変更するか否かを判定するための具体的な動作については、後述する。
【0089】
ステップS7において、決定数判定部15が決定数を変更すると判定した場合(ステップS7:YES)、荷姿決定システム1は、カウンタ変数nに対し、n=n+1を代入した後に(ステップS8)、再びステップS4を実行する。ステップS7において、決定数判定部15が決定数を変更しないと判定した場合(ステップS7:NO)、荷姿決定システム1は、n=3であるか否かを判定する(ステップS9)。
【0090】
上述したように、カウンタ変数nは、荷姿決定部16が荷姿を決定する段階の数に対応する。本実施形態では、荷姿決定部16は、第1~3段階において、所定の決定数と等しい数の荷姿を決定するため、ステップS9においてn=3であるか否かを荷姿決定システム1が判定する。しかし、カウンタ変数nと等しいか否かを判定される値(ここでは3)は、荷姿決定部16が荷姿を決定する段階の数に応じて適宜変更可能である。当該値は、一例として、ユーザにより入力装置を介して予め設定される。
【0091】
ステップS9において、荷姿決定システム1がn=3でないと判定した場合(ステップS9:NO)、荷姿決定システム1は、再びステップS4を実行する。ステップS9において、荷姿決定システム1がn=3であると判定した場合(ステップS9:YES)、荷姿演算部13は、輸送箱6内に配置される未配置の荷物3が残っているか否かを判定する(ステップS10)。
【0092】
ステップS10において、未配置の荷物3が残っていると荷姿演算部13により判定された場合(ステップS10:YES)、荷姿決定システム1は、再びステップS4を実行する。ステップS10において、未配置の荷物3残っていないと荷姿演算部13により判定された場合(ステップS10:NO)、荷姿決定システム1は、処理を終了する。
【0093】
図7は、図6に示された評価関数選択処理を示すフローチャートである。本実施形態では、評価関数選択処理は、ユーザにより予め設定された所定の評価関数から、ステップS5における評価値取得処理に用いられる評価関数を選択する処理である。
【0094】
図7に示されるように、評価関数選択処理では、まず、評価関数選択部12は、ステップS11を実行する。ステップS11では、評価関数選択部12は、カウンタ変数Nに対し、N=1を代入する。カウンタ変数Nは、荷物3を積み付ける手番に対応する。
【0095】
続いて、評価関数選択部12は、ステップS12を実行する。ステップS12では、評価関数取得部21は、ユーザにより予め設定された評価関数を取得する。ステップS12では、評価関数取得部21は、評価関数XA~XNを取得する。より具体的には、評価関数取得部21は、第1評価関数群の評価関数の候補として評価関数XA~XHを取得し、第2評価関数群の評価関数の候補として評価関数XF,XG,XI~XNを取得する。また、ステップS12では、評価値算出部22は、評価関数取得部21により取得された評価関数に基づいて、手番ごとに各荷姿の評価値を算出する。
【0096】
続いて、評価関数選択部12は、ステップS13を実行する。ステップS13では、リスト生成部23は、手番ごとに各評価関数の値を算出すると共に、各手番及び各評価関数の値が互いに紐づけられたリストを生成する。
【0097】
続いて、評価関数選択部12は、ステップS14を実行する。ステップS14では、第1ループ判定部24は、カウンタ変数Nが輸送箱6内に配置される荷物3の総数よりも少ないか否かを判定する。換言すれば、ステップS14では、ステップS12における各荷姿の評価値の算出、及び、ステップS13におけるリストの生成が全ての手番において終了したか否かを判定する。
【0098】
ステップS14において、カウンタ変数Nが輸送箱6内に配置される荷物3の総数よりも小さいと第1ループ判定部24が判定した場合(ステップS14:YES)、評価関数選択部12は、カウンタ変数Nに対し、N=N+1を代入した後に(ステップS15)、再びステップS12を実行する。ステップS14において、カウンタ変数Nが輸送箱6内に配置される荷物3の総数以上であると第1ループ判定部24が判定した場合(ステップS14:NO)、評価関数選択部12は、ステップS16を実行する。
【0099】
ステップS16では、評価関数選択部12は、カウンタ変数Mに対し、M=1を代入する。カウンタ変数Mは、予め設定された評価関数の数に対応する。
【0100】
続いて、評価関数選択部12は、ステップS17を実行する。ステップS17では、成分解析部25は、ステップS13において生成されたリストを参照すると共に、評価関数ごとにリストの要素を解析する。
【0101】
続いて、評価関数選択部12は、ステップS18を実行する。ステップS18では、第2ループ判定部26は、カウンタ変数Mが予め設定された評価関数の数よりも小さいか否かを判定する。換言すれば、ステップS18では、ステップS17における成分解析が全ての評価関数において終了したか否かを判定する。ステップS17が実行される結果、評価関数取得部21により取得された評価関数のうち、互いに相関を有する評価関数が特定される。
【0102】
ステップS18において、カウンタ変数Mが予め設定された評価関数の数よりも小さいと第2ループ判定部26が判定した場合(ステップS18:YES)、評価関数選択部12は、カウンタ変数Mに対し、M=M+1を代入した後に(ステップS19)、再びステップS17を実行する。ステップS18において、カウンタ変数Mが予め設定された評価関数の数以上であると第2ループ判定部26が判定した場合(ステップS18:NO)、評価関数選択部12は、ステップS20を実行する。
【0103】
ステップS20では、評価関数決定部27は、ステップS17における成分解析の結果に基づいて、評価値取得部14による評価値の取得に用いられる評価関数を決定する。より具体的には、評価関数決定部27は、後述の評価値取得処理において、第1評価段階における評価値の取得に用いられる第1評価関数群と、第2評価段階における評価値の取得に用いられる第2評価関数群と、を決定する。
【0104】
ステップS20が実行される結果、ステップS17において特定された互いに相関を有する評価関数のうち、少なくとも1つを除いた評価関数が、評価関数決定部27により決定される。例えば、上述したように、評価関数XLは、荷物3の重心から平面視における輸送箱6の中心までのマンハッタン距離を評価指標として含み、評価関数XMは、荷物3の重心から平面視における輸送箱6の中心までのユークリッド距離を評価指標として含む。よって、評価関数XL及び評価関数XMは、互いに相関を有すると考えられる。評価関数決定部27は、評価関数XL及び評価関数XMのいずれか一方を、評価値取得部14による評価値の取得に用いられる評価関数として選択し得る。以上の処理を経て、評価関数選択部12は、評価関数選択処理を終了する。
【0105】
図8は、図6に示された評価値取得処理を示すフローチャートである。本実施形態では、評価値取得処理は、ステップS11~ステップS20により選択された評価関数を用いて、輸送箱6内における荷物3の荷姿の評価値を取得する処理である。
【0106】
図8に示されるように、評価値取得処理では、まず、評価値取得部14は、ステップS21を実行する。ステップS21では、第1評価部41は、評価関数選択処理により選択された評価関数を取得する。
【0107】
続いて、評価値取得部14は、ステップS22を実行する。ステップS22では、第1評価部41は、第1評価段階における評価値の取得を実行する。第1評価部41は、第1評価段階において、ステップS20で決定された第1評価関数群に基づいて、各荷姿の評価値を取得する。
【0108】
続いて、評価値取得部14は、ステップS23を実行する。ステップS23では、第1結果取得部42は、第1評価段階における結果を取得する。ステップS23では、第1結果取得部42は、所定の要件を満たす荷姿を第1評価段階における結果として取得する。
【0109】
続いて、評価値取得部14は、ステップS24を実行する。ステップS24では、第2評価部43は、第2評価段階における評価値の取得を実行する。第2評価部43は、第1評価段階の後の第2評価段階において、ステップS20で決定された第2評価関数群に基づいて、各荷姿の評価値を取得する。以上の処理を経て、評価値取得部14は、評価関数取得処理を終了する。
【0110】
上述したように、評価関数選択部12は、第1評価関数群の評価関数の候補として、評価関数XA~XHを取得すると共に、第2評価関数群の評価関数の候補として、評価関数XF,XG,XI~XNを取得する。第1評価関数群の評価関数の候補から選択された第1評価関数群は、第1評価段階における評価値の取得に供される。また、第2評価関数群の評価関数の候補から選択された第2評価関数群は、第2評価段階における評価値の取得に供される。
【0111】
図12の例では、手番1において、荷姿演算部13は、荷物3の種類、輸送箱6内における位置及び方向ごとに全ての積付情報を生成すると共に、各積付情報に基づく候補荷姿を演算する。また、評価値取得部14は、第1評価段階において、第1評価関数群に基づいて各候補荷姿の評価値を取得すると共に、当該評価値に基づいて所定の要件を満たす積付情報A1a~A1dに基づく候補荷姿を特定する。つまり、図12に示される各楕円は、第1評価段階において所定の要件を満たすと判定された候補荷姿の積付情報を示している。
【0112】
続いて、評価値取得部14は、第2評価段階において、第2評価関数群に基づいて積付情報A1a~A1dに基づく候補荷姿の評価値を取得する。そして、荷姿決定部16は、第2評価段階における結果に基づいて、候補荷姿の中から決定荷姿を決定する。つまり、図12に示されるグレースケールが付された各楕円は、第2評価段階における評価値に基づいて決定された決定荷姿の積付情報を示している。
【0113】
図12の例では、評価値取得部14は、第1評価段階における結果に基づいて、1つの決定荷姿に対して4つの積付情報に基づく候補荷姿を特定した。このため、評価値取得部14は、第2評価段階において、1つの決定荷姿に対して4つの積付情報に基づく候補荷姿の評価値を取得した。しかし、第1評価段階における結果に基づいて特定される積付情報の数は、上述した所定の要件により変化し得るものであり、特に限定されない。特定される積付情報の数は、手番ごとに同一であってもよく、異なっていてもよい。
【0114】
本実施形態では、第1~3段階のそれぞれにおいて評価値の取得に用いられる第1評価関数群の評価関数は、互いに同一である。図12の例では、例えば、第1段階の手番1及び手番2における第1評価関数群の評価関数と、第2段階の手番3及び手番4における第1評価関数群の評価関数とは、互いに同一である。また、第1~3段階のそれぞれにおいて評価値の取得に用いられる第2評価関数群の評価関数は、互いに同一である。図12の例では、例えば、第1段階の手番1及び手番2における第2評価関数群の評価関数と、第2段階の手番3及び手番4における第2評価関数群の評価関数とは、互いに同一である。
【0115】
また、本実施形態では、第2評価関数群の評価関数は、第1評価関数群の評価関数とは異なる評価関数を含む。図12の例では、例えば、手番1における第2評価関数群の評価関数は、手番1における第1評価関数群の評価関数とは異なる評価関数を含む。
【0116】
上述したように、荷姿決定部16は、第2評価段階における結果に基づいて、輸送箱6内における荷物3の荷姿を決定する。本実施形態では、荷姿決定部16は、第2評価段階において、高い評価値を有する荷姿から順に所定の決定数と等しい数の荷姿を決定する。
【0117】
図13の例では、評価値取得部14は、第2評価段階において、候補荷姿1~4の評価値を取得する。荷姿決定部16は、候補荷姿1~4のうち、高い評価値を有する候補荷姿を決定荷姿として決定する。
【0118】
続いて、図9及び図10を用いて、決定数判定部15の機能構成、及び、ステップS7(図6参照)において決定数を変更するか否かを判定するための決定数判定部15の動作について説明する。
【0119】
図9は、図2に示された決定数判定部15の機能構成を示すブロック図である。図5に示されるように、決定数判定部15は、評価値算出部51と、ループ判定部52と、手番取得部53とを有する。
【0120】
評価値算出部51は、手番ごとに輸送箱6内における荷物3の荷姿を演算すると共に、評価関数選択部12により選択された評価関数に基づいて、手番ごとに各荷姿の評価値を取得する。また、評価値算出部51は、取得された評価値に基づいて、手番ごとに所定の決定数と等しい数の荷姿を決定する。
【0121】
ループ判定部52は、手番が輸送箱6内に配置される荷物3の総数よりも少ないか否かを判定する。ループ判定部52が実行する具体的な処理については、後述する。
【0122】
手番取得部53は、評価値算出部51により算出された各荷姿の評価値に基づいて、評価値が最大となる手番を取得する。
【0123】
図10は、決定数を変更するか否かを判定する方法を示すフローチャートである。図10に示されるように、まず、決定数判定部15は、ステップS31を実行する。ステップS31では、決定数判定部15は、カウンタ変数Kに対し、K=1を代入する。カウンタ変数Kは、荷物3を積み付ける手番に対応する。
【0124】
続いて、決定数判定部15は、ステップS32を実行する。ステップS32では、評価値算出部51は、手番ごとに輸送箱6内における荷物3の荷姿を演算すると共に、評価関数選択部12により選択された評価関数に基づいて、手番ごとに各荷姿の評価値を取得する。続いて、評価値算出部51は、取得された評価値に基づいて、手番ごとに所定の決定数と等しい数の荷姿を決定する。当該所定の決定数は、ステップS6において決定された荷姿の数に等しい第n決定数である。つまり、ステップS32では、評価値算出部51は、ステップS6における第n決定数と等しい数の荷姿を決定しつつ、手番ごとに各荷姿の評価値を取得する。
【0125】
続いて、決定数判定部15は、ステップS33を実行する。ステップS33では、ループ判定部52は、カウンタ変数Kが輸送箱6内に配置される荷物3の総数よりも少ないか否かを判定する。換言すれば、ステップS33では、ステップS32における各荷姿の評価値の算出が全ての手番において終了したか否かを判定する。
【0126】
ステップS33において、カウンタ変数Kが輸送箱6内に配置される荷物3の総数よりも少ないとループ判定部52が判定した場合(ステップS33:YES)、決定数判定部15は、カウンタ変数Kに対し、K=K+1を代入した後に(ステップS34)、再びステップS32を実行する。ステップS33において、カウンタ変数Kが輸送箱6内に配置される荷物3の総数以上であるとループ判定部52が判定した場合(ステップS33:NO)、決定数判定部15は、ステップS35を実行する。
【0127】
ステップS35では、手番取得部53は、評価値算出部51により算出された各荷姿の評価値に基づいて、評価値が最大となる手番を取得する。以上の処理を経て、決定数判定部15は、決定数を変更するか否かを判定する処理を終了する。
【0128】
なお、本実施形態では、決定数判定部15がステップS7において、上述の動作を実行する例について説明した。しかし、決定数判定部15は、図10に示される動作を図6における任意のタイミングで実行してもよい。決定数判定部15は、例えば、ステップS31~S35をステップS1の前に予め実行してもよい。
【0129】
さらに、決定数判定部15は、決定数を変更する手番を判定する処理をステップS1の前に予め実行してもよい。決定数判定部15は、決定数を変更する手番を判定するに際し、決定数を変更する全ての手番の組合せについて評価値を取得してもよく、当該手番の組合せの一部をサンプリングして評価値を取得してもよい。当該手番の組合せの全てについて評価値を取得するか、或いは、当該手番の組合せの一部をサンプリングして評価値を取得するかは、例えば、全ての当該手番の組合せの数(問題の規模)に応じて適宜選択されてもよい。
【0130】
図12の例では、手番3において、決定数が2(第1決定数)から3(第2決定数)に変更されている。つまり、ステップS31~S35において、第1決定数と等しい数の決定荷姿を決定しつつ、手番ごとに各決定荷姿の評価値を取得した結果、手番2における決定荷姿の評価値が最大となったことを意味している。第1決定数と等しい数の決定荷姿を決定しつつ各決定荷姿の評価値を取得した結果、手番2において評価値が最大となったため、決定数判定部15は、手番2の次の手番である手番3において決定数を変更すると判定する。
【0131】
続いて、本実施形態に係る荷姿決定システム1、荷姿決定方法、及び荷姿決定プログラムPの作用効果について説明する。
【0132】
本実施形態に係る荷姿決定システム1では、第1段階において、所定の第1決定数と等しい数の荷姿を決定し、第1段階の後の第2段階において、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する。この場合、第1段階及び第1段階の後の第2段階において、評価値に基づいて決定する荷姿の数を変化させる。これにより、積み付けの局面に応じて決定する荷姿の数を変化させることができる。したがって、荷物3を積み付ける過程で局面に応じた積み付けを実現することができる。
【0133】
荷姿決定部16は、第2段階の後の第3段階において、第2決定数とは異なる所定の第3決定数と等しい数の荷姿を決定し、第2決定数は、第1決定数及び第3決定数よりも大きい。この場合、第1段階の後の第2段階において、第1決定数よりも大きい第2決定数と等しい数の荷姿を決定し、第2段階の後の第3段階において、第2決定数よりも小さい第3決定数と等しい数の荷姿を決定する。このとき、第2段階においては、評価値に基づいて第1段階よりも多くの荷姿を決定するため、第1段階よりも多くの荷姿を広く探索することができる。また、第3段階においては、評価値に基づいて第2段階よりも少ない荷姿を決定するため、荷姿の決定に要する計算量が増大することを抑制できる。加えて、第1段階及び第2段階の後の第3段階においては、積み付けを行う荷物3の数が少なくなるため、演算される荷姿の数が少なくなる。このため、第2決定数よりも小さい第3決定数と等しい数の荷姿を決定した場合でも、好適な荷姿を決定することができる。以上より、計算量の増大を抑制しつつ、荷姿を広く探索することができる。
【0134】
評価値取得部14は、第1評価段階において、少なくとも1つの評価関数からなる第1評価関数群に基づいて評価値を取得し、第1評価段階の後の第2評価段階において、第1評価段階における結果と、第1評価関数群の評価関数とは異なる評価関数からなる第2評価関数群とに基づいて評価値を取得し、荷姿決定部16は、第2評価段階における結果に基づいて、荷物3の荷姿を決定する。この場合、例えば、第1評価段階において第1評価関数群に基づいて評価値を取得した結果、所定の要件を満たす荷姿について、第2評価段階において第2評価関数群に基づいて評価値を取得する。そして、第2評価段階における結果に基づいて荷物3の荷姿を決定する。よって、一の評価関数群のみに基づいて評価値を取得して荷物の荷姿を決定する場合に比べ、所定の要件を満たした荷姿を一層確実に決定することができる。
【0135】
荷姿決定システム1は、予め設定された複数の評価関数から評価値の取得に用いられる評価関数を選択する評価関数選択部12をさらに備え、評価値取得部14は、選択された評価関数に基づいて評価値を取得する。この場合、予め設定された複数の評価関数の全てを用いて評価値を取得する場合に比べ、計算量を低減することができる。
【0136】
本実施形態に係る荷姿決定方法は、輸送箱6内における荷物3の荷姿を決定するための荷姿決定方法であって、荷物3に関する荷物情報を生成するステップと、荷物情報に基づいて、輸送箱6内における荷物3の荷姿を演算するステップと、荷物3の荷姿の評価値を取得するステップと、評価値に基づいて、輸送箱6内における荷物3の荷姿を決定するステップと、を備え、決定するステップは、所定の第1決定数と等しい数の荷姿を決定する第1ステップと、第1ステップの後に、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する第2ステップと、を含む。
【0137】
本実施形態に係る荷姿決定プログラムPは、輸送箱6内における荷物3の荷姿を決定するための荷姿決定プログラムPであって、荷物3に関する荷物情報を生成するステップと、荷物情報に基づいて、輸送箱6内における荷物3の荷姿を演算するステップと、荷物3の荷姿の評価値を取得するステップと、評価値に基づいて、輸送箱6内における荷物3の荷姿を決定するステップと、を制御部31に実行させ、決定するステップは、所定の第1決定数と等しい数の荷姿を決定する第1ステップと、第1ステップの後に、第1決定数とは異なる所定の第2決定数と等しい数の荷姿を決定する第2ステップと、を含む。
【0138】
これらの荷姿決定方法及び荷姿決定プログラムPによれば、上述の荷姿決定システム1と同様な効果を得ることができる。
【0139】
本発明は、上述の実施形態に限定されるものではない。
【0140】
上述の実施形態では、荷姿決定部16が第1~3段階において、所定の決定数と等しい数の荷姿を決定する例について説明した。すなわち、上述の実施形態では、決定数を2回変更した。しかし、荷姿決定部16が荷姿を決定する段階の数は、適宜変更可能である。つまり、上述の実施形態では、決定数を変更する回数を2回としたが、1回でもよく、3回以上であってもよい。
【0141】
上述の実施形態では、荷姿決定部16は、第1段階において、荷物3が配置されていない輸送箱6内に1つめの荷物3を積み付ける場合(すなわち、手番が1のとき)の荷姿を決定した。また、荷姿決定部16は、第3段階において、輸送箱6内に最後の荷物3を積み付ける場合(すなわち、手番が輸送箱6内に配置される荷物3の総数と等しいとき)の荷姿について決定した。しかし、第1~3段階に対応する手番は、適宜変更可能である。すなわち、荷姿決定部16は、第1段階よりも前の段階において、所定の決定数と等しい数の荷姿を決定してもよく、第3段階よりも後の段階において、所定の決定数と等しい数の荷姿を決定してもよい。
【0142】
上述の実施形態では、評価関数の重み係数がユーザの要望に合わせて設定される例について説明した。しかし、重み係数は、荷姿決定部16が荷姿を決定する段階に応じて設定されてもよい。例えば、ユーザは、輸送箱6内における荷物3の積み付けを終了する段階(本実施形態では、第3段階)の第2評価段階において用いられる第2評価関数群のうち、平面視における荷物3の重心の位置に関する評価関数XMの重み係数を大きくしてもよい。この場合、輸送箱6内における荷物3の積み付けを終了する段階(いわば詰めの段階)において、平面視における荷物3の重心の位置が中心に近くなるように調整することができる。
【0143】
荷姿決定システム1は、荷姿決定部16が荷姿を決定する段階に対応する手番、及び、評価関数群を構成する評価関数を時間と共に変化させつつ、上述の処理を繰り返し実行してもよい。荷物3の配送先においては、荷物3の需要及び供給の変化等により、輸送箱6内に積み付けられる荷物3の種類、個数及び配送先が時間と共に変化し得る。よって、荷姿決定システム1が実行する処理を時間と共にアップデートすることで、輸送箱6内における荷物3の荷姿を計算することができる。
【0144】
上述の実施形態では、荷姿決定システム1が決定された荷姿に応じた順序で荷物3をコンベア4により作業員5の元に搬送する例について説明した。しかし、荷姿決定システム1は、所定の範囲(いわゆるスコープ)で作業員5の元に搬送する荷物3の順序を入れ替えてもよい。
【0145】
上述の実施形態では、評価関数選択部12は、成分解析部25による成分解析の結果、互いに相関を有する評価関数のうち少なくとも1つを除いた評価関数を選択する例について説明した。上述したように、評価値は、例えば、第1評価関数群又は第2評価関数群の各評価関数の値の合計として算出される。また例えば、他の評価関数と相関を有しない評価関数の値を変動させても、当該他の評価関数の値は変動しない。よって、仮に同程度の評価値を有する荷姿が複数存在する場合には、他の評価関数と相関を有しない評価関数の値が大きくなるように輸送箱6内における荷物3の荷姿を変更することで、荷姿の評価値を大きくすることができる。
【0146】
したがって、評価値の取得に用いられる評価関数を選択するに際し、評価関数選択部12は、互いに正の相関を有する評価関数を第1評価関数群の評価関数として選択してもよい。また、評価関数選択部12は、互いに負の相関を有する評価関数を第1評価関数群の評価関数として優先的に選択してもよい。さらに、評価関数選択部12は、互いに相関を有しない評価関数を第1評価関数群又は第2評価関数群の評価関数として必ず選択してもよい。
【0147】
上述の実施形態では、評価値取得部14が評価値を取得するために評価関数XA~XNを用いる例について説明した。しかし、評価値を取得するための評価関数としては、種々のものを用いることができる。
【0148】
上述の実施形態では、第1決定数が2であり、第2決定数が3であり、第3決定数が2である例について説明した。しかし、各決定数の値は、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【符号の説明】
【0149】
1…荷姿決定システム、3…荷物、6…輸送箱(収容体)、11…荷物情報生成部、12…評価関数選択部、14…評価値取得部、16…荷姿決定部、31…制御部、P…荷姿決定プログラム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13