(57)【要約】【課題】後続する荷物が未知である場合、荷物の効果的な積載位置を決定する制御装置、積載システム及びプログラムを提供する。【解決手段】実施形態によれば、制御装置は、第１のインターフェースと、プロセッサと、を備える。第１のインターフェースは、荷物が積載される領域のサイズと前記領域に既に積載されている荷物と前記荷物の位置と新たに積載する新荷物のサイズとを示す制御情報を取得する。プロセッサは、前記制御情報に基づいて所定の領域において前記新荷物を積載する積載位置候補を複数生成し、前記新荷物に後続する荷物のサイズごとの発生確率を取得し、前記発生確率に基づいて前記新荷物に後続する荷物列を生成し、前記荷物列の荷物を順に積載した場合における前記領域の充填率に関する評価値を前記積載位置候補ごとに算出し、前記各評価値に基づいて複数の前記積載位置候補から前記新荷物の積載位置を決定する。【選択図】      図１
2020119089.tif 000002
【特許請求の範囲】
【請求項１】
荷物が積載される領域のサイズと前記領域に既に積載されている荷物と前記荷物の位置と新たに積載する新荷物のサイズとを示す制御情報を取得する第１のインターフェースと、
前記制御情報に基づいて所定の領域において前記新荷物を積載する積載位置候補を複数生成し、
前記新荷物に後続する荷物のサイズごとの発生確率を取得し、
前記発生確率に基づいて前記新荷物に後続する荷物列を生成し、
前記荷物列の荷物を順に積載した場合における前記領域の充填率に関する評価値を前記積載位置候補ごとに算出し、
前記各評価値に基づいて複数の前記積載位置候補から前記新荷物の積載位置を決定する、
プロセッサと、
を備える制御装置。
【請求項２】
前記荷物を積載する荷役装置とデータを送受信する第２のインターフェースを備え、
前記プロセッサは、前記第２のインターフェースを通じて、前記荷物を前記積載位置に積載させる制御信号を前記荷役装置に送信する、
請求項１に記載の制御装置。
【請求項３】
前記積載位置を表示する表示部を備える、
請求項１又は２に記載の制御装置。
【請求項４】
前記プロセッサは、モンテカルロ木探索の前記評価値を算出する、
請求項１乃至３の何れか１項に記載の制御装置。
【請求項５】
前記プロセッサは、最も高い評価値の積載位置候補を前記積載位置として決定する、
請求項１乃至４の何れか１項に記載の制御装置。
【請求項６】
前記プロセッサは、
前記荷物列を複数回生成し、
複数の前記荷物列に基づいて複数の前記積載位置候補の前記評価値をそれぞれ算出する、
請求項１乃至５の何れか１項に記載の制御装置。
【請求項７】
前記発生確率を予め格納する記憶部を備え、
前記プロセッサは、前記記憶部から前記発生確率を取得する、
請求項１乃至６の何れか１項に記載の制御装置。
【請求項８】
前記プロセッサは、前記領域に既に積載された荷物の個数と前記領域に既に積載された荷物をサイズごとの個数とに基づいて前記発生確率を算出する、
請求項１乃至６の何れか１項に記載の制御装置。
【請求項９】
荷物が積載される領域のサイズと前記領域に既に積載されている荷物と前記荷物の位置と新たに積載する新荷物のサイズとを示す制御情報を取得する第１のインターフェースと、
前記制御情報に基づいて所定の領域において前記新荷物を積載する積載位置候補を複数生成し、
前記新荷物に後続する荷物のサイズごとの発生確率を取得し、
前記発生確率に基づいて前記新荷物に後続する荷物列を生成し、
前記荷物列の荷物を順に積載した場合における前記領域の充填率に関する評価値を前記積載位置候補ごとに算出し、
前記各評価値に基づいて複数の前記積載位置候補から前記新荷物の積載位置を決定する、
プロセッサと、
前記積載位置に前記新荷物を積載する積載ロボットと、
を備える積載システム。
【請求項１０】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
荷物が積載される領域のサイズと前記領域に既に積載されている荷物と前記荷物の位置と新たに積載する新荷物のサイズとを示す制御情報を取得させ、
前記制御情報に基づいて所定の領域において前記新荷物を積載する積載位置候補を複数生成させ、
前記新荷物に後続する荷物のサイズごとの発生確率を取得させ、
前記発生確率に基づいて前記新荷物に後続する荷物列を生成させ、
前記荷物列の荷物を順に積載した場合における前記領域の充填率に関する評価値を前記積載位置候補ごとに算出させ、
前記各評価値に基づいて複数の前記積載位置候補から前記新荷物の積載位置を決定させる、
プログラム。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制御装置、積載システム及びプログラムに関する。
【背景技術】
【０００２】
制御装置には、荷物を所定の容器に積載するロボットを制御するものがある。そのような制御装置は、積載する荷物に後続する荷物の情報を予め取得し、充填率が最も高くなるように、荷物の積載位置を決定する。
【０００３】
従来、制御装置は、後続する荷物が未知である場合、充填率の高い積載位置を決定することができないという課題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５９８７５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の課題を解決するため、後続する荷物が未知である場合、荷物の効果的な積載位置を決定する制御装置、積載システム及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
実施形態によれば、制御装置は、第１のインターフェースと、プロセッサと、を備える。第１のインターフェースは、荷物が積載される領域のサイズと前記領域に既に積載されている荷物と前記荷物の位置と新たに積載する新荷物のサイズとを示す制御情報を取得する。プロセッサは、前記制御情報に基づいて所定の領域において前記新荷物を積載する積載位置候補を複数生成し、前記新荷物に後続する荷物のサイズごとの発生確率を取得し、前記発生確率に基づいて前記新荷物に後続する荷物列を生成し、前記荷物列の荷物を順に積載した場合における前記領域の充填率に関する評価値を前記積載位置候補ごとに算出し、前記各評価値に基づいて複数の前記積載位置候補から前記新荷物の積載位置を決定する。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施形態に係る積載システムの構成例を示すブロック図である。
【図２】図２は、第１の実施形態に係る制御装置の動作例を示す図である。
【図３】図３は、第１の実施形態に係る制御装置の動作例を説明するためのフローチャートである。
【図４】図４は、第１の実施形態に係る制御装置の動作例を説明するためのフローチャートである。
【図５】図５は、第１の実施形態に係る制御装置の動作例を説明するためのフローチャートである。
【図６】図６は、第１の実施形態に係る制御装置の動作例を説明するためのフローチャートである。
【図７】図７は、第２の実施形態に係る制御装置の動作例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００８】
以下、実施形態について、図面を参照して説明する。  
（第１の実施形態）
まず、第１の実施形態について説明する。
【０００９】
実施形態に係る積載システムは、荷物を所定の容器（領域）に積載する。積載システムは、連続して供給される荷物を所定の容器に順に積載する。たとえば、積載システムは、ベルトコンベアなどによって搬送される荷物を把持し所定の容器に積載する。積載システムは、工場、店舗又は物流拠点などに設置される。
【００１０】
たとえば、荷物は、商品、郵便物、宅配物、部品又は物品などである。荷物は、所定の物品を箱詰めしたものであってもよい。
【００１１】
図１は、実施形態に係る積載システム１００は、制御装置１０、積載ロボット２０（荷役装置）、搬送部３０及びセンサ４０などを備える。制御装置１０は、積載ロボット２０及びセンサ４０と電気的に接続する。なお、積載システム１００は、図１が示すような構成の他に必要に応じた構成を具備したり、積載システム１００から特定の構成が除外されたりしてもよい。
【００１２】
制御装置１０は、積載ロボット２０を制御する。制御装置１０は、所定の容器において荷物を積載する積載位置を決定する。制御装置１０は、積載ロボット２０に、当該積載位置に荷物を積載させる。制御装置１０の構成例については、後述する。
【００１３】
積載ロボット２０は、制御装置１０からの制御に従って所定の容器に荷物を積載する。たとえば、積載ロボット２０は、ロボットアーム及びロボットアームに先端に形成される把持部などを備える。積載ロボット２０は、ロボットアームを制御して搬送部３０に搬送された荷物を把持可能な位置に把持部を移動させる。積載ロボット２０は、荷物を把持部で把持する。積載ロボット２０は、ロボットアームを制御して把持した荷物を積載位置まで搬送する。積載ロボット２０は、把持部を解放して荷物を把持位置に積載する。たとえば、把持部は、吸着パッド又はグリッパなどから構成される。  
なお、積載ロボット２０の構成は、特定の構成に限定されるものではない。
【００１４】
搬送部３０は、積載ロボット２０が荷物を把持することができる位置まで荷物を搬送する。たとえば、搬送部３０は、トラックなどの荷台又は他の容器などにから取り出された荷物を搬送する。たとえば、搬送部３０は、ベルトコンベアなどから構成される。搬送部３０は、ベルトコンベア上に荷物を積載し搬送する。  
なお、搬送部３０の構成は、特定の構成に限定されるものではない。
【００１５】
センサ４０は、搬送部３０が搬送する荷物に関する荷物情報を取得する。センサ４０は、搬送される荷物のサイズを検知する。たとえば、センサ４０は、サイズとして、荷物の幅、奥行き及び高さを取得する。たとえば、センサ４０は、画像処理などによって荷物のサイズを検知する。センサ４０は、荷物のサイズなどを示す荷物情報を生成し制御装置１０へ送信する。
【００１６】
次に、制御装置１０の構成例について説明する。  
図１が示すように、制御装置１０は、プロセッサ１１、ＲＯＭ１２、ＲＡＭ１３、ＮＶＭ１４（記憶部）、通信部１５、操作部インターフェース１６、表示部インターフェース１７、ロボットインターフェース１８、センサインターフェース１９、操作部２６、表示部２７、ＮＶＭインターフェース２８などを備える。プロセッサ１１と、ＲＯＭ１２、ＲＡＭ１３、通信部１５、操作部インターフェース１６、表示部インターフェース１７、ロボットインターフェース１８、センサインターフェース１９及びＮＶＭインターフェース２８と、は、データバスなどを介して互いに接続する。操作部インターフェース１６は、操作部２６に接続する。表示部インターフェース１７は、表示部２７に接続する。ＮＶＭインターフェース２８は、ＮＶＭ１４に接続する。なお、制御装置１０は、図１が示すような構成の他に必要に応じた構成を具備したり、制御装置１０から特定の構成が除外されたりしてもよい。
【００１７】
プロセッサ１１は、制御装置１０全体の動作を制御する機能を有する。プロセッサ１１は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ１１は、内部メモリ、ＲＯＭ１２又はＮＶＭ１４が予め記憶するプログラムを実行することにより種々の処理を実現する。
【００１８】
なお、プロセッサ１１がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであってもよい。この場合、プロセッサ１１は、ハードウエア回路により実行される機能を制御する。
【００１９】
ＲＯＭ１２は、制御プログラム及び制御データなどが予め記憶された不揮発性のメモリである。ＲＯＭ１２に記憶される制御プログラム及び制御データは、制御装置１０の仕様に応じて予め組み込まれる。
【００２０】
ＲＡＭ１３は、揮発性のメモリである。ＲＡＭ１３は、プロセッサ１１の処理中のデータなどを一時的に格納する。ＲＡＭ１３は、プロセッサ１１からの命令に基づき種々のアプリケーションプログラムを格納する。また、ＲＡＭ１３は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【００２１】
ＮＶＭ１４は、データの書き込み及び書き換えが可能な不揮発性のメモリである。ＮＶＭ１４は、たとえば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）又はフラッシュメモリなどから構成される。ＮＶＭ１４は、制御装置１０の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。
【００２２】
通信部１５は、外部装置とデータを送受信するためのインターフェースである。通信部１５は、所定のネットワークに接続するものであってもよい。通信部１５は、たとえば、有線又は無線のＬＡＮ接続をサポートするインターフェースである。
【００２３】
操作部インターフェース１６は、操作部２６とデータを送受信するためのインターフェースである。たとえば、操作部インターフェース１６は、操作部２６に入力された操作を示す信号をプロセッサ１１に送信する。また、操作部インターフェース１６は、操作部２６に電力を供給するものであってもよい。
【００２４】
表示部インターフェース１７は、表示部２７とデータを送受信するためのインターフェースである。たとえば、表示部インターフェース１７は、プロセッサ１１の制御に基づいて、画像データを表示部２７に送信する。また、表示部インターフェース１７は、表示部２７に電力を供給するものであってもよい。
【００２５】
ロボットインターフェース１８（第２のインターフェース）は、積載ロボット２０とデータを送受信するためのインターフェースである。たとえば、ロボットインターフェース１８は、プロセッサ１１からの制御信号を積載ロボット２０に送信する。また、ロボットインターフェース１８は、積載ロボット２０からの信号をプロセッサ１１に送信するものであってもよい。
【００２６】
センサインターフェース１９（第１のインターフェース）は、センサ４０とデータを送受信するためのインターフェースである。たとえば、センサインターフェース１９は、センサ４０からの荷物情報をプロセッサ１１に送信する。また、センサインターフェース１９は、センサ４０に電力を供給するものであってもよい。
【００２７】
ＮＶＭインターフェース２８（第１のインターフェース）は、ＮＶＭ１４とデータを送受信するためのインターフェースである。たとえば、ＮＶＭインターフェース２８は、ＮＶＭ１４からデータを取得しプロセッサ１１に送信する。また、ＮＶＭインターフェース２８は、ＮＶＭ１４に電力を供給するものであってもよい。
【００２８】
操作部２６は、オペレータから種々の操作の入力を受け付ける。操作部２６は、操作部インターフェース１６を通じて、入力された操作を示す信号をプロセッサ１１へ送信する。たとえば、操作部２６は、タッチパネルから構成される。
【００２９】
表示部２７は、プロセッサ１１からの画像データを表示する。たとえば、表示部２７は、液晶モニタから構成される。操作部２６がタッチパネルから構成される場合、表示部２７は、操作部２６と一体的に形成される。  
なお、センサ４０は、搬送部３０に含まれるものであってもよい。
【００３０】
次に、制御装置１０が実現する機能について説明する。制御装置１０が実現する機能は、プロセッサ１１がＲＯＭ１２又はＮＶＭ１４などに格納されるプログラムを実行することで実現される。
【００３１】
プロセッサ１１は、容器に関する容器情報及び容器内に積載される荷物に関する積載情報を取得する機能を有する。
【００３２】
容器情報は、容器の形状及びサイズを示す。たとえば、容器情報は、容器の内寸を示す。たとえば、容器情報は、内寸として幅、奥行き及び高さを示す。
【００３３】
たとえば、容器情報は、ＮＶＭ１４に格納される。プロセッサ１１は、ＮＶＭインターフェース２８を通じてＮＶＭ１４から容器情報を取得する。
【００３４】
積載情報は、容器に積載されている荷物及び積載されている位置を示す。たとえば、積載情報は、荷物のサイズ及び荷物が積載されている座標（たとえば、荷物の中心座標又は各頂点座標）を示す。
【００３５】
たとえば、積載情報は、ＮＶＭ１４に格納される。プロセッサ１１は、ＮＶＭインターフェース２８を通じてＮＶＭ１４から積載情報を取得する。
【００３６】
また、プロセッサ１１は、新たに容器に積載する荷物（新荷物）に関する荷物情報を取得する機能を有する。
【００３７】
搬送部３０が新荷物を所定の位置まで搬送すると、センサ４０は、新荷物の荷物情報を生成する。センサ４０は、生成した荷物情報を制御装置１０に送信する。プロセッサ１１は、センサインターフェース１９を通じて荷物情報を取得する。
【００３８】
なお、ここでは、容器情報、積載情報及び荷物情報は、制御情報を構成する。
【００３９】
また、プロセッサ１１は、容器情報、積載情報及び荷物情報に基づいて、新荷物を容器に積載する積載位置の候補（積載位置候補）を複数生成する機能を有する。
【００４０】
たとえば、プロセッサ１１は、新荷物が既に積載されている荷物と重ならずかつ容器に収まる位置を候補として生成する。たとえば、プロセッサ１１は、候補として、新荷物を積載した場合における当該荷物の各頂点の３次元座標を生成する。  
プロセッサ１１が候補を生成する方法は、特定の方法に限定されるものではない。
【００４１】
また、プロセッサ１１は、生成した各候補の評価値を算出する機能を有する。
【００４２】
評価値は、候補に新荷物を積載した場合における容器の充填率に関連する。即ち、評価値は、候補に新荷物を積載し後続する荷物も容器に積載した場合における充填率に関連する。充填率は、容器内に積載された荷物の量を示す指標である。充填率は、例えば積載された荷物の体積と容器内の体積との比率である。ここでは、プロセッサ１１は、モンテカルロ木探索の評価値（ＵＣＢ（Upper Confidence Bound）値）を算出する。
【００４３】
図２は、プロセッサ１１が評価値を計算する動作例を説明するための図である。ここでは、プロセッサ１１は、候補１…候補ｉ…候補Ｎを生成したものとする。
【００４４】
まず、プロセッサ１１は、搬送部３０が搬送する荷物のサイズごとの発生確率を取得する。発生確率は、所定のサイズの荷物を搬送部３０が搬送する確率である。即ち、発生確率は、後続する荷物のサイズが所定のサイズの荷物である確率である。ここでは、搬送部３０は、ｍ種類のサイズの荷物を搬送するものとする。プロセッサ１１は、荷物の種類（サイズ）ごとの発生確率ｐ１乃至ｐｍを取得する。
【００４５】
ここで、０≦ｐ１，…Ｐｍ≦１、Ｐ１＋…＋Ｐｍ＝１であるものとする。
【００４６】
たとえば、ＮＶＭ１４は、予め発生確率ｐ１乃至ｐｍを格納する。プロセッサ１１は、ＮＶＭ１４から発生確率ｐ１乃至ｐｍを取得する。また、プロセッサ１１は、通信部１５を通じて外部装置から発生確率ｐ１乃至ｐｍを取得してもよい。
【００４７】
発生確率ｐ１乃至ｐｍを取得すると、プロセッサ１１は、発生確率ｐ１乃至ｐｍに基づいて新荷物に後続する仮想的な荷物の荷物列を生成（サンプリング）する。
【００４８】
たとえば、プロセッサ１１は、荷物列をリセットする（荷物列を空集合にする）。荷物列をリセットすると、プロセッサ１１は、発生確率ｐ１乃至ｐｍに従って仮想的な荷物を１つ生成する。仮想的な荷物を生成すると、プロセッサ１１は、荷物列に格納する。プロセッサ１１は、上記の動作を繰り返して、所定の個数（たとえば、５〜１０個）の荷物を荷物列に格納する。
【００４９】
荷物列を生成すると、プロセッサ１１は、荷物列に基づいて各候補の評価値を算出する。図２が示すように、プロセッサ１１は、各候補に新荷物を積載しさらに荷物列を積載した場合の充填率に関する評価値を算出する。
【００５０】
たとえば、所定の候補の評価値を算出する場合、プロセッサ１１は、当該候補に新荷物を仮想的に積載する。
【００５１】
当該候補に新荷物を仮想的に積載すると、プロセッサ１１は、荷物列の先頭の荷物を取り出し、容器内に積載可能な位置にランダムに積載する。プロセッサ１１は、容器に荷物が入らなくなるまで又は荷物列の最後の荷物を積載するまで上記の通り荷物列の荷物を仮想的に容器に積載する。荷物列の荷物を仮想的に容器に積載すると、プロセッサ１１は、容器の充填率を算出する。
【００５２】
プロセッサ１１は、上記の動作（荷物列の荷物をランダムに積載し充填率を算出するまでの動作）を所定の回数繰り返して充填率の平均値を算出する。
【００５３】
充填率の平均値を算出すると、プロセッサ１１は、充填率の平均値に基づいてモンテカルロ木探索の評価値を算出する。たとえば、プロセッサ１１は、以下の式に従って候補ｉの評価値を算出する。
【００５４】
【数１】
2020119089.tif 000003
【００５５】
ここで、ｕｉは、評価値である。
【００５６】
【数２】
2020119089.tif 000004
【００５７】
は、充填率の平均値である。
【００５８】
ｎｉは、候補ｉが選択された回数である。ｎは、試行回数である。ｃは、定数である。
【００５９】
プロセッサ１１は、各候補について評価値ｕを算出する。
【００６０】
各候補の評価値ｕを算出すると、プロセッサ１１は、再び荷物列を生成する。荷物列を生成すると、プロセッサ１１は、各候補の評価値ｕを更新する。たとえば、プロセッサ１１は、上記の動作と同様に荷物列に基づいて評価値を算出する。評価値を算出すると、プロセッサ１１は、各候補の評価値ｕとして、評価値の平均値（各荷物列から算出された評価値の平均値）を算出する。
【００６１】
プロセッサ１１は、上記の動作を所定の回数（たとえば、２０回）繰り返して、各候補の評価値ｕを算出する。即ち、プロセッサ１１は、荷物列を複数回生成し複数個の荷物列に基づいて評価値を算出する。
【００６２】
なお、プロセッサ１１は、モンテカルロ木探索以外の手法に基づいて各候補の評価値を算出してもよい。プロセッサ１１が各候補の評価値を算出する方法は、特定の方法に限定されるものではない。
【００６３】
また、プロセッサ１１は、各評価値ｕに基づいて候補から新荷物を積載する積載位置を決定する機能を有する。
【００６４】
プロセッサ１１は、各評価値ｕから最も高い評価値ｕを特定する。最も高い評価値ｕを特定すると、プロセッサ１１は、当該評価値ｕの候補を積載位置として決定する。
【００６５】
また、プロセッサ１１は、積載ロボット２０に、決定した積載位置に新荷物を積載させる機能を有する。
【００６６】
プロセッサ１１は、ロボットインターフェース１８を通じて、積載位置に新荷物を積載させる制御信号を積載ロボット２０に送信する。たとえば、プロセッサ１１は、積載位置の座標を示す制御信号を積載ロボット２０に送信する。
【００６７】
積載ロボット２０は、当該制御信号を受信する。当該制御信号を受信すると、積載ロボット２０は、搬送部３０から新荷物を把持する。新荷物を把持すると、積載ロボット２０は、当該制御信号に従って積載位置に新荷物を積載する。
【００６８】
また、プロセッサ１１は、積載ロボット２０に荷物を積載させると、積載情報を更新する。
【００６９】
また、プロセッサ１１は、積載位置を決定すると、表示部２７に積載位置を表示する。たとえば、プロセッサ１１は、容器に積載されている現在の荷物の状態を表示し、決定した積載位置を現在の荷物に重ねて表示する。
【００７０】
次に、制御装置１０の動作例について説明する。
【００７１】
図３は、制御装置１０の動作例について説明するためのフローチャートである。
【００７２】
まず、制御装置１０のプロセッサ１１は、搬送部３０によって搬送される新荷物があるか判定する（Ｓ１１）。たとえば、プロセッサ１１は、外部装置から新荷物の搬送が完了したことを示す制御信号を受信すると、搬送部３０によって搬送される新荷物がないと判定する。
【００７３】
新荷物があると判定すると（Ｓ１１、ＹＥＳ）、プロセッサ１１は、所定の新荷物（たとえば、最初に搬送される新荷物）の積載位置を決定する（Ｓ１２）。
【００７４】
積載位置があると判定すると（Ｓ１３、ＹＥＳ）、プロセッサ１１は、積載位置を表示部２７に表示する（Ｓ１４）。積載位置を表示部２７に表示すると、プロセッサ１１は、積載ロボット２０に新荷物を積載位置に積載させる（Ｓ１５）。
【００７５】
積載ロボット２０に新荷物を積載位置に積載させると、プロセッサ１１は、積載情報を更新する（Ｓ１６）。積載情報を更新すると、プロセッサ１１は、Ｓ１１に戻る。
【００７６】
新荷物がないと判定した場合（Ｓ１１、ＮＯ）、又は、積載位置がないと判定した場合（Ｓ１３、ＮＯ）、プロセッサ１１は、動作を終了する。
【００７７】
次に、積載位置を決定する動作例（Ｓ１２）について説明する。  
図４は、積載位置を決定する動作例（Ｓ１２）について説明するためのフローチャートである。
【００７８】
まず、プロセッサ１１は、容器情報、積載情報及び新荷物の荷物情報などを取得する（Ｓ２１）。容器情報、積載情報及び新荷物の荷物情報などを取得すると、プロセッサ１１は、容器情報、積載情報及び新荷物の荷物情報などに基づいて積載位置の候補を生成する（Ｓ２２）。
【００７９】
候補を生成すると、プロセッサ１１は、候補が複数あるか判定する（Ｓ２３）。候補が複数あると判定すると（Ｓ２３、ＹＥＳ）、プロセッサ１１は、各候補の評価値を算出する（Ｓ２４）。
【００８０】
各候補の評価値を算出すると、プロセッサ１１は、最も高い評価値を特定する（Ｓ２５）。最も高い評価値を特定すると、プロセッサ１１は、最も高い評価値の候補を積載位置として決定する（Ｓ２６）。
【００８１】
候補が複数ないと判定した場合（Ｓ２３、ＮＯ）、又は、最も高い評価値の候補を積載位置として決定した場合（Ｓ２６）、プロセッサ１１は、動作を終了する。
【００８２】
なお、プロセッサ１１は、候補が１つである場合、当該候補を積載位置として決定する。また、プロセッサ１１は、候補がない場合、積載位置がないと判定する。
【００８３】
次に、各候補の評価値を算出する動作例について説明する。  
図５は、各候補の評価値を算出する動作例について説明するためのフローチャートである。
【００８４】
まず、プロセッサ１１は、ｊに０を代入する（リセットする）（Ｓ３１）。ｊに０を代入すると、プロセッサ１１は、荷物列を生成する（Ｓ３２）。荷物列を生成すると、プロセッサ１１は、荷物列に基づいて各候補の評価値を更新する（Ｓ３３）。
【００８５】
各候補の評価値を更新すると、プロセッサ１１は、ｊをインクリメントする（ｊ＝ｊ＋１）（Ｓ３４）。ｊをインクリメントすると、プロセッサ１１は、ｊが閾値以上であるか判定する（Ｓ３５）。
【００８６】
ｊが閾値以上でないと判定すると（Ｓ３５、ＮＯ）、プロセッサ１１は、Ｓ３２に戻る。
【００８７】
ｊが閾値以上であると判定すると（Ｓ３５、ＹＥＳ）、プロセッサ１１は、動作を終了する。
【００８８】
次に、プロセッサ１１が荷物列を生成する動作例について説明する。  
図６は、プロセッサ１１が荷物列を生成する動作例について説明するためのフローチャートである。
【００８９】
まず、プロセッサ１１は、各荷物の発生確率を取得する（Ｓ４１）。各荷物の発生確率を取得すると、プロセッサ１１は、荷物列を空集合にする（リセットする）（Ｓ４２）。荷物列をリセットすると、プロセッサ１１は、ｋに０を代入する（リセットする）（Ｓ４３）。
【００９０】
ｋに０を代入すると、プロセッサ１１は、発生確率に基づいて仮想的に荷物を生成する（Ｓ４４）。仮想的に荷物を生成すると、プロセッサ１１は、生成した荷物を荷物列に格納する（Ｓ４５）。
【００９１】
荷物を荷物列に格納すると、プロセッサ１１は、ｋをインクリメントする（ｋ＝ｋ＋１）（Ｓ４６）。ｋをインクリメントすると、プロセッサ１１は、ｋが閾値以上であるか判定する（Ｓ４７）。
【００９２】
ｋが閾値以上でないと判定すると（Ｓ４７、ＮＯ）、プロセッサ１１は、Ｓ４４に戻る。
【００９３】
ｋが閾値以上であると判定すると（Ｓ４７、ＹＥＳ）、プロセッサ１１は、動作を終了する。
【００９４】
なお、積載システム１００は、積載ロボット２０を備えなくともよい。プロセッサ１１は、オペレータに対して積載位置を表示するものであってもよい。
【００９５】
また、積載システム１００は、搬送部３０を備えなくともよい。積載システム１００は、オペレータが所定の領域に配置した荷物を容器に積載するものであってもよい。
【００９６】
また、プロセッサ１１は、積載ロボット２０に新荷物を把持させた後に、積載位置を決定してもよい。また、制御装置１０は、積載ロボット２０に新荷物を把持させる動作と平行して積載位置を決定してもよい。
【００９７】
また、プロセッサ１１は、積載位置を表示しなくともよい。
【００９８】
また、プロセッサ１１は、外部装置から荷物情報を取得してもよい。また、プロセッサ１１は、操作部２６を通じて荷物情報の入力を受け付けてもよい。
【００９９】
また、積載システム１００は、倉庫などの建造部に荷物を積載するものであってもよい。
【０１００】
上記のように構成された積載システムは、新荷物を積載する積載位置の候補を生成する。積載システムは、荷物のサイズごとの発生確率に基づいて、新荷物に後続する荷物列を仮想的に生成する。積載システムは、生成した荷物列に基づいて候補ごとに容器の充填率に関する評価値を算出する。積載システムは、評価値に基づいて、候補から積載位置を決定する。その結果、積載システムは、容器の充填率が高くなる積載位置を決定することができる。よって、積載システムは、荷物の効果的な積載位置を決定することができる。
（第２の実施形態）
次に、第２の実施形態について説明する。
【０１０１】
第２の実施形態における積載システム１００は、搬送部３０が搬送した荷物に基づいて発生確率を算出する点で第１の実施形態に係る積載システム１００のそれと異なる。従って、その他の点については同一の符号を付して詳細な説明を省略する。
【０１０２】
積載システム１００の構成は、第１の実施形態のそれと同様であるため説明を省略する。
【０１０３】
次に、制御装置１０が実現する機能について説明する。制御装置１０が実現する機能は、プロセッサ１１がＲＯＭ１２又はＮＶＭ１４などに格納されるプログラムを実行することで実現される。制御装置１０は、第１の実施形態のそれに加えて以下の機能を実現する。
【０１０４】
制御装置１０のプロセッサ１１は、搬送部３０が搬送した荷物のサイズに基づいて発生確率を算出する機能を有する。
【０１０５】
たとえば、ＮＶＭ１４は、発生確率ｐ１乃至ｐｍの初期値を格納する。たとえば、発生確率ｐ１乃至ｐｍは、０〜１までの乱数であってもよい。また、発生確率ｐ１乃至ｐｍは、同一の値であってもよい。
【０１０６】
プロセッサ１１は、新荷物が搬送されると新荷物の荷物情報を取得する。荷物情報を取得すると、プロセッサ１１は、荷物情報から新荷物のサイズ（種類）を特定する。新荷物のサイズを特定すると、プロセッサ１１は、発生確率ｐ１乃至ｐｍを更新する。たとえば、プロセッサ１１は、これまでに搬送されたサイズごとの荷物の個数をこれまでに搬送された荷物の合計数で除算した値を発生確率ｐ１乃至ｐｍとして算出する。
【０１０７】
次に、制御装置１０の動作例について説明する。  
図７は、制御装置１０の動作例について説明するためのフローチャートである。制御装置１０は、第１の実施形態の動作と平行して以下の動作を実行する。
【０１０８】
まず、制御装置１０のプロセッサ１１は、搬送部３０によって新荷物が搬送されたか判定する（Ｓ５１）。搬送部３０によって新荷物が搬送されていないと判定すると（Ｓ５１、ＮＯ）、プロセッサ１１は、Ｓ５１に戻る。
【０１０９】
搬送部３０によって新荷物が搬送されたと判定すると（Ｓ５１、ＹＥＳ）、プロセッサ１１は、新荷物の荷物情報を取得する（Ｓ５２）。荷物情報を取得すると、プロセッサ１１は、発生確率ｐ１乃至ｐｍを更新する（Ｓ５３）。
【０１１０】
発生確率ｐ１乃至ｐｍを更新すると、プロセッサ１１は、動作を終了する。
【０１１１】
なお、プロセッサ１１は、所定の個数の新荷物が搬送された場合に発生確率ｐ１乃至ｐｍを更新してもよい。
【０１１２】
また、プロセッサ１１は、操作部２６を通じて所定の操作の入力を受け付けた場合に発生確率ｐ１乃至ｐｍを更新してもよい。
【０１１３】
以上のように構成された積載システムは、これまでに積載した荷物のサイズに基づいて発生確率を算出する。その結果、積載システムは、現実的な発生確率を算出することができる。
【０１１４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１５】
１０…制御装置、１１…プロセッサ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ＮＶＭ、１５…通信部、１６…操作部インターフェース、１７…表示部インターフェース、１８…ロボットインターフェース、１９…センサインターフェース、２０…積載ロボット、２６…操作部、２７…表示部、２８…ＮＶＭインターフェース、３０…搬送部、４０…センサ、１００…積載システム。
【図１】
2020119089.tif 000005
【図２】
2020119089.tif 000006
【図３】
2020119089.tif 000007
【図４】
2020119089.tif 000008
【図５】
2020119089.tif 000009
【図６】
2020119089.tif 000010
【図７】
2020119089.tif 000011