(57)【要約】【課題】ばら積みの物体を検出するための学習データを効率よく生成可能な情報処理方法および情報処理装置、かかる情報処理装置を備える物体検出装置、ならびに、かかる物体検出装置を備えるロボットシステムを提供すること。【解決手段】物体の設計データを受け付ける工程と、設計データから、物体の形状データと物体の位置姿勢情報とを含む物体データを生成する工程と、シミュレーションにより、物体データを積み上げて、第１ばら積みデータを生成する工程と、最表面に配置されている物体データを抽出する工程と、物体を撮像部により撮像した場合に、抽出した物体データが得られる撮像角度を探して、撮像部を配置する工程と、物体を前記撮像角度から撮像部により撮像し、第１撮像データを取得する工程と、抽出した物体データに含まれている形状データを第１撮像データに置き換えて、学習データを生成する工程と、を有することを特徴とする情報処理方法。【選択図】図１
2020166371.tif 000002
【特許請求の範囲】
【請求項１】
物体の位置姿勢を検出するための学習データを生成する情報処理方法であって、
前記物体の設計データを受け付ける工程と、
前記設計データから、前記物体の形状データと、前記物体の位置姿勢情報と、を含む物体データを生成する工程と、
シミュレーションにより、前記物体データを積み上げて、第１ばら積みデータを生成する工程と、
前記第１ばら積みデータにおいて、最表面に配置されている前記物体データを最表面物体データとして抽出する工程と、
単独で置かれている前記物体を撮像部により撮像した場合に、前記最表面物体データの位置姿勢が得られる撮像角度および撮像距離に基づいて、前記撮像部を配置する工程と、
単独で置かれている前記物体を前記撮像角度および撮像距離から前記撮像部により撮像し、第１撮像データを取得する工程と、
前記第１ばら積みデータにおいて、前記最表面物体データに含まれている前記形状データを前記第１撮像データに置き換えて、前記学習データを生成する工程と、
を有することを特徴とする情報処理方法。
【請求項２】
前記設計データは、前記物体の三次元ＣＡＤのデータである請求項１に記載の情報処理方法。
【請求項３】
単独で置かれている前記物体を、前記撮像部により、複数の撮像条件で撮像し、前記物体の前記形状データを含む第５撮像データを取得する工程をさらに有し、
前記第１ばら積みデータを生成する工程は、前記物体データを前記第５撮像データに対応付け、前記物体データが対応付けられた前記第５撮像データを積み上げて、前記第１ばら積みデータを得る工程である請求項１または２に記載の情報処理方法。
【請求項４】
物体の位置姿勢を検出するための学習データを生成する情報処理方法であって、
単独で置かれている前記物体を、撮像部により、複数の撮像条件で撮像し、前記物体の形状データを含む複数の第３撮像データを取得する工程と、
シミュレーションにより、前記第３撮像データを積み上げて、第２ばら積みデータを生成する工程と、
前記第２ばら積みデータの最表面部分に配置されている前記第３撮像データに位置姿勢情報を付与する工程と、
単独で置かれている前記物体を前記撮像部により撮像した場合に、前記最表面部分に配置された前記第３撮像データの位置姿勢が得られる撮像角度および撮像距離に基づいて、前記撮像部を配置する工程と、
単独で置かれている前記物体を前記撮像角度および前記撮像距離から前記撮像部により撮像し、第４撮像データを取得する工程と、
前記第２ばら積みデータにおいて、前記位置姿勢情報が付与された前記第３撮像データに含まれている前記形状データを前記第４撮像データに置き換えて、前記学習データを生成する工程と、
を有することを特徴とする情報処理方法。
【請求項５】
前記第２ばら積みデータを生成する工程は、前記第３撮像データの前記形状データの一部を欠損させた欠損撮像データを、前記最表面部分の背景に配置されるデータとする処理を含む請求項４に記載の情報処理方法。
【請求項６】
前記第２ばら積みデータを生成する工程は、オクルージョンがない前記第３撮像データを、前記最表面部分とする処理を含む請求項４または５に記載の情報処理方法。
【請求項７】
物体の位置姿勢を検出するための学習データを生成する情報処理装置であって、
前記物体の設計データを受け付ける設計データ受付部と、
前記設計データから、前記物体の形状データと前記物体の位置姿勢情報とを含む物体データを生成する物体データ生成部と、
シミュレーションにより、前記物体データを積み上げて、第１ばら積みデータを生成する第１ばら積みデータ生成部と、
前記第１ばら積みデータにおいて、最表面に配置されている前記物体データを最表面物体データとして抽出する最表面抽出部と、
単独で置かれている前記物体を撮像部により撮像させるときの、前記最表面物体データに対応する撮像角度および撮像距離を算出する撮像角度算出部と、
単独で置かれている前記物体を撮像部により前記撮像角度および撮像距離で撮像させ、第１撮像データを取得する第１撮像データ取得部と、
前記第１ばら積みデータにおいて、前記最表面物体データに含まれている前記形状データを前記第１撮像データに置き換えて、学習データを生成する学習データ生成部と、
を有することを特徴とする情報処理装置。
【請求項８】
物体の位置姿勢を検出するための学習データを生成する情報処理装置であって、
単独で置かれている前記物体を、撮像部により、複数の撮像条件で撮像させ、前記物体の形状データを含む複数の第３撮像データを取得する第３撮像データ取得部と、
シミュレーションにより、前記第３撮像データを積み上げて、第２ばら積みデータを生成する第２ばら積みデータ生成部と、
前記第２ばら積みデータにおいて、最表面に配置されている前記第３撮像データに位置姿勢情報を付与する最表面位置姿勢情報付与部と、
単独で置かれている前記物体を撮像部により撮像させるときの、前記位置姿勢情報を付与した前記第３撮像データに対応する撮像角度および撮像距離を算出する撮像角度算出部と、
単独で置かれている前記物体を撮像部により前記撮像角度および前記撮像距離で撮像させ、第４撮像データを取得する第４撮像データ取得部と、
前記第２ばら積みデータにおいて、前記位置姿勢情報が付与された前記第３撮像データに含まれている前記形状データを前記第４撮像データに置き換えて、学習データを生成する学習データ生成部と、
を有することを特徴とする情報処理装置。
【請求項９】
物体の位置姿勢を検出する物体検出装置であって、
請求項７または８に記載の情報処理装置と、
前記物体を、撮像部により撮像させ、第２撮像データを取得する第２撮像データ取得部と、
前記第２撮像データおよび前記学習データに基づいて、前記物体の位置姿勢を検出する物体位置姿勢検出部と、
を有することを特徴とする物体検出装置。
【請求項１０】
ロボットアームを備えるロボットと、
前記ロボットアームに設置されている撮像部と、
請求項９に記載の物体検出装置と、
前記物体検出装置の検出結果に基づいて前記ロボットの駆動を制御するロボット制御装置と、
を有することを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、情報処理装置、物体検出装置およびロボットシステムに関するものである。
【背景技術】
【０００２】
ロボットが作業を行う際には、ワーク等の対象物体の位置姿勢をロボットに認識させる必要がある。
【０００３】
例えば、特許文献１には、対象物体に関する学習データの生成に必要な学習情報として、対象物体の位置、向き、大きさおよび種類の少なくとも１つを取得する第一の取得手段と、取得された学習情報に基づいて、対象物体を撮像する撮像位置姿勢を決定する決定手段と、決定された撮像位置姿勢にて対象物体が撮像された画像を取得する第二の取得手段と、取得された学習情報と、撮像された画像と、に基づいて学習データを生成する生成手段と、を備える情報処理装置が開示されている。このような情報処理装置によれば、対象物体の認識用途に応じた学習データを容易に生成することができる。そして、学習データを用いて物体認識のためのモデルを生成し、そのモデルに基づいて対象物体の例えば中心位置を認識することにより、ロボットのエンドエフェクターにその中心位置を吸着させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１１６５９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の情報処理装置では、学習データの生成に際し、ばら積みされた対象物体を撮像した画像からでは、対象物体を高精度に検出するための学習データを生成することができないという課題がある。
【課題を解決するための手段】
【０００６】
本発明の適用例に係る情報処理方法は、物体の位置姿勢を検出するための学習データを生成する情報処理方法であって、
前記物体の設計データを受け付ける工程と、
前記設計データから、前記物体の形状データと、前記物体の位置姿勢情報と、を含む物体データを生成する工程と、
シミュレーションにより、前記物体データを積み上げて、第１ばら積みデータを生成する工程と、
前記第１ばら積みデータにおいて、最表面に配置されている前記物体データを最表面物体データとして抽出する工程と、
単独で置かれている前記物体を撮像部により撮像した場合に、前記最表面物体データの位置姿勢が得られる撮像角度および撮像距離に基づいて、前記撮像部を配置する工程と、
単独で置かれている前記物体を前記撮像角度および撮像距離から前記撮像部により撮像し、第１撮像データを取得する工程と、
前記第１ばら積みデータにおいて、前記最表面物体データに含まれている前記形状データを前記第１撮像データに置き換えて、前記学習データを生成する工程と、
を有することを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係るロボットシステムを示す機能ブロック図である。
【図２】図１に示す情報処理装置のハードウェア構成の一例を示す図である。
【図３】第１実施形態に係る情報処理方法を示すフローチャートである。
【図４】対象物を撮像することができない範囲の一例を示す概念図である。
【図５】図４に示す２つのステーブルポーズで対象物をテーブル上においたとき、撮像部によって撮像することができない範囲を、対象物を基準にして合成した図である。
【図６】第１実施形態に係る情報処理方法で生成される学習データの一例を示す概念図である。
【図７】図６に示す学習データに含まれる最表面の物体データについて、表面点群データのみを図示した概念図である。
【図８】第２実施形態に係る情報処理装置を含むロボットシステムを示す機能ブロック図である。
【図９】第２実施形態に係る情報処理方法を示すフローチャートである。
【図１０】互いに異なる第１撮像条件および第２撮像条件で対象物を撮像する様子を説明するための側面図である。
【図１１】図１０に示す複数条件撮像データＤ１１、Ｄ１２のうち、背景部分を除去して、対象物に対応する表面点群データＤ２１、Ｄ２２を抜き出した図である。
【図１２】図１１に示す２つの表面点群データＤ２１、Ｄ２２を重なりなく並べた例Ｃ１と、２つの表面点群データＤ２１、Ｄ２２のうち、一部が重なるように並べた例Ｃ２と、を示す図である。
【図１３】第３実施形態に係る情報処理装置を含むロボットシステムを示す機能ブロック図である。
【図１４】第３実施形態に係る情報処理方法を示すフローチャートである。
【図１５】第４実施形態に係る情報処理装置を含むロボットシステムを示す機能ブロック図である。
【図１６】第４実施形態に係る情報処理方法を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の情報処理方法、情報処理装置、物体検出装置およびロボットシステムを添付図面に示す実施形態に基づいて詳細に説明する。
【０００９】
１．第１実施形態
１．１  ロボットシステム
まず、第１実施形態に係るロボットシステムについて説明する。
【００１０】
図１は、第１実施形態に係るロボットシステムを示す機能ブロック図である。
なお、図１では、互いに直交する３軸として、Ｘ軸、Ｙ軸およびＺ軸を図示している。また、説明の便宜上、Ｚ軸の先端方向を「上」とし、Ｚ軸の基端方向を「下」とする。
【００１１】
図１に示すロボットシステム１００は、例えば、電子部品等の対象物９１（物体）の保持、搬送および組立て等の作業に用いられる。このロボットシステム１００は、ロボットアーム１０を備えるロボット１と、ロボットアーム１０に設置されている撮像機能を有する撮像部３と、対象物９１を検出する物体検出装置４と、物体検出装置４の検出結果に基づいてロボット１の駆動を制御するロボット制御装置５と、を有する。以下、各部について順次説明する。
【００１２】
１．１．１  ロボット
図１に示すロボット１は、いわゆる６軸の垂直多関節ロボットであり、基台１１０と、基台１１０に接続されたロボットアーム１０と、を有する。
【００１３】
基台１１０は、ロボット１を任意の設置箇所に取り付ける部分である。本実施形態では、基台１１０は、例えば床等の設置箇所に設置されている。なお、基台１１０の設置箇所は、床等に限定されず、例えば、壁、天井、移動可能な台車上等であってもよい。したがって、図１のＺ軸は、鉛直軸に限定されない。
【００１４】
図１に示すロボットアーム１０は、その基端が基台１１０に接続されており、アーム１１、アーム１２、アーム１３、アーム１４、アーム１５およびアーム１６を有する。これらアーム１１〜１６は、基端から先端に向かってこの順に連結されている。各アーム１１〜１６は、隣り合うアームまたは基台１１０に対して回動可能になっている。
【００１５】
また、ロボット１は、それぞれ図示しないものの、基台１１０に対してアーム１１を回動させる駆動装置、アーム１１に対してアーム１２を回動させる駆動装置、アーム１２に対してアーム１３を回動させる駆動装置、アーム１３に対してアーム１４を回動させる駆動装置、アーム１４に対してアーム１５を回動させる駆動装置、およびアーム１５に対してアーム１６を回動させる駆動装置を有している。各駆動装置は、モーターと、モーターの駆動を制御するコントローラーと、モーターの回転量を検出するエンコーダーと、を備えており、ロボット制御装置５によって互いに独立に制御される。
【００１６】
ロボットアーム１０の先端には、図１に示すように、対象物９１を吸着可能なエンドエフェクター１７が装着されている。エンドエフェクター１７は、例えば把持ハンド、吸着ハンド、磁気ハンド等を備えており、対象物９１を保持して、各種作業を行う。
【００１７】
１．１．２  撮像部
図１に示す撮像部３は、ロボットアーム１０の先端部に装着されている。図１に示す撮像部３は、ロボットアーム１０の駆動によって撮像位置が変更されるようになっており、例えばテーブル９２上に置かれている対象物９１およびテーブル９３上に置かれている対象物９１を撮像することができる。
【００１８】
撮像部３は、物体検出装置４と通信可能に接続されている。なお、撮像部３と物体検出装置４との接続は、有線による接続の他、無線による接続であってもよい。
【００１９】
撮像部３は、対象物９１やその周囲について、カラー画像、モノクロ画像、赤外線画像等の２次元画像データと、デプス画像等の表面点群データと、を含む三次元形状データを撮像可能なデバイスである。このような撮像部３としては、例えば、位相シフト法、アクティブステレオ法等により、撮像対象の三次元形状を計測する三次元計測装置等が挙げられる。
【００２０】
１．１．３  物体検出装置
物体検出装置４は、撮像部３およびロボット制御装置５と通信可能に接続されている。なお、物体検出装置４とロボット制御装置５との接続は、有線による接続の他、無線による接続であってもよい。
【００２１】
また、図１に示す物体検出装置４は、情報処理装置４２と、ばら積み撮像データ取得部４４と、物体位置姿勢検出部４６と、を有している。物体検出装置４は、例えば図１のテーブル９３上にばら積みされた対象物９１をエンドエフェクター１７で保持するため、物体認識アルゴリズム、すなわちディープラーニングによって対象物９１のモデルを学習し、その学習データに基づいて個々の対象物９１を検出する。この検出結果に基づいて、ロボット制御装置５は、ロボット１の動作を制御し、エンドエフェクター１７に対象物９１を保持させる。
【００２２】
以下、物体検出装置４の各部について説明する。
１．１．３．１  情報処理装置
図１に示す情報処理装置４２は、座標校正用データ取得部４２０と、設計データ受付部４２１と、物体データ生成部４２２と、第１ばら積みデータ生成部４２３と、最表面抽出部４２４と、撮像角度算出部４２６と、単独撮像データ取得部４２７（第１撮像データ取得部）と、学習データ生成部４２８と、を有する。
【００２３】
座標校正用データ取得部４２０は、撮像部３と接続され、テーブル９２上に単独で置かれている対象物９１を撮像させ、その撮像データを座標校正用データとして取得する。座標校正用データは、後述するが、設計データ受付部４２１で受け付ける設計データとの対応付けにより、対象物９１が置かれている空間におけるロボット座標と、後述するシミュレーションで用いるシミュレーション座標と、を一致させる。
【００２４】
設計データ受付部４２１は、例えばキーボード、タッチパネル、着脱式の外部記憶装置、ネットワーク等の図示しないデータ入力部と接続され、ユーザーが入力した対象物９１（物体）の設計データを受け付ける。設計データは、対象物９１の三次元幾何モデルである。具体的には、三次元設計図ソフトで取り扱うことができる三次元ＣＡＤ（Computer-Aided Design）のデータや、点、線、面といったモデルの構成要素で構成され、三次元コンピューターグラフィックスソフトで取り扱うことができる三次元ＣＧ（Computer Graphics）のデータ等が挙げられる。
【００２５】
このうち、設計データとしては、三次元ＣＡＤのデータが好ましい。三次元ＣＡＤのデータは、対象物９１の製造の際に作成されることが多いため、入手が容易であり、かつ、データ容量が小さいため、設計データとして利用しやすい。
【００２６】
物体データ生成部４２２は、設計データから、対象物９１の形状データと、対象物９１の位置姿勢情報と、を含む物体データを生成する。対象物９１の形状データとは、２次元画像データと、表面点群データと、を含む三次元形状データである。また、対象物９１の位置姿勢情報とは、例えば６自由度の位置姿勢情報であり、具体的には、Ｘ軸に沿った位置の情報、Ｙ軸に沿った位置の情報、Ｚ軸に沿った位置の情報、方位角（Azimuth）についての姿勢の情報、仰角（Elevation）についての姿勢の情報、および回転角（Rotation）についての姿勢の情報である。
【００２７】
第１ばら積みデータ生成部４２３は、シミュレーションにより、複数の物体データを積み上げて、第１ばら積みデータを生成する。具体的には、ばら積み状態にあるときの対象物９１の位置姿勢を、物体データを積み上げることによってシミュレーションする。このシミュレーションについては、後に詳述するが、演算によって大量の物体データを取り扱うことができるので、規模の大きな学習データを効率よく生成することができる。
【００２８】
最表面抽出部４２４は、第１ばら積みデータにおいて、最表面に配置されている物体データ（最表面物体データ）を抽出する。最表面の物体データとは、第１ばら積みデータにおいて、例えばＺ座標が周囲よりも大きい値を示している物体データのことをいう。最表面の物体データを抽出することにより、例えば、ばら積み状態にある対象物９１を最表面側から順次保持する作業を実行する際に最適な学習データを生成することができる。
【００２９】
撮像角度算出部４２６は、テーブル９２上に単独で置かれている対象物９１を撮像部３により撮像させるとき、抽出した最表面の物体データに対応する撮像角度および撮像距離を算出する。
【００３０】
単独撮像データ取得部４２７（第１撮像データ取得部）は、撮像角度算出部４２６によって算出した撮像角度および撮像距離で、テーブル９２上に単独で置かれている対象物９１を撮像部３により撮像させる。これにより、単独撮像データ（第１撮像データ）を取得する。単独撮像データは、対象物９１の２次元画像データと、対象物９１の表面点群データと、を含む実測データである。
【００３１】
学習データ生成部４２８は、第１ばら積みデータにおいて、抽出した最表面の物体データに含まれている対象物９１の形状データを、実測データである単独撮像データに置き換える。これにより、対象物９１の実測データである単独撮像データと、それに対応付けられた対象物９１の位置姿勢情報と、を含む学習データが生成される。
【００３２】
以上、第１実施形態に係る情報処理装置４２の構成について説明したが、情報処理装置４２の作動、すなわち情報処理方法については後に詳述する。
【００３３】
図２は、図１に示す情報処理装置４２のハードウェア構成の一例を示す図である。
図２に示す情報処理装置４２は、プロセッサー４２ａと、記憶部４２ｂと、外部インターフェース４２ｃと、を含んでいる。そして、これらの各要素は、システムバス４２ｄを介して相互に通信可能に接続されている。
【００３４】
プロセッサー４２ａは、ＣＰＵ（Central Processing Unit）等を備えている。そして、記憶部４２ｂに記憶されている各種プログラム等を読み出し、実行する。これにより、情報処理装置４２における各種演算や各種処理等を実現する。
【００３５】
記憶部４２ｂは、プロセッサー４２ａで実行可能な各種プログラム等を保存する。記憶部４２ｂとしては、例えば、ＲＡＭ（Random Access Memory）等の揮発性メモリー、ＲＯＭ（Read Only Memory）等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。なお、記憶部４２ｂには、プログラムの他に、前述した各部から出力されたデータや設定値等についても記憶される。
【００３６】
外部インターフェース４２ｃは、例えば有線ＬＡＮ（Local Area Network）、無線ＬＡＮ等が挙げられる。
【００３７】
なお、情報処理装置４２の各部の機能は、プロセッサー４２ａがプログラムを実行することにより実現されるが、少なくとも一部がハードウェア上で実現されるようになっていてもよい。
【００３８】
また、情報処理装置４２は、ロボット１の筐体内に配置されていてもよく、筐体外に配置されていてもよく、ネットワーク等を介して遠隔地に設けられていてもよい。
【００３９】
１．１．３．２  ばら積み撮像データ取得部
ばら積み撮像データ取得部４４（第２撮像データ取得部）は、テーブル９３上にばら積みされている対象物９１を、撮像部３により撮像させ、ばら積み撮像データ（第２撮像データ）を取得する。また、ばら積み撮像データ取得部４４は、ばら積みされている対象物９１を撮像可能な位置に撮像部３を配置するように、ロボット制御装置５に制御信号を出力する。
【００４０】
１．１．３．３  物体位置姿勢検出部
物体位置姿勢検出部４６は、ばら積み撮像データと、学習データと、に基づいて、テーブル９３上にばら積みされている対象物９１の位置姿勢を検出する。これにより、ばら積みされている状態でも、個々の対象物９１を検出し、エンドエフェクター１７によって保持等の作業を行うことができる。
【００４１】
１．１．４  ロボット制御装置
ロボット制御装置５は、ロボット１の作動を制御する機能を有し、図１に示すように、ロボット１および物体検出装置４に対して通信可能に接続されている。なお、ロボット制御装置５と、ロボット１および物体検出装置４との間は、それぞれ、有線で接続されていてもよいし、無線で接続されていてもよい。また、ロボット制御装置５には、モニター等の表示装置、キーボード、タッチパネル等の入力装置等が接続されていてもよい。
【００４２】
ロボット制御装置５は、図示しないものの、プロセッサーと、記憶部と、外部インターフェースと、を含み、これらの各要素が、種々のバスを介して相互通信可能に接続されている。
【００４３】
プロセッサーは、ＣＰＵ（Central Processing Unit）等のプロセッサーを備え、記憶部に記憶された各種プログラム等を実行する。これにより、ロボット１の駆動の制御や各種演算および判断等の処理を実現できる。
【００４４】
１．２  情報処理方法
次に、第１実施形態に係る情報処理方法について説明する。
図３は、第１実施形態に係る情報処理方法を示すフローチャートである。
【００４５】
図３に示す情報処理方法は、対象物９１の設計データを用いて対象物９１のモデルを学習し、学習データを効率的に生成する方法である。図３に示す情報処理方法では、大量の学習データの生成を効率よく行うことができ、学習データの生成に要する負荷を軽減することができる。
【００４６】
図３に示す情報処理方法は、設計データを受け付ける工程Ｓ１１と、座標の校正を行う工程Ｓ１２と、物体データを生成する工程Ｓ１３と、物体データを積み上げて第１ばら積みデータを生成する工程Ｓ１４と、第１ばら積みデータの最表面を抽出する工程Ｓ１５と、抽出した最表面の物体データに基づいて撮像部３の撮像角度および撮像距離を算出し、その撮像角度および撮像距離になるように撮像部３を配置する工程Ｓ１６と、撮像部３により単独撮像データ（第１撮像データ）を取得する工程Ｓ１７と、物体データと単独撮像データとに基づいて学習データを生成する工程Ｓ１８と、を有する。以下、各工程について順次説明する。
【００４７】
１．２．１  設計データの受け付け（工程Ｓ１１）
まず、設計データ受付部４２１により、対象物９１の設計データを受け付ける。設計データの受け付けは、図示しないデータ入力部に設計データを入力することにより行う。設計データは、前述したように、例えば、三次元ＣＡＤのデータ、三次元ＣＧのデータ等である。
【００４８】
１．２．２  座標の校正（工程Ｓ１２）
次に、対象物９１が置かれている空間におけるロボット座標と、後述する工程Ｓ１４で行うシミュレーションで用いるシミュレーション座標と、を一致させる。すなわち、座標の校正を行う。
【００４９】
具体的には、対象物９１を単独でテーブル９２上に置く。このとき、ユーザーは、対象物９１を平面上に置いた際に安定するポーズ（ステーブルポーズ）で置くのが好ましい。
【００５０】
次に、撮像部３をあらかじめ定められた位置に配置し、テーブル９２上に置いた対象物９１を撮像する。これにより、座標校正用データ取得部４２０において、座標校正用データとなる撮像データを取得する。座標校正用データは、例えば２次元画像データと表面点群データとを含む三次元形状データとされるが、２次元画像データが省略されていてもよい。
【００５１】
次に、設計データから表面点群データを抽出する。そして、座標校正用データに含まれる表面点群データと、設計データから抽出された表面点群データと、の対応付けを行う。この対応付けには、例えばＩＣＰ（Iterative Closest Point）法が用いられる。これにより、ステーブルポーズで置かれた対象物９１が撮像されている座標校正用データに、設計データに含まれた一意の位置姿勢情報を付与することができる。このようにして、座標の校正を行うとともに、基準姿勢の登録が完了する。この基準姿勢は、後述する工程Ｓ１６において撮像部３の撮像角度および撮像距離を算出する際に、撮像角度および撮像距離を算出するための基準となる。
【００５２】
また、対象物９１に複数のステーブルポーズがある場合には、ステーブルポーズごとに基準姿勢として登録する。なお、このようにして基準姿勢を登録すると、対象物９１を撮像することができない空間上の範囲が存在することがある。そこで、次のような手順で、その範囲をあらかじめ求めておく。
【００５３】
図４は、対象物９１を撮像することができない範囲の一例を示す概念図である。
図４に示す例では、対象物９１に２つのステーブルポーズがあるものと仮定する。図４に示すように、２つのポーズであるステーブルポーズＰ１およびステーブルポーズＰ２で対象物９１をテーブル９２上においたとき、撮像部３によって撮像可能な空間上の範囲は、テーブル９２上の範囲となる。なお、図４では、撮像部３によって撮像することができない範囲、つまりテーブル９２の上面より下方にドットを付している。
【００５４】
図５は、図４に示す２つのステーブルポーズＰ１、Ｐ２で対象物９１をテーブル９２上においたとき、撮像部３によって撮像することができない範囲を、対象物９１を基準にして合成した図である。合成の結果、図５では、ステーブルポーズＰ１、Ｐ２間で、撮像部３によって撮像することができない範囲の大部分を互いに補完することができるものの、一部、撮像部３によって撮像することができない範囲Ｎが存在している。この範囲Ｎは、図４においてドットを付した領域同士の重複部分である。このような範囲Ｎが存在する場合には、登録した基準姿勢において、撮像部３の撮像角度および撮像距離に制限を付与しておく。つまり、この範囲Ｎに撮像部３を配置したとしても、撮像データを取得することができないため、あらかじめ制限をかけておく。
【００５５】
なお、ステーブルポーズの数が多い場合、登録する基準姿勢の数を増やすことにより、範囲Ｎを十分に狭くすることができる。
【００５６】
また、座標の校正が完了しており、校正が不要な場合は、本工程を省略することができる。
【００５７】
１．２．３  物体データの生成（工程Ｓ１３）
次に、物体データ生成部４２２において、設計データから物体データを生成する。物体データは、前述したように、対象物９１の形状データと、対象物９１の位置姿勢情報と、を含むデータである。設計データが例えば三次元ＣＡＤのデータである場合には、データ変換により、モデルの２次元画像データと、表面点群データと、を含む対象物９１の形状データを生成することができる。また、三次元ＣＡＤのデータは、対象物９１の位置姿勢情報を有していることから、それを物体データに付与することができる。
【００５８】
１．２．４  第１ばら積みデータの生成（工程Ｓ１４）
次に、第１ばら積みデータ生成部４２３において、シミュレーションにより、複数の物体データを積み上げて、第１ばら積みデータを生成する。第１ばら積みデータは、複数の物体データを積み上げて、合成してなる合成物体データである。このシミュレーションでは、まず、ばら積みに関する初期条件として、ばら積みする箱の大きさ、ばら積みする対象物９１の数、第１ばら積みデータにおける撮像部３の位置等の条件を入力する。この入力は、第１ばら積みデータ生成部４２３に接続された図示しないデータ入力部を用いて行うようにすればよい。次に、対象物９１を単体で落下させたときの対象物９１の三次元姿勢をシミュレートする。これにより、第１ばら積みデータにおける各物体データを多数生成することができる。なお、このようなシミュレーションは、例えば対象物９１についての物理演算ライブラリーを用いて行うことができる。
【００５９】
また、シミュレーションによって積み上げられた物体データのうち、前述した工程Ｓ１２において求められた、対象物９１を撮像することができない範囲に撮像部３が位置してしまうことになる物体データについては、削除しておくのが好ましい。
【００６０】
１．２．５  最表面の抽出（工程Ｓ１５）
次に、最表面抽出部４２４において、第１ばら積みデータのうち、最表面に位置する物体データ（最表面物体データ）を抽出する。最表面に位置する物体データとは、第１ばら積みデータにおいて、例えばＺ座標が周囲よりも大きい値を示している物体データである。シミュレーションによって求められた第１ばら積みデータでは、各物体データの位置姿勢が既知であるため、最表面に位置する物体データの抽出は容易である。なお、最表面に位置する物体データは、必ずしも、撮像部３によって対象物９１の外形の全体を撮像できるような位置姿勢で配置されている物体データに限定されず、一部、撮像できない部分が存在するような位置姿勢で配置されている物体データを含んでいてもよい。
【００６１】
なお、このような物体データの抽出は、第１ばら積みデータにおいて最表面に位置する全ての物体データについて行う。
【００６２】
１．２．６  撮像部の配置（工程Ｓ１６）
次に、撮像角度算出部４２６において、最表面に位置する物体データに対応する撮像部３の撮像角度および撮像距離を算出する。
【００６３】
具体的には、まず、テーブル９２上に単独で置かれた対象物９１を、撮像部３により撮像した場合に、工程Ｓ１５で抽出した最表面に位置する物体データに含まれる位置姿勢情報を特定する。そして、シミュレーション上において、そのように特定した位置姿勢情報と同一の位置姿勢で対象物９１を撮像することができる撮像角度および撮像距離を算出する。つまり、設計データから合成した対象物９１の画像データや表面点群データと同じ写り方をする撮像角度および撮像距離を算出する。この算出にあたっては、工程Ｓ１２で登録した基準姿勢と、その基準姿勢を求める際の撮像部３の撮像角度および撮像距離と、の関係を利用することができる。
【００６４】
続いて、撮像部３が算出した撮像角度および撮像距離になるように、撮像角度算出部４２６からロボット制御装置５に制御信号を出力する。そして、ロボットアーム１０を駆動して、撮像部３の配置を変更する。なお、配置を変更する必要がない場合には、撮像部３の配置はそのままでよい。
【００６５】
１．２．７  単独撮像データの取得（工程Ｓ１７）
次に、単独撮像データ取得部４２７（第１撮像データ取得部）からの制御信号に基づき、撮像部３により、テーブル９２上に単独で置かれた対象物９１を撮像させる。そして、単独撮像データ取得部４２７において、単独撮像データ（第１撮像データ）を取得する。単独撮像データは、対象物９１の２次元画像データと、対象物９１の表面点群データと、を含む実測データである。
【００６６】
なお、単独撮像データは、実測データであるため、対象物９１の形状データに加え、その背景の形状データも含んでいる。そこで、本工程では、背景の形状データを除去して、対象物９１の形状データのみを抜き出し、それを単独撮像データとする。なお、背景はテーブル９２であり、上面は平坦面であることから、対象物９１の形状データと容易に区別することが可能である。
【００６７】
１．２．８  学習データの生成（工程Ｓ１８）
次に、学習データ生成部４２８により、第１ばら積みデータにおいて、抽出した最表面の物体データに含まれている対象物９１の形状データを、工程Ｓ１７で取得した単独撮像データに置き換える工程Ｓ１８１を行う。これにより、抽出した物体データに含まれた合成画像に基づく形状データを、実測データである単独撮像データに入れ替えることができる。また、それとともに、入れ替えられた単独撮像データに、物体データに含まれていた位置姿勢情報を対応づけることができる。このようにして、学習データの１つの要素が得られる。
【００６８】
次に、工程Ｓ１８２として、抽出した物体データの全てについて、形状データを置き換えたか否か判断する。そして、置き換えが完了していない場合には、残る物体データについて、再び、工程Ｓ１６における撮像部３の配置、工程Ｓ１７における単独撮像データの取得、および本工程におけるデータの置き換え、を行う。また、置き換えが完了している場合には、学習データが生成されたものとする。
【００６９】
図６は、第１実施形態に係る情報処理方法で生成される学習データの一例を示す概念図である。なお、図６は、鉛直上方から見た図である。また、図７は、図６に示す学習データに含まれる最表面の物体データ９０１〜９０６について、表面点群データのみを図示した概念図である。なお、図７は、水平面内から見た図である。
【００７０】
図６および図７に示す学習データ９００は、最表面の物体データとして、物体データ９０１、９０２、９０３、９０４、９０５、９０６の６つを含んでいる。また、図６では、これらの物体データ９０１〜９０６の背景に存在する、背景の物体データ９０７についても図示している。そして、学習データ９００は、これらの物体データ９０１〜９０７がほぼランダムに積み上げられたデータになっている。なお、最表面に位置する物体データ９０１〜９０６にはドットを付している。
【００７１】
また、図６には、物体データ９０１〜９０６が含む位置姿勢情報のイメージも示している。具体的には、物体データ９０１には、位置姿勢情報（Ｘ１，Ｙ１，Ｚ１，Ａ１，Ｅ１，Ｒ１）が含まれている。これらは、例えば、Ｘ１がＸ軸に沿った位置の情報、Ｙ１がＹ軸に沿った位置の情報、Ｚ１がＺ軸に沿った位置の情報、Ａ１が方位角についての姿勢の情報、Ｅ１が仰角についての姿勢の情報、Ｒ１が回転角についての姿勢の情報である。これと同様に、物体データ９０２には、位置姿勢情報（Ｘ２，Ｙ２，Ｚ２，Ａ２，Ｅ２，Ｒ２）が含まれ、物体データ９０３〜９０６にも、位置姿勢情報（Ｘ３，Ｙ３，Ｚ３，Ａ３，Ｅ３，Ｒ３）、（Ｘ４，Ｙ４，Ｚ４，Ａ４，Ｅ４，Ｒ４）、（Ｘ５，Ｙ５，Ｚ５，Ａ５，Ｅ５，Ｒ５）、（Ｘ６，Ｙ６，Ｚ６，Ａ６，Ｅ６，Ｒ６）が含まれている。
【００７２】
さらに、図７には、物体データ９０１〜９０６が含む表面点群データのイメージを図示している。
【００７３】
物体データ９０１〜９０７のようなデータを多数含んだ学習データ９００を生成することにより、学習データの規模を拡大することができ、物体検出装置４における対象物９１の検出精度をより高めることができる。
【００７４】
なお、学習データ９００には、同じ位置姿勢の物体データが含まれていてもよい。例えば、照明条件を変えた場合には、単独撮像データも変わるため、異なる照明条件で取得した、同じ位置姿勢の単独撮像データを用いて、個別の学習データを生成するようにしてもよい。
【００７５】
また、工程Ｓ１７において単独撮像データを撮像する際には、撮像部３の同一視野内に、同一の位置姿勢の対象物９１を複数配置し、単独撮像データを取得するたびに、撮像対象の対象物９１をランダムに変更するようにしてもよい。これにより、対象物９１に映り込む環境光の影響が異なる単独撮像データを取得することができるので、そのような影響も加味した学習データ９００を生成することができる。その結果、物体検出装置４における対象物９１の検出精度をさらに高めることができる。
【００７６】
以上の説明のように、本実施形態に係る情報処理方法は、対象物９１（物体）の位置姿勢を検出するための学習データを生成する方法であって、対象物９１の設計データを受け付ける工程Ｓ１１と、設計データから、対象物９１の形状データと対象物９１の位置姿勢情報とを含む物体データを生成する工程Ｓ１３と、シミュレーションにより、複数の物体データを積み上げて、第１ばら積みデータを生成する工程Ｓ１４と、第１ばら積みデータにおいて、最表面に配置されている物体データを最表面物体データとして抽出する工程Ｓ１５と、単独で置かれている対象物９１を撮像部３により撮像した場合に、最表面物体データの位置姿勢が得られる撮像角度および撮像距離に基づいて、撮像部３を配置する工程Ｓ１６と、単独で置かれている対象物９１を前記撮像角度および前記撮像距離から撮像部３により撮像し、単独撮像データ（第１撮像データ）を取得する工程Ｓ１７と、第１ばら積みデータにおいて、最表面物体データに含まれている形状データを単独撮像データに置き換えて、学習データを生成する工程Ｓ１８と、を有する。
【００７７】
このような情報処理方法によれば、シミュレーションにより第１ばら積みデータを生成し、それに基づいて学習データを生成していることから、ばら積み状態にある対象物９１の学習データを効率よく短時間で生成することができる。また、データの置き換えを行うことにより、対象物９１の形状データとして実測データを利用することができる。このため、実環境に即した学習データを生成することができる。つまり、シミュレーションによって効率よく学習データを生成する一方、シミュレーション結果と実環境とのギャップを小さくすることができる。その結果、実環境におけるノイズやデータの欠損等についても反映した学習データを効率よく生成することができる。その結果、学習データを利用して対象物９１を検出する際、その検出率を高めることができるので、ロボット１による対象物９１を対象にした作業の効率を高めることができる。
【００７８】
また、本実施形態に係る情報処理装置４２は、対象物９１（物体）の位置姿勢を検出するための学習データを生成する装置であって、対象物９１の設計データを受け付ける設計データ受付部４２１と、設計データから、対象物９１の形状データと対象物９１の位置姿勢情報とを含む物体データを生成する物体データ生成部４２２と、シミュレーションにより、複数の物体データを積み上げて、第１ばら積みデータを生成する第１ばら積みデータ生成部４２３と、第１ばら積みデータにおいて、最表面に配置されている物体データを最表面物体データとして抽出する最表面抽出部４２４と、単独で置かれている対象物９１を撮像部３により撮像させるときの、最表面物体データに対応する撮像角度および撮像距離を算出する撮像角度算出部４２６と、単独で置かれている対象物９１を撮像部３により前記撮像角度および前記撮像距離で撮像させ、単独撮像データ（第１撮像データ）を取得する単独撮像データ取得部４２７（第１撮像データ取得部）と、第１ばら積みデータにおいて、最表面物体データに含まれている形状データを単独撮像データに置き換えて、学習データを生成する学習データ生成部４２８と、を有する。
【００７９】
このような情報処理装置４２によれば、シミュレーションにより第１ばら積みデータを生成し、それに基づいて学習データを生成していることから、ばら積み状態にある対象物９１の学習データを効率よく生成することができる。このため、規模の大きな学習データを生成する際の情報処理装置４２の負荷を軽減することができる。また、データの置き換えを行うことにより、対象物９１の形状データとして実測データを利用することができる。このため、実環境に即した学習データを生成することができる。
【００８０】
さらに、本実施形態に係る物体検出装置４は、対象物９１（物体）の位置姿勢を検出する装置であって、前述した情報処理装置４２と、対象物９１を、撮像部３により撮像させ、ばら積み撮像データ（第２撮像データ）を取得するばら積み撮像データ取得部４４（第２撮像データ取得部）と、ばら積み撮像データおよび学習データに基づいて、対象物９１の位置姿勢を検出する物体位置姿勢検出部４６と、を有する。
【００８１】
このような物体検出装置４によれば、情報処理装置４２において学習データを効率よく生成することができるので、物体検出装置４の負荷を軽減することができる。また、情報処理装置４２において実環境に即した学習データを生成することができるので、この学習データを利用して対象物９１を検出する際、その検出率を高めることができる。その結果、例えば対象物９１がばら積みされている場合でも、ロボット１のエンドエフェクター１７において対象物９１を精度よく保持することができる。
【００８２】
また、本実施形態に係るロボットシステム１００は、ロボットアーム１０を備えるロボット１と、ロボットアーム１０に設置されている撮像部３と、前述した物体検出装置４と、物体検出装置４の検出結果に基づいてロボット１の駆動を制御するロボット制御装置５と、を有する。
【００８３】
このようなロボットシステム１００によれば、対象物９１の位置姿勢を検出するための学習データを効率よく生成することができるので、作業効率を高めることができる。
【００８４】
２．第２実施形態
２．１  情報処理装置
次に、第２実施形態に係る情報処理装置について説明する。
【００８５】
図８は、第２実施形態に係る情報処理装置を含むロボットシステムを示す機能ブロック図である。
【００８６】
以下、第２実施形態に係る情報処理装置について説明するが、以下の説明では、第１実施形態に係る情報処理装置との相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図８において、第１実施形態と同様の構成については、同一の符号を付している。
【００８７】
第２実施形態に係る情報処理装置４２は、対象物９１の設計データを用いるのではなく、対象物９１について互いに異なる複数の撮像条件で撮像した複数条件撮像データ（第３撮像データ）を用いて学習データを生成する以外、第１実施形態に係る情報処理装置４２と同様である。すなわち、本実施形態は、対象物９１についての三次元ＣＡＤのデータ等が存在しない場合にも適用可能である点で、第１実施形態と相違している。
【００８８】
図８に示す情報処理装置４２は、複数条件撮像データ取得部４３１（第３撮像データ取得部）と、第２ばら積みデータ生成部４３２と、最表面位置姿勢情報付与部４３３と、撮像角度算出部４２６と、単独撮像データ取得部４３４（第４撮像データ取得部）と、学習データ生成部４２８と、を有する。
【００８９】
複数条件撮像データ取得部４３１は、撮像部３と接続され、テーブル９２上に単独で置かれている対象物９１を撮像部３により撮像させる。このとき、複数の撮像条件で対象物９１を撮像させる。これにより、複数条件撮像データ（第３撮像データ）を複数取得する。複数条件撮像データは、１つの対象物９１を、互いに異なる複数の撮像条件で撮像して得られた形状データである。これにより、対象物９１の形状データを生成する。なお、撮像条件とは、対象物９１に対する撮像角度、撮像距離、撮像時の照明条件等が挙げられる。
【００９０】
第２ばら積みデータ生成部４３２は、シミュレーションにより、複数条件撮像データを積み上げて、第２ばら積みデータを生成する。具体的には、ばら積み状態にあるときの対象物９１の位置姿勢を、複数条件撮像データを積み上げることによってシミュレートする。本実施形態では、複数条件撮像データをランダムに並べることにより、ばら積み状態をシミュレートする。
【００９１】
最表面位置姿勢情報付与部４３３は、第２ばら積みデータにおいて、最表面に配置されている複数条件撮像データに位置姿勢情報を付与する。最表面の複数条件撮像データとは、第２ばら積みデータにおいて、例えばＺ座標が周囲よりも大きい値を示している複数条件撮像データのことをいう。また、この複数条件撮像データに付与する位置姿勢情報は、例えば対象物９１においてエンドエフェクター１７によって吸着可能な吸着面の位置と、その吸着面の法線の方向と、を含む情報である。最表面位置姿勢情報付与部４３３は、複数条件撮像データからこのような位置姿勢情報を抽出し、これを正解データとして付与する。これにより、設計データがなくても、エンドエフェクター１７が対象物９１を保持する際に利用可能な学習データを生成するための正解データを付与することができる。
【００９２】
撮像角度算出部４２６は、テーブル９２上に単独で置かれている対象物９１を撮像部３で撮像させるとき、前述した最表面の複数条件撮像データに対応する撮像角度および撮像距離を算出する。
【００９３】
単独撮像データ取得部４３４（第４撮像データ取得部）は、撮像角度算出部４２６によって算出した撮像角度および撮像距離で、テーブル９２上に単独で置かれている対象物９１を撮像部３により撮像させる。これにより、単独撮像データ（第４撮像データ）を取得する。
【００９４】
学習データ生成部４２８は、第２ばら積みデータにおいて、位置姿勢情報が付与された複数条件撮像データに含まれている対象物９１の形状データを、実測データである単独撮像データに置き換える。これにより、対象物９１の実測データである単独撮像データと、対象物９１の位置姿勢情報と、を含む学習データが生成される。
【００９５】
以上、第２実施形態に係る情報処理装置４２の構成について説明したが、続いて、情報処理装置４２の作動、すなわち情報処理方法について説明する。
【００９６】
２．２  情報処理方法
次に、第２実施形態に係る情報処理方法について説明する。
図９は、第２実施形態に係る情報処理方法を示すフローチャートである。
【００９７】
以下、第２実施形態に係る情報処理方法について説明するが、以下の説明では、第１実施形態に係る情報処理方法との相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図９において、前記実施形態と同様の構成については、同一の符号を付している。
【００９８】
第２実施形態に係る情報処理方法は、対象物９１の設計データを用いるのではなく、互いに異なる複数の撮像条件で撮像した複数条件撮像データ（第３撮像データ）を用いて学習データを生成する以外、第１実施形態に係る情報処理方法と同様である。
【００９９】
図９に示す情報処理方法は、複数条件撮像データ（第３撮像データ）を取得する工程Ｓ２１と、複数条件撮像データを積み上げて第２ばら積みデータを生成する工程Ｓ２２と、最表面の複数条件撮像データに位置姿勢情報を付与する工程Ｓ２３と、最表面の複数条件撮像データに基づいて撮像部３の撮像角度を算出し、その撮像角度になるように撮像部３を配置する工程Ｓ２４と、撮像部３により単独撮像データ（第４撮像データ）を取得する工程Ｓ２５と、複数条件撮像データと単独撮像データとに基づいて学習データを生成する工程Ｓ２６と、を有する。以下、各工程について順次説明する。
【０１００】
２．２．１  複数条件撮像データの取得（工程Ｓ２１）
まず、対象物９１を単独でテーブル９２上に置く。次に、互いに異なる複数の撮像条件で対象物９１を撮像する。そして、複数条件撮像データ取得部４３１により、複数の複数条件撮像データ（第３撮像データ）を取得する。なお、以下では、説明を簡単にするため、２つの撮像条件で対象物９１を撮像する。
【０１０１】
図１０は、互いに異なる第１撮像条件および第２撮像条件で対象物９１を撮像する様子を説明するための側面図である。なお、図１０では、対象物９１の輪郭およびテーブル９２の上面を実線で示している。また、各撮像条件で撮像することにより表面点群データが得られる面を破線にて示している。
【０１０２】
図１０に示す第１撮像条件および第２撮像条件は、対象物９１に対する撮像角度が異なっている。図１０では、第１撮像条件で得られた複数条件撮像データをＤ１１とし、第２撮像条件で得られた複数条件撮像データをＤ１２とする。複数条件撮像データＤ１１および複数条件撮像データＤ１２は、互いに異なるデータとなる。
【０１０３】
図１１は、図１０に示す複数条件撮像データＤ１１、Ｄ１２のうち、背景部分を除去して、対象物９１に対応する表面点群データＤ２１、Ｄ２２を抜き出した図である。図１０において、対象物９１の背景はテーブル９２であるため、表面点群データＤ２１、Ｄ２２の内容に基づけば、背景部分の識別は容易である。したがって、図１０に示す複数条件撮像データＤ１１、Ｄ１２から背景部分を除去することにより、図１１に示すような、対象物９１に対応する表面点群データＤ２１、Ｄ２２を抜き出すことができる。
【０１０４】
なお、図１１の表面点群データＤ２１、Ｄ２２のうち、第２撮像条件で得た表面点群データＤ２２は、図１０に示す表面点群データＤ１２を並進および回転させてなるデータである。前述したように、複数条件撮像データＤ１１を取得する際の撮像角度と、複数条件撮像データＤ１２を取得する際の撮像角度と、が異なっているため、それに応じて、図１１に示すように、表面点群データＤ２２を並進および回転させる。これにより、図１１に示す表面点群データＤ２２が得られる。
【０１０５】
以上のようにして互いに異なる撮像条件で対象物９１を撮像することにより、互いに位置姿勢が異なる複数条件撮像データＤ１１、Ｄ１２を取得することができる。すなわち、対象物９１の様々な位置姿勢に対応した表面点群データＤ２１、Ｄ２２を含む複数条件撮像データＤ１１、Ｄ１２を取得することができる。そして、このようにして多数の複数条件撮像データを取得する
【０１０６】
続いて、複数条件撮像データＤ１１、Ｄ１２の一部を欠損させる。これにより、後述する第２ばら積みデータにおいて、最表面に位置するデータの背景部分に位置するデータをシミュレートすることができる。
【０１０７】
図１２は、図１１に示す２つの表面点群データＤ２１、Ｄ２２を重なりなく並べた例Ｃ１と、２つの表面点群データＤ２１、Ｄ２２のうち、一部が重なるように並べた例Ｃ２と、を示す図である。例Ｃ１では重なりが生じていないが、例Ｃ２では重なりが生じており、表面点群データＤ２１の一部Ｄ２１Ａが表面点群データＤ２２の陰に隠れている。このため、複数条件撮像データＤ１１、Ｄ１２の一部を欠損させることにより、背景部分に位置するデータをシミュレートすることが可能になる。
【０１０８】
２．２．２  第２ばら積みデータの生成（工程Ｓ２２）
次に、第２ばら積みデータ生成部４３２において、シミュレーションにより、複数条件撮像データを積み上げて、第２ばら積みデータを生成する。具体的には、ばら積み状態にあるときの対象物９１の位置姿勢を、複数条件撮像データを積み上げることによってシミュレートする。本実施形態では、複数条件撮像データを平面上にランダムに並べることにより、ばら積み状態をシミュレートする。
【０１０９】
まず、一部を欠損させた複数条件撮像データＤ１１、Ｄ１２をランダムに並べることにより、第２ばら積みデータの背景部分を生成する。なお、欠損位置や欠損形状については、任意に設定すればよい。
【０１１０】
次に、背景部分において、周囲よりも高くなる位置を決定する。この決定は、任意に行えばよい。そして、その位置に複数条件撮像データＤ１１、Ｄ１２をランダムに並べる。これにより、第２ばら積みデータの最表面部分を生成する。つまり、平面上において多層に重ねるように複数条件撮像データＤ１１、Ｄ１２を並べ、第２ばら積みデータを生成するが、例えば全体で３層重なっていると仮定した場合、平面に近い１層目と２層目とが背景部分であり、３層目が最表面部分となる。
【０１１１】
このように、本実施形態に係る第２ばら積みデータを生成する工程Ｓ２２は、複数条件撮像データ（第３撮像データ）の形状データの一部を欠損させた欠損撮像データを、第２ばら積みデータの最表面部分以外の領域、つまり最表面部分の背景に配置されるデータとする処理を含んでいる。これにより、第２ばら積みデータの背景部分を効率よく生成することができる。
【０１１２】
また、本実施形態に係る第２ばら積みデータを生成する工程Ｓ２２は、欠損させていない複数条件撮像データ、すなわちオクルージョンがない複数条件撮像データ（第３撮像データ）を、第２ばら積みデータの最表面部分、つまり最表面に配置されている複数条件撮像データとする処理を含んでいる。これにより、第２ばら積みデータの最表面部分を効率よく生成することができる。
【０１１３】
２．２．３  位置姿勢情報の付与（工程Ｓ２３）
次に、最表面位置姿勢情報付与部４３３により、第２ばら積みデータの最表面部分に位置姿勢情報を付与する。本実施形態に係る第２ばら積みデータは、第１実施形態とは異なり、設計データに基づく位置姿勢情報を保有していない。そこで、本工程において位置姿勢情報を付与する。位置姿勢情報は、学習データの利用方法に応じて様々な形態があるが、一例として、吸着方式のエンドエフェクター１７によって対象物９１を吸着する作業に用いる学習データを生成する際には、対象物９１を吸着する吸着点とその吸着点の法線とを含む情報を位置姿勢情報として付与する。具体的には、例えば、複数条件撮像データＤ１１、Ｄ１２の中心位置をそれぞれ吸着点とし、その吸着点の位置とその法線方向と、を位置姿勢情報とすればよい。なお、吸着点は、中心位置に限定されず、それ以外の位置であってもよい。
【０１１４】
２．２．４  撮像部の配置（工程Ｓ２４）
次に、撮像角度算出部４２６において、第２ばら積みデータの最表面に位置する複数条件撮像データに基づいて、その複数条件撮像データに対応する撮像部３の撮像角度および撮像距離を算出する。本工程は、第１実施形態に係る工程Ｓ１６と同様である。
【０１１５】
２．２．５  単独撮像データの取得（工程Ｓ２５）
次に、単独撮像データ取得部４３４（第４撮像データ取得部）からの制御信号に基づき、撮像部３により、テーブル９２上に単独で置かれた対象物９１を撮像させる。そして、単独撮像データ取得部４３４において、単独撮像データ（第４撮像データ）を取得する。単独撮像データは、対象物９１の２次元画像データと、対象物９１の表面点群データと、を含む実測データである。なお、本工程は、第１実施形態に係る工程Ｓ１７と同様である。
【０１１６】
２．２．６  学習データの生成（工程Ｓ２６）
次に、学習データ生成部４２８により、第２ばら積みデータにおいて、最表面に位置する複数条件撮像データに含まれている対象物９１の形状データを、工程Ｓ２５で取得した単独撮像データに置き換える工程Ｓ２６１を行う。これにより、最表面の複数条件撮像データにおいて、実測データである単独撮像データと、複数条件撮像データに含まれていた対象物９１の位置姿勢情報と、を対応づけることができる。
【０１１７】
次に、工程Ｓ２６２として、最表面の複数条件撮像データの全てについて、形状データを置き換えたか否か判断する。そして、置き換えが完了していない場合には、残る複数条件撮像データについて、再び、工程Ｓ２４における撮像部３の配置、工程Ｓ２５における単独撮像データの取得、および本工程におけるデータの置き換え、を行う。また、置き換えが完了している場合には、学習データが生成されたものとする。
【０１１８】
以上の説明のように、本実施形態に係る情報処理方法は、対象物９１（物体）の位置姿勢を検出するための学習データを生成する方法であって、単独で置かれている対象物９１を、撮像部３により、互いに異なる複数の撮像条件で撮像し、対象物９１の形状データを含む複数条件撮像データ（第３撮像データ）を複数取得する工程Ｓ２１と、シミュレーションにより、複数条件撮像データを積み上げて、第２ばら積みデータを生成する工程Ｓ２２と、第２ばら積みデータの最表面部分に配置されている複数条件撮像データに位置姿勢情報を付与する工程Ｓ２３と、単独で置かれている対象物９１を撮像部３により撮像した場合に、最表面部分に配置された複数条件撮像データ（第３撮像データ）の位置姿勢が得られる撮像角度および撮像距離に基づいて、撮像部３を配置する工程Ｓ２４と、単独で置かれている対象物９１を前記撮像角度および前記撮像距離から撮像部３により撮像し、単独撮像データ（第４撮像データ）を取得する工程Ｓ２５と、第２ばら積みデータにおいて、位置姿勢情報が付与された複数条件撮像データに含まれている形状データを単独撮像データに置き換えて、学習データを生成する工程Ｓ２６と、を有する。
【０１１９】
このような情報処理方法によれば、シミュレーションにより第２ばら積みデータを生成し、それに基づいて学習データを生成していることから、ばら積み状態にある対象物９１の学習データを効率よく短時間で生成することができる。また、データの置き換えを行うことにより、対象物９１の形状データとして実測データを利用することができる。このため、実環境に即した学習データを生成することができる。その結果、学習データを利用して対象物９１を検出する際、その検出率を高めることができる。
【０１２０】
また、第１実施形態のような設計データを用意する必要がないため、未知の対象物９１について作業を行う場合にも、学習データの生成が可能になる。
【０１２１】
また、本実施形態に係る情報処理装置４２は、単独で置かれている対象物９１（物体）を、撮像部３により、互いに異なる複数の撮像条件で撮像させ、対象物９１の形状データを含む複数条件撮像データ（第３撮像データ）を複数取得する複数条件撮像データ取得部４３１（第３撮像データ取得部）と、シミュレーションにより、複数条件撮像データを積み上げて、第２ばら積みデータを生成する第２ばら積みデータ生成部４３２と、第２ばら積みデータにおいて、最表面に配置されている複数条件撮像データに位置姿勢情報を付与する最表面位置姿勢情報付与部４３３と、単独で置かれている対象物９１を撮像部３により撮像させるときの、位置姿勢情報を付与した複数条件撮像データに対応する撮像角度および撮像距離を算出する撮像角度算出部４２６と、単独で置かれている対象物９１を撮像部３により前記撮像角度および前記撮像距離で撮像させ、単独撮像データ（第４撮像データ）を取得する単独撮像データ取得部４３４（第４撮像データ取得部）と、第２ばら積みデータにおいて、位置姿勢情報が付与された複数条件撮像データに含まれる形状データを単独撮像データに置き換えて、学習データを生成する学習データ生成部４２８と、を有する。
【０１２２】
このような情報処理装置４２によれば、シミュレーションにより第２ばら積みデータを生成し、それに基づいて学習データを生成していることから、ばら積み状態にある対象物９１の学習データを効率よく短時間で生成することができる。また、データの置き換えを行うことにより、対象物９１の形状データとして実測データを利用することができる。このため、実環境に即した学習データを生成することができる。
【０１２３】
また、第１実施形態のような設計データを用意する必要がないため、未知の対象物９１について作業を行う場合にも、学習データの生成が可能になる。
【０１２４】
３．第３実施形態
３．１  情報処理装置
次に、第３実施形態に係る情報処理装置について説明する。
【０１２５】
図１３は、第３実施形態に係る情報処理装置を含むロボットシステムを示す機能ブロック図である。
【０１２６】
以下、第３実施形態に係る情報処理装置について説明するが、以下の説明では、第１、第２実施形態に係る情報処理装置との相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図１３において、前記実施形態と同様の構成については、同一の符号を付している。
【０１２７】
第３実施形態に係る情報処理装置４２は、第１実施形態と第２実施形態とを組み合わせたものである。具体的には、対象物９１の物体データを用いるとともに、対象物９１について互いに異なる複数の撮像条件で撮像した第５撮像データを用いて学習データを生成する以外、前記実施形態に係る情報処理装置４２と同様である。
【０１２８】
すなわち、第３実施形態に係る情報処理装置４２は、第１実施形態に係る第１ばら積みデータの生成にあたり、第２実施形態と同様の複数条件撮像データ（第５撮像データ）に、第１実施形態に係る物体データを対応付けてなるデータを使用する点で、第１、第２実施形態と相違している。
【０１２９】
具体的には、図１３に示す情報処理装置４２は、図１に示す情報処理装置４２に加え、複数条件撮像データ取得部４３５（第５撮像データ取得部）を有している。
【０１３０】
そして、第１ばら積みデータ生成部４２３は、設計データから生成した物体データが対応付けられた複数条件撮像データを積み上げて、第１ばら積みデータを生成する。
【０１３１】
このようにして、物体データが対応付けられた複数条件撮像データを用いて第１ばら積みデータを生成することにより、第１ばら積みデータの背景部分については、第２実施形態の工程Ｓ２２等で行うデータの欠損等の作業が不要になる。このため、背景部分のデータの生成を比較的短時間で行うことができ、学習データの生成をより短時間で行うことができる。
【０１３２】
３．２  情報処理方法
次に、第３実施形態に係る情報処理方法について説明する。
図１４は、第３実施形態に係る情報処理方法を示すフローチャートである。
【０１３３】
以下、第３実施形態に係る情報処理方法について説明するが、以下の説明では、第１、第２実施形態に係る情報処理方法との相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図１４において、前記実施形態と同様の構成については、同一の符号を付している。
【０１３４】
第３実施形態に係る情報処理方法は、第１実施形態に係る第１ばら積みデータの生成にあたり、第２実施形態に係る複数条件撮像データ（第３撮像データ）に、第１実施形態に係る設計データを対応付けてなるデータを使用する点で、第１、第２実施形態と相違している。
【０１３５】
図１４に示す情報処理方法は、対象物９１の設計データを受け付ける工程Ｓ１１と、座標の校正を行う工程Ｓ１２と、設計データから、対象物９１の形状データと対象物９１の位置姿勢情報とを含む物体データを生成する工程Ｓ１３と、単独で置かれている対象物９１を、撮像部３により、複数の撮像条件で撮像し、対象物９１の形状データを含む複数条件撮像データ（第５撮像データ）を複数取得する工程Ｓ３１と、物体データを複数条件撮像データに対応付けた後、シミュレーションにより、複数条件撮像データを積み上げて、第１ばら積みデータを生成する工程Ｓ１４と、第１ばら積みデータにおいて、最表面に配置されている物体データ（最表面物体データ）を抽出する工程Ｓ１５と、単独で置かれている対象物９１を撮像部３により撮像した場合に、抽出した物体データに対応する撮像角度および撮像距離に基づいて、撮像部３を配置する工程Ｓ１６と、単独で置かれている対象物９１を前記撮像角度および前記撮像距離から撮像部３により撮像し、単独撮像データ（第１撮像データ）を取得する工程Ｓ１７と、第１ばら積みデータにおいて、抽出した物体データに含まれている形状データを単独撮像データに置き換えて、学習データを生成する工程Ｓ１８と、を有する。
【０１３６】
すなわち、本実施形態に係る情報処理方法は、第１実施形態に係る情報処理方法に対し、単独で置かれている対象物９１を、撮像部３により、複数の撮像条件で撮像し、対象物９１の形状データを含む複数条件撮像データ（第５撮像データ）を複数取得する工程Ｓ２１がさらに追加されている。そして、第１ばら積みデータを生成する工程Ｓ１４は、設計データから生成した物体データを複数条件撮像データに対応付け、物体データが対応付けられた複数条件撮像データを積み上げて、第１ばら積みデータを得る工程である。
【０１３７】
このようにして、物体データが対応付けられた複数条件撮像データを用いて第１ばら積みデータを生成することにより、第１ばら積みデータの背景部分については、第２実施形態の工程Ｓ２２等で行うデータの欠損等の作業が不要になる。このため、背景部分のデータの生成を比較的短時間で行うことができ、学習データの生成をより短時間で行うことができる。
【０１３８】
４．第４実施形態
４．１  情報処理装置
次に、第４実施形態に係る情報処理装置について説明する。
【０１３９】
図１５は、第４実施形態に係る情報処理装置を含むロボットシステムを示す機能ブロック図である。
【０１４０】
以下、第４実施形態に係る情報処理装置について説明するが、以下の説明では、第１〜第３実施形態に係る情報処理装置との相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図１５において、前記実施形態と同様の構成については、同一の符号を付している。
【０１４１】
第４実施形態に係る情報処理装置４２は、前述した第２実施形態に係る複数条件撮像データ（第３撮像データ）から設計データを生成し、その設計データを用いる以外、第１実施形態と同様である。すなわち、本実施形態は、設計データ受付部４２１に代えて、設計データ生成部４２９を有しているとともに、複数条件撮像データ取得部４３１（第３撮像データ取得部）を有している以外、第１実施形態と同様である。
【０１４２】
図１５に示す複数条件撮像データ取得部４３１は、複数条件撮像データを取得し、設計データ生成部４２９に出力する。設計データ生成部４２９では、複数条件撮像データから設計データを生成する。すなわち、複数条件撮像データに含まれた表面点群データを、三次元ＣＡＤのデータ等、設計データに変換する。表面点群データから設計データへの変換には、公知の変換技術を用いることができる。例えば、表面点群データからメッシュデータまたはポリゴンデータを生成した後、メッシュデータからサーフェスデータまたはソリッドデータを生成し、最終的に設計データを生成するようにすればよい。
【０１４３】
このような情報処理装置４２によれば、対象物９１の設計データを入手することができない場合でも、対象物９１の設計データを生成することができる。これにより、未知の対象物９１についても、設計データに基づいた位置姿勢情報の付与が可能になり、例えば対象物９１の検出率が高い学習データを効率よく生成することができる。
【０１４４】
４．２  情報処理方法
次に、第４実施形態に係る情報処理方法について説明する。
図１６は、第４実施形態に係る情報処理方法を示すフローチャートである。
【０１４５】
以下、第４実施形態に係る情報処理方法について説明するが、以下の説明では、第１〜第３実施形態に係る情報処理方法との相違点を中心に説明し、同様の事項についてはその説明を省略する。
【０１４６】
第４実施形態に係る情報処理方法は、設計データの受け付け（工程Ｓ１１）に代えて、設計データの生成（工程Ｓ４１）を有しているとともに、第２実施形態に係る複数条件撮像データの取得（工程Ｓ２１）を有している以外、第１実施形態と同様である。
【０１４７】
設計データを生成する工程Ｓ４１では、複数条件撮像データを取得する工程Ｓ２１において取得した複数条件撮像データに基づいて、設計データを生成する。設計データの生成方法は、４．１で前述した通りである。これにより、対象物９１の設計データを入手することができない場合でも、対象物９１の設計データを生成することができる。そして、この工程以降は、図１６に示すように、第１実施形態と同様にして行うことができる。
【０１４８】
以上のような第４実施形態においても、第１、第２実施形態と同様の効果が得られる。
なお、第４実施形態では、第１実施形態と同様にするのではなく、上記相違点以外、第３実施形態と同様であってもよい。
【０１４９】
以上、本発明の情報処理方法、情報処理装置、物体検出装置およびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。さらに、前記実施形態に係るロボットシステムは、６軸の垂直多関節ロボットを備えたシステムであるが、垂直多関節ロボットの軸数は、５軸以下であっても７軸以上であってもよい。また、垂直多関節ロボットに代えて、水平多関節ロボットであってもよい。
【符号の説明】
【０１５０】
１…ロボット、３…撮像部、４…物体検出装置、５…ロボット制御装置、１０…ロボットアーム、１１…アーム、１２…アーム、１３…アーム、１４…アーム、１５…アーム、１６…アーム、１７…エンドエフェクター、４２…情報処理装置、４２ａ…プロセッサー、４２ｂ…記憶部、４２ｃ…外部インターフェース、４２ｄ…システムバス、４４…ばら積み撮像データ取得部、４６…物体位置姿勢検出部、９１…対象物、９２…テーブル、９３…テーブル、１００…ロボットシステム、１１０…基台、４２０…座標校正用データ取得部、４２１…設計データ受付部、４２２…物体データ生成部、４２３…第１ばら積みデータ生成部、４２４…最表面抽出部、４２６…撮像角度算出部、４２７…単独撮像データ取得部、４２８…学習データ生成部、４２９…設計データ生成部、４３１…複数条件撮像データ取得部、４３２…第２ばら積みデータ生成部、４３３…最表面位置姿勢情報付与部、４３４…単独撮像データ取得部、４３５…複数条件撮像データ取得部、９００…学習データ、９０１…物体データ、９０２…物体データ、９０３…物体データ、９０４…物体データ、９０５…物体データ、９０６…物体データ、９０７…物体データ、Ｄ１１…複数条件撮像データ、Ｄ１２…複数条件撮像データ、Ｄ２１…表面点群データ、Ｄ２１Ａ…一部、Ｄ２２…表面点群データ、Ｎ…範囲、Ｐ１…ステーブルポーズ、Ｐ２…ステーブルポーズ
【図１】
2020166371.tif 000003
【図２】
2020166371.tif 000004
【図３】
2020166371.tif 000005
【図４】
2020166371.tif 000006
【図５】
2020166371.tif 000007
【図６】
2020166371.tif 000008
【図７】
2020166371.tif 000009
【図８】
2020166371.tif 000010
【図９】
2020166371.tif 000011
【図１０】
2020166371.tif 000012
【図１１】
2020166371.tif 000013
【図１２】
2020166371.tif 000014
【図１３】
2020166371.tif 000015
【図１４】
2020166371.tif 000016
【図１５】
2020166371.tif 000017
【図１６】
2020166371.tif 000018