(57)【要約】【課題】過度の処理時間を要することなく十分な精度の点群を取得することのできる技術を提供する。【解決手段】第１点群生成部は、第１深度計測法に従って第１画像を取得する第１撮像処理と、第１画像から第１点群を生成する第１解析処理と、を含む第１点群生成処理を実行する。第２点群生成部は、第２深度計測法に従って第２画像を取得する第２撮像処理と、第２画像から第２点群を生成する第２解析処理と、を含む第２点群生成処理を実行する。物体認識実行部は、第１点群もしくは第２点群を用いて物体を認識する。第１点群生成処理は、第２点群生成処理よりも短い時間で完了する処理である。第２点群生成部は、第１点群生成部による第１撮像処理の後に第２点群生成処理を開始し、第１解析処理で得られた第１点群が予め定められた成功条件を満足した場合には、第２点群生成処理を中止する。【選択図】図８
2019158427.tif 000002
【特許請求の範囲】
【請求項１】
物体の認識を実行する制御装置であって、
第１深度計測法に従って前記物体をカメラで撮影することによって第１画像を取得する第１撮像処理と、前記第１画像内の複数の画素の位置を３次元座標で表現した第１点群を生成する第１解析処理と、を含む第１点群生成処理を実行する第１点群生成部と、
第２深度計測法に従って前記物体を前記カメラで撮影することによって第２画像を取得する第２撮像処理と、前記第２画像内の複数の画素の位置を前記３次元座標で表現した第２点群を生成する第２解析処理と、を含む第２点群生成処理を実行する第２点群生成部と、
前記第１点群もしくは前記第２点群を用いて前記物体を認識する物体認識実行部と、
を備え、
前記第１点群生成処理は、前記第２点群生成処理よりも短い時間で完了する処理であり、
前記第２点群生成部は、前記第１点群生成部による前記第１撮像処理の後に前記第２点群生成処理を開始し、前記第１解析処理で得られた前記第１点群が予め定められた成功条件を満足した場合には、前記第２点群生成処理を中止する、制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記第１深度計測法は、ステレオブロックマッチング法である、
制御装置。
【請求項３】
請求項２に記載の制御装置であって、
前記第１点群生成部は、ランダムドットパターンを前記物体に投影した状態で前記第１撮像処理を実行する、制御装置。
【請求項４】
請求項１〜３のいずれか一項に記載の制御装置であって、
前記第２深度計測法は、位相シフト法又は空間コード法である、
制御装置。
【請求項５】
請求項１〜４のいずれか一項に記載の制御装置であって、
前記成功条件は、前記第１点群に含まれる点群の数を前記第１画像の画素数で除した点群生成率が予め定めた閾値以上であること、を含む、制御装置。
【請求項６】
請求項５に記載の制御装置であって、
前記第１画像は同一種類の複数の物体を含み、
前記成功条件は、更に、前記第１点群を用いて前記物体認識実行部で認識された物体の数が予め定めた個数閾値以上であること、を含む、制御装置。
【請求項７】
請求項１〜６のいずれか一項に記載の制御装置であって、
前記第２点群生成処理が中止されることなく前記第２点群が生成された場合には、前記物体認識実行部は、前記第１点群と前記第２点群の両方を用いて前記物体の認識を実行する、制御装置。
【請求項８】
物体の認識を実行する制御装置であって、
プロセッサーを備え、
前記プロセッサーは、
第１深度計測法に従って前記物体をカメラで撮影することによって第１画像を取得する第１撮像処理と、前記第１画像内の複数の画素の位置を３次元座標で表現した第１点群を生成する第１解析処理と、を含む第１点群生成処理と、
第２深度計測法に従って前記物体を前記カメラで撮影することによって第２画像を取得する第２撮像処理と、前記第２画像内の複数の画素の位置を前記３次元座標で表現した第２点群を生成する第２解析処理と、を含む第２点群生成処理と、
前記第１点群もしくは前記第２点群を用いて前記物体を認識する物体認識処理と、
を実行し、
前記第１点群生成処理は、前記第２点群生成処理よりも短い時間で完了する処理であり、
前記プロセッサーは、前記第１撮像処理の後に前記第２点群生成処理を開始し、前記第１解析処理で得られた前記第１点群が予め定められた成功条件を満足した場合には、前記第２点群生成処理を中止する、制御装置。
【請求項９】
請求項１〜８のいずれか一項に記載の制御装置に接続されたロボット。
【請求項１０】
ロボットと、
前記ロボットに接続された請求項１〜８のいずれか一項に記載の制御装置と、
を備えるロボットシステム。
【請求項１１】
物体の認識を実行する方法であって、
第１深度計測法に従って前記物体をカメラで撮影することによって第１画像を取得する第１撮像処理と、前記第１画像内の複数の画素の位置を３次元座標で表現した第１点群を生成する第１解析処理と、を含む第１点群生成処理を実行する工程と、
第２深度計測法に従って前記物体を前記カメラで撮影することによって第２画像を取得する第２撮像処理と、前記第２画像内の複数の画素の位置を前記３次元座標で表現した第２点群を生成する第２解析処理と、を含む第２点群生成処理を実行する工程と、
前記第１点群もしくは前記第２点群を用いて前記物体を認識する工程と、
を備え、
前記第１点群生成処理は、前記第２点群生成処理よりも短い時間で完了する処理であり、
前記第１撮像処理の後に前記第２点群生成処理を開始し、前記第１解析処理で得られた前記第１点群が予め定められた成功条件を満足した場合には、前記第２点群生成処理を中止する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラを用いた物体認識技術に関するものである。
【背景技術】
【０００２】
ロボットなどの各種の装置において、３次元物体を認識する物体認識技術が利用される。物体認識技術の一つとして、カメラで撮影した画像を用いて物体の深度を計測する方法が利用されている。深度の計測方法としては、ステレオブロックマッチング法や、位相シフト法、空間コード法などの方法が知られている。これらの方法では、物体を認識するために画像を解析して点群を取得する。「点群」とは、３次元座標で位置を表現した点の集合であり、物体の輪郭を構成するものと推定される点の集合である。ステレオブロックマッチング法は、最低一回の撮影で深度計測が可能であるが、点群の位置精度は他の方法に比べて低い。一方、位相シフト法や空間コード法は、複数回の撮像が必要なものの、高精度な点群を生成可能である。
【０００３】
特許文献１には、位相シフト法と空間コード化法という２つの深度計測法を組み合わせることによって、測定可能な高さレンジを大きなものとするとともに、高精度な計測を実現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−４２０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、全体の処理が完了するまでに長時間を要するという問題がある。
【課題を解決するための手段】
【０００６】
本発明の一形態によれば、物体の認識を実行する制御装置が提供される。この制御装置は、第１深度計測法に従って前記物体をカメラで撮影することによって第１画像を取得する第１撮像処理と、前記第１画像内の複数の画素の位置を３次元座標で表現した第１点群を生成する第１解析処理と、を含む第１点群生成処理を実行する第１点群生成部と；第２深度計測法に従って前記物体を前記カメラで撮影することによって第２画像を取得する第２撮像処理と、前記第２画像内の複数の画素の位置を前記３次元座標で表現した第２点群を生成する第２解析処理と、を含む第２点群生成処理を実行する第２点群生成部と；前記第１点群もしくは前記第２点群を用いて前記物体を認識する物体認識実行部と、を備える。前記第１点群生成処理は、前記第２点群生成処理よりも短い時間で完了する処理であり、前記第２点群生成部は、前記第１点群生成部による前記第１撮像処理の後に前記第２点群生成処理を開始し、前記第１解析処理で得られた前記第１点群が予め定められた成功条件を満足した場合には、前記第２点群生成処理を中止する。
【図面の簡単な説明】
【０００７】
【図１】ロボットシステムの概念図。
【図２】複数のプロセッサーを有する制御装置の一例を示す概念図。
【図３】複数のプロセッサーを有する制御装置の他の例を示す概念図。
【図４】制御装置の機能を示すブロック図。
【図５】パーツフィーダーに収容された複数の部品を示す平面図。
【図６】第１点群生成処理の説明図。
【図７】第２点群生成処理の説明図。
【図８】第１実施形態における物体認識処理の手順を示すフローチャート。
【図９】第２実施形態における物体認識処理の手順を示すフローチャート。
【図１０】第３実施形態における物体認識処理の手順を示すフローチャート。
【発明を実施するための形態】
【０００８】
A. 第１実施形態：
図１は、ロボットシステムの概念図である。このロボットシステムは、架台７００に設置されており、ロボット１００と、ロボット１００に接続された制御装置２００と、ティーチングペンダント３００と、パーツフィーダー４００と、ホッパー５００と、パーツトレイ６００と、投影装置８１０と、カメラ８２０とを備えている。ロボット１００は、架台７００の天板７１０の下に固定されている。パーツフィーダー４００と、ホッパー５００と、パーツトレイ６００は、架台７００のテーブル部７２０に載置されている。ロボット１００は、ティーチングプレイバック方式のロボットである。ロボット１００を用いた作業は、予め作成された教示データに従って実行される。このロボットシステムには、直交する３つの座標軸Ｘ，Ｙ，Ｚで規定されるシステム座標系Σｓが設定されている。図１の例では、Ｘ軸とＹ軸は水平方向であり、Ｚ軸は鉛直上方向である。教示データに含まれる教示点やエンドエフェクタの姿勢は、このシステム座標系Σｓの座標値と各軸回りの角度で表現される。
【０００９】
ロボット１００は、基台１２０と、アーム１３０とを備えている。アーム１３０は、４つの関節Ｊ１〜Ｊ４で順次接続されている。これらの関節Ｊ１〜Ｊ４のうち、３つの関節Ｊ１，Ｊ２，Ｊ４はねじり関節であり、１つの関節Ｊ３は並進関節である。本実施形態では４軸ロボットを例示しているが、１個以上の関節を有する任意のアーム機構を有するロボットを用いることが可能である。
【００１０】
アーム１３０の先端部に設けられたアームフランジ１３２には、エンドエフェクター１６０が装着されている。図１の例では、エンドエフェクター１６０は、把持機構１６４を用いてパーツを把持して拾い上げるグリッパーである。但し、エンドエフェクター１６０としては、吸着ピックアップ機構などの他の機構を取り付けることも可能である。
【００１１】
パーツフィーダー４００は、エンドエフェクター１６０が把持するパーツを収容する収容装置である。パーツフィーダー４００は、パーツを振動させてパーツ同士を分散させる振動機構を有するように構成されていてもよい。ホッパー５００は、パーツフィーダー４００にパーツを補給するパーツ補給装置である。パーツトレイ６００は、パーツを個別に収容するための多数の凹部を有するトレイである。本実施形態において、ロボット１００は、パーツフィーダー４００の中からパーツを拾い上げて、パーツトレイ６００内の適切な位置に収納する作業を実行する。但し、ロボットシステムは、これ以外の他の作業を行う場合にも適用可能である。
【００１２】
制御装置２００は、プロセッサー２１０と、メインメモリー２２０と、不揮発性メモリー２３０と、表示制御部２４０と、表示部２５０と、Ｉ／Ｏインターフェース２６０とを有している。これらの各部は、バスを介して接続されている。プロセッサー２１０は、例えばマイクロプロセッサー又はプロセッサー回路である。制御装置２００は、Ｉ／Ｏインターフェース２６０を介して、ロボット１００と、ティーチングペンダント３００と、パーツフィーダー４００と、ホッパー５００とに接続される。制御装置２００は、更に、Ｉ／Ｏインターフェース２６０を介して投影装置８１０とカメラ８２０にも接続される。
【００１３】
制御装置２００の構成としては、図１に示した構成以外の種々の構成を採用することが可能である。例えば、プロセッサー２１０とメインメモリー２２０を図１の制御装置２００から削除し、この制御装置２００と通信可能に接続された他の装置にプロセッサー２１０とメインメモリー２２０を設けるようにしてもよい。この場合には、当該他の装置と制御装置２００とを合わせた装置全体が、ロボット１００の制御装置として機能する。他の実施形態では、制御装置２００は、２つ以上のプロセッサー２１０を有していてもよい。更に他の実施形態では、制御装置２００は、互いに通信可能に接続された複数の装置によって実現されていてもよい。これらの各種の実施形態において、制御装置２００は、１つ以上のプロセッサー２１０を備える装置又は装置群として構成される。
【００１４】
図２は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット１００及びその制御装置２００の他に、パーソナルコンピューター１４００，１４１０と、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス１５００とが描かれている。パーソナルコンピューター１４００，１４１０は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス１５００においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部又は全部を利用して、ロボット１００の制御装置を実現することが可能である。
【００１５】
図３は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット１００の制御装置２００が、ロボット１００の中に格納されている点が図２と異なる。この例においても、複数のプロセッサーの一部又は全部を利用して、ロボット１００の制御装置を実現することが可能である。
【００１６】
図４は、制御装置２００の機能を示すブロック図である。制御装置２００のプロセッサー２１０は、不揮発性メモリー２３０に予め記憶された各種のプログラム命令２３１を実行することにより、ロボット制御部２１１と、パーツフィーダー制御部２１２と、ホッパー制御部２１３と、物体認識部２７０の機能をそれぞれ実現する。
【００１７】
物体認識部２７０は、カメラ８２０で撮影された画像を使用して点群を生成する第１点群生成部２７１及び第２点群生成部２７２と、生成された点群を使用して物体を認識する物体認識実行部２７３とを含んでいる。これらの各部の機能については後述する。
【００１８】
不揮発性メモリー２３０は、プログラム命令２３１と教示データ２３２の他に、画像の撮影に使用する各種の投影パターン２３３と、物体認識に使用する物体の３次元モデルデータ２３４とを記憶する。
【００１９】
図５は、パーツフィーダー４００に複数の部品ＰＰが収容された状態を示す平面図である。本実施形態では、このような複数の同一の部品ＰＰをカメラ８２０で撮像し、その画像を解析して部品ＰＰを認識する物体認識処理を実行する。認識された部品ＰＰはエンドエフェクター１６０で把持することが可能である。以下では、部品ＰＰを「物体ＰＰ」とも呼ぶ。なお、物体認識処理を、ロボット以外の用途に使用してもよい。
【００２０】
本実施形態において、カメラ８２０はステレオカメラである。投影装置８１０は、カメラ８２０を用いて部品ＰＰを撮影する際に、特定の投影パターンを照射するために設けられている。投影パターンの例については後述する。
【００２１】
本実施形態の物体認識処理には、以下に説明する２種類の点群生成処理を使用する。「点群」とは、画像の画素の位置を３次元座標値Ｘ[mm]，Ｙ[mm]，Ｚ[mm]で表現した点データの集合である。３次元座標としては、カメラ座標系や、システム座標系Σｓ、ロボット座標系などの任意の座標系を使用できる。
【００２２】
図６は、第１点群生成部２７１によって実行される第１点群生成処理の説明図である。本実施形態において、第１点群生成処理では、画像の画素の深度を計測する深度計測法として、ステレオブロックマッチング法を使用する。「深度」は、カメラ８２０からの距離を意味する。
【００２３】
第１点群生成処理では、まず、部品ＰＰを含むステレオ画像である左画像ＬＭと右画像ＲＭを撮影する第１撮影処理が行われる。第１実施形態では、投影装置８１０を用いて、投影パターンとしてのランダムドットパターンＲＰを部品ＰＰに投影した状態で撮影を行う。図６では図示の便宜上、ランダムドットパターンＲＰの画素を比較的大きく描いているが、実際には部品ＰＰのサイズに比べて十分に小さい画素でランダムドットパターンＲＰが形成される。ランダムドットパターンＲＰは、部品ＰＰの表面にテクスチャーを付与することによって、部品ＰＰの深度を計測しやすくするために使用される。ランダムドットパターンＲＰを部品ＰＰに投影した状態で部品ＰＰの画像を撮影すれば、点群をより高精度で取得できる。但し、ランダムドットパターンＲＰの投影を省略してもよい。
【００２４】
第１点群生成処理では、次に、左画像ＬＭと右画像ＲＭを使用して第１解析処理を実行することによって、第１点群ＰＧ１を生成する。第１解析処理では、まず、左画像ＬＭと右画像ＲＭを用い、ステレオブロックマッチング法に従って視差を計算することによって、視差画像ＤＭ１を生成する。
【００２５】
視差画像ＤＭ１は、ステレオカメラ８２０の左右の視差を画素値とした画像である。視差Ｄとステレオカメラ８２０との距離Ｚとの関係は、次式で与えられる。
Ｚ＝ｆ×Ｔ／Ｄ        …（１）
ここで、ｆはカメラの焦点距離、Ｔはステレオカメラ８２０を構成する２つのカメラの光軸間の距離である。
【００２６】
なお、ステレオブロックマッチング法による視差計算の前に、左画像ＬＭと右画像ＲＭに前処理を行うようにしてもよい。前処理としては、例えば、レンズによる画像の歪みを補正する歪み補正と、左画像ＬＭと右画像ＲＭの向きを平行化する平行化処理とを含む幾何補正が行われる。
【００２７】
第１解析処理では、次に、視差画像ＤＭ１から第１点群ＰＧ１を生成する。このとき、視差画像ＤＭ１の視差Ｄから上記（１）式に従って算出した距離Ｚを使用する。前述したように、「点群」は、画像の画素の位置を３次元座標値Ｘ[mm]，Ｙ[mm]，Ｚ[mm]で表現した点データの集合である。なお、視差画像ＤＭ１の視差Ｄ又は距離Ｚを用いた点群生成の処理は周知なので、ここではその説明は省略する。
【００２８】
図７は、第２点群生成部２７２によって実行される第２点群生成処理の説明図である。本実施形態において、第２点群生成処理では、画像の画素の深度を計測する深度計測法として、位相シフト法を使用する。なお、位相シフト法の代わりに、空間コード法などの他の深度計測法を使用することも可能である。良く知られているように、位相シフト法も空間コード法も、複数の投影パターンを１つずつ順に物体に照射しながら複数回の撮影を行って得られた複数の画像を利用する深度計測法である。
【００２９】
第２点群生成処理では、まず、投影装置８１０を用い、投影パターンとして、複数の位相シフトパターンＰＨ１〜ＰＨ４を１つずつ選択的に投影した状態で、部品ＰＰを含む複数の位相シフト画像ＰＳＭ１〜ＰＳＭ４を撮影する第２撮影処理が行われる。複数の位相シフトパターンＰＨ１〜ＰＨ４は、正弦波状の濃淡を有する縞模様のパターンである。位相シフト法では、一般に、ｎを３以上の整数として、ｎ枚の位相シフトパターンＰＨ１〜ＰＨｎを用いて画像の撮影が行われる。ｎ枚の位相シフトパターンＰＨ１〜ＰＨｎは、２π／ｎずつ順次ずれた位相を有する正弦波状パターンである。図７の例ではｎ＝４である。なお、位相シフト法では、ステレオカメラを使用する必要は無いので、ステレオカメラを構成する２つのカメラのうちの一方のみを使用して撮影を行えばよい。
【００３０】
第２点群生成処理では、次に、複数の位相シフト画像ＰＳＭ１〜ＰＳＭ４を使用して第２解析処理を実行することによって、第２点群ＰＧ２を生成する。第２解析処理では、まず、複数の位相シフト画像ＰＳＭ１〜ＰＳＭ４を用い、位相シフト法に従って距離画像ＤＭ２を生成する。位相シフト法を使用した距離画像ＤＭ２の生成処理は周知なので、ここではその説明は省略する。第２点群処理では、更に、距離画像ＤＭ２を用いて第２点群ＰＧ２を生成する。
【００３１】
なお、第２点群生成処理では、複数の異なる複数の位相シフトパターンＰＨ１〜ＰＨｎを１つずつ選択的に投影した状態で複数の位相シフト画像ＰＳＭ１〜ＰＳＭ４を撮影する第２撮影処理を行う必要があるので、１回の撮影を行えば良い第１点群生成処理に比べて長い処理時間を有する。この点は、空間コード法も同様である。以下で説明する物体認識処理の処理手順は、この点を考慮して全体の処理時間を短縮するように工夫したものである。
【００３２】
図８は、第１実施形態における物体認識処理の手順を示すフローチャートである。この処理は、物体認識部２７０によって実行される。
【００３３】
ステップＳ１１０では、第１点群生成部２７１が、カメラ８２０を用いて第１深度計測法のための第１画像を取得する第１撮像処理を実行する。本実施形態において、第１深度計測法はステレオブロックマッチング法であり、ステップＳ１１０で、図６で説明した左画像ＬＭと右画像ＲＭが第１画像として取得される。ステップＳ１２０では、第１点群生成部２７１が、第２点群生成部２７２に対して第２点群生成処理の開始命令を発行する。
【００３４】
第２点群生成部２７２は、開始命令を受けるとステップＳ２１０に進み、図７で説明した第２点群生成処理を開始する。すなわち、ステップＳ２１０において第２深度計測法としての位相シフト法のためにｎ枚の第２画像を撮影し、ステップＳ２２０では位相シフト法を使用した第２解析処理を実行することによって第２点群ＰＧ２を作成する。
【００３５】
第１点群生成部２７１は、第２点群生成処理の開始命令の発行後、第１点群生成処理を継続する。すなわち、ステップＳ１３０では、ステレオブロックマッチング法を使用した第１解析処理を実行することによって第１点群ＰＧ１を生成する。
【００３６】
ステップＳ１４０では、第１点群生成部２７１は、第１点群の点群生成率が予め定めた閾値以上であるか否かを判定する。ここで、「点群生成率」とは、第１点群ＰＧ１に含まれる点群の数を、画像の画素数で除した値である。「画像の画素数」は、左画像ＬＭと右画像ＲＭのうちで、視差画像ＤＭ１の作成時に基準画像とした方の画像の画素数である。点群に含まれる点は、視差画像ＤＭ１から３次元座標値Ｘ[mm]，Ｙ[mm]，Ｚ[mm]を決定できた画素であり、元の画像の画素数よりも少ないのが普通である。第１点群ＰＧ１の点群生成率が閾値未満である場合には、第１点群ＰＧ１を用いて十分な精度で物体認識を行えない可能性がある。そこで、この場合にはステップＳ１９０において第１点群生成処理を中止する。
【００３７】
ステップＳ１９０において第１点群生成部２７１がその処理を中止した場合には、第２点群生成部２７２は、第２点群生成処理の実行を継続する。そして、ステップＳ２３０において、物体認識実行部２７３が、第２点群ＰＧ２を用いて物体としての部品ＰＰの３次元形状を認識する。
【００３８】
点群を用いた物体の３次元形状の認識方法としては、例えば、本願の出願人により開示された特開２０１７−１８２２７４号公報に記載された方法を利用可能である。或いは、"Model Globally, Match Locally: Efficient and Robust 3D Object Recognition", Bertram Drost他, http://campar.in.tum.de/pub/drost2010CVPR/drost2010CVPR.pdf, に記載された方法や、「ベクトルペアマッチングによる高信頼な３次元位置姿勢認識」,秋月秀一, http://isl.sist.chukyo-u.ac.jp/Archives/vpm.pdf, に記載された方法などを利用してもよい。これらの方法は、点群と、物体の３次元モデルデータを使用した物体認識方法である。但し、３次元モデルデータを使用せずに、点群から物体の３次元形状を認識するようにしてもよい。
【００３９】
ステップＳ２４０では、物体認識部２７０が、ステップＳ２３０で得られた認識結果を出力する。具体的には、例えば、物体としての部品ＰＰの認識結果が物体認識部２７０からロボット制御部２１１に与えられ、ロボット制御部２１１がこの認識結果を利用して部品ＰＰの把持動作を実行する。
【００４０】
一方、ステップＳ１４０において、第１点群ＰＧ１の点群生成率が閾値以上であると判定された場合には、第１点群ＰＧ１の生成が成功したものと考えることができる。また、この第１点群ＰＧ１を用いて十分な精度で物体認識を行える可能性がある。そこで、この場合には、ステップＳ１５０において、物体認識実行部２７３が、第１点群ＰＧ１を用いて、物体としての部品ＰＰの３次元形状を認識する。
【００４１】
ステップＳ１６０では、第１点群生成部２７１が、ステップＳ１５０で認識した物体の認識数が予め定められた認識数以上であるか否かを判定する。ここで、「物体の認識数」は、３次元形状が認識された物体の個数である。図５のような複数の部品ＰＰを物体として認識する処理の場合には、３次元形状が認識された部品ＰＰの個数が「物体の認識数」となる。物体認識数が閾値以上の場合には、第１点群ＰＧ１を用いた物体の認識が十分な精度で行われており、第１点群ＰＧ１による物体認識が成功したものと考えることができる。そこで、この場合には、ステップＳ１７０において、第１点群生成部２７１が、第２点群生成部２７２に対して第２点群生成処理の中止命令を発行する。この中止命令を受けると、第２点群生成部２７２は、ステップＳ２１０又はステップＳ２２０において実行している第２点群生成処理を中止する。
【００４２】
このように、第１実施形態では、第１点群生成部２７１による第１解析処理で得られた第１点群ＰＧ１が予め定められた成功条件を満足した場合に、第２点群生成処理を中止する。こうすれば、第１点群生成処理よりも長い処理時間を有する第２点群生成処理を途中で停止することができるので、全体の処理が完了するまでの時間を短縮することが可能である。
【００４３】
なお、第１実施形態における「成功条件」は、（ｉ）第１点群ＰＧ１の点群生成率が予め定められた閾値以上であること、及び、（ｉｉ）第１点群ＰＧ１を用いて認識された物体の認識数が予め定められた閾値以上であること、の２つの条件を含んでいる。但し、これ以外の成功条件を使用してもよい。また、上記条件（ｉ），（ｉｉ）のうちの一方のみを成功条件として使用してもよく、或いは、上記条件（ｉ），（ｉｉ）の一方又は両方に他の条件を加えたものを成功条件として使用してもよい。なお、成功条件は、第１点群ＰＧ１の点群生成率が予め定めた閾値以上であること、を含むように設定することが好ましい。こうすれば、第１点群ＰＧ１に含まれる点群の数が十分に多く、第１点群ＰＧ１から物体を十分な精度で認識できる可能性が高い場合に第２点群生成処理を中止することになるので、全体の処理時間を大幅に短縮できるという利点がある。
【００４４】
第２点群生成処理の中止命令の発行後、物体認識部２７０は、ステップＳ１８０において、第１点群ＰＧ１を用いた認識結果を出力する。具体的には、例えば、物体としての部品ＰＰの認識結果が物体認識部２７０からロボット制御部２１１に与えられ、ロボット制御部２１１がこの認識結果を利用して部品ＰＰの把持動作を実行する。
【００４５】
以上のように、第１実施形態では、第２点群生成部２７２が第１点群生成部２７１による第１撮像処理の後に第２点群生成処理を開始し、第１点群生成部２７１による第１解析処理で得られた第１点群ＰＧ１が予め定められた成功条件を満足した場合に第２点群生成処理を中止する。従って、第１点群ＰＧ１によって物体を十分な精度で認識できる場合に第２点群生成処理を途中で停止することができ、全体の処理が完了するまでの時間を短縮することが可能である。
【００４６】
また、第１実施形態では、第１深度計測法としてステレオブロックマッチング法を使用し、第２深度計測法として位相シフト法又は空間コード法を使用している。ステレオブロックマッチング法は、比較的短時間で深度を求めることができるという特徴がある。一方、位相シフト法や空間コードは、比較的高精度に深度を求めることができるという特徴がある。位相シフト法や空間コード法は、ステレオブロックマッチング法よりも多くの撮影を必要とするので、第１点群ＰＧ１が予め定められた成功条件を満足した場合に第２点群生成処理を中止することによって、全体の処理時間を大幅に短縮できる。
【００４７】
なお、第１深度計測法と第２深度計測法の組み合わせとしては、上述したもの以外の種々の組み合わせを使用することが可能である。例えば、第１深度計測法として位相シフト法を使用し、第２深度計測法として空間コード法を使用してもよい。但し、第１深度計測法を用いた第１解析処理の処理時間が第２深度計測法を用いた第２点群生成処理全体の処理時間よりも短いことが好ましく、特に、第１点群処理生成処理が第２点群生成処理よりも短い時間で完了する処理であることが好ましい。こうすれば、第１点群が予め定められた成功条件を満足した場合に第２点群生成処理を中止することによる処理時間の短縮効果が顕著である。
【００４８】
B. 第２実施形態：
図９は、第２実施形態における物体認識処理の手順を示すフローチャートである。第２実施形態は、図８のステップＳ１６０，Ｓ１７０を省略し、ステップＳ１４０とステップＳ１５０の間にステップＳ１４５を追加したものであり、他の処理手順や装置構成は第１実施形態と同じである。
【００４９】
第２実施形態では、ステップＳ１４０において第１点群ＰＧ１の点群生成率が閾値以上であると判定された場合に、ステップＳ１４５において第１点群生成部２７１が、第２点群生成部２７２に対して第２点群生成処理の中止命令を発行する。換言すれば、第２実施形態では、第１点群ＰＧ１が満たすべき成功条件として、第１点群ＰＧ１の点群生成率が予め定められた閾値以上であることのみを使用している。こうすれば、第１実施形態よりも早期に第２点群生成処理を中止することができるので、全体の処理時間を大幅に短縮することが可能である。一方、第１実施形態のように、第１点群ＰＧ１が満たすべき成功条件として、（ｉ）第１点群ＰＧ１の点群生成率が予め定められた閾値以上であること、及び、（ｉｉ）第１点群ＰＧ１を用いて認識された物体の認識数が予め定められた閾値以上であること、の２つの条件を含むように成功条件を構成すれば、処理時間を短縮しつつ、物体認識をより確実に行うことができるという利点がある。
【００５０】
C. 第３実施形態：
図１０は、第３実施形態における物体認識処理の手順を示すフローチャートである。第３実施形態は、図８のステップＳ１９０において第１点群生成処理を中止した場合にステップＳ２３０ａに進むように手順を変更したものであり、他の処理手順や装置構成は第１実施形態と同じである。
【００５１】
ステップＳ２３０ａでは、物体認識実行部２７３が、第１点群ＰＧ１と第２点群ＰＧ２の両方を用いて物体としての部品ＰＰの３次元形状を認識する。このように、第３実施形態では、第２点群生成処理が中止されることなく第２点群ＰＧ２が生成された場合には、第１点群ＰＧ１と第２点群ＰＧ２の両方を用いて物体の認識を実行するので、高精度で物体を認識できるという利点がある。
【００５２】
なお、第３実施形態は、上述した第２実施形態にも適用可能である。すなわち、図９のステップＳ１９０の後に、図１０のステップＳ２３０ａに進むように第２実施形態の処理手順を変更しても良い。
【００５３】
D. 他の実施形態：
本発明は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本発明は、以下の形態（aspect）によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本発明の課題の一部又は全部を解決するために、あるいは、本発明の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【００５４】
（１）本発明の第１の形態によれば、物体の認識を実行する制御装置が提供される。この制御装置は、第１深度計測法に従って前記物体をカメラで撮影することによって第１画像を取得する第１撮像処理と、前記第１画像内の複数の画素の位置を３次元座標で表現した第１点群を生成する第１解析処理と、を含む第１点群生成処理を実行する第１点群生成部と；第２深度計測法に従って前記物体を前記カメラで撮影することによって第２画像を取得する第２撮像処理と、前記第２画像内の複数の画素の位置を前記３次元座標で表現した第２点群を生成する第２解析処理と、を含む第２点群生成処理を実行する第２点群生成部と；前記第１点群ともしくは前記第２点群の少なくとも一方を用いて前記物体を認識する物体認識実行部と；を備える。前記第１点群生成処理は、前記第２点群生成処理よりも短い時間で完了する処理であり、前記第２点群生成部は、前記第１点群生成部による前記第１撮像処理の後に前記第２点群生成処理を開始し、前記第１解析処理で得られた前記第１点群が予め定められた成功条件を満足した場合には、前記第２点群生成処理を中止する。
この制御装置によれば、第１点群が予め定められた成功条件を満足した場合に第２点群生成処理を中止するので、第１点群によって物体を十分な精度で認識できる場合に第２点群生成処理を途中で停止することができ、全体の処理が完了するまでの時間を短縮することが可能である。
【００５５】
（２）上記制御装置において、前記第１深度計測法は、ステレオブロックマッチング法であるものとしてもよい。
この制御装置によれば、第１深度計測法を用いて深度を比較的短時間で求めることができる。
【００５６】
（３）上記制御装置において、前記第１点群生成部は、ランダムドットパターンを前記物体に投影した状態で前記第１撮像処理を実行するものとしてもよい。
この制御装置によれば、ランダムドットパターンを物体に投影した状態で物体の第１画像を撮影するので、第１点群をより高精度で取得できる。
【００５７】
（４）上記制御装置において、前記第２深度計測法は、位相シフト法又は空間コード法であるものとしてもよい。
この制御装置によれば、第２深度計測法を用いて深度を比較的高精度に求めることができる。
【００５８】
（５）上記制御装置において、前記成功条件は、前記第１点群に含まれる点群の数を前記第１画像の画素数で除した点群生成率が予め定めた閾値以上であること、を含むものとしてもよい。
この制御装置によれば、第１点群に含まれる点群の数が十分に多く第１点群から物体を十分な精度で認識できる場合に第２点群生成処理を中止するので、全体の処理時間を大幅に短縮できる。
【００５９】
（６）上記制御装置において、前記第１画像は同一種類の複数の物体を含み、前記成功条件は、更に、前記第１点群を用いて前記物体認識実行部で認識された物体の数が予め定めた個数閾値以上であること、を含むものとしてもよい。
この制御装置によれば、第１画像に含まれる複数の物体を第１点群から十分な精度で認識できる場合に第２点群生成処理を中止するので、全体の処理時間を大幅に短縮できる。
【００６０】
（７）上記制御装置において、前記第２点群生成処理が中止されることなく前記第２点群が生成された場合には、前記物体認識実行部は、前記第１点群と前記第２点群の両方を用いて前記物体の認識を実行するものとしてもよい。
この制御装置によれば、第１点群と第２点群の両方を用いるので、高精度で物体を認識できる。
【００６１】
（８）本発明の第２形態によれば、物体の認識を実行する制御装置が提供される。この制御装置は、プロセッサーを備える。前記プロセッサーは、第１深度計測法に従って前記物体をカメラで撮影することによって第１画像を取得する第１撮像処理と、前記第１画像内の複数の画素の位置を３次元座標で表現した第１点群を生成する第１解析処理と、を含む第１点群生成処理と；第２深度計測法に従って前記物体を前記カメラで撮影することによって第２画像を取得する第２撮像処理と、前記第２画像内の複数の画素の位置を前記３次元座標で表現した第２点群を生成する第２解析処理と、を含む第２点群生成処理と；前記第１点群もしくは前記第２点群を用いて前記物体を認識する物体認識処理と；を実行する。前記第１点群生成処理は、前記第２点群生成処理よりも短い時間で完了する処理であり、前記プロセッサーは、前記第１撮像処理の後に前記第２点群生成処理を開始し、前記第１解析処理で得られた前記第１点群が予め定められた成功条件を満足した場合には、前記第２点群生成処理を中止する。
この制御装置によれば、第１点群が予め定められた成功条件を満足した場合に第２点群生成処理を中止するので、第１点群によって物体を十分な精度で認識できる場合に第２点群生成処理を途中で停止することができ、全体の処理が完了するまでの時間を短縮することが可能である。
【００６２】
（９）本発明の第３形態によれば、上記制御装置に接続されたロボットが提供される。
このロボットによれば、ロボットが処理対象とする物体の認識を短時間で行うことが可能となる。
【００６３】
（１０）本発明の第４形態によれば、ロボットと、前記ロボットに接続された上記制御装置と、を備えるロボットシステムが提供される。
このロボットシステムによれば、ロボットが処理対象とする物体の認識を短時間で行うことが可能となる。
【００６４】
（１１）本発明の第４形態によれば、物体の認識を実行する方法が提供される。この方法は、第１深度計測法に従って前記物体をカメラで撮影することによって第１画像を取得する第１撮像処理と、前記第１画像内の複数の画素の位置を３次元座標で表現した第１点群を生成する第１解析処理と、を含む第１点群生成処理を実行する工程と；第２深度計測法に従って前記物体を前記カメラで撮影することによって第２画像を取得する第２撮像処理と、前記第２画像内の複数の画素の位置を前記３次元座標で表現した第２点群を生成する第２解析処理と、を含む第２点群生成処理を実行する工程と；前記第１点群もしくは前記第２点群を用いて前記物体を認識する工程と；を備える。前記第１点群生成処理は、前記第２点群生成処理よりも短い時間で完了する処理であり、前記第１撮像処理の後に前記第２点群生成処理を開始し、前記第１解析処理で得られた前記第１点群が予め定められた成功条件を満足した場合には、前記第２点群生成処理を中止する。
この方法によれば、第１点群が予め定められた成功条件を満足した場合に第２点群生成処理を中止するので、第１点群によって物体を十分な精度で認識できる場合に第２点群生成処理を途中で停止することができ、全体の処理が完了するまでの時間を短縮することが可能である。
【符号の説明】
【００６５】
１００…ロボット、１２０…基台、１３０…アーム、１３２…アームフランジ、１６０…エンドエフェクター、１６４…把持機構、２００…制御装置、２１０…プロセッサー、２１１…ロボット制御部、２１２…パーツフィーダー制御部、２１３…ホッパー制御部、２２０…メインメモリー、２３０…不揮発性メモリー、２３１…プログラム命令、２３２…教示データ、２３３…投影パターン、２３４…３次元モデルデータ、２４０…表示制御部、２５０…表示部、２６０…Ｉ／Ｏインターフェース、２７０…物体認識部、２７１…第１点群生成部、２７２…第２点群生成部、２７３…物体認識実行部、３００…ティーチングペンダント、４００…パーツフィーダー、５００…ホッパー、６００…パーツトレイ、７００…架台、７１０…天板、７２０…テーブル部、８１０…投影装置、８２０…カメラ、１４００，１４１０…パーソナルコンピューター、１５００…クラウドサービス
【図１】
2019158427.tif 000003
【図２】
2019158427.tif 000004
【図３】
2019158427.tif 000005
【図４】
2019158427.tif 000006
【図５】
2019158427.tif 000007
【図６】
2019158427.tif 000008
【図７】
2019158427.tif 000009
【図８】
2019158427.tif 000010
【図９】
2019158427.tif 000011
【図１０】
2019158427.tif 000012