(57)【要約】【課題】不定形状、不定重量の対象物に対するピッキング機能を向上する。【解決手段】対象物の形状情報を取得するカメラ２及び制御手順（ステップＳ１０５〜Ｓ１２０）と、対象物の形状情報に基づいて当該対象物の重量を推定する重量推定部３２と、対象物に対するピッキング動作を行うピッキングロボット５と、重量推定部３２で推定した重量に基づいてピッキングロボット５のピッキング動作を制御する作業計画部３３と、を有し、重量推定部３２は、入力される対象物の形状情報と出力すべき重量との対応関係を学習した機械学習（例えば人工ニューラルネットワーク）により当該対象物の重量を推定する。【選択図】図１
2018027581.tif 000002
【特許請求の範囲】
【請求項１】
対象物の形状情報を取得する形状取得部と、
前記形状取得部が取得した対象物の形状情報に基づいて当該対象物の重量を推定する重量推定部と、
前記対象物に対するピッキング動作を行うピッキングロボットと、
前記重量推定部で推定した重量に基づいて前記ピッキングロボットのピッキング動作を制御する制御部と、
を有することを特徴とするピッキングシステム。
【請求項２】
前記重量推定部は、入力される対象物の形状情報と出力すべき重量との対応関係を学習した機械学習により当該対象物の重量を推定することを特徴とする請求項１記載のピッキングシステム。
【請求項３】
さらに前記ピッキングロボットでピッキングした対象物の重量を計測する重量センサを有し、
前記重量推定部は、
前記形状取得部が取得した対象物の形状情報を入力データとし、当該対象物を前記ピッキングロボットがピッキング動作した際に前記重量センサが計測した重量を出力データとした組み合わせの教師データにより前記機械学習の学習を行うことを特徴とする請求項２記載のピッキングシステム。
【請求項４】
前記制御部は、
前記重量推定部により推定した重量と前記重量センサにより計測した重量の偏差が所定値以上である対象物を規格外として分類することを特徴とする請求項３記載のピッキングシステム。
【請求項５】
前記ピッキングロボットは、
前記ピッキング動作として前記対象物を把持するための把持部を有し、
前記制御部は、
所定の対象物を前記把持部で把持するための把持力を、前記重量推定部で推定した当該対象物の重量に基づいて設定することを特徴とする請求項１乃至４のいずれか１項に記載のピッキングシステム。
【請求項６】
前記形状取得部は、
所定の積載容器の内部に重複積載された状態の複数の対象物のうち前記ピッキングロボットによりピッキング動作可能な対象物の形状情報を取得することを特徴とする請求項１乃至５のいずれか１項に記載のピッキングシステム。
【請求項７】
前記制御部は、
前記重量推定部が推定した重量が予め設定した重量範囲に対応する対象物に対してピッキング動作させるよう前記ピッキングロボットを制御することを特徴とする請求項１乃至６のいずれか１項に記載のピッキングシステム。
【請求項８】
前記制御部は、
所定の目標容器に予め設定した載置個数範囲で予め設定した合計重量範囲に収まるよう選択した対象物に対してピッキング動作させるよう前記ピッキングロボットを制御することを特徴とする請求項７記載のピッキングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ピッキングシステムに関する。
【背景技術】
【０００２】
特許文献１には、ロボットハンドにより部品などの対象物を把持してピッキング操作するロボット装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２０５３６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしならが、把持する対象物が例えば食品にように個体別で不定形状、不定重量である場合には、対象物を適切に把持することが困難であった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、不定形状、不定重量の対象物に対するピッキング機能を向上できるピッキングシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、対象物の形状情報を取得する形状取得部と、前記形状取得部が取得した対象物の形状情報に基づいて当該対象物の重量を推定する重量推定部と、前記対象物に対するピッキング動作を行うピッキングロボットと、前記重量推定部で推定した重量に基づいて前記ピッキングロボットのピッキング動作を制御する制御部と、を有するピッキングシステムが適用される。
【発明の効果】
【０００７】
本発明によれば、不定形状、不定重量の対象物に対するピッキング機能を向上できる。
【図面の簡単な説明】
【０００８】
【図１】実施形態のピッキングシステムの概略的なシステムブロック構成の一例を表す図である。
【図２】グリッパの周辺で重量センサの装着状態と、重量センサの非装着状態とを比較して表した図である。
【図３】カメラの画像情報に対応して、コンテナを上方から見てその内部における多数個の食品の積載状態の一例を表す図である。
【図４】コンテナを側方から透視してその内部における多数個の食品の積載状態の一例を表す図である。
【図５】図３の画像情報に対応して把持・重量推定可能な食品のみを個体認識した状態を表す図である。
【図６】個体認識した各食品個体それぞれで推定された推定重量情報の一例を表す図である。
【図７】重量推定部に適用される人工ニューラルネットワークのモデルの一例を表す図である。
【図８】学習モードを実現するために、上位制御装置のＣＰＵが実行する制御手順を表すフローチャートである。
【図９】作業計画部が設定した取り分け作業計画の一例を表す図である。
【図１０】実行モードを実現するために、上位制御装置のＣＰＵが実行する制御手順を表すフローチャートである。
【図１１】３次元カメラで食品の画像情報を取得する構成例を表す図である。
【図１２】２つの形状情報に基づいて重量値を推定する場合の重量推定部に適用される人工ニューラルネットワークの一例を表す図である。
【図１３】上位制御装置のハードウェア構成を表すシステムブロック図である。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照しつつ説明する。
【００１０】
＜ピッキングシステムの概略構成＞
図１は、本実施形態のピッキングシステムの概略的なシステムブロック構成の一例を表している。このピッキングシステムは、コンテナ内に重複積載された多数の食品を、複数の目標容器に取り分けるようピッキングするシステムである。図１においてピッキングシステム１は、カメラ２と、上位制御装置３と、ロボットコントローラ４と、ピッキングロボット５とを有している。
【００１１】
カメラ２は、この例では光学的に２次元の画像情報を取得する撮像機器である。このカメラ２は、コンテナ６（所定の積載容器）の上方に配置されており、そのコンテナ６の内部にバラ積みで重複積載されている多数個の食品Ｆ（対象物；本実施形態の例では鳥唐揚げ）の全体を撮像可能となっている。
【００１２】
上位制御装置３は、上記カメラ２で取得した画像情報に基づいて、ピッキングロボット５のピッキング作業に関する処理を行いロボットコントローラ４に作業指令を出力する。この上位制御装置３は、個体認識部３１と、重量推定部３２と、作業計画部３３とを有している。
【００１３】
個体認識部３１は、上記のカメラ２で取得した画像情報を画像認識することで、その時点でコンテナ６内に重複積載されている複数個の食品Ｆのうちピッキングロボット５でピッキング可能な個体（以下適宜、食品個体Ｆという）を認識する。そして、それらピッキング可能な食品個体Ｆそれぞれの形状情報を重量推定部３２と作業計画部３３に出力し、またそれぞれの配置情報を作業計画部３３に出力する（詳しくは後述する）。
【００１４】
重量推定部３２は、上記個体認識部３１から入力された各食品個体Ｆの形状情報に基づいてその重量を推定し、この推定重量情報を作業計画部３３に出力する。なお本実施形態の例では、この重量推定部３２は人工ニューラルネットワークを用いた機械学習によって、各食品個体Ｆの形状情報に対応する重量の推定処理を行う（詳しくは後述する）。
【００１５】
作業計画部３３は、上記個体認識部３１から入力された配置情報及び形状情報と、上記重量推定部３２から入力された推定重量情報に基づいて、ピッキングロボット５に行わせる具体的な作業内容を計画し、それにより生成した作業指令をロボットコントローラ４に出力する。
【００１６】
なお、上述した個体認識部３１、重量推定部３２、作業計画部３３等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、上位制御装置３は、後述するＣＰＵ９０１（図１３参照）が実行するプログラムにより実装されてもよいし、その一部又は全部がＡＳＩＣやＦＰＧＡ、その他の電気回路等の実際の装置により実装されてもよい。
【００１７】
ロボットコントローラ４は、上記上位制御装置３の作業計画部３３から入力された作業指令に基づいて、ピッキングロボット５の各駆動軸モータ（図示省略）に出力する駆動信号を制御する。
【００１８】
ピッキングロボット５は、図示する本実施形態の例では６軸制御のアームマニプレータであり、そのアーム先端部５ａには食品Ｆを把持可能なグリッパ５ｂ（把持部）が設けられてコンテナ６内の食品Ｆを１つずつ近傍の容器へ移送できる機能を有している。また図２に示すように、それらグリッパ５ｂとアーム先端部５ａの間に重量センサ７が着脱可能であり、重量センサ７の装着状態ではグリッパ５ｂの重量を差し引いて当該グリッパ５ｂが把持した食品Ｆの重量のみを計測重量情報として上記重量推定部３２に出力する。この計測重量情報は、上記重量推定部３２の後述の学習モードで利用するとともに、重量の観点での規格外にある食品Ｆの判別にも利用できる（詳しくは後述する）。
【００１９】
＜本実施形態の特徴＞
例えば鳥唐揚げ等のような食品Ｆは個体別に不定形状、不定重量、かつ柔軟物である場合が多く、これを対象物としてピッキングロボット５に自動的に把持、持ち上げ、移送、載置させるなどのピッキング動作を行わせることは従来より困難とされていた。この要因の１つとして把持力の調整があり、たとえ各食品Ｆの個体形状に対して適切な方向や角度で把持したとしても、把持力が過小であれば把持の確実性が損なわれ、逆に把持力が過大であれば食品Ｆを損傷させてしまう。つまり実際に把持する前に個々の食品Ｆの重量を適切に予測し、その予測重量に対応した適切な把持力で把持することが望ましい。
【００２０】
また、個々の食品Ｆを実際に把持して持ち上げなければその重量を計測できない場合、弁当箱等の容器への取り分け作業などにおいても作業効率を大きく低下させる要因となる。そしてそのための重量センサ７を備えることは、ピッキングシステム１全体の製造コストを増大させてしまう。
【００２１】
これに対して本実施形態では、各食品個体Ｆの形状情報をカメラ２の光学的撮像と画像認識により取得し、この形状情報に基づいて重量推定部３２が当該食品個体Ｆの重量を推定する。これにより、把持する以前の載置した状態にある食品Ｆに対して迅速にその重量を推定でき、それに基づいて作業計画部３３がグリッパ５ｂの把持力を適切に制御できる。
【００２２】
もとよりピッキングシステム１には、食品Ｆを把持するためにその位置、形状、及び姿勢を検出するカメラやレーザースキャナ等の光学的機器を装備することが不可欠である。それらで取得した画像情報に対しソフトウェア処理で重量推定部３２を実現することで、実際のピッキング作業時には重量センサ７の装着が不要となり、標準的な製造コストの増大を抑制できる。また、個々の食品Ｆを物理的に把持して持ち上げずとも、上述した光学的なセンシングによってその重量を迅速に推定できるため、容器への取り分け作業などにおいても作業効率を大きく向上させることができる。このような機能を実現するために必要な各処理について、以下に順次説明する。
【００２３】
＜個体認識処理について＞
図３は、コンテナ６を上方から見てその内部における多数個の食品Ｆの積載状態の一例を表しており、図４はコンテナ６を側方から透視してその内部における多数個の食品Ｆの積載状態の一例を表している。図３が図示する画像については、そのまま上記カメラ２が撮像した画像情報に相当し、これがピッキングロボット５の動作座標（図中のＸＹＺ座標）とマッチングされる。
【００２４】
鳥唐揚げなどの食品Ｆは、当該ピンキングシステム１全体の作業スペースの削減を目的として、ベルトコンベアでの搬送ではなく、このようにコンテナ６等の積載容器の内部に重複積載された形態で供給される。この場合、下方に埋没した食品Ｆに対しては上述した光学的センシングによる正確な形状情報の取得と重量推定が困難である。このため本実施形態では、個体認識部３１が、重複積載された状態の複数の食品Ｆのうちピッキングロボット５によりピッキング動作可能（把持、移送可能）と判定された食品Ｆに対しては、すなわち光学的センシングによりそれぞれの全体形状を把握して重量推定可能に露出している食品Ｆとみなして選択的にそれら個体を認識する。図５は、上記図３の画像情報に対応して把持・重量推定可能な食品Ｆのみを個体認識した状態を表しており、図示する例ではそれら認識した各食品個体Ｆを黒く塗りつぶして示している（図示する例では計１８個）。
【００２５】
個体認識部３１は、それら個体認識した各食品Ｆそれぞれの座標中における位置及び姿勢（つまり配置）に関する情報を上記の配置情報として生成し、またそれぞれの大きさも含めた形状に関する情報を上記の形状情報として生成する。このような個体認識部３１による個体認識の処理は、公知の画像認識により行えばよく、ここでは詳細な説明を省略する。この例として具体的には、図示するように個体認識された各食品Ｆの黒く塗りつぶされた部分の画像情報（２次元の２値ピクセル列）が形状情報として生成される。
【００２６】
＜重量推定処理について＞
上記のように認識された各食品個体Ｆについて、図６に示すように、重量推定部３２がそれぞれの重量を推定する。本実施形態の例では、個体認識された各食品Ｆに識別番号（１〜１８）を付与し、それぞれの重量を４つの重量範囲で分類するよう重量判定する。この例では、１つ当たり７０ｇ以上に相当する重量範囲Ａと、６０ｇ〜７０ｇに相当する重量範囲Ｂと、５０ｇ〜６０ｇに相当する重量範囲Ｃと、４０ｇ〜５９ｇに相当する重量範囲Ｄと、４０ｇ未満に相当する重量範囲Ｅの５つの重量範囲Ａ〜Ｅで区別している。
【００２７】
重量推定部３２は、上述したように人工ニューラルネットワークを用いた機械学習によって、各食品個体Ｆの形状情報に対応する重量の推定処理を行う。本実施形態の例におけるこの人工ニューラルネットワークは、例えば図７に示すモデル図ように、食品個体Ｆの形状情報として入力された２次元の２値ピクセル列の画像情報に基づいて、その食品個体Ｆの重量が５つの重量範囲Ａ〜Ｅのいずれに対応するかクラスタリングして出力するよう設計されている。
【００２８】
このような人工ニューラルネットワークは、事前に推定対象の食品Ｆ（この例の鳥唐揚げ）について、入力される形状情報と出力すべき重量範囲との対応関係を学習する必要がある。この学習については、実際に重量推定を行う後述の実行モードとは別に上記重量センサ７の装着状態で行う学習モードで、人工ニューラルネットワーク中の各ノードどうしをつなぐエッジの重み係数を調整することで行う。具体的には、個体認識した食品Ｆの形状情報を入力データとし、当該食品Ｆをピッキングロボット５がピッキング動作した際に重量センサ７が計測した重量に対応する重量範囲Ａ〜Ｅを出力データとした組み合わせの教師データにより各重み係数の調整を行う。これにより重量推定部３２の人工ニューラルネットワークは、食品個体Ｆの形状情報と重量範囲との相関を表す特徴量を学習できる。
【００２９】
図８は、この学習モードにおいて上位制御装置３のＣＰＵ９０１（後述の図１３参照）が実行する処理手順を示している。このフローに示す処理は、ピッキングロボット５が重量センサ７を装着した状態で、例えば図示しない操作部から学習モードを実行するよう指令入力されることで開始する。
【００３０】
まずステップＳ５で、ＣＰＵ９０１は、カメラ２から画像情報を取得する。
【００３１】
次にステップＳ１０へ移り、ＣＰＵ９０１は、上記ステップＳ５で取得した画像情報に基づく画像認識により、独立した個々の食品個体Ｆの区分を認識する。
【００３２】
次にステップＳ１５へ移り、ＣＰＵ９０１は、上記ステップＳ１０で認識した各食品個体Ｆのうち、当該食品個体Ｆの上方に他の食品個体Ｆが重複しておらず、その全体形状を把握して重量推定可能に露出している食品個体Ｆを、すなわちグリッパ５ｂが挟持動作により把持可能な食品個体Ｆとして認識する。
【００３３】
次にステップＳ２０へ移り、ＣＰＵ９０１は、上記ステップＳ１５で認識された各食品個体Ｆそれぞれの形状情報を生成する。なお、カメラ２と、上記ステップＳ５〜Ｓ２０の手順が、各請求項記載の形状取得部に相当する。
【００３４】
次にステップＳ２５へ移り、ＣＰＵ９０１は、上記ステップＳ１５で認識された食品個体Ｆの１つを把持して持ち上げるようロボットコントローラ４に作業指令を出力する。なお、この作業計画に関しては後に詳述する。
【００３５】
次にステップＳ３０へ移り、ＣＰＵ９０１は、上記ステップＳ２５により食品Ｆを把持して持ち上げた状態で、重量センサ７が計測した当該食品Ｆの実際の重量を計測重量情報として取得する。
【００３６】
次にステップＳ３５へ移り、ＣＰＵ９０１は、把持している食品Ｆを所定の載置場所（図示省略）に載置する。
【００３７】
次にステップＳ４０へ移り、ＣＰＵ９０１は、上記ステップＳ１５で認識された全ての食品個体Ｆに対して計測重量情報を取得したか否かを判定する。まだ計測重量情報を取得していない食品個体Ｆがある場合、判定は満たされず、上記ステップＳ２５へ戻り同様の手順を繰り返す。
【００３８】
一方、全ての食品個体Ｆについて計測重量情報を取得した場合、判定が満たされ、ステップＳ４５へ移る。
【００３９】
ステップＳ４５では、ＣＰＵ９０１は、上記ステップＳ２０で生成した形状情報と、上記ステップＳ３０で取得した計測重量情報で対応するものどうしを組み合わせた教師データで人工ニューラルネットワークの各重み係数を調整し、すなわち学習する。
【００４０】
次にステップＳ５０へ移り、ＣＰＵ９０１は、コンテナ６内に積載されている全ての食品Ｆについて教師データを取って学習が終了したか否かを判定する。コンテナ６内にまだ食品Ｆが残っている場合、判定は満たされず、上記ステップＳ５に戻って同様の手順を繰り返す。
【００４１】
一方、コンテナ６内に食品Ｆが残っていない場合、判定が満たされ、このフローを終了する。
【００４２】
＜作業計画処理について＞
以上のようにして重量推定部３２の学習が完了している場合には、コンテナ６内に積載されている食品Ｆを複数の目標容器に取り分けるようピッキング作業を行う実行モードが可能になる。この実行モードでは、ピッキングロボット５から重量センサ７を取り外した状態で、カメラ２から取得した画像情報だけに基づき、個体認識部３１及び重量推定部３２が食品Ｆの個体認識を行い、それぞれの配置情報、形状情報、及び推定重量情報を作業計画部３３に出力する。
【００４３】
本実施形態の例の取り分け作業では、図９に示すように、コンテナ６の近傍に複数の目標容器Ｉ，ＩＩ（例えば各弁当箱における食品Ｆの収納部分；図中の斜線部参照）と、規格外用容器ＩＲが並べて配置されている。そして作業計画部３３は、コンテナ６内から食品Ｆを移送して各目標容器Ｉ，ＩＩに４個又は５個を収納し、それぞれの合計重量が２１０ｇ〜２９０ｇに収まるよう取り分ける作業を計画する。図示する例では、目標容器Ｉに対して、重量範囲Ｃに相当する３，４，６，７番目の食品Ｆと、重量範囲Ｄに相当する９番目の食品Ｆを取り分ける作業を計画している。また目標容器ＩＩに対しては、重量範囲Ｂに相当する１番目の食品Ｆと、重量範囲Ｃに相当する８，１０，１１番目の食品Ｆを取り分ける作業を計画している。この作業計画部３３による取り分け作業の計画（つまり目標容器ごとの取り分け配分計画）については、特に詳細に説明しないが、公知の重量配分の均一化演算手法を適用すればよい。
【００４４】
また、重量範囲Ａに相当する５，１７番目の食品Ｆについては重量過大な規格外の個体とみなし、また重量範囲Ｅに相当する２，１２番目の食品Ｆについては、重量過小な規格外の個体とみなしてそれぞれを規格外容器ＩＲに移送するよう計画している。これにより、重量の観点で規格外となった食品Ｆについても、他の用途で再利用することができる。
【００４５】
そして作業計画部３３は、移送対象の各食品個体Ｆそれぞれに対応する配置情報、形状情報、及び推定重量情報に基づいて、当該食品個体Ｆをグリッパ５ｂで把持させる位置、方向、及び把持力を演算する。また作業計画部３３は、上記の取り分け作業の計画に基づいて、グリッパ５ｂの軌道と把持動作のタイミングも演算する。これらの演算については、特に詳細に説明しないが、公知の形状解析、安定性解析、及び把持位置姿勢探索の手法を適用すればよい。実行モードでは、これらの演算を行うことで時系列的な作業指令を生成し、ロボットコントローラ４へ出力することでピッキングロボット５に取り分け作業を実行させる。
【００４６】
図１０は、この実行モードにおいて上位制御装置３のＣＰＵ９０１（後述の図１３参照）が実行する処理手順を示している。このフローに示す処理は、ピッキングロボット５から重量センサ７を取り外した状態で、例えば図示しない操作部から実行モードを実行するよう指令入力されることで開始する。
【００４７】
まずステップＳ１０５で、ＣＰＵ９０１は、カメラ２から画像情報を取得する。
【００４８】
次にステップＳ１１０へ移り、ＣＰＵ９０１は、上記ステップＳ１０５で取得した画像情報に基づく画像認識により、独立した個々の食品個体Ｆの区分を認識する。
【００４９】
次にステップＳ１１５へ移り、ＣＰＵ９０１は、上記ステップＳ１１０で認識した各食品個体Ｆのうち、当該食品個体Ｆの上方に他の食品個体Ｆが重複しておらず、その全体形状を把握して重量推定可能に露出している食品個体Ｆを、すなわちグリッパ５ｂが挟持動作により把持可能な食品個体Ｆとして認識する。このとき各食品個体Ｆの配置情報も生成する。
【００５０】
次にステップＳ１２０へ移り、ＣＰＵ９０１は、上記ステップＳ１１５で認識された各食品個体Ｆそれぞれの形状情報を生成する。なお、カメラ２と、上記ステップＳ１０５〜Ｓ１２０の手順が、各請求項記載の形状取得部に相当する。
【００５１】
次にステップＳ１２５へ移り、ＣＰＵ９０１は、上記ステップＳ１１５で認識された全ての食品個体Ｆに対して、上記ステップＳ１２０で生成された形状情報に基づき重量推定を行う。具体的には、各食品個体Ｆごとに人工ニューラルネットワークに形状情報を入力し、それに対応して出力された重量範囲を推定重量情報として生成する。なお、このステップＳ１２５の手順が、各請求項記載の重量推定部３２に相当する（上記図１参照）。
【００５２】
次にステップＳ１３０へ移り、ＣＰＵ９０１は、上記ステップＳ１１５で生成された配置情報、上記ステップＳ１２０で生成された形状情報、及び上記ステップＳ１２５で生成された推定重量情報に基づいて、ロボットコントローラ４への作業指令を生成する。具体的には、各目標容器Ｉ，ＩＩへの取り分け作業の計画と、グリッパ５ｂで把持させる位置、方向、及び把持力の演算と、グリッパ５ｂの軌道と把持動作のタイミングを演算し、これらの演算に基づく時系列的な作業指令を生成する。
【００５３】
次にステップＳ１３５へ移り、ＣＰＵ９０１は、各食品個体Ｆごとに作業指令をロボットコントローラ４へ出力し、ピッキングロボット５にピッキング動作させる。
【００５４】
次にステップＳ１４０へ移り、ＣＰＵ９０１は、上記ステップＳ１１５で認識された全ての食品個体Ｆに対してピッキング動作が終了したか否かを判定する。まだピッキング動作が終了していない食品個体Ｆがある場合、判定は満たされず、上記ステップＳ１３５へ戻り同様の手順を繰り返す。
【００５５】
一方、個体認識した全ての食品個体Ｆについてピッキング動作が終了した場合、判定が満たされ、ステップＳ１４５へ移る。なお、上記ステップＳ１３０〜Ｓ１４０の手順が、各請求項記載の制御部に相当する。
【００５６】
ステップＳ１４５では、ＣＰＵ９０１は、コンテナ６内に積載されている全ての食品Ｆについてピッキング作業が終了したか否かを判定する。コンテナ６内にまだ食品Ｆが残っている場合、判定は満たされず、上記ステップＳ１０５に戻って同様の手順を繰り返す。
【００５７】
一方、コンテナ６内に食品Ｆが残っていない場合、判定が満たされ、このフローを終了する。
【００５８】
＜本実施形態による効果＞
以上説明したように、本実施形態のピッキングシステム１は、ピッキング対象である食品Ｆの形状情報を光学的手法により取得し、この形状情報に基づいて当該食品Ｆの重量を推定する。これにより、把持する以前の載置した状態にある食品Ｆに対して迅速にその重量を推定でき、それに基づいて作業計画部３３がピッキングロボット５の把持力を適切に制御できる。また、実行モードの実行時には重量センサ７の装備が不要であるため、ピッキングシステム１全体の製造コストの増大を抑制できる。また、個々の食品Ｆを物理的に把持して持ち上げずとも、上述した光学的なセンシングによってその重量を迅速に推定できるため、弁当箱への取り分け作業などにおいても作業効率を大きく向上させることができる。この結果、不定形状、不定重量の対象物に対するピッキング機能を向上させることができる。
【００５９】
また、本実施形態では特に、重量推定部３２は、入力される対象物の形状情報と出力すべき重量との対応関係を学習した機械学習により当該対象物の重量を推定する。これにより、重量推定部３２の重量推定処理に対する人為的な処理アルゴリズムの設計や調整を不要としつつ、高い精度での重量推定が可能となる。なお、重量推定部３２に適用する機械学習としては、本実施形態の人口ニューラルネットワーク（深層学習）に限られない。他にも、ベイジアンネットワークやサポートベクターマシン等のデータマイニングによる多様な機械学習の手法を適用してもよい。
【００６０】
また、本実施形態では特に、ピッキングロボット５に重量センサ７を装着可能であり、重量推定部３２は、食品Ｆの形状情報を入力データとし、重量センサ７が計測した実際の食品Ｆの重量を出力データとした組み合わせの教師データにより機械学習（この例の人工ニューラルネットワーク）の学習を行う。これにより、具体的に重量推定部３２における機械学習の学習モードを実現できる。なお、重量センサ７は学習モード時にだけ装備すればよく、実際に重量推定部３２に重量を推定させる実行モード時には重量センサ７の装備が不要となる。また、学習できた機械学習の内容（調整された内部パラメータ値など）は、他の重量センサ７を装備しないピッキングシステム１の重量推定部３２にそのままコピーして利用できる。
【００６１】
なお、上記実施形態では実行モード中に重量センサ７を装着しなかったが、これに限られない。例えば鳥唐揚げなどの食品Ｆでは、肉部を有せず大きな衣だけで構成する場合のように、その実際の計測重量が形状情報に対応する推定重量よりも過剰に軽くなる変質物が混入する場合がある。これに対して実行モード中においても重量センサ７を装着し、その計測重量と重量推定部３２の推定重量との偏差が所定値以上に大きい場合には、当該対象物を規格外の変質物とみなして正常な対象物と区別して分類できる。これにより、ピッキング動作の機能性を向上できる。なお、規格外として分類された対象物についても正常な対象物と異なる別途の用途に使用することで、資源のむだを削減できる。また、形状情報としてカラーの画像情報を用いることで、衣と肉部の色の違いから衣の過不足の異常を検知し、正常な鳥唐揚げと規格外の鳥唐揚げの判別を行うこともできる。この場合、重量推定部３２とは別に設けた変質物判別部（図示省略）での機械学習により判別を行う。
【００６２】
また、本実施形態では特に、ピッキングロボット５は、ピッキング動作として食品Ｆを把持するためのグリッパ５ｂを有し、作業計画部３３は、所定の食品Ｆをグリッパ５ｂで把持するための把持力を、重量推定部３２で推定した当該食品Ｆの推定重量情報に基づいて設定する。これにより、ピッキングロボット５は食品Ｆに対して把持動作を介した確実なピッキング動作が可能となり、また当該食品Ｆの重量に対応した適切な把持力で把持できる。例えば重量の大きい食品Ｆほどその自重を支えて確実に持ち上げることができる程度に大きな把持力を設定でき、また重量の小さい食品Ｆに対してもその形状を崩さない程度に小さな把持力を設定でき、すなわちその食品Ｆの重量に対応した必要十分な把持力で適切に把持することができる。
【００６３】
また、本実施形態では特に、コンテナ６内に重複積載された状態の複数の食品Ｆのうちピッキングロボット５によりピッキング動作可能な食品個体Ｆの形状情報を取得する。これにより、重複積載している複数の食品Ｆの中から重量の推定が可能なものを機能的に判別して、重量推定の精度を向上できる。
【００６４】
また、本実施形態では特に、作業計画部３３は、重量推定部３２が推定した推定重量情報が予め設定した重量範囲に対応する食品Ｆに対してピッキング動作させるようピッキングロボット５を制御する。これにより、弁当箱等の目標容器Ｉ，ＩＩへの取り分け作業などで食品Ｆの重量均一化を図ることができる。
【００６５】
また、本実施形態では特に、作業計画部３３は、弁当箱の目標容器Ｉ，ＩＩに予め設定した載置個数範囲（この例の４個〜５個）で予め設定した合計重量範囲（この例の２５０ｇ〜２６０ｇ）に収まるよう選択した食品Ｆに対してピッキング動作させるようピッキングロボット５を制御する。これにより、弁当箱等への取り分け作業などで、目標容器Ｉ，ＩＩ内へ載置する個数の均一化、合計重量の均一化を図ることができる。
【００６６】
＜変形例＞
上記実施形態では、食品Ｆの画像情報を取得する撮像機器が１台のカメラ２であったが、これに限られない。例えば、３次元カメラやレーザースキャナーなどを利用した他の光学的センシング手段を用いてもよく、これらで取得した画像情報に基づいて食品Ｆの個体認識及び重量推定を行ってもよい。
【００６７】
図１１に示す例では、それぞれの撮像領域が重複する２台のカメラ４１，４２で構成されたいわゆる３次元カメラ４３を用いて１つの食品Ｆの画像情報を取得している。これにより、図１２の左側に示すように、１つの食品Ｆに対して相互に視差を有する２つの画像情報（それぞれ２次元ピクセル列）を取得することができる。図１２に示す例では、重量推定部３２の人口ニューラルネットワークは上記２つの画像情報がそのまま形状情報として個別に入力され、それら２つの形状情報に基づいて食品Ｆの重量を推定するよう設計されている。このように３次元の画像情報を用いることで、食品Ｆの重量推定の精度が向上する。
【００６８】
なお図示する人工ニューラルネットワークの例では、対象物である食品Ｆの重量を１つの連続値として出力するよう設計されている。この場合、人工ニューラルネットワークの出力層には１つの出力ノードが設けられ、その出力ノードは活性化関数による比較を行わずに入力値の合計値そのままで連続値の重量値を推定重量情報として出力している。この重量値の出力態様としては、他にも活性化関数の比較により２値出力する複数の出力ノードを出力層として、それら出力ノードの２値出力を組み合わせた２進数表現で重量値を出力するよう設計してもよい（図示省略）。また、いわゆる回帰問題により重量値を推定するよう人工ニューラルネットワークを設計してもよい（図示省略）。
【００６９】
また個体認識部３１が、それぞれ２次元ピクセル列からなる２つの画像情報から対象物である食品Ｆの３次元モデルデータ（いわゆるベクターデータで構成する３次元ＣＡＤデータ等）を別途生成し、それを形状情報として重量推定部３２の人口ニューラルネットワークに入力する設計としてもよい（図示省略）。もしくは個体認識部３１が、２つの画像情報に基づいて対象物である食品Ｆの体積を別途演算し、重量推定部３２がこの体積情報に基づいて食品Ｆの重量を推定してもよい（図示省略）。
【００７０】
また特に図示しないが、食品Ｆの画像情報を取得する光学的センシング手段としてレーザースキャナーを用いる場合には、例えばレーザースキャナーから投光された走査線で食品Ｆの表面上における各点との距離を計測し、これらの距離データの集合を画像情報として取得する。そして個体認識部３１がこの画像情報を構成する各距離データをつなぎ合わせて、食品Ｆの３次元形状情報（上記３次元モデルデータ等）を生成、出力するようにしてもよい。
【００７１】
＜上位制御装置のハードウェア構成例＞
次に、図１３を参照しつつ、上記で説明したＣＰＵ９０１が実行するプログラムにより実装された個体認識部３１、重量推定部３２、及び作業計画部３３等による処理を実現する上位制御装置３のハードウェア構成例について説明する。
【００７２】
図１３に示すように、上位制御装置３は、例えば、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、ＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路９０７と、入力装置９１３と、出力装置９１５と、記録装置９１７と、ドライブ９１９と、接続ポート９２１と、通信装置９２３とを有する。これらの構成は、バス９０９や入出力インターフェース９１１を介し相互に信号を伝達可能に接続されている。
【００７３】
プログラムは、例えば、ＲＯＭ９０３やＲＡＭ９０５、記録装置９１７等に記録しておくことができる。
【００７４】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ・ＭＯディスク・ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体９２５に、一時的又は永続的に記録しておくこともできる。このような記録媒体９２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体９２５に記録されたプログラムは、ドライブ９１９により読み出されて、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００７５】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等（図示せず）に記録しておくこともできる。この場合、プログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置９２３がこのプログラムを受信する。そして、通信装置９２３が受信したプログラムは、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００７６】
また、プログラムは、例えば、適宜の外部接続機器９２７に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート９２１を介し転送され、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００７７】
そして、ＣＰＵ９０１が、上記記録装置９１７に記録されたプログラムに従い各種の処理を実行することにより、上記の個体認識部３１、重量推定部３２、及び作業計画部３３等による処理が実現される。この際、ＣＰＵ９０１は、例えば、上記記録装置９１７からプログラムを直接読み出して実行してもよいし、ＲＡＭ９０５に一旦ロードした上で実行してもよい。更にＣＰＵ９０１は、例えば、プログラムを通信装置９２３やドライブ９１９、接続ポート９２１を介し受信する場合、受信したプログラムを記録装置９１７に記録せずに直接実行してもよい。
【００７８】
また、ＣＰＵ９０１は、必要に応じて、例えばマウス・キーボード・マイク（図示せず）等の入力装置９１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００７９】
そして、ＣＰＵ９０１は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置９１５から出力してもよく、さらにＣＰＵ９０１は、必要に応じてこの処理結果を通信装置９２３や接続ポート９２１を介し送信してもよく、上記記録装置９１７や記録媒体９２５に記録させてもよい。
【００８０】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００８１】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００８２】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００８３】
１            ピッキングシステム
２            カメラ（形状取得部）
３            上位制御装置
４            ロボットコントローラ
５            ピッキングロボット
５ｂ          グリッパ
６            コンテナ（所定の積載容器）
７            重量センサ
３１          個体認識部（形状取得部）
３２          重量推定部
３３          作業計画部（制御部）
Ｆ            食品
Ｉ，ＩＩ      目標容器
ＩＲ          規格外容器
【図１】
2018027581.tif 000003
【図２】
2018027581.tif 000004
【図３】
2018027581.tif 000005
【図４】
2018027581.tif 000006
【図５】
2018027581.tif 000007
【図６】
2018027581.tif 000008
【図７】
2018027581.tif 000009
【図８】
2018027581.tif 000010
【図９】
2018027581.tif 000011
【図１０】
2018027581.tif 000012
【図１１】
2018027581.tif 000013
【図１２】
2018027581.tif 000014
【図１３】
2018027581.tif 000015