(57)【要約】      （修正有）【課題】設置コストが低く、高速で動作するピッキングシステムを提供する。【解決手段】ピッキング対象の物体を撮影するカメラ２１と、物体との間の距離を計測する距離センサ２２と、カメラ２１によって撮影された前記物体における一以上の点の座標と、当該一以上の点における物体の姿勢との、いずれか又は両方を計測する第１計測部１１２と、距離センサ２２による測定結果に基づき、物体における一以上の点について、奥行き方向の距離を計測する第２計測部１１３と、を備える。【選択図】図６
2020001127.tif 000002
【特許請求の範囲】
【請求項１】
物体をピッキングするためのハンド機構を有するロボットを備えるピッキングシステムであって、
ピッキング対象の物体を撮影するカメラと、
前記物体との間の距離を計測する距離センサと、
前記カメラによって撮影された前記物体における一以上の点の座標と、当該一以上の点における前記物体の姿勢との、いずれか又は両方を計測する第１計測部と、
前記距離センサによる測定結果に基づき、前記物体における前記一以上の点について、奥行き方向の距離を計測する第２計測部と、
を備える、ピッキングシステム。
【請求項２】
前記物体の所定の点の座標と、当該所定の点における前記物体の姿勢との、いずれか又は両方を、前記カメラで撮影された画像と組み合わせることにより、教師データを生成して機械学習を実行する第１機械学習処理部を更に備え、
前記第１計測部は、前記第１機械学習処理部による機械学習によって生成された学習モデルに基づき、前記座標と前記姿勢とのいずれか又は両方について、前記計測を実行する、
請求項１に記載のピッキングシステム。
【請求項３】
レンダリングによって生成した画像に対してノイズを付加することにより、教師データを生成して機械学習を実行する第２機械学習処理部を更に備え、
前記第１計測部は、前記第２機械学習処理部による機械学習によって生成された学習モデルに基づき、前記座標と前記姿勢とのいずれか又は両方について、前記計測を実行する、
請求項１又は２に記載のピッキングシステム。
【請求項４】
前記第２機械学習処理部は、前記物体に対してノイズが付加された第１の画像と、前記物体に対して前記第１の画像とは異なるノイズが付加された第２の画像とを取得し、取得した前記第１及び第２の画像に基づき、前記第１の画像におけるノイズの特徴と前記第２の画像におけるノイズの特徴との間の特徴のノイズを含む第３の画像を生成する、
請求項３に記載のピッキングシステム。
【請求項５】
前記第２計測部は、
前記距離センサによる測定結果に基づき、前記物体における三以上の点について、奥行き方向の距離を計測し、
測定した前記三以上の点についての奥行き方向の距離に基づき、前記物体の姿勢を推定する、
請求項１〜４のいずれか一項に記載のピッキングシステム。
【請求項６】
ピッキング対象の物体を撮影するカメラによって撮影された前記物体における一以上の点の座標と、当該一以上の点における前記物体の姿勢との、いずれか又は両方を計測する第１計測部と、
距離センサによる測定結果に基づき、前記物体における前記一以上の点について、奥行き方向の距離を計測する第２計測部と、
を備える、ピッキング処理装置。
【請求項７】
コンピュータに、
ピッキング対象の物体を撮影するカメラによって撮影された前記物体における一以上の点の座標と、当該一以上の点における前記物体の姿勢との、いずれか又は両方を計測し、
距離センサによる測定結果に基づき、前記物体における前記一以上の点について、奥行き方向の距離を計測する、
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピッキングシステム，ピッキング処理装置及びプログラムに関する。
【背景技術】
【０００２】
乱雑に積まれた物体を拾い上げるピッキング作業は、人が行なう場合には、過酷な肉体労働にもかかわらず、低賃金なことがある。
【０００３】
そのため、ロボットアーム（単に「ロボット」と称してもよい。）を利用して、ピッキング作業が自動化されることがある。
【０００４】
ロボットを利用するピッキング作業としては、例えば、３次元ビジョンセンサを使用する方法と、ロボットの先端に搭載した２次元ビジョンセンサを使用する方法とが、存在する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０４３２７１号公報
【特許文献２】特開２０１３−１０１０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、３次元ビジョンセンサは高価であるため、設置コストが増加するという課題がある。
【０００７】
また、２次元ビジョンセンサは、奥行き方向の距離を高精度で推定することができないため、繰り返し奥行き方向の距離を推定しながらピッキング対象の物体に接近することになるため、動作速度が遅いという課題がある。また、実測値ではなく推定値によって奥行き方向の距離を取得するため、特殊なソフトウェアを利用する必要がある。
【０００８】
１つの側面では、本明細書に記載する技術は、設置コストが低く、高速で動作するピッキングシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの側面において、ピッキングシステムは、物体をピッキングするためのハンド機構を有するロボットを備えるピッキングシステムであって、ピッキング対象の物体を撮影するカメラと、前記物体との間の距離を計測する距離センサと、前記カメラによって撮影された前記物体における一以上の点の座標と、当該一以上の点における前記物体の姿勢との、いずれか又は両方を計測する第１計測部と、前記距離センサによる測定結果に基づき、前記物体における前記一以上の点について、奥行き方向の距離を計測する第２計測部と、を備える。
【発明の効果】
【００１０】
開示のピッキングシステムによれば、設置コストが低く、高速で動作するピッキングシステムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例におけるピッキング対象の物体の一例を示す図である。
【図２】実施例におけるピッキングシステムのシステム構成の第１の例を示す図である。
【図３】実施例におけるピッキングシステムのシステム構成の第２の例を示す図である。
【図４】実施例におけるピッキングシステムのシステム構成の第３の例を示す図である。
【図５】実施例におけるピッキングシステムのシステム構成の第４の例を示す図である。
【図６】図２〜図５に示したピッキング処理装置のハードウェア構成例及び機能構成例を模式的に示すブロック図である。
【図７】図６に示したピッキング処理装置におけるピッキング対象の物体の座標及び姿勢の推定処理を説明するフローチャートである。
【図８】図６に示したピッキング処理装置における実際のばら積み画像を用いた学習モデルの学習処理を説明するフローチャートである。
【図９】図６に示したピッキング処理装置におけるレンダリング画像を用いた学習モデルの学習処理を説明するフローチャートである。
【図１０】図６に示したピッキング処理装置における実際のばら積み画像及びレンダリング画像を用いた学習モデルの学習処理を説明するフローチャートである。
【図１１】図６に示したピッキング処理装置におけるノイズ付加処理を説明するフローチャートである。
【図１２】第１変形例としてのピッキング処理装置におけるピッキング対象の物体の座標及び姿勢の推定処理を説明するフローチャートである。
【図１３】（Ａ）〜（Ｃ）は第２変形例としてのピッキング処理装置における表面テクスチャの生成処理を説明する図である。
【図１４】第２変形例としてのピッキング処理装置における表面テクスチャの生成処理を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。本実施形態は、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【００１３】
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１４】
以下、図中において、同一の符号を付した部分は同様の部分を示している。
【００１５】
〔Ａ〕実施形態の一例
〔Ａ−１〕システム構成例
図１は、実施例におけるピッキング対象の物体３２の一例を示す図である。
【００１６】
図１に示すように、ピッキング対象の物体３２（「ワーク」と称してもよい。）は、パレット３１（「容器」と称してもよい。）の中に、乱雑に多数収容されている。なお、図１においては、複数の物体のうち、１つの物体に限って符号「３２」を図示し、その他の物体についての符号の図示は省略している。
【００１７】
図１に示す例において、物体３２は円柱形であるが、これに限定されるものではない。ピッキング対象の物体３２は、種々の形状を有してよい。また、ピッキング対象の物体３２は、パレット３１に収容されていなくてもよく、例えば、ベルトコンベア（不図示）の上に置かれていてもよい。
【００１８】
以下、図２〜図５を用いて、ピッキングシステム１００の具体例であるピッキングシステム１００ａ〜１００ｄについて説明する。
【００１９】
図２は、実施例におけるピッキングシステム１００のシステム構成の第１の例を示す図である。
【００２０】
図２に示す例において、ピッキングシステム１００ａは、ピッキング処理装置１，カメラ２１（「２次元ビジョンセンサ」と称してもよい。），距離センサ２２，ロボット２３，フレーム２４，レール２５及びパレット３１を備える。
【００２１】
ピッキング処理装置１は、カメラ２１及び距離センサ２２による計測結果に基づき、ロボット２３を制御する。なお、ピッキング処理装置１の詳細については、図６等を用いて後述する。
【００２２】
カメラ２１は、物体３２の一以上の点におけるｘ軸及びｙ軸方向についての位置を測定する。また、カメラ２１は、物体３２のｘ軸及びｙ軸方向についての姿勢を測定する。ピッキングシステム１００において、複数のカメラ２１が備えられてもよい。
【００２３】
距離センサ２２は、例えば、超音波センサやTime of Flight（ＴＯＦ）センサ，電磁波センサであってよい。距離センサ２２は、物体３２の一以上の点におけるｚ軸方向についての距離を測定する。ピッキングシステム１００において、複数の距離センサ２２が備えられてもよい。
【００２４】
ロボット２３は、ピッキング処理装置１による制御に基づき、パレット３１内に収納されている物体３２をハンド機構により把持する。ハンド機構は、吸引やグリッパー，電磁気等によって物体３２をピッキングする種々の機構であってもよい。ロボット２３は、例えば、垂直多関節型ロボットであってもよいし、水平多関節型ロボットであってもよいし、直交ロボットであってもよい。
【００２５】
図示する例において、ロボット２３は床面上に置かれている土台に取り付けられているが、これに限定されるものではない。ロボット２３は、フレーム２４の天面や側面等の種々の場所に取り付けられてよい。
【００２６】
フレーム２４は、パレット３１の上方において、カメラ２１や距離センサ２２を固定する。なお、カメラ２１や距離センサ２２をフレーム２４に固定する位置は、図示する例に限定されるものではなく、パレット３１に対して斜め上方向や、パレット３１に対して横方向であってもよい。
【００２７】
レール２５は、距離センサ２２をｘ軸方向及びｙ軸方向について移動可能にさせる。
【００２８】
図３は、実施例におけるピッキングシステム１００のシステム構成の第２の例を示す図である。
【００２９】
図３に示す例において、ピッキングシステム１００ｂは、ピッキング処理装置１，カメラ２１，距離センサ２２，ロボット２３，フレーム２４及びパレット３１を備える。
【００３０】
図３において、カメラ２１は、図２に示した例と同様に、フレーム２４に固定される。一方、距離センサ２２は、ロボット２３のハンド機構の付近に取り付けられる。
【００３１】
図４は、実施例におけるピッキングシステム１００のシステム構成の第３の例を示す図である。
【００３２】
図４に示す例において、ピッキングシステム１００ｃは、ピッキング処理装置１，カメラ２１，距離センサ２２，ロボット２３及びパレット３１を備える。
【００３３】
図４において、カメラ２１及び距離センサ２２は、ロボット２３のハンド機構の付近に取り付けられる。
【００３４】
図５は、実施例におけるピッキングシステム１００のシステム構成の第４の例を示す図である。
【００３５】
図５に示す例において、ピッキングシステム１００ｄは、ピッキング処理装置１，カメラ２１，距離センサ２２，ロボット２３，フレーム２４，パン・チルト台２６及びパレット３１を備える。
【００３６】
パン・チルト台２６は、取り付けられている距離センサ２２をｘ軸方向及びｙ軸方向に傾けることができる。
【００３７】
図５において、カメラ２１は、図２に示した例と同様に、フレーム２４に直接に固定される。一方、距離センサ２２は、フレーム２４にパン・チルト台２６を介して固定されることにより、ｚ軸と平行な方向に限らず、ｚ軸と平行な方向以外の方向についても距離を計測できる。
【００３８】
なお、フレーム２４の形状は、街路灯のような逆Ｌ字型等の他の形状であってもよい。
【００３９】
図６は、図２〜図５に示したピッキング処理装置１のハードウェア構成例及び機能構成例を模式的に示すブロック図である。
【００４０】
ピッキング処理装置１は、Central Processing Unit（ＣＰＵ）１１，メモリ１２及び記憶装置１３を備える。また、ピッキング処理装置１は、カメラ２１，距離センサ２２及びロボット２３と通信可能に接続される。
【００４１】
メモリ１２は、Read Only Memory（ＲＯＭ）及びRandom Access Memory（ＲＡＭ）を含む記憶装置である。
【００４２】
記憶装置１３は、データを読み書き可能に記憶する装置であり、例えば、Hard Disk Drive（ＨＤＤ）やSolid State Drive（ＳＳＤ），Storage Class Memory（ＳＣＭ）が用いられてよい。記憶装置１３は、生成した教師データや学習モデル等を記憶する。
【００４３】
ＣＰＵ１１は、種々の制御や演算を行なう処理装置であり、メモリ１２に格納されたOperating System（ＯＳ）やプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１１は、図６に示すように、学習モデル取得部１１１，第１計測部１１２，第２計測部１１３及び機械学習処理部１１４として機能してよい。
【００４４】
ＣＰＵ１１は、コンピュータの一例であり、例示的に、ピッキング処理装置１全体の動作を制御する。ピッキング処理装置１全体の動作を制御するための装置は、ＣＰＵ１１に限定されず、例えば、ＭＰＵやＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡ，専用プロセッサのいずれか１つであってもよい。また、ピッキング処理装置１全体の動作を制御するための装置は、ＣＰＵ，ＭＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡ及び専用プロセッサのうちの２種類以上の組み合わせであってもよい。なお、ＭＰＵはMicro Processing Unitの略称であり、ＤＳＰはDigital Signal Processorの略称であり、ＡＳＩＣはApplication Specific Integrated Circuitの略称である。また、ＰＬＤはProgrammable Logic Deviceの略称であり、ＦＰＧＡはField Programmable Gate Arrayの略称である。
【００４５】
学習モデル取得部１１１は、記憶装置１３に記憶されているピッキング対象の物体３２についての学習モデルを取得する。
【００４６】
第１計測部１１２は、カメラ２１によって撮影された画像と、学習モデル取得部１１１によって取得された学習モデルとに基づき、ピッキング対象の物体３２におけるｘｙ平面上の座標位置や姿勢を計測する。なお、ピッキング対象の物体３２としては、例えば、パレット３１内に存在する複数の物体３２のうち、他の物体３２が上方に存在しない物体３２が選択されてよい。
【００４７】
別言すれば、第１計測部１１２は、カメラ２１によって撮影された物体３２における一以上の点の座標と、当該一以上の点における物体３２の姿勢との、いずれか又は両方を計測する。また、第１計測部１１２は、学習モデル取得部１１１によって取得された学習モデルに基づき、座標と姿勢とのいずれか又は両方について、計測を実行してよい。
【００４８】
第２計測部１１３は、距離センサ２２から取得した情報に基づき、第１計測部１１２によって計測された物体３２における点について、ロボット２３のハンドと物体３２との間におけるｚ軸方向の距離を測定する。
【００４９】
別言すれば、第２計測部１１３は、距離センサ２２による測定結果に基づき、物体３２における一以上の点について、奥行き方向の距離を計測する。
【００５０】
機械学習処理部１１４は、カメラ２１によって撮影された画像と物体３２の座標や姿勢とに基づいて教師データを作成し、機械学習を実行して、学習モデルを生成する。
【００５１】
別言すれば、機械学習処理部１１４は、物体３２の所定の点の座標と、当該所定の点における物体３２の姿勢との、いずれか又は両方を、カメラ２１で撮影された画像と組み合わせることにより、教師データを生成して機械学習を実行する第１機械学習処理部として機能する。
【００５２】
また、機械学習処理部１１４は、レンダリングによって生成した３Ｄ画像に基づき、教師データを生成し、機械学習を実行して、学習モデルを生成してもよい。この際に、機械学習処理部１１４は、物体３２に実際に生じている傷やへこみ等のノイズを３Ｄ画像に付加して教師データを生成してよい。
【００５３】
別言すれば、機械学習処理部１１４は、レンダリングによって生成した画像に対してノイズを付加することにより、教師データを生成して機械学習を実行する第２機械学習処理部として機能する。
【００５４】
更に、機械学習処理部１１４は、カメラ２１によって撮影された画像と、レンダリングによって生成された３Ｄ画像との両方に基づき、教師データを生成してもよい。
【００５５】
〔Ａ−２〕動作例
図６に示したピッキング処理装置１におけるピッキング対象の物体３２の座標及び姿勢の推定処理を、図７に示すフローチャート（ステップＳ１〜Ｓ４）に従って説明する。
【００５６】
カメラ２１により、ピッキング対象の物体３２を撮影する（ステップＳ１）。
【００５７】
第１計測部１１２は、カメラ２１による撮影結果に基づき、奥行きを計測したい位置の（ｘ，ｙ）座標と、ピッキング対象の物体３２の（ｘ，ｙ）座標及び姿勢とを、機械学習によって推定する（ステップＳ２）。
【００５８】
第２計測部１１３は、距離センサ２２を適切な位置に移動させて、物体３２との距離を測定する（ステップＳ３）。
【００５９】
第１計測部１１２及び第２計測部１１３は、ピッキング対象の物体３２の（ｘ，ｙ，ｚ）座標及び姿勢を確定させて、ロボット２３を制御する（ステップＳ４）。そして、ピッキング対象の物体３２の座標及び姿勢の推定処理は、終了する。
【００６０】
次に、図６に示したピッキング処理装置１における実際のばら積み画像を用いた学習モデルの学習処理を、図８に示すフローチャート（ステップＳ１１〜Ｓ１５）に従って説明する。
【００６１】
パレット３１内において、ばら積み環境を物体３２によって再現する（ステップＳ１１）。
【００６２】
カメラ２１によって、ばら積みされた物体３２を撮影する（ステップＳ１２）。
【００６３】
機械学習処理部１１４は、撮影された画像が十分なデータ数に達したかを判定する（ステップＳ１３）。なお、撮影された画像が十分なデータ数に達したかの判断は、データ数が閾値を超えたかを判断することによって行なわれてもよいし、人や人工知能が撮影された画像のばらつき具合を参照することによって行なわれてもよい。
【００６４】
十分なデータ数に達していない場合には（ステップＳ１３のＮｏルート参照）、処理はステップＳ１１へ戻る。
【００６５】
一方、十分なデータ数に達した場合には（ステップＳ１３のＹｅｓルート参照）、機械学習処理部１１４は、撮影された画像のデータに対する前処理を実施する（ステップＳ１４）。
【００６６】
機械学習処理部１１４は、前処理を実施したデータを利用して、学習モデルを学習する（ステップＳ１５）。そして、実際のばら積み画像を用いた学習モデルの学習処理は、終了する。
【００６７】
次に、図６に示したピッキング処理装置１におけるレンダリング画像を用いた学習モデルの学習処理を、図９に示すフローチャート（ステップＳ２１〜Ｓ２６）に従って説明する。
【００６８】
機械学習処理部１１４は、ピッキング対象の物体３２の３Ｄモデルを設計する（ステップＳ２１）。
【００６９】
機械学習処理部１１４は、ばら積み環境を３Ｄモデルを使って再現する（ステップＳ２２）。
【００７０】
機械学習処理部１１４は、ばら積み環境をレンダリングして、画像及びピッキングすべき点の位置や姿勢等のデータを保存する（ステップＳ２３）。
【００７１】
機械学習処理部１１４は、レンダリング画像が十分なデータ数に達したかを判定する（ステップＳ２４）。なお、レンダリング画像が十分なデータ数に達したかの判断は、データ数が閾値を超えたかを判断することによって行なわれてもよいし、人や人工知能がレンダリング画像のばらつき具合を参照することによって行なわれてもよい。
【００７２】
十分なデータ数に達していない場合には（ステップＳ２４のＮｏルート参照）、処理はステップＳ２２へ戻る。
【００７３】
一方、十分なデータ数に達した場合には（ステップＳ２４のＹｅｓルート参照）、機械学習処理部１１４は、レンダリング画像のデータに対する前処理を実施する（ステップＳ２５）。
【００７４】
機械学習処理部１１４は、前処理を実施したデータを利用して学習モデルを学習する（ステップＳ２６）。そして、レンダリング画像を用いた学習モデルの学習処理は、終了する。
【００７５】
次に、図６に示したピッキング処理装置１における実際のばら積み画像及びレンダリング画像を用いた学習モデルの学習処理を、図１０に示すフローチャート（ステップＳ３１〜Ｓ４０）に従って説明する。
【００７６】
機械学習処理部１１４は、ピッキング対象の物体３２の３Ｄモデルを設計する（ステップＳ３１）。
【００７７】
機械学習処理部１１４は、ばら積み環境を３Ｄモデルを使って再現する（ステップＳ３２）。
【００７８】
機械学習処理部１１４は、ばら積み環境をレンダリングして、画像及びピッキングすべき点の位置や姿勢等のデータを保存する（ステップＳ３３）。
【００７９】
機械学習処理部１１４は、レンダリング画像が十分なデータ数に達したかを判定する（ステップＳ３４）。なお、レンダリング画像が十分なデータ数に達したかの判断は、データ数が閾値を超えたかを判断することによって行なわれてもよいし、人や人工知能がレンダリング画像のばらつき具合を参照することによって行なわれてもよい。
【００８０】
十分なデータ数に達していない場合には（ステップＳ３４のＮｏルート参照）、処理はステップＳ３２へ戻る。
【００８１】
一方、十分なデータ数に達した場合には（ステップＳ３４のＹｅｓルート参照）、機械学習処理部１１４は、レンダリング画像のデータに対する前処理を実施する（ステップＳ３５）。
【００８２】
パレット３１内において、ばら積み環境を物体３２によって再現する（ステップＳ３６）。
【００８３】
カメラ２１によって、ばら積みされた物体３２を撮影する（ステップＳ３７）。
【００８４】
機械学習処理部１１４は、撮影された画像が十分なデータ数に達したかを判定する（ステップＳ３８）。なお、撮影された画像が十分なデータ数に達したかの判断は、データ数が閾値を超えたかを判断することによって行なわれてもよいし、人や人工知能が撮影された画像のばらつき具合を参照することによって行なわれてもよい。
【００８５】
十分なデータ数に達していない場合には（ステップＳ３８のＮｏルート参照）、処理はステップＳ３６へ戻る。
【００８６】
一方、十分なデータ数に達した場合には（ステップＳ３８のＹｅｓルート参照）、機械学習処理部１１４は、撮影された画像のデータに対する前処理を実施する（ステップＳ３９）。
【００８７】
機械学習処理部１１４は、前処理を実施したデータを利用して、学習モデルを学習する（ステップＳ４０）。そして、実際のばら積み画像及びレンダリング画像を用いた学習モデルの学習処理は、終了する。
【００８８】
次に、図６に示したピッキング処理装置１におけるノイズ付加処理を、図１１に示すフローチャート（ステップＳ４１〜Ｓ４３）に従って説明する。
【００８９】
機械学習処理部１１４は、３Ｄレンダリングソフトによって、ばら積み環境を再現する（ステップＳ４１）。
【００９０】
機械学習処理部１１４は、レンダリングした画像に対して、傷やへこみ等のノイズを付加した機械学習モデルを適用する（ステップＳ４２）。
【００９１】
機械学習処理部１１４は、ピッキング用の機械学習モデルを学習する（ステップＳ４３）。そして、ノイズ付加処理は終了する。
【００９２】
〔Ａ−３〕効果
上述した実施形態の一例におけるピッキングシステム１００によれば、例えば、以下の作用効果を奏することができる。
【００９３】
カメラ２１は、ピッキング対象の物体３２を撮影する。距離センサ２２は、物体３２との間の距離を計測する。第１計測部１１２は、カメラ２１によって撮影された物体３２における一以上の点の座標と、当該一以上の点における物体３２の姿勢との、いずれか又は両方を計測する。第２計測部１１３は、距離センサ２２による測定結果に基づき物体３２における一以上の点について、奥行き方向の距離を計測する。
【００９４】
これにより、設置コストが低く、高速で動作するピッキングシステム１００を提供することができる。また、ロボット２３にカメラ２１及び距離センサ２２を取り付ける場合には、ピッキングシステム１００においてフレーム２４が不要になり、ピッキングシステム１００の設置スペースを小さくできる。
【００９５】
機械学習処理部１１４は、物体３２の所定の点の座標と、当該所定の点における物体３２の姿勢との、いずれか又は両方を、カメラ２１で撮影された画像と組み合わせることにより、教師データを生成して機械学習を実行する。第１計測部１１２は、機械学習処理部１１４による機械学習によって生成された学習モデルに基づき、座標と姿勢とのいずれか又は両方について、計測を実行する。
【００９６】
これにより、最終的なピッキングの際と等価な画像を教師データとして使用できるため、評価結果の信頼性を向上できる。また、物体３２に形成されている傷等のランダムに発生するノイズも学習できるため、堅牢性を向上できる。
【００９７】
機械学習処理部１１４は、レンダリングによって生成した画像に対してノイズを付加することにより、教師データを生成して機械学習を実行する。第１計測部１１２は、機械学習処理部１１４による機械学習によって生成された学習モデルに基づき、座標と姿勢とのいずれか又は両方について、計測を実行する。
【００９８】
これにより、撮影環境を用意したり、実際の物体３２を用意したりする必要がないため、ばら積み環境を無限に低コストで再現できる。また、現実には確率的にほとんど発生しないような位置や姿勢の物体３２を再現でき、物体３２の特定の部位の正確な位置や姿勢等を誤差なく取得できる。更に、物体３２に形成されている傷等のランダムに発生するノイズも学習できるため、堅牢性を向上できる。
【００９９】
機械学習処理部１１４は、カメラ２１で撮影された画像と、レンダリングによって生成した画像との両方に基づいて、教師データを生成してもよい。
【０１００】
これにより、３Ｄモデルのデータを活用できるため大量のデータを安価に作成できると共に、実際の物体３２におけるランダムなノイズも学習できる。また、高精度で人間が設定することが困難な姿勢等を、３Ｄモデルから学習できる。
【０１０１】
〔Ｂ〕第１変形例
上述した実施例においては、物体３２の姿勢の推定をカメラ２１（別言すれば、「２次元ビジョンセンサ」）を用いて実行していたが、これに限定されるものではない。距離センサ２２によって、物体３２における三つ以上の点を計測することにより、物体３２における面を計測して、物体３２の姿勢を推定してもよい。
【０１０２】
別言すれば、第２計測部１１３は、距離センサ２２による測定結果に基づき、物体３２における三以上の点について、奥行き方向の距離を計測する。そして、第２計測部１１３は、測定した三以上の点についての奥行き方向の距離に基づき、物体３２の姿勢を推定する。
【０１０３】
第１変形例としてのピッキング処理装置１におけるピッキング対象の物体３２の座標及び姿勢の推定処理を、図１２に示すフローチャート（ステップＳ５１〜Ｓ５５）に従って説明する。
【０１０４】
カメラ２１によって、ピッキング対象の物体３２を撮影する（ステップＳ５１）。
【０１０５】
第１計測部１１２は、奥行きを測定したい複数点（別言すれば、「三つ以上の点」）の位置と、ピッキング対象の物体３２の（ｘ，ｙ）座標とを、機械学習で推定する（ステップＳ５２）。
【０１０６】
第２計測部１１３は、第１計測部１１２による計測結果に基づき、距離センサ２２を適切な位置に移動して、複数点の距離を計測する（ステップＳ５３）。
【０１０７】
第２計測部１１３は、距離を計測した複数点の情報を使って、物体３２の姿勢を推定する（ステップＳ５４）。
【０１０８】
第１計測部１１２及び第２計測部１１３は、ピッキング対象の物体３２の（ｘ，ｙ，ｚ）座標及び姿勢を確定して、ロボット２３を制御する（ステップＳ５５）。そして、第１変形例におけるピッキング対象の物体３２の座標及び姿勢の推定処理は、終了する。
【０１０９】
第１変形例におけるピッキング対象の物体３２の座標及び姿勢の推定処理によっても、上述した実施例と同様の効果を奏することができる。
【０１１０】
〔Ｃ〕第２変形例
レンダリングした画像に対しての傷やへこみ等のノイズの付加は、現実の物体３２の表面テクスチャを撮影することによって実施してもよい。
【０１１１】
図１３の（Ａ）〜（Ｃ）は、第２変形例としてのピッキング処理装置１における表面テクスチャの生成処理を説明する図である。
【０１１２】
図１３の（Ａ）には人の笑顔が示されており、図１３の（Ｃ）には人の無表情の顔が示されている。図１３の（Ａ）及び（Ｃ）に示されている表情の画像データが取得されることにより、図１３の（Ｂ）に示されている中間の表情の画像データが生成されてよい。
【０１１３】
また、図１３の（Ｂ）に示されている中間の表情の画像データは１つに限らず、複数が生成されてよい。
【０１１４】
第２変形例において、機械学習処理部１１４は、複数の物体３２における傷の形状や反射具合等を学習する。そして、機械学習処理部１１４は、学習した複数の物体３２における傷の形状や反射具合等に基づき、無数のパターンの形状の傷や反射具合等を有する物体３２の３Ｄ画像を生成する。
【０１１５】
別言すれば、機械学習処理部１１４は、物体３２に対してノイズが付加された第１の画像と、物体３２に対して第１の画像とは異なるノイズが付加された第２の画像とを取得する。そして、機械学習処理部１１４は、取得した第１及び第２の画像に基づき、第１の画像におけるノイズの特徴と第２の画像におけるノイズの特徴との間の特徴のノイズを含む第３の画像を生成する第２機械学習処理部の一例として機能する。
【０１１６】
第２変形例としてのピッキング処理装置１における表面テクスチャの生成処理を、図１４に示すフローチャート（ステップＳ６１〜Ｓ６６）に従って説明する。
【０１１７】
カメラ２１によって、現実の物体３２の表面テクスチャを撮影する（ステップＳ６１）。ここでは、例えば、２つの物体３２の表面テクスチャが撮影される。
【０１１８】
機械学習処理部１１４は、撮影された表面テクスチャのデータに対して前処理を実施する（ステップＳ６２）。
【０１１９】
機械学習処理部１１４は、表面テクスチャを表現する潜在変数を学習する（ステップＳ６３）。
【０１２０】
機械学習処理部１１４は、学習した潜在変数を変化させた表面テクスチャを無数に生成する（ステップＳ６４）。
【０１２１】
機械学習処理部１１４は、生成した表面テクスチャを利用して、ユニークな３Ｄモデルを無数に生成する（ステップＳ６５）。
【０１２２】
機械学習処理部１１４は、図９に示したレンダリング画像を用いた学習モデルの学習処理を実施する（ステップＳ６６）。そして、表面テクスチャの生成処理は終了する。
【０１２３】
第２変形例における表面テクスチャの生成処理によれば、複数の本物の物体３２における表面テクスチャの特徴を学習することにより、複数の本物の物体３２における表面テクスチャを合成した中間の表面テクスチャを無数に生成することができる。また、生成した表面テクスチャを３Ｄモデルに適用することによって、現実の物体３２に発生するランダムな傷等のノイズについても、３Ｄモデルのみを用いて学習できる。
【０１２４】
〔Ｄ〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【符号の説明】
【０１２５】
１００    ：ピッキングシステム
１        ：ピッキング処理装置
１１      ：ＣＰＵ
１１１    ：学習モデル取得部
１１２    ：第１計測部
１１３    ：第２計測部
１１４    ：機械学習処理部
１２      ：メモリ
１３      ：記憶装置
２１      ：カメラ
２２      ：距離センサ
２３      ：ロボット
２４      ：フレーム
２５      ：レール
２６      ：パン・チルト台
３１      ：パレット
３２      ：物体
【図１】
2020001127.tif 000003
【図２】
2020001127.tif 000004
【図３】
2020001127.tif 000005
【図４】
2020001127.tif 000006
【図５】
2020001127.tif 000007
【図６】
2020001127.tif 000008
【図７】
2020001127.tif 000009
【図８】
2020001127.tif 000010
【図９】
2020001127.tif 000011
【図１０】
2020001127.tif 000012
【図１１】
2020001127.tif 000013
【図１２】
2020001127.tif 000014
【図１３】
2020001127.tif 000015
【図１４】
2020001127.tif 000016
【手続補正書】
【提出日】令和1年8月2日(2019.8.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物体をピッキングするためのハンド機構を有するロボットを備えるピッキングシステムであって、
ピッキング対象の物体を撮影するカメラと、
前記物体における一以上の点との間の距離を計測する距離センサと、
レンダリングによって生成した画像に対してノイズを付加することにより、教師データを生成して機械学習を実行するノイズ学習処理部と、
前記ノイズ学習処理部による機械学習によって生成された学習モデルに基づき、前記カメラによって撮影された前記物体における前記一以上の点の座標と、当該一以上の点における前記物体の姿勢との、いずれか又は両方を計測する第１計測部と、
前記距離センサによる測定結果に基づき、前記物体における前記一以上の点について、奥行き方向の距離を計測する第２計測部と、
を備える、ピッキングシステム。
【請求項２】
前記物体の所定の点の座標と、当該所定の点における前記物体の姿勢との、いずれか又は両方を、前記カメラで撮影された画像と組み合わせることにより、教師データを生成して機械学習を実行する第１機械学習処理部を更に備え、
前記第１計測部は、前記第１機械学習処理部による機械学習によって生成された学習モデルに基づき、前記座標と前記姿勢とのいずれか又は両方について、前記計測を実行する、
請求項１に記載のピッキングシステム。
【請求項３】
前記ノイズ学習処理部は、前記物体に対してノイズが付加された第１の画像と、前記物体に対して前記第１の画像とは異なるノイズが付加された第２の画像とを取得し、取得した前記第１及び第２の画像に基づき、前記第１の画像におけるノイズの特徴と前記第２の画像におけるノイズの特徴との間の特徴のノイズを含む第３の画像を生成する、
請求項１に記載のピッキングシステム。
【請求項４】
前記第２計測部は、
前記距離センサによる測定結果に基づき、前記物体における三以上の点について、奥行き方向の距離を計測し、
測定した前記三以上の点についての奥行き方向の距離に基づき、前記物体の姿勢を推定する、
請求項１〜３のいずれか一項に記載のピッキングシステム。
【請求項５】
レンダリングによって生成した画像に対してノイズを付加することにより、教師データを生成して機械学習を実行するノイズ学習処理部と、
前記ノイズ学習処理部による機械学習によって生成された学習モデルに基づき、ピッキング対象の物体を撮影するカメラによって撮影された前記物体における一以上の点の座標と、当該一以上の点における前記物体の姿勢との、いずれか又は両方を計測する第１計測部と、
前記物体における前記一以上の点との間の距離を計測する距離センサによる測定結果に基づき、前記物体における前記一以上の点について、奥行き方向の距離を計測する第２計測部と、
を備える、ピッキング処理装置。
【請求項６】
コンピュータに、
レンダリングによって生成した画像に対してノイズを付加することにより、教師データを生成して機械学習を実行し、
前記機械学習によって生成された学習モデルに基づき、ピッキング対象の物体を撮影するカメラによって撮影された前記物体における一以上の点の座標と、当該一以上の点における前記物体の姿勢との、いずれか又は両方を計測し、
前記物体における前記一以上の点との間の距離を計測する距離センサによる測定結果に基づき、前記物体における前記一以上の点について、奥行き方向の距離を計測する、
処理を実行させる、プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
１つの側面において、ピッキングシステムは、物体をピッキングするためのハンド機構を有するロボットを備えるピッキングシステムであって、ピッキング対象の物体を撮影するカメラと、前記物体における一以上の点との間の距離を計測する距離センサと、レンダリングによって生成した画像に対してノイズを付加することにより、教師データを生成して機械学習を実行するノイズ学習処理部と、前記ノイズ学習処理部による機械学習によって生成された学習モデルに基づき、前記カメラによって撮影された前記物体における前記一以上の点の座標と、当該一以上の点における前記物体の姿勢との、いずれか又は両方を計測する第１計測部と、前記距離センサによる測定結果に基づき、前記物体における前記一以上の点について、奥行き方向の距離を計測する第２計測部と、を備える。