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

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

▶ 株式会社Preferred Networksの特許一覧

特許7417486情報処理装置、モデル生成処理装置、および情報処理方法
<>
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図1
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図2
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図3
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図4
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図5
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図6
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図7
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図8
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図9
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図10
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図11
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図12
  • 特許-情報処理装置、モデル生成処理装置、および情報処理方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】情報処理装置、モデル生成処理装置、および情報処理方法
(51)【国際特許分類】
   G06Q 10/08 20240101AFI20240111BHJP
   B65G 61/00 20060101ALI20240111BHJP
   G06Q 10/04 20230101ALI20240111BHJP
   G06N 20/00 20190101ALI20240111BHJP
【FI】
G06Q50/28
B65G61/00 500
G06Q10/04
G06N20/00
【請求項の数】 28
(21)【出願番号】P 2020120886
(22)【出願日】2020-07-14
(62)【分割の表示】P 2020503339の分割
【原出願日】2019-06-28
(65)【公開番号】P2020191104
(43)【公開日】2020-11-26
【審査請求日】2022-06-28
(31)【優先権主張番号】P 2018126366
(32)【優先日】2018-07-02
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100118876
【弁理士】
【氏名又は名称】鈴木 順生
(74)【代理人】
【識別番号】100206243
【弁理士】
【氏名又は名称】片桐 貴士
(72)【発明者】
【氏名】渡部 正樹
(72)【発明者】
【氏名】小松 智希
【審査官】永野 一郎
(56)【参考文献】
【文献】国際公開第2014/167704(WO,A1)
【文献】国際公開第2018/038815(WO,A1)
【文献】特開2003-335417(JP,A)
【文献】特開平10-207928(JP,A)
【文献】特表2000-511146(JP,A)
【文献】特開2017-165565(JP,A)
【文献】特開2000-076220(JP,A)
【文献】特開2016-088630(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
B65G 61/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
1以上の物体が積み込まれる積込空間における物体の積込状態と、当該積込状態を持つ前記積込空間に対して積み込まれる第1物体の情報と、に少なくとも基づいて、当該積込状態を持つ前記積込空間における、当該第1物体の積込位置を決定する決定手段と、
前記積込空間における物体の積込状態と、物体の情報と、に少なくとも基づいて、当該積込状態を持つ前記積込空間に対する当該物体の積込を保留する手段と、
を有する
情報処理装置。
【請求項2】
前記決定手段は、物体の積込状態に関して強化学習が行われたモデルを用いて前記積込位置を決定する、請求項1に記載の情報処理装置。
【請求項3】
前記決定手段は、前記第1物体の積込位置の候補の位置に当該第1物体が積み込まれた場合の前記積込空間における物体の積込状態の評価値を前記モデルを用いて計算し、当該計算された評価値に少なくとも基づいて当該候補の位置を、前記第1物体の積込位置として決定する、請求項に記載の情報処理装置。
【請求項4】
前記決定手段は、前記第1物体の積込位置の候補を複数、取得し、各候補の位置に当該第1物体が積み込まれた場合の前記積込空間における物体の積込状態の評価値を前記モデルを用いて計算し、各候補について計算された当該評価値に少なくとも基づいて当該複数の候補のうちの1つの位置を、前記第1物体の積込位置として決定する、請求項2、又は、請求項2を引用する請求項3に記載の情報処理装置。
【請求項5】
前記決定手段は、前記積込空間における物体の積込状態と、前記第1物体の情報と、に基づいて、前記複数の候補の位置を取得する、請求項に記載の情報処理装置。
【請求項6】
前記モデルは、1以上の物体が積み込まれている積込空間における位置に物体が積み込まれた場合の当該積込空間における物体の積込状態を評価するモデルである、請求項2、又は、請求項2を直接的若しくは間接的に引用する請求項3乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記決定される積込位置は、前記積込状態を持つ前記積込空間において既に積み込まれている物体のうち複数の物体それぞれに支えられることが可能な積込位置である、請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項8】
前記積込状態を持つ前記積込空間において既に積み込まれている物体のうち複数の物体それぞれに支えられることが可能な前記積込位置は、少なくとも2つの物体それぞれの上面に前記第1物体が接触する積込位置である、請求項に記載の情報処理装置。
【請求項9】
前記積込状態を持つ前記積込空間において既に積み込まれている物体のうち複数の物体それぞれに支えられることが可能な前記積込位置は、少なくとも2つの物体の一方の物体の側面と他方の物体の上面に前記第1物体が接触する積込位置である、請求項に記載の情報処理装置。
【請求項10】
前記第1物体の情報は、当該第1物体のサイズを含む、請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項11】
前記第1物体の情報は、前記サイズの他に前記第1物体の重さ又は密度を含む、請求項10に記載の情報処理装置。
【請求項12】
前記決定手段は、
前記積込状態を持つ前記積込空間に対して前記第1物体が前記決定される積込位置に積み込まれた当該積込空間における物体の積込状態を計算し、当該計算された積込状態と、当該計算された積込状態を持つ前記積込空間に対してさらに積み込まれる第2物体の情報と、に少なくとも基づいて、当該計算された積込状態を持つ前記積込空間における、当該第2物体の積込位置を決定する、請求項1乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
前記第2物体について決定される前記積込位置は、前記計算された積込状態を持つ前記積込空間において既に積み込まれている物体のうち複数の物体それぞれに支えられることが可能な積込位置である、請求項12に記載の情報処理装置。
【請求項14】
前記積込空間における物体の積込状態は、1つの物体が複数の物体に支えられて積み込まれる積込状態をとりうる、請求項1乃至13のいずれか1項に記載の情報処理装置。
【請求項15】
前記決定される積込位置に関する情報を表示装置に表示させる手段を有する、請求項1乃至14のいずれか1項に記載の情報処理装置。
【請求項16】
前記決定される積込位置に関する情報を、前記第1物体を前記積込空間に積み込む装置を制御する制御装置に出力する手段を有する、請求項1乃至15のいずれか1項に記載の情報処理装置。
【請求項17】
1以上の物体が積み込まれる積込空間における物体の積込状態と、当該積込状態を持つ前記積込空間に対して積み込まれる第1物体の情報と、に少なくとも基づいて、当該積込状態を持つ前記積込空間における、当該第1物体の積込位置を決定する決定手段であって、物体の積込状態に関して強化学習が行われたモデルを用いて前記積込位置を決定する前記決定手段と、
前記モデルを用いて、前記積込空間に対する物体の積込を保留する手段と、
を有する、
情報処理装置
【請求項18】
1以上の物体が積み込まれる積込空間における物体の積込状態と、当該積込状態を持つ前記積込空間に対して積み込まれる第1物体の情報と、に少なくとも基づいて、当該積込状態を持つ前記積込空間における、当該第1物体の積込位置を決定する決定手段を有し、
前記決定手段は、前記積込状態と前記情報と、に少なくとも基づいて、前記積込空間における物体の積込容量を評価し、当該評価を用いて前記積込位置を決定する、
情報処理装置
【請求項19】
前記積込空間における物体の積込容量を評価するとは、前記積込空間における物体の充填率、前記積込空間における物体の総容量、前記積込空間における物体を積込可能な空き容量、又は、前記積込空間における積込可能な物体の総容量、の少なくともいずれか1つに関する値を計算することである、請求項18に記載の情報処理装置。
【請求項20】
前記積込状態は、前記積込空間の複数位置それぞれにおける物体の高さの情報を含む、請求項1乃至19のいずれか1項に記載の情報処理装置。
【請求項21】
前記積込状態は、前記積込空間の複数位置それぞれにおける物体の高さの差の情報を含む、請求項1乃至19のいずれか1項に記載の情報処理装置。
【請求項22】
前記決定手段は、前記第1物体より後に前記積込空間に積み込まれる物体の情報なしに、前記積込状態と、当該第1物体の情報と、に少なくとも基づいて、当該第1物体の積込位置を決定する、請求項1乃至21のいずれか1項に記載の情報処理装置。
【請求項23】
前記第1物体が積み込まれる前記積込空間における前記積込状態は、前記積込空間を測定することで得られるデータに基づいて取得される、請求項1乃至22のいずれか1項に記載の情報処理装置。
【請求項24】
前記積込空間に積み込まれる1以上の物体のそれぞれは、直方体状である、請求項1乃至23のいずれか1項に記載の情報処理装置。
【請求項25】
前記積込空間に積み込まれた1以上の物体は、当該積込空間に積み込まれた積込状態のまま運搬される、請求項1乃至24のいずれか1項に記載の情報処理装置。
【請求項26】
前記積込空間は、車両の荷台、コンテナ、船倉、物置部屋、のいずれかである、請求項1乃至25のいずれか1項に記載の情報処理装置。
【請求項27】
決定手段により、1以上の物体が積み込まれる積込空間における物体の積込状態と、当該積込状態を持つ前記積込空間に対して積み込まれる第1物体の情報と、に少なくとも基づいて、当該積込状態を持つ前記積込空間における、当該第1物体の積込位置を決定し、
保留手段により、前記積込空間における物体の積込状態と、物体の情報と、に少なくとも基づいて、当該積込状態を持つ前記積込空間に対する当該物体の積込を保留する、
情報処理方法。
【請求項28】
決定手段に、1以上の物体が積み込まれる積込空間における物体の積込状態と、当該積込状態を持つ前記積込空間に対して積み込まれる第1物体の情報と、に少なくとも基づいて、当該積込状態を持つ前記積込空間における、当該第1物体の積込位置を決定させ、
保留手段に、前記積込空間における物体の積込状態と、物体の情報と、に少なくとも基づいて、当該積込状態を持つ前記積込空間に対する当該物体の積込を保留させる、
情報処理方法を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、モデル生成処理装置、および情報処理方法に関する。
【背景技術】
【0002】
物流業界にとって、コンテナ、トラックの荷台といった荷物を積み込むための空間に、いかにして荷物を積み込むかは、非常に重要な課題である。近年では、各荷物の最適な積込位置がコンピュータにより判断されることも少なくない。
【0003】
コンピュータが各荷物の最適な積込位置を判断する従来方式では、積込予定の荷物の個数、各荷物のサイズが事前に把握されていることが前提となっている。例えば、コンピュータは、各荷物の積込位置の組み合わせが最適となるようなアルゴリズムを用いて、積込位置を決定する。しかし、宅配便などを取り扱う場合、作業時間、作業スペースなどの観点から、荷物が到着する度に荷物を積み込むといったオンライン対応を行うことも多い。そのような場合には、各荷物の最適な積込位置は依然として作業員の経験により判断されている。
【発明の開示】
【0004】
事前に積込予定の荷物を全て把握していなくとも、適切な積込位置の決定に関する処理を行うことが可能な装置を提供する。
【0005】
本発明の一実施形態は、メモリと、少なくとも1つの処理回路と、を備える。前記少なくとも1つの処理回路は、積込予定の第1物体が複数の積込位置候補のいずれかに積み込まれたとした場合の状態情報を生成することと、所定空間における物体の積込状態に関する状態情報が入力されると、前記所定空間における物体の積込状態に対する評価値を出力する積込状態評価モデルに、前記積込位置候補の状態情報を入力して評価値を取得することと、を実行するよう構成される。
【図面の簡単な説明】
【0006】
図1】第1の実施形態に係る積込作業支援システムの一例を示すブロック図。
図2】高さマップの一例を示す図。
図3】底面接触率による積込位置候補の検出是非について説明する図。
図4】第1の実施形態に係るモデル生成処理装置のモデル生成処理の概略フローチャート。
図5】第1の実施形態に係るモデル生成処理装置の強化学習の概略フローチャート。
図6】第1の実施形態に係る積込位置決定処理装置の処理の概略フローチャート。
図7】第2の実施形態に係る積込作業支援システムの一例を示すブロック図。
図8】第2の実施形態に係るモデル生成処理装置の強化学習の概略フローチャート。
図9】第2の実施形態に係る積込位置決定処理装置の処理の概略フローチャート。
図10】保留数と充填率との関係を示す図。
図11】側面接触による積込位置候補の検出是非について説明する図。
図12】第3の実施形態に係る積込位置決定処理装置の指定に従い、荷物を積み込み続けたときの結果の概念図。
図13】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【0007】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0008】
(第1の実施形態)
図1は、第1の実施形態に係る積込作業支援システムの一例を示すブロック図である。第1の実施形態に係る積込作業支援システム1は、モデル生成処理装置11と、積込位置決定処理装置12と、を備える。
【0009】
モデル生成処理装置11は、積込空間サイズ取得部111と、学習用荷物情報生成部112と、状態情報生成部113と、積込位置候補検出部114と、モデル記憶部115と、評価値算出部116と、積込位置選択部117と、モデル更新部118と、を備える。
【0010】
積込位置決定処理装置12は、積込空間情報取得部121と、積込用荷物情報取得部122と、状態情報生成部123と、積込位置候補検出部124と、モデル記憶部125と、評価値算出部126と、積込位置決定部127と、積込位置指示部128と、を備える。
【0011】
第1の実施形態に係る積込作業支援システム1は、所定空間内に積込予定の物体に対し、当該物体を積み込むべき位置(積込位置)を指定するシステムである。モデル生成処理装置11が、所定空間における物体の積込状態を評価する積込状態評価モデルを生成する。積込位置決定処理装置12が、当該積込状態評価モデルを用いて、当該物体の積込位置を決定し、その積込位置を出力する。こうして、積込作業支援システム1は積込作業を支援する。例えば、荷物が運搬車両の荷台に積み込まれる場合、在庫が倉庫に積み込まれる場合などにおいて、積込作業支援システム1が活用されることが想定される。
【0012】
なお、説明の便宜上、以降、所定空間内に積み込まれる物体を「荷物」と記載するが、当該用語により、積み込まれる物体が限定されるものではない。
【0013】
所定空間は、サイズ(縦、横、および高さの長さ)が予め定められた3次元の空間であればよい。荷物を積み込むために一般的に使用されるコンテナ、船倉、物置部屋などは当然のこと、壁などにより周囲を囲われていない一区画もサイズが定められていれば所定空間に含まれる。所定空間を、以降、「積込空間」と記載する。なお、積込空間が有する遮蔽物、例えば物置部屋の壁など、により限定されなければ、荷物は、上、横、または両方向から積込可能である。
【0014】
積込作業支援システム1は、所望の目的を満たすのに適した積込位置を決定する。例えば、なるべく多くの荷物を積み込む、積み込み荷物同士の隙間をなるべく減らす、積み込まれた荷物がなるべく崩れ落ちにないようにする、といったことが考えられる。ここでは、積込作業支援システム1は、なるべく多くの荷物が積込空間に積み込まれるようにする。そのため、積込位置決定処理装置12は、積込空間に積込予定の荷物に対して、積込空間における荷物の充填率を上げるのに適した積込位置を決定する。積込空間の充填率は、積込空間において、積込空間内の荷物が占める割合を表す。つまり、積込空間の充填率は、(積込空間内の荷物の総体積)/(積込空間内の体積)で表される。1個の荷物をどこに置いたとしてもその時点では同じ充填率になるが、荷物を積み込めなくなるまで積み込んだ場合、荷物の配置によって積み込まれた荷物の個数は異なり、充填率に差が生まれることになる。つまり、積込位置決定処理装置12は、最終的に積み込まれた荷物の総体積が多くなるような積込位置を決定する。
【0015】
なお、積込位置決定処理装置12は、荷物の積込位置を決める際に積込予定の荷物全てのサイズを必要とせず、各荷物の積込位置は個別に決定される。例えば、積込予定の第1荷物と、第1荷物の後に積込予定の第2荷物がある場合において、積込位置決定処理装置12は、第1の荷物の積込位置を決定した後に、第2荷物の積込位置を決定する処理を開始する。積込位置決定処理装置12は、第2の荷物のサイズを認識していなくとも、第1の荷物の積込位置を決定することが可能である。つまり、ある荷物の積込位置を決定する際に、後続の荷物の情報はなくともよい。
【0016】
積込位置を指定する従来の装置は、積込予定の全ての荷物の情報が与えられ、当該全ての荷物を効率的に積み込むことができるように、各位置を指定する。例えば、第1から第n(nは1より大きい整数)までの荷物があることが事前に認識されており、第1から第nまでの各荷物のサイズが従来の装置に与えられ、従来の装置は、第1から第nまでの荷物の各位置を決定していた。このように従来装置では、積込位置を決定する前に、積込予定の荷物を全て把握する必要がある。
【0017】
一方、本実施形態に係る積込位置決定処理装置12は、各荷物の積込位置は個別に決定されるため、積込予定の荷物を全て把握する必要はない。例えば、積み込む荷物の全貌が判明しておらず、荷物は到着次第、積込空間に積み込まれるといったオンライン作業が実施される場合がある。従来装置はこのようなオンライン作業に対応することができない。しかし、本実施形態の積込作業支援システム1では、作業員は、荷物の到着の度に、到着した荷物の積込位置を認識することが可能である。
【0018】
なお、荷物が積み込まれる順番が指定されていれば、積込位置決定処理装置12に複数の荷物の情報が同時に与えられてもよい。その場合、積込位置決定処理装置12は、順番通りに、荷物の積込位置を決定する。
【0019】
なお、上記では、積込状態評価モデルの生成と、積込状態評価モデルを用いた積込位置の指定と、を別々の装置で行うことを想定した。しかし、モデル生成処理装置11と、積込位置決定処理装置12とをまとめて一つの装置とし、一つの装置が両方の処理を行うようにしてもよい。その場合において、モデル生成処理装置11と積込位置決定処理装置12の共通の構成要素は一つにまとめられてもよいし、別々に設けられていてもよい。
【0020】
また、図1では、積込状態評価モデルの生成と、積込状態評価モデルを用いた積込位置の指定と、に必要と思われる主な構成要素を示しているが、その他の構成要素が含まれていてもよい。また、各装置および構成要素が細分化されていてもよいし、一つにまとめられていてもよい。例えば、積込位置決定処理装置12が、積込空間情報取得部121と、積込用荷物情報取得部122と、状態情報生成部123と、積込位置候補検出部124と、モデル記憶部125と、評価値算出部126と、を備える第1装置と、積込位置決定部127と、積込位置指示部128と、を備える第2装置に分けられている場合が考えられる。この場合、後述する各評価値が第1装置により算出されて、第2装置に送信され、第2装置が各評価値に基づいて積込位置を決定および出力することが考えられる。また、第1装置からの各評価値に基づいて、ユーザが積込位置を決定するといったこともできる。あるいは、積込位置決定処理装置12が、積込空間情報取得部121と、積込用荷物情報取得部122と、状態情報生成部123と、を備える第3装置と、積込位置候補検出部124と、モデル記憶部125と、評価値算出部126と、積込位置決定部127と、積込位置指示部128と、を備える第4装置に分けられている場合も考えられる。この場合、後述する高さマップが第3装置により算出されて、第4装置に送信され、第4装置が高さマップに基づいて積込位置を決定および出力することが考えられる。
【0021】
また、構成要素が、モデル生成処理装置11でも積込位置決定処理装置12でもない外部の装置に存在し、モデル生成処理装置11および積込位置決定処理装置12は、外部の装置から、その構成要素による処理結果を取得してもよい。例えば、積込位置候補検出部124を積込位置決定処理装置12とは別の装置内に存在させて、積込位置決定処理装置12の処理負荷を分散させてもよい。
【0022】
また、モデル生成処理装置11、積込位置決定処理装置12、情報の入手元(図示されていない)、および情報の出力先(図示されていない)は、通信ネットワークなどを介して、データの送受が可能であるとする。
【0023】
積込作業支援システム1の各構成要素について説明する。まずは、モデル生成処理装置11について説明する。
【0024】
モデル生成処理装置11は、強化学習を行うことにより、積込状態評価モデルを生成する。ゆえに、モデル生成処理装置11は、強化学習装置とも言える。強化学習としては、Value Iterationを用いることができる。Value Iterationは、TD(Temporal Difference Learning)、Q-learning、DQN(Deep Q-Network)などの様々な手法があるが、いずれを用いてもよい。強化学習を実行するための構成要素の一例を以下に説明する。
【0025】
積込空間サイズ取得部111は、外部から積込空間のサイズを取得する。当該サイズは、モデル生成処理装置11に内蔵の入力インタフェースを介してユーザから取得してもよいし、外部装置から取得してもよい。本実施形態では、積込空間のサイズが、荷物の積込可能な範囲として設定されるものとする。なお、荷物の積込可能な範囲は、積込空間のサイズよりも小さくしてもよい。
【0026】
学習用荷物情報生成部112は、積込状態評価モデル生成のための強化学習に用いられる、荷物に関する情報を生成する。以降、当該情報を「学習用荷物情報」と記載する。学習用荷物情報はテストデータであり、各荷物のサイズと、当該荷物の到着の順番と、が含まれる。つまり、学習用荷物情報生成部112は、各荷物のサイズと、当該荷物の到着の順番と、を決定する。なお、本実施形態では、荷物の到着の順番は、荷物が積み込まれる順番と一致する。
【0027】
本実施形態では、荷物は直方体を想定し、荷物のサイズは、縦、横、高さで表されるものとして説明する。各荷物のサイズは、これまでに実際に積み込まれた荷物の記録などのサンプルデータに基づき決定されてもよいし、ランダムに決定されてもよい。また、規格等により荷物のサイズが複数の種別に分けられている場合は、それらの種別から選択すればよい。記録、規格などの情報は、学習用荷物情報生成部112に予め登録されていてもよいし、学習用荷物情報生成部112が外部から取得してもよい。
【0028】
状態情報生成部113は、積込空間における荷物の積込状態に関する状態情報を生成する。本実施形態では、状態情報として、積込空間に積み込まれた荷物全体の高さに関する情報を生成する。当該情報を「高さマップ」と記載する。図2は、高さマップの一例を示す図である。図2の例の高さマップは積込空間を上から見た状態を示す上面図であり、積込空間に予め定められた各区画に存在する一番上の荷物の上端の高さを色の濃淡で示したヒートマップでもある。色の濃いほうが、荷物の上端が高いことを示す。区画に存在する一番上の荷物の上端の高さを「区画の高さ」と規定する。つまり、高さマップは、積み込まれた荷物全体の各区画における高さを示す。このように、高さマップにより、積込空間に積み込まれた荷物全体の高さを示すことができる。
【0029】
本実施形態では、区画の形状は、前述の想定した直方体の荷物に合わせて矩形とする。ここでは、積込空間の床面を格子状に区切ることにより、各区画を生成したが、区画の生成方法は適宜に定めてよい。区画のサイズは、処理負荷、推定精度などを考慮して、予め定められていることを想定するが、モデル生成処理装置11に入力された指定値に応じて、状態情報生成部113が変更してもよい。また、区画のサイズが区画ごとに異なっていてもよい。
【0030】
本実施形態では、高さマップにおいて、各荷物の端は、当該区画の境界線と一致するように調整される。例えば、荷物のサイズが統一されていない場合、当該境界線と荷物の端とが完全には一致できないため、状態情報生成部113は、荷物のサイズを区画に合うように丸めた上で、高さマップを生成する。なお、学習用荷物情報生成部112が、区画に合うような荷物のサイズを生成してもよい。また、荷物のサイズが予め定められた規格サイズのいずれかである場合は、境界線と荷物の端とが完全に一致できるように、区画のサイズが調整されてもよい。
【0031】
なお、高さマップは画像データとは限らない。高さマップは、区画の位置を示す情報(例えば行番号と列番号)と、当該区画の荷物の高さと、を組み合わせたデータとして表されてもよい。つまり、高さマップは、各区画における高さが認識可能であれば、どのようなフォーマットでもよい。
【0032】
また、状態情報生成部113は、積込位置候補検出部114から後述の積込位置候補が送られてきたときは、荷物が当該積込位置候補のいずれかに積み込まれたとした場合における高さマップを、積込位置候補ごとに生成する。当該高さマップを「高さマップ候補」と記載する。
【0033】
そして、状態情報生成部113は、積込位置候補から選出された積込位置が送られてきたときに、当該積込位置に対応する高さマップ候補を、次の荷物を積み込む時点の高さマップとする。こうして、高さマップが更新される。
【0034】
なお、高さマップ候補は、決定された積込位置または積込位置候補に含まれる各区画に対して、その区画の高さを今回積み込む予定の荷物の高さ分だけ増加させることにより作成可能である。
【0035】
積込位置候補検出部114は、学習用荷物情報と、高さマップと、を用いて、荷物を積み込むことが可能な位置を検出する。検出された位置を「積込位置候補」と記載する。例えば、底面の接触率が閾値以上である位置を積込位置候補とすることが考えられる。底面の接触率とは、積込空間の床面または他の荷物の上面との接触領域が、荷物の底面に対して占める割合を示す。つまり、(接触領域の面積)/(底面全体の面積)を意味する。
【0036】
図3は、底面接触率による積込位置候補の検出是非について説明する図である。積込予定の荷物2と、既に積み込まれた荷物3(3Aから3I)との位置関係が示されている。また、積込位置候補として検出されるか否かが、YESまたはNOで示されている。図3(A)および(B)での荷物2の位置は、底面接触率が大きいため、積込位置候補として検出されている。図3(C)での荷物2の位置は、底面接触率が小さいために、積込位置候補として検出されていない。図3(D)では、荷物2が荷物3Dと荷物3Eの両方と接触している。このような場合、底面接触率は、荷物3Dと荷物3Eを区別せずに、算出される。ゆえに、図3(D)での荷物2の位置は、底面接触率が大きいため、積込位置候補として検出されている。図3(E)では、荷物3Fと荷物3Gの高さが異なっているため、荷物2は荷物3Fとしか接触していないが、荷物3Fとの底面接触率が大きいため、荷物2の位置は積込位置候補として検出されている。図3(F)では、荷物3Hと3Iの高さが異なっているため、荷物2は荷物3Hとしか接触しておらず、荷物3Hとの底面接触率が小さいため、図3(F)の荷物2の位置は、積込位置候補として検出されていない。
【0037】
積込位置候補検出部114は、底面接触率が閾値以上となる位置を高さマップに基づき検索し、検出された位置を積込位置候補とする。また、検出された積込位置候補に荷物が置かれた場合に、高さが上限値を超える区画が出てくるときは、積込位置候補として検出されないようにする。上記のような積込位置候補を決定するための条件は、適宜に定めてよい。
【0038】
検出方法は、公知のシミュレーション手法を用いればよい。また、積込位置候補検出部114は、積込位置を決定する際に、荷物を回転させてもよい。つまり、荷物の縦、横、および高さを入れ替えてもよい。なお、荷物によっては、倒立状態などにできないものもある。そのため、回転軸が鉛直方向と平行である回転は許可し、その他の回転は禁止するといった回転方向の制限を加えてもよい。
【0039】
モデル記憶部115は、積込状態評価モデルを記憶する。積込状態評価モデルは、所定空間における荷物の積込状態に関する情報が入力されると、当該積込状態に対する評価値を出力するモデルである。ここでは、積込空間の充填率を高くするため、積込状態評価モデルによる評価値は、当該積込状態から積込可能な荷物の総容量に関する値とする。なお、何を評価値とするかは、目的に応じて適宜に定めてよい。例えば、所定空間における荷物の充填率に関する情報、荷物の総容量に関する情報、荷物を積込可能な空き容量に関する情報、積込可能な荷物の総容量に関する情報など、荷物の積込容量に関する値を評価値として用いることができる。また、荷物の積込容量に関する情報と別の情報とを用いて評価値を算出するようにしてもよい。評価値として、積込可能な荷物の総容量に関する値を用いる場合、評価値が高い方が、当該総容量が大きく、荷物を積み込む余裕がまだあることを意味する。複数ある高さマップ候補から、学習済みの積込状態評価モデルにより算出された評価値が高い高さマップ候補を選択し続けると、結果的には多くの荷物が積み込まれて、積込空間の充填率を高くすることができる。ゆえに、積込状態評価モデルによる評価値は、入力された積込状態が所定空間における荷物の充填率を上げるのに適した状態であるかを示すものでもある。積込状態評価モデルによる評価値が適正となるように、強化学習が行われる。
【0040】
積込状態評価モデルの形態は、強化学習の手法に応じて、変えてよい。積込状態の特徴量を組み合わせて評価値を出力する評価関数でもよいし、DQNで用いられる畳み込みニューラルネットワーク(CNN)などのニューラルネットワークでもよい。例えば、高さマップ候補の画像データをCNNの入力層に入力することにより、各中間層における演算を経て、出力層から高さマップ候補の評価値が出力されるようにしてもよい。
【0041】
評価値算出部116は、高さマップ候補を積込状態評価モデルに入力して、積込状態評価モデルから評価値を得る。評価値算出部116は積込状態評価モデルによる評価値を調整してもよく、評価値算出部116により算出された評価値と、積込状態評価モデルによる評価値とが完全に一致しなくともよい。こうして、評価値算出部116は、積込状態評価モデルを用いて、高さマップ候補に対して評価値を算出する。
【0042】
積込位置選択部117は、所定のポリシーに基づき、積込位置候補のうちの一つを選出して、今回積み込まれる荷物の積込位置とする。ポリシーは、例えば、その評価値が最大の積込位置候補を選択するという貪欲法(greedy)、確率εでランダムに選択し確率1-εでその評価値が最大の積込位置候補を選択するというε-greedyなどが考えられる。
【0043】
モデル更新部118は、選択された積込位置に係る評価値の妥当性を評価することにより、モデル記憶部115内の積込状態評価モデルのパラメータを更新する。更新方法は、強化学習の種類に応じて、適宜に定めればよい。例えば、荷物が積み込めなくなった時点における充填率をフィードバックして、荷物が積み込まれた各時点の積込状態に対する評価値の妥当性を評価して、パラメータを更新してもよい。積込状態評価モデルが更新されていくことにより、積込状態評価モデルが適切な評価値を算出することできるようになる。
【0044】
モデル生成処理装置11の処理の流れについて説明する。図4は、第1の実施形態に係るモデル生成処理装置11のモデル生成処理の概略フローチャートである。
【0045】
まず、積込空間サイズ取得部111は、積込空間のサイズ、つまり縦、横、および高さの各制限値を取得する(S101)。また、学習用荷物情報生成部112がテストデータを生成する(S102)。テストデータは、荷物のサイズと、荷物の順番と、が含まれる。例えば、第1から第nまでの荷物のサイズを予め決めておく。定数nは、積込空間に全ての荷物を積み込むことができない程、十分に大きい数とする。
【0046】
そして、生成されたテストデータに基づく強化学習が実行されて、積込状態評価モデルの学習が進行する(S103)。強化学習のフローは後述する。このテストデータによる学習の終了後、学習の終了条件を満たしていない場合(S104のNO)は、S102の処理に戻り、新たなテストデータが生成されて、再度学習が行われる。学習の終了条件を満たした場合(S104のYES)は、モデル生成処理が終了する。学習の終了条件は、積込状態評価モデルのパラメータの更新が行われた回数などに基づき、適宜に定めてよい。
【0047】
次に、S103の処理の内部のフローを説明する。図5は、第1の実施形態に係るモデル生成処理装置11の強化学習の概略フローチャートである。
【0048】
まず、強化学習の新たなエピソードの開始のために、積込状態の初期化が行われる(S201)。初期化は、積込空間に荷物が存在しない初期状態から荷物の積込作業が開始されることを意味する。つまり、初期化後は、1番目の荷物の積込位置の決定処理が開始される。
【0049】
状態情報生成部113は、積込空間の現時点の高さマップを生成する(S202)。現時点とは、前回の荷物が積み込まれてから今回の荷物を積み込む前までのいずれの時点でもよい。また、1番目の荷物を積み込む場合における現時点は、作業開始から1番目の荷物を積み込む前までのいずれの時点でもよい。1番目の荷物の積込位置の決定処理では、荷物が一つも積まれていない状態のため、高さマップは積込空間の上面図と同じになる。また、k(kは1<k≦nを満たす整数)番目の荷物の積込位置の決定処理では、状態情報生成部113は、k-1番目の荷物の積込位置の決定処理において決定された積込位置に対応する高さマップ候補を、k番目の荷物の積込位置の決定処理における高さマップとすればよい。
【0050】
積込位置候補検出部114が、今回積み込む荷物のサイズと、S202の処理で更新された今回の高さマップと、に基づき、積込位置候補を検出する(S203)。状態情報生成部113は、算出された積込位置候補ごとに、算出された積込位置候補に今回積み込む予定の荷物が積み込まれた場合の高さマップ、つまり、高さマップ候補を生成する(S204)。
【0051】
評価値算出部116は、積込状態評価モデルを用いて、各高さマップ候補から評価値を算出する(S205)。積込位置選択部117が、ポリシーに基づき、複数の積込位置候補のうちの一つを選択する(S206)。そして、モデル更新部118が、モデルを更新する(S207)。なお、強化学習の手法によってはS207の処理が、荷物が積み込まれるたびに行われない場合もあり得る。その場合は、S207の処理は省略される。例えば、第1から第4番目の荷物の積込位置が決定された場合にはS207が省略され、第5番目の荷物の積込位置が決定された際に、第1から第5番目の荷物の積込位置に基づいて、モデルが更新されてもよい。また、エピソードまたはテストデータの終了条件を満たした際に、モデルの更新に用いられていない荷物の積込位置に基づき、モデルの更新が行われてよい。
【0052】
そして、エピソードの終了条件を満たしていない場合(S208のNO)は、S202の処理に戻り、次に積込予定の荷物に対する処理が開始される。エピソードの終了条件を満たしているが(S208のYES)、テストデータの終了条件を満たしていない場合(S209のNO)は、新たなエピソードの開始のために、状態の初期化に戻る(S201)。エピソードの終了条件を満たし(S208のYES)、テストデータの終了条件も満たした場合(S209のYES)は、このテストデータによる強化学習は終了する。エピソードの終了条件は、例えば、荷物が積み込まれるにつれて(積込位置の決定処理の実施回数が増加するにつれて)評価値は減少していくため、評価値が閾値を下回った場合とすればよい。次の荷物が積めなくなった時点で、エピソードが終了するようにしてもよい。テストデータに対する終了条件は、エピソードの実行回数、エピソード終了時点における充填率などに基づき、適宜に定めてよい。
【0053】
なお、本説明におけるフローチャートは一例であり、上記の例に限られるものではない。実施形態の求められる仕様、変更などに応じて、手順の並び替え、追加、および省略が行われてもよい。例えば、積込空間のサイズを取得と、テストデータの生成と、は並行に処理されてもよい。以降のフローチャートについても同様である。
【0054】
次に、積込位置決定処理装置12について説明する。積込空間情報取得部121は、積込空間に関する情報を取得する。当該情報を、以降、「積込空間情報」と記載する。積込空間情報には、少なくとも積込空間のサイズが含まれる。その他には、既に積み込まれた荷物の位置に関する情報が積込空間情報に含まれていてもよい。積込位置決定処理装置12は、積込空間に荷物が存在している状態からでも、次の荷物の積込位置が指定可能なためである。当該積込空間情報は、モデル生成処理装置11に内蔵の入力インタフェースを介してユーザから取得してもよいし、外部装置から取得してもよい。
【0055】
積込用荷物情報取得部122は、積込予定の荷物に関する情報を取得する。当該情報を、以降、「積込用荷物情報」と記載して、学習用荷物情報と区別する。積込用荷物情報には、今回積み込む予定の荷物のサイズが含まれる。
【0056】
なお、積み込む順番を示す識別子も含まれていれば、複数の荷物のサイズが積込用荷物情報に含まれていてもよい。積込用荷物情報も、モデル生成処理装置11に内蔵の入力インタフェースを介してユーザから取得してもよいし、外部装置から取得してもよい。
【0057】
積込位置決定処理装置12の状態情報生成部123は、モデル生成処理装置11の状態情報生成部113と同じでよく、高さマップと、積込位置候補に応じた高さマップ候補を生成する。
【0058】
積込位置決定処理装置12の状態情報生成部123は、積込空間内の画像から、高さマップを生成してもよい。三角測量などの手法、またはステレオカメラを用いて、画像から高さを割り出すことが可能な公知の測定ソフトを用いればよい。つまり、積込空間内の画像が、既に積み込まれた荷物の位置に関する情報として、積込空間情報に含まれていてもよい。あるいは、例えば、デプスカメラなどにより、既に積み込まれた荷物の高さに関する情報が取得され、当該情報が状態情報生成部123に送信されてもよい。また、当該情報は、モデル生成装置の積込状態評価モデルの生成のためのテストデータとして用いられてもよい。
【0059】
積込位置決定処理装置12の積込位置候補検出部124は、モデル生成処理装置11の積込位置候補検出部114と同じでよく、高さマップを用いて、次の荷物を積み込むことが可能な位置を算出する。
【0060】
積込位置決定処理装置12のモデル記憶部125は、モデル生成処理装置11から、学習済みの積込状態評価モデルを取得して記憶する。なお、積込位置決定処理装置12のモデル記憶部125は、対応する積込空間が異なる複数の積込状態評価モデルを記憶しておき、積込空間が指定されたときに、指定された積込空間に対応する積込状態評価モデルを伝送するようにしてもよい。
【0061】
積込位置決定処理装置12の評価値算出部126は、モデル記憶部125に記憶された積込状態評価モデルをソフトウェアの一部であるプログラムモジュールとして用いて、高さマップ候補ごとに評価値を算出する。評価値算出部126は、モデル生成処理装置11の評価値算出部116と同じでよい。
【0062】
なお、モデル記憶部115に複数の積込状態評価モデルが記憶されているときは、評価値算出部116は、複数の積込状態評価モデルのうちから、積込空間情報取得部121が取得した積込空間情報に係る積込空間に対応する積込状態評価モデルを、積込空間のサイズ、積込空間の識別子などに基づいて、モデル記憶部115から抽出する。ゆえに、積込空間の識別子も、積込空間情報に含まれていてもよい。
【0063】
積込位置決定処理装置12の積込位置決定部127は、積込位置候補のうちから、評価値が最も高い積込位置候補を、今回積み込まれる荷物の積込位置と決定する。
【0064】
積込位置指示部128は、積込位置に係る情報を出力先に出力(指示)する。積込位置は、座標で表されてもよいし、高さマップのような画像で表わされてもよい。出力先は、特に限られるものではない。例えば、作業員に積込位置を知らせるために、モニタなどの表示装置に積込位置を表示させてもよい。あるいは、ロボットアームなどの制御装置に対し、積込位置を出力することにより、ロボットアームが積込位置に荷物を積み込むといった制御も可能になる。こうして、実際の積込作業を支援することができる。
【0065】
次に、積込位置決定処理装置12の処理の流れについて説明する。図6は、第1の実施形態に係る積込位置決定処理装置12の処理の概略フローチャートである。
【0066】
積込空間情報取得部121が積込空間情報を取得し(S301)、状態情報生成部123が当該積込空間情報に基づき現時点の高さマップを生成する(S302)。一方、積込用荷物情報取得部122は積込用荷物情報を取得する(S303)。
【0067】
なお、積込位置の指定を既に実施しており、次の荷物に対する積込位置を指定する場合は、前回の荷物に対して決定された積込位置に係る高さマップ候補をキャッシュしておき、現時点の高さマップとして用いてもよい。その場合、S301は省略されてよい。
【0068】
積込位置候補検出部124は、積込用荷物情報に含まれている今回積み込む荷物のサイズと、高さマップと、から、積込位置候補を検出する(S304)。状態情報生成部123は、算出された積込位置候補ごとに、算出された積込位置候補に今回の荷物が積み込まれた場合の高さマップ、つまり、高さマップ候補を生成する(S305)。
【0069】
評価値算出部126は、積込状態評価モデルを用いて、各高さマップ候補の評価値を算出する(S306)。そして、積込位置決定部が、評価値が最も大きい高さマップ候補に係る積込位置候補を、最適な積込位置と決定する(S307)。最後に、積込位置指示部128が決定された積込位置を出力し(S308)、フローは終了する。
【0070】
このように、本実施形態では、荷物の積込位置は、一つ以上の積込可能な位置から、評価値に基づき選択される。ゆえに、積込位置がヒューリスティックに決定されるものではない。例えば、ヒューリスティック手法では、積込空間の角に、または既に積み込まれている荷物と隙間なく接するように、荷物が置かれる。しかし、本実施形態では、そのようなことはなく、最初の荷物が積込空間の中央付近に置かれることもあり得る。
【0071】
以上のように、本実施形態によれば、高さマップを用いた強化学習を行うことにより、積込状態を評価する積込状態評価モデルを生成する。そして、積込状態評価モデルを用いて、荷物個別に積込位置が指定される。これにより、荷物が到着する度に荷物を適切な位置に積み込むこというオンライン対応を行うことができる。また、積込空間に既にある程度荷物が積み込まれている状態であっても、荷物の積込作業の支援を開始することができる。
【0072】
(第2の実施形態)
第1の実施形態では、荷物の到着順に荷物を積み込むことを想定した。本実施形態では、荷物を一時的に置いておくことができる場合などで、到着した荷物を積み込まずに保留することが可能な場合を想定する。例えば、少数の荷物を一時的に置くことが可能なスペースがある場合に、複数の荷物がほぼ同時に到着したときは、必ずしも到着順に荷物を積み込まなくともよいと考えられる。また、積み込む順番を変えることで、より効率的に荷物を積み込むことが可能と考えられる。
【0073】
図7は、第2の実施形態に係る積込作業支援システム1の一例を示すブロック図である。第2の実施形態に係る積込作業支援システム1では、モデル生成処理装置11が保留決定部119をさらに備え、積込位置決定処理装置12が保留決定部129をさらに備える。第1の実施形態と同様な点は、説明を省略する。
【0074】
モデル生成処理装置11の積込位置候補検出部114と積込位置決定処理装置12の積込位置候補検出部124は、今回与えられた荷物だけでなく、保留中の荷物に対しても、積込位置候補を検出する点が第1の実施形態とは異なる。保留中の荷物と今回与えられた荷物が、今回積み込まれる荷物の候補であり、本実施形態の積込位置候補検出部114は、積み込む荷物の候補ごとに、積込位置候補を検出する。今回積み込まれる荷物の候補を「積込荷物候補」と記載する。積込位置候補の検出方法は第1の実施形態と同様である。
【0075】
モデル生成処理装置11の保留決定部119と、積込位置決定処理装置12の保留決定部129は、積込位置の決定を保留するか否かを決定する。全ての積込位置候補の評価値が、積込位置として選択されるための条件を満たしていない場合に「保留」と決定してよい。例えば、現時点の高さマップの評価値から、高さマップ候補に対する評価値を減算した値がいずれも一定値以上である場合、つまり積込状態の評価が急激に悪くなる場合では、その荷物を積み込まないほうが良い可能性が高い。ゆえに、そのような場合に、積込位置の決定が保留されてもよい。
【0076】
但し、保留するためのスペースが埋まっている場合など、荷物を保留できないときもあり得る。ゆえに、保留可能かを判断するための条件も定めておく。保留できない場合は、必ず積込位置が決定される。
【0077】
モデル生成処理装置11の評価値算出部116と、積込位置決定処理装置12の評価値算出部126は、第1の実施形態と同様でよい。しかし、第2の実施形態では、積込荷物候補である荷物が複数ある場合があり得る。これらの荷物が、高さマップ候補に基づく評価値から平等に選択されてもよいし、ある荷物が優先的に選択されるようにしてもよい。あるいは、評価値算出部116および評価値算出部126が、複数ある荷物から積み込む荷物を選択するための重みづけを、目的に応じて付与してもよい。例えば、荷物bのサイズに応じた値を算出する関数volume(b)の値を、積込状態評価モデルによる評価値に加算し、加算後の評価値に基づき、いずれの荷物を積み込むかを決定することが考えられる。volume(b)を加算した後の評価値は、現在の状態から、その荷物も含めて、積込可能な荷物の総容量を示す値となるため、サイズが異なる荷物同士を比較することが可能になる。
【0078】
例えば、荷物bを積込位置候補pjに積み込んだ状態S(b,pj)における積込状態評価モデルをV(S(b,pj))で表すとすると、評価値算出部116および評価値算出部126は、V(S(b,pj))+volume(b)により得られる値を評価値としてもよい。これにより、荷物のサイズが大きいまたは小さいほうが、先に積み込まれる可能性を高くすることができる。
【0079】
また、荷物を保留することにより、作業時間および作業労力が増加するというデメリットも想定される。ゆえに、荷物を保留するという行動が選択されにくくしてもよい。例えば、評価値算出部116および評価値算出部126が、ペナルティ関数penalty(b)の値(ペナルティ値)を積込状態評価モデルによる評価値に加算することが考えられる。つまり、評価値算出部116および評価値算出部126は、V(S(b,pj))+penalty(b)、または、V(S(b,pj))+volume(b)+penalty(b)により得られる値を評価値として算出してもよい。ペナルティ関数penalty(b)は、積み込む荷物に応じて0または負の値を算出するとする。例えば、直近に到着した荷物(保留としていない荷物)に対しては0であるが、保留していた荷物に対しては負の値を算出するようにする。当該負の値は、適宜に調整されてよい。こうすることにより、直近に到着した荷物(保留としていない荷物)が積み込まれる可能性が高まる。このように、積み込む荷物を選択するため、保留する荷物を少なくするといった目的のために、評価値を加工してもよく、加工方法は上記例に限られるものではない。
【0080】
次に、第2の実施形態における処理のフローを説明する。図8は、第2の実施形態に係るモデル生成処理装置11の強化学習の概略フローチャートである。S401とS402の処理は、それぞれ第1の実施形態のS201およびS202の処理と同様である。S403の処理はS203の処理と一部異なり、積込位置候補検出部114は、積込荷物候補とされた荷物ごとに積込位置候補を検出する(S403)。なお、前回の荷物の積込位置の決定処理において保留が選択された場合、保留中の荷物の積込荷物候補は既に検出されているため、保留中の荷物の積込荷物候補の検出は省略し、今回の荷物の積込荷物候補だけを検出してもよい。
【0081】
S404とS405の処理は、それぞれ第1の実施形態のS204およびS205の処理と同様であり、各高さマップ候補の評価値が算出される。算出された高さマップ候補の評価値が閾値を超えている、保留している荷物の数が上限値を超えていない、といった保留のための条件を満たしている場合(S406のYES)は、保留するとして、積込位置選択部117が今回与えられた荷物を積込荷物候補に追加(S407)する。そして、S402の処理に戻り、次の荷物の積込位置の決定処理が開始される。保留のための条件を満たしていない場合(S406のNO)は、第1の実施形態でのS206と同様に、積込位置選択部117が積込位置候補から積込位置を選択する(S408)。以降の処理および分岐は、第1の実施形態と同様である。また、モデル更新のS409処理も、第1の実施形態のS207の処理と同様、荷物が積み込まれるたびに実施するのではなく、複数の荷物に対してまとめて実施されてもよい。
【0082】
図9は、第2の実施形態に係る積込位置決定処理装置12の処理の概略フローチャートである。S501からS503までの処理は、それぞれ第1の実施形態のS301からS303までの処理と同様である。S504の処理はS304の処理と一部異なり、積込位置候補検出部124は、積込荷物候補ごとに積込位置候補を検出する(S403)。
【0083】
S505とS506の処理は、それぞれ第1の実施形態のS305およびS306の処理と同様であり、各高さマップ候補の評価値が算出される。算出された高さマップ候補の評価値が保留のための条件を満たしている場合(S507のYES)は、積込位置決定部127は、保留として積込位置を決定せずに、今回与えられた荷物を積込荷物候補に追加する(S508)。保留のための条件を満たしていない場合(S406のNO)は、第1の実施形態と同様に、積込位置決定部が積込位置を決定する(S509)。そして、積込位置指示部128が、決定内容、保留または積込位置を出力する(S510)。
【0084】
図10は、保留数と充填率との関係を例示する図である。横軸が保留可能な最大数を示し、縦軸が積込空間の最終的な充填率を示す。荷物のサイズの分布、積込空間のサイズなどにより、図10のグラフの形状は当然変化するが、保留数が0から増加するにつれて充填率は向上する傾向にある。ゆえに、保留を可能にしたほうが、効率よく荷物を積み込むことができることが分かる。また、保留数が10以上に増加しても、充填率はあまり向上しないことから、保留数は一定数あればよいことが分かる。
【0085】
以上のように、本実施形態によれば、保留を可能にすることにより、積込空間の最終的な充填率を向上させることができる。また、保留数は数個程度でも十分に効果があり、全ての荷物を保留する必要はない。また、なるべく保留を行わないように調整することもでき、保留による作業時間および労力の増加を防ぐこともできる。
【0086】
(第3の実施形態)
これまでの実施形態では、最終的に、荷物が階段状に積み上げられた状態になることもある。例えば、図2に示した高さマップの左下の点線枠に囲まれた領域を見ると、左から右に向かって濃度が順に薄くなっている。これは、荷物が階段状に積まれていることを示す。このような積込状態では、例えば、積込空間がトラックの荷台であった場合では、荷物が横揺れにより崩れ落ちる危険性が高くなる。このように、積込空間などの事情により、荷物の安定性が重視される場合もある。そこで、第3の実施形態では、充填率だけで積込状態を評価せずに、荷物の安定性も考慮する。第1の実施形態と同様な点は、説明を省略する。
【0087】
第3の実施形態の構成は、第1または第2の実施形態と同様である。ゆえに、図1または図8は第3の実施形態における概略構成図でもある。第1の実施形態と同様な点は、説明を省略する。
【0088】
発明者達の実験により、底面接触率に係る閾値が高いと、結果として階段状になりやすいことが判明した。そこで、第3実施形態では、積込位置候補の決定の条件を緩和し、底面接触率に関する条件を満たさない場合でも、積込可能とする条件を設ける。具体的には、底面の接触領域とは交差していない側面が、積込空間の側壁または他の荷物と接触する位置は、積込位置候補として許容する。なお、側面が接触する位置全てを許容するのではなく、側面の接触率(側面の接触領域の面積/側面全体の面積)が閾値を越える位置は、積込位置候補として許容するようにしてもよい。
【0089】
あるいは、底面接触率に関する条件を満たさない場合でも、底面の接触領域とは交差していない側面が、前記積込空間の側壁と直接または他の荷物を介して接触するような位置は、積込位置候補として許容するようにしてもよい。
【0090】
図11は、側面接触による積込位置候補の検出是非について説明する図である。積込予定の荷物2と、既に積み込まれた荷物3(3Jから3O)との位置関係が示されている。また、積込位置候補として検出されるか否かが、YESまたはNOで示されている。
【0091】
図11(A)では、荷物2と荷物3Jとの底面接触率は小さいが、荷物2が、底面の接触領域とは交差していない側面において荷物3Kと接触している。しかし、荷物3Kは積込空間の側壁4と接触していない。このような場合、積込空間が横揺れすると、荷物3Nと荷物2が右方向に崩れる恐れがある。ゆえに、図11(A)の荷物2の位置は、積込位置候補として検出されていない。
【0092】
一方、図11(B)では、荷物2と荷物3Mとの底面接触率は小さいが、荷物2が、底面の接触領域とは交差していない側面において荷物3Nと接触している。そして、荷物3Nは積込空間の側壁4と接触している。このような場合、積込空間が横揺れしても、荷物3Nが側壁4に支えられるため、崩れにくい。ゆえに、図11(B)の荷物2の位置は、積込位置候補として検出されてよい。
【0093】
また、第3の実施形態のモデル生成処理装置11は、荷物の積込状態の安定性を加味した評価値を算出するように、積込状態評価モデルを生成してもよい。例えば、これまでの実施形態の積込状態評価モデルは、高さマップ候補を入力情報としたが、荷物の積込状態の安定性を示す情報を入力情報に加えて、積込状態評価モデルを生成することが考えられる。あるいは、これまでの実施形態の積込状態評価モデルとは別に、荷物の積込状態の安定性を示す情報から、安定性に対する評価値を算出するモデルを生成してもよい。この場合、評価値算出部が、積込状態評価モデルの評価値と、安定性に対する評価値を算出するモデルの評価値との和に基づき、評価値を算出する。
【0094】
荷物の積込状態の安定性を示す情報としては、高さマップを加工した段差マップが考えられる。例えば、高さマップの各区画に対し、隣接する各区画との高さの比較を表した論理値の総和を算出する。論理値は、例えば、隣接する区画よりも高さが高い場合は1を、同じ場合は0を、低い場合は-1とすることが考えられる。これにより、当該総和の絶対値は、隣接する区画との高さの差を示すものとなる。ここでは、当該総和を「段差」と規定し、積み込まれた荷物全体の各区画における段差を示す情報を「段差マップ」と記載する。区画の段差が0に近いと、側面が接触可能な荷物が増えるため、安定性が増加すると考えられる。ゆえに、段差マップは、荷物の積込状態の安定性を示す情報と考えられる。この段差マップを積込状態評価モデルの入力情報にさらに加え、最終的に各区画における高さが均一である場合でも多くの報酬が得られるような強化学習を行う。これにより、積込状態評価モデルが、所定空間における荷物の充填率を上げ、かつ、各区画における高さを均一化させるのに適した積込状態を高く評価するようにする。
【0095】
段差マップを用いる場合は、状態情報生成部113および状態情報生成部123が、高さマップを生成した後に、当該高さマップから段差マップを生成すればよい。また、状態情報生成部113および状態情報生成部123は、高さマップ候補と同様に、かつ高さマップ候補とともに、段差マップ候補を生成する。評価値算出部116および評価値算出部126は、生成された段差マップ候補を、高さマップ候補とともに、積込状態評価モデルに入力して、評価値を取得する。その他の点は、これまでの実施形態と同様である。
【0096】
段差マップは、高さマップ同様に、ヒートマップのような画像データでもよいし、区画の位置を示す情報(例えば行番号と列番号)と、当該区画における論理値の総和と、を組み合わせたデータとして表されてもよい。
【0097】
段差マップを用いる場合のフローは、第1または第2の実施形態のフローにおいて、「高さマップ」が「高さマップと段差マップ」に、「高さマップ候補」が「高さマップ候補と段差マップ候補」に読み替えられればよいため、省略する。
【0098】
図12は、第3の実施形態に係る積込位置決定処理装置の指定に従い、荷物を積み込み続けたときの結果の概念図である。荷物が階段状に積み上げられてはおらず、安定性が増していることが分かる。
【0099】
以上のように、本実施形態によれば、側面の接触を考慮することにより、また、段差マップを用いて、充填率だけでなく安定性を考慮した評価値を算出することにより、荷物の積込状態の安定性を向上することが可能になる。
【0100】
(第4の実施形態)
これまでの実施形態では、高さに制限を持たせることが可能であり、荷物があまりにも高く積まれることは防ぐことができる。しかし、積み上げられた荷物の重さによっては、高さの制限値に届く前に、下側の荷物が上側の荷物の重さにより潰れてしまうこともあり得る。ゆえに、第4の実施形態では、下側の荷物が上側の荷物の重さにより潰れてしまう事態を防ぐことができるようにする。第1の実施形態と同様な点は、説明を省略する。
【0101】
第4の実施形態の構成は、これまでの実施形態と同様である。ゆえに、図1または図7は第4の実施形態における概略構成図でもある。これまでの実施形態と同様な点は、説明を省略する。
【0102】
第4の実施形態では、学習用荷物情報および積込用荷物情報に、荷物の重さがさらに含まれる。また、学習用荷物情報生成部112は、テストデータとして、荷物のサイズとともに、荷物の重さをさらに決定する。
【0103】
なお、本説明では、重さとしたが、重さではなく密度で考慮してもよい。その場合、本説明において重さ(重量)を密度と読み替えればよい。
【0104】
第4の実施形態では、状態情報生成部113および状態情報生成部123は、荷物の高さの代わりに荷物の重さを用いる点以外は高さマップを生成するのと同様にして、荷物全体の前記所定空間に定められた各区画における重さを示す情報を生成する。当該情報を「重さマップ」と記載する。
【0105】
この重さマップが入力情報としてさらに加えられ、最終的に各区画における重さが均一である場合でも多くの報酬が得られるような強化学習を行う。これにより、積込状態評価モデルが、所定空間における荷物の充填率を上げ、かつ、各区画における高さを均一化させるのに適した積込状態を高く評価するようにする。
【0106】
状態情報生成部113および状態情報生成部123は、高さマップ候補と同様にして、かつ高さマップ候補とともに、積込位置候補と重さマップから、積込位置候補に対する重さマップ候補を生成する。
【0107】
第4の実施形態では、積込位置候補検出部114および積込位置候補検出部124は、高さマップと重さマップに基づき、積込位置候補を検出する。これまでの実施形態では、荷物を積み込んだときに、各区画の高さが対応する上限値を超えないようにしたが、本実施形態では、さらに各区画の重さ(各区画における荷物の総重量)が対応する上限値を超えないようにする。
【0108】
あるいは、荷物ごとに、上積みされた荷物の総重量の上限値を設けてもよい。なお、荷物のサイズなどに応じて、上積みされた荷物の総重量の上限値が荷物ごとに異なっていてもよい。例えば、密度の高い荷物に対しては当該上限値を大きくし、密度の低い荷物に対しては当該上限値を小さくすることが考えられる。あるいは、上積みされた荷物の総重量を荷物の上面の面積で除算した値、つまり荷物の上面に掛かる圧力の上限値を設けてもよい。
【0109】
第4の実施形態の評価値算出部116および評価値算出部126は、生成された重さマップ候補を、高さマップ候補とともに、積込状態評価モデルに入力して、評価値を取得する。これにより、第4の実施形態の積込状態評価モデルは、区画の重さが考慮された評価値となる。なお、これまでの実施形態の積込状態評価モデルとは別に、重さマップ候補から評価値を算出するモデルを生成し、当該モデルと、これまでの実施形態の積込状態評価モデルとを加算した新たな積込状態評価モデルを生成してもよい。その他の点は、これまでの実施形態と同様である。
【0110】
重さマップは、高さマップ同様に、画像データであってもよいし、区画の位置を示す情報(例えば行番号と列番号)と、当該区画における荷物の総重量と、を組み合わせたデータとして表されてもよい。
【0111】
本実施形態のフローは、「高さマップ」が「高さマップと重さマップ」に、「高さマップ候補」が「高さマップ候補と重さマップ候補」に読み替えられればよいため、省略する。
【0112】
以上のように、本実施形態によれば、重さマップを用いて、充填率だけでなく各区画の重さを考慮した評価値を算出することにより、下側の荷物が上側の荷物の重さにより潰れてしまう事態を防ぐことができる。
【0113】
以上の実施形態において、状態情報生成部113は、積込空間における荷物の積込状態に関する状態情報の一例として底面に対する荷物の高さを示す「高さマップ」を用いたが、他の情報を用いるようにしてもよい。例えば、積込空間の上面が遮蔽されており、一部の側面のみが開口している場合、開口面を基準とした荷物全体の奥行に関する情報を状態情報として用いてもよい。すなわち、開口面との対向面に対する高さマップ、言い換えれば、奥行マップが用いられてもよい。この場合、積込位置候補検出部114が、荷物の当該対向面側の側面および底面の接触率が閾値以上である位置を積込位置候補とし、状態情報生成部113は、積込位置候補検出部114から積込位置候補が送られてきたとき、荷物が当該積込位置候補のいずれかに積み込まれたとした場合における奥行に関する情報(奥行マップ候補)を、積込位置候補ごとに生成してもよい。奥行マップおよび奥行マップ候補は、高さマップおよび高さマップ候補と同様に、開口面を基準とした奥行きの深さを色の濃淡で示したヒートマップでもよいし、区画の位置を示す情報と当該区画の荷物の奥行とを組み合わせたデータでもよい。評価値算出部126は、積込状態評価モデルを用いて、積込位置候補ごとの奥行に関する情報の評価値を算出する。評価値には、積込区間における荷物の充填率や積込可能な物体の総容量に関する情報を用いてもよい。このように、積込空間の底面に対する高さマップだけでなく、積込空間の側面に対する高さマップも生成および用いてよい。
【0114】
以上の実施形態において、積込位置候補検出部114は、底面の接触率等を用いて積込位置候補を検出したが、他の情報を用いて積込位置候補を決定するようにしてもよい。例えば、既に積み込まれている物体の強度が低く、上面に物体を載せることができないような場合、この物体の上面は積込位置候補として検出しないように制御してもよい。また、積込対象となる物体の重さに応じて、積込位置候補を決定するようにしてもよい。このように、積込位置候補検出部114は、各物体の特性(強度、重さ等)に応じて、積込位置を決定するようにしてもよい。
【0115】
なお、上記の実施形態の少なくとも一部は、プロセッサ、メモリなどを実装しているIC(Integrated Circuit:集積回路)などの専用の電子回路(すなわちハードウェア)により実現されてもよい。複数の構成要素が一つの電子回路で実現されてもよいし、一つの構成要素が複数の電子回路で実現されてもよいし、構成要素と電子回路が一対一で実現されていてもよい。また、上記の実施形態の少なくとも一部は、ソフトウェア(プログラム)を実行することにより、実現されてもよい。例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載された中央処理装置(CPU:Central Processing Unit)、画像処理装置(GPU:Graphics Processing Unit)などのプロセッサ(処理回路、Processing circuit、Processing circuitry)にプログラムを実行させることにより、上記の実施形態の処理を実現することが可能である。言い換えると、当該プログラムの実行により、プロセッサ(処理回路)が、各装置の各処理を実行できるように構成される。
【0116】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【0117】
図13は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。作業支援システムの各装置は、プロセッサ51と、主記憶装置52と、補助記憶装置53と、ネットワークインタフェース54と、デバイスインタフェース55と、を備え、これらがバス56を介して接続されたコンピュータ装置5として実現できる。
【0118】
なお、図13のコンピュータ装置5は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図13では、1台のコンピュータ装置5が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【0119】
プロセッサ51は、コンピュータの制御装置および演算装置を含む電子回路(処理回路)である。プロセッサ51は、コンピュータ装置5の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ51は、コンピュータ装置5のOS(オペレーティングシステム)や、アプリケーションなどを実行することにより、コンピュータ装置5を構成する各構成要素を制御する。プロセッサ51は、上記の処理を行うことができれば特に限られるものではない。モデル記憶部115およびモデル記憶部125以外の、モデル生成処理装置11および積込位置決定処理装置12の構成要素は、プロセッサ51により実現されることが想定される。また、プロセッサ51は、積込状態評価モデルを読み込むと、主記憶装置52または補助記憶装置53に記憶された入力情報から評価値などの出力情報を出力するように機能する。
【0120】
主記憶装置52は、プロセッサ51が実行する指示および各種データなどを記憶する記憶装置であり、主記憶装置52に記憶された情報がプロセッサ51により直接読み出される。補助記憶装置53は、主記憶装置52以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。モデル記憶部115は、主記憶装置52または補助記憶装置53により実現されてもよい。つまり、モデル記憶部115は、メモリでもよいし、ストレージでもよい。
【0121】
ネットワークインタフェース54は、無線または有線により、通信ネットワーク6に接続するためのインタフェースである。ネットワークインタフェース54は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース54より、通信ネットワーク6を介して、コンピュータ装置5と外部装置7Aとを接続することができる。
【0122】
デバイスインタフェース55は、外部装置7Bと直接接続するUSBなどのインタフェースである。つまり、コンピュータ装置5と外部装置7との接続は、ネットワークを介してでもよいし、直接でもよい。
【0123】
なお、外部装置7(7Aおよび7B)は、積込作業支援システム1の外部の装置、積込作業支援システム1の内部の装置、外部記憶媒体、およびストレージ装置のいずれでもよい。
【0124】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0125】
1:積込作業支援システム、11:モデル生成処理装置、12:積込位置決定処理装置、111:積込空間サイズ取得部、112:学習用荷物情報生成部、113:状態情報生成部、114:積込位置候補検出部、115:モデル記憶部、116評価値算出部、117積込位置選択部、118モデル更新部、119保留決定部、121積込空間情報取得部、122積込用荷物情報取得部、123状態情報生成部、124積込位置候補検出部、125モデル記憶部、126評価値算出部、127積込位置決定部、128積込位置指示部、129保留決定部、2:積み込み予定の荷物、3(3Aから3O):既に積み込まれた荷物、4:積込空間の側壁、5:コンピュータ装置、51:プロセッサ、52:主記憶装置、53:補助記憶装置、54:ネットワークインタフェース、55:デバイスインタフェース、56:バス、6:通信ネットワーク、7(7A、7B):外部装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13