(57)【特許請求の範囲】
【請求項１】
認識対象物の表面形状、又は、認識対象物の表面形状と、輪郭及びテクスチャのいずれか又は両方とを表す３次元モデルを記憶する３次元モデル記憶手段と、
前記認識対象物に対して作業を行うロボットと、
前記ロボットの作業前後の前記認識対象物の表面の点の３次元座標を示す３次元点群を取得、又は、前記ロボットの作業前後の前記認識対象物の表面の点の３次元座標を示す３次元点群及び前記認識対象物の画像を取得するための撮像手段と、
前記３次元モデル記憶手段に記憶された前記３次元モデルと、前記撮像手段によって取得された前記ロボット作業前の前記認識対象物の前記画像又は前記３次元点群とを用いて３次元認識処理を行う、又は、前記３次元モデルと、前記撮像手段によって取得された前記ロボット作業後の前記認識対象物の前記画像又は前記３次元点群とを用いて３次元認識処理を行うことにより、前記認識対象物と前記３次元モデルの位置姿勢を合わせる３次元認識手段と、
前記ロボットの作業前に前記３次元認識手段によって求められる前記認識対象物の位置姿勢の結果に基づき、前記認識対象物が所定の位置姿勢となるように前記ロボットを動作させるロボット制御手段と、
前記３次元認識手段による前記ロボット作業後の前記認識対象物と前記３次元モデルの位置姿勢合わせの結果を用いて、前記３次元モデルの３次元形状と前記撮像手段によって取得された前記所定の位置姿勢にある前記認識対象物の３次元形状との差、及び／又は、前記３次元モデル上のテクスチャと前記所定の位置姿勢にある前記認識対象物の前記画像上のテクスチャとの差を求め、その差が所定の基準以上であるか否かを判定する判定手段と、を備えることを特徴とする３次元物体検査装置。
【請求項２】
前記判定手段によって、前記３次元モデルの３次元形状と前記撮像手段によって取得された前記所定の位置姿勢にある前記認識対象物の３次元形状との差、及び／又は、前記３次元モデル上のテクスチャと前記所定の位置姿勢にある前記認識対象物の前記画像上のテクスチャとの差が前記所定の基準以上であると判定された場合に、前記３次元モデルの３次元形状と前記撮像手段によって取得された前記所定の位置姿勢にある前記認識対象物の３次元形状との差、及び／又は、前記３次元モデル上のテクスチャと前記所定の位置姿勢にある前記認識対象物の前記画像上のテクスチャとの差を出力する出力手段を備えることを特徴とする請求項１に記載の３次元物体検査装置。
【請求項３】
前記３次元認識手段は、前記３次元モデル記憶手段に記憶された前記３次元モデルと前記撮像手段によって取得された前記認識対象物の前記３次元点群との位置姿勢の初期値を全探索で求め、前記初期値を用いて、前記認識対象物の位置姿勢のロバスト推定法を用いた最適化を行うことを特徴とする請求項１又は２に記載の３次元物体検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識対象物と当該認識対象物の３次元モデルとの違いを検査するための３次元物体検査装置に関する。
【背景技術】
【０００２】
生産ラインにおいて、ロボットのハンド等により部品等の認識対象物に対して正確な操作を可能とするために、バラ積みにされた部品等を個々に認識し、各部品の位置及び姿勢を認識するための３次元物体認識装置が近年開発されている。
【０００３】
従来、このような３次元物体認識装置では、例えば、３次元形状を有する認識対象物を所定方向からカメラで撮影した画像から認識対象物のエッジすなわち輪郭等の特徴を抽出し、撮影画像を構成する各画素について最も近いエッジまでの距離をそれぞれ計算し、認識対象物の輪郭形状を表わす３次元モデルを撮影画像上に射影して照合することにより認識対象物の位置姿勢を認識するもの等がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２０５０９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方で、ユーザからは、認識対象物と３次元モデルとが同じであるか否かを判定し、本来の形状や模様等と異なっている認識対象物について把握したいという要求がある。しかしながら、従来の３次元物体認識装置では、認識対象物の位置姿勢を認識することはできるが、認識対象物と３次元モデルとの差を検査することは行われていないため、認識対象物が本来の形状や模様等と異なっているような場合でも、そのまま見過ごされてしまう虞があった。
【０００６】
本発明は、上記のような課題に鑑みてなされたものであって、認識対象物が本来の形状や模様等と異なっている否かを把握することができる３次元物体検査装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る３次元物体検査装置は、認識対象物の表面形状、又は、認識対象物の表面形状と、輪郭及びテクスチャのいずれか又は両方とを表す３次元モデルを記憶する３次元モデル記憶手段と、前記認識対象物に対して作業を行うロボットと、前記ロボットの作業前後の前記認識対象物の表面の点の３次元座標を示す３次元点群を取得、又は、前記ロボットの作業前後の前記認識対象物の表面の点の３次元座標を示す３次元点群及び前記認識対象物の画像を取得するための撮像手段と、前記３次元モデル記憶手段に記憶された前記３次元モデルと、前記撮像手段によって取得された前記ロボット作業前の前記認識対象物の前記画像又は前記３次元点群とを用いて３次元認識処理を行う、又は、前記３次元モデルと、前記撮像手段によって取得された前記ロボット作業後の前記認識対象物の前記画像又は前記３次元点群とを用いて３次元認識処理を行うことにより、前記認識対象物と前記３次元モデルの位置姿勢を合わせる３次元認識手段と、前記ロボットの作業前に前記３次元認識手段によって求められる前記認識対象物の位置姿勢の結果に基づき、前記認識対象物が所定の位置姿勢となるように前記ロボットを動作させるロボット制御手段と、前記３次元認識手段による前記ロボット作業後の前記認識対象物と前記３次元モデルの位置姿勢合わせの結果を用いて、前記３次元モデルの３次元形状と前記撮像手段によって取得された前記所定の位置姿勢にある前記認識対象物の３次元形状との差、及び／又は、前記３次元モデル上のテクスチャと前記所定の位置姿勢にある前記認識対象物の前記画像上のテクスチャとの差を求め、その差が所定の基準以上であるか否かを判定する判定手段と、を備えることを特徴としている。
【０００９】
また、本発明に係る３次元物体検査装置は、前記判定手段によって、前記３次元モデルの３次元形状と前記撮像手段によって取得された前記所定の位置姿勢にある前記認識対象物の３次元形状との差、及び／又は、前記３次元モデル上のテクスチャと前記所定の位置姿勢にある前記認識対象物の前記画像上のテクスチャとの差が前記所定の基準以上であると判定された場合に、前記３次元モデルの３次元形状と前記撮像手段によって取得された前記所定の位置姿勢にある前記認識対象物の３次元形状との差、及び／又は、前記３次元モデル上のテクスチャと前記所定の位置姿勢にある前記認識対象物の前記画像上のテクスチャとの差を出力する出力手段を備えることを特徴としている。
【００１０】
また、本発明に係る３次元物体検査装置は、前記３次元認識手段が、前記３次元モデル記憶手段に記憶された前記３次元モデルと前記撮像手段によって取得された前記認識対象物の前記３次元点群との位置姿勢の初期値を全探索で求め、前記初期値を用いて、前記認識対象物の位置姿勢のロバスト推定法を用いた最適化を行うことを特徴としている。
【発明の効果】
【００１１】
本発明に係る３次元物体検査装置によれば、３次元認識手段によって認識対象物の表面形状、又は、認識対象物の表面形状と、輪郭及びテクスチャのいずれか又は両方とを表わす３次元モデルと、撮像手段によって取得した認識対象物の３次元点群、又は、認識対象物の３次元点群及び画像を用いて３次元認識処理を行うことにより、認識対象物と３次元モデルの位置姿勢合わせを行い、判定手段によって３次元モデルの３次元形状と認識対象物の３次元形状との差、及び／又は、３次元モデル上に含まれる文字や模様等のテクスチャと認識対象物の画像上のテクスチャとの差を求め、その差が所定の基準以上であるか否かを判定するので、認識対象物が本来の形状や模様等と異なっている否かを把握することができる。
【００１２】
また、本発明に係る３次元物体検査装置によれば、ロボット制御手段によって、認識対象物が所定の位置姿勢になるようにロボットを動作させることができるので、例えば、認識対象物に含まれる文字や模様等のテクスチャが撮像手段の位置から見て裏側に隠れた状態にあるような場合でも、撮像手段によってテクスチャの画像を取得できるように認識対象物の位置姿勢を変えることができる。これにより、認識対象物がランダムな状態で置かれているような場合でも、認識対象物が本来の形状や模様等と異なっている否かを適切に把握することができる。
【００１３】
また、本発明に係る３次元物体検査装置によれば、判定手段によって、３次元モデルの３次元形状と撮像手段によって取得された認識対象物の３次元形状との差、及び／又は、３次元モデル上のテクスチャと認識対象物の画像上のテクスチャとの差が所定の基準以上であると判定された場合には、その差を出力手段によって出力するので、ユーザは、認識対象物が本来の形状や模様等とどのような差があるかを容易に把握することができる。
【００１４】
また、本発明に係る３次元物体検査装置によれば、３次元認識手段は、３次元モデルと撮像手段によって取得された認識対象物の３次元点群との位置姿勢の初期値を全探索で求め、その初期値を用いて、認識対象物の位置姿勢のロバスト推定法を用いた最適化を行うので、認識対象物の形状が３次元モデルの形状と異なるような場合でも、その形状の差によって認識対象物と３次元モデルの位置姿勢合わせにずれが生じることを防止することができる。これにより、認識対象物が本来の形状や模様等と異なっている否かをより適切に把握することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る３次元物体検査装置の一例を示す概略模式図である。
【図２】本発明の実施形態に係る３次元物体検査装置の処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態に係る３次元物体検査装置１について、図面を参照しつつ説明する。３次元物体検査装置１は、例えば、図１に示すように、作業台２の上に載置されている３次元形状を有するワーク（認識対象物）３が本来の形状やテクスチャ３１を有するものであるか否かを検査するものであって、ワーク３の画像の取得又はワーク３の表面の点の３次元座標を示す３次元点群の計測を行うための撮像装置４（４ａ、４ｂ）と、ワーク３に対して作業を行うロボット５と、撮像装置４により得られた画像又は３次元点群データに基づいてロボットの動作を制御するコンピュータ６とを備えている。
【００１７】
ワーク３は、例えば、図１に示すように、略直方体形状に形成されており、模様や文字等のテクスチャ３１を有するものである。尚、ワーク３の形状は特に限定されるものではなく、テクスチャ３１を有していないものであっても良い。
【００１８】
撮像装置４としては、例えば、ワーク３の画像を取得するための機能及びワーク３の表面の点の３次元座標を示す３次元点群の計測を行う機能を有する従来公知の３次元センサ等を用いることができる。また、撮像装置４として、例えば、ワーク３に対してパターン光を投光する投光手段（不図示）と、このパターン光が投光されたワーク３を異なる位置に設けられた基準カメラと参照カメラとからなるステレオカメラとを備え、該ステレオカメラにより撮像して得られた複数の画像間で対応する画素を特定し、対応付けられた基準画像上の画素と、参照画像上の画素との位置の差（視差）に三角測量の原理を適用することにより、基準カメラから当該画素に対応する計測対象物上の点までの距離を計測してワーク３の３次元点群を取得しても良い。尚、撮像装置４の数は、特に限定されるものではなく、ワーク３の画像の取得及び３次元点群の計測を行うことができれば良く、１台又は２台以上の複数であっても良い。また、撮像装置４は、ワーク３の画像を取得するための機能と３次元計測を行うための機能を別々に設けるように構成されていても良い。
【００１９】
ロボット５は、ワーク３に対して作業を行うためのものであって、図１に示すように、ワーク３に対して作業を行えるように、ワーク３が載置されている作業台２の近傍に配置されている。このロボット５は、例えば、生産システム内の床や壁等の設置面に固定される土台５１と、土台５１に対して基端が回転可能に連結されているロボットアーム部５２と、ロボットアーム部５２の先端に取り付けられ、ワーク３を把持するためのロボットハンド５３等を備えている。ロボット５は、詳しくは図示しないが、それぞれの回転軸にサーボモータ及びそれぞれの回転位置を検出するエンコーダ等が設けられており、ロボットコントローラ（ロボット制御手段）７から送られる制御信号に基づいて、それぞれのサーボモータが動作するように構成されている。
【００２０】
コンピュータ６は、図１に示すように、撮像装置４により得られた画像データや３次元点群データ等を記憶する画像メモリ８と、ワーク３の認識を行うための処理プログラムや後述する３次元モデルの３次元形状と撮像装置４によって取得した認識対象物の３次元形状との差、及び／又は、３次元モデル上のテクスチャと認識対象物の画像上のテクスチャとの差を求めるための処理プログラム等を格納するハードディスク９と、該ハードディスク９から読み出される処理プログラムを一時記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０と、この処理プログラムに従って３次元認識処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、画像メモリ８に記憶された画像データやＣＰＵ１１によって求められた結果等を出力するための液晶ディスプレイ等で構成される出力部１２と、マウスやキーボード等で構成される操作部１３と、これら各部を互いに接続するシステムバス１４とを有している。尚、本実施形態では、ワーク３の認識を行う処理プログラムをハードディスク９に格納している例を示しているが、これに代えて、コンピュータ読み取り可能な記憶媒体（不図示）に格納しておき、この記録媒体から処理プログラムを読み出すように構成することも可能である。また、出力部１２は、ディスプレイに限定されるものではなく、画像データやＣＰＵ１１によって求められた結果等を出力できるものであれば良く、プリンタ等の印刷手段やファイル保存を行うファイル出力手段等であっても良い。
【００２１】
以下、３次元物体検査装置１による処理の流れについて図２のフローチャートを用いながら説明する。本実施形態に係る３次元物体検査装置１では、図２に示すように、例えば、まずオフラインでワーク３の認識用の３次元モデルを作成して３次元モデル記憶手段１５に記憶しておく（Ｓ１０１）。３次元モデルは、ワーク３の３次元形状情報及びワーク３に含まれる模様や文字等のテクスチャ画像における各姿勢でのテクスチャモデルを含むものであって、ワーク３の表面形状を表わす３次元面点データ、輪郭形状を表わす３次元輪郭点データ、及び、テクスチャを表わすテクスチャデータ等を有しており、３次元ＣＡＤ等を利用して作成される。ここでは、例えば、３次元ＣＡＤ等を利用して、予めオフラインで撮像装置４の位置から考えて可能性のある全範囲に渡って、あらゆる姿勢（３自由度）における３次元モデルを作成し、３次元モデル記憶手段１５に記憶している。尚、この３次元モデルの作成方法は、特に限定されるものではなく、ワーク３の３次元形状情報及びテクスチャ情報を含むものであれば良く、従来公知の方法を用いることができる。また、３次元モデルは、検査の種類によっては、ワーク３の表面形状と輪郭、ワーク３の表面形状とテクスチャ、ワーク３の表面形状と輪郭とテクスチャ、又は、ワーク３の表面形状のみのいずれかを表わすものであれば良い。
【００２２】
次に、撮像装置４によりワーク３の表面の点の３次元座標を示す３次元点群の計測及びワーク３の画像を取得する（Ｓ１０２）。そして、３次元認識手段１６では、撮像装置４により取得した画像又は３次元点群を用いて、ワーク３の位置及び姿勢を求める（Ｓ１０３）。このような撮像装置４により得られた画像又は３次元点群を用いて、ワーク３の位置姿勢を求めるための方法としては、例えば、特開２０１０−２０５０９５号公報、特開２０１１−１２９０８２号公報、特開２０１２−０２６９７４号公報、特開２０１４−１７８９６７号公報等に記載の位置姿勢の評価方法を好適に用いることができる。また、その他、従来公知の画像上の輪郭を用いた位置姿勢の評価方法や３次元点群を用いた位置姿勢の評価方法等を用いてワーク３の位置姿勢の認識を行っても良い。
【００２３】
そして、ロボットコントローラ７では、ワーク３が所定の位置姿勢になるようにロボット５を動作させるために、３次元認識手段１６によって求められたワーク３の位置姿勢に基づいて、ロボット５を制御するための制御信号を生成し、ロボット５へと送信する。ここでは、所定の位置姿勢として、例えば、撮像装置４によってワーク３のテクスチャ３１を含む画像を取得できるように、ロボット５によってワーク３の位置姿勢を変更させる（Ｓ１０４）。ロボット５によってワーク３を所定の位置姿勢にする方法としては、例えば、ロボットハンド５３によってワーク３を把持したまま所定の位置姿勢になるように移動、又は、ロボット５によって所定の位置姿勢に変えたワーク３を作業台２の上に載置するようにすれば良い。また、本実施形態では、１つのロボットアーム部５２を有するロボット５を用いる例を示しているが、例えば、双腕のロボットを用いて、ワーク３を所定の位置姿勢に持ち替えるように動作させても良い。
【００２４】
次に、３次元物体検査装置１では、撮像装置４によって、Ｓ１０４の処理により所定の位置姿勢になっているワーク３の表面の点の３次元座標を示す３次元点群の計測及びワーク３の画像を取得する（Ｓ１０５）。そして、３次元認識手段１６では、３次元モデル記憶手段１５に記憶された３次元モデルと、撮像装置４によって取得されたワーク３の画像又は３次元点群とを用いて３次元認識処理を行うことにより、ワーク３と３次元モデルの位置姿勢合わせを行う（Ｓ１０６）。また、ここでは、例えば、ワーク３の形状が３次元モデルの形状と異なるような場合でも、その形状の差によってワーク３と３次元モデルの位置姿勢合わせにずれが生じることを防止するために、３次元モデルと撮像装置４によって取得されたワーク３の３次元点群との位置姿勢の初期値を全探索で求め、その初期値を用いて、ロバスト推定法を用いた最適化を行う。つまり、撮像装置４によって計測された３次元点群データの外れ値によって、誤った位置姿勢合わせになることを防止するために、例えば、誤差の絶対値が大きいデータには小さな重み（０を含む）を与え、誤差が小さいデータには大きな重みを与える。このような重みは、例えば、Ｔｕｋｅｙの関数により与えられる。尚、重みを与える関数は、特にＴｕｋｅｙの関数に限定されるものではなく、例えば、Ｈｕｂｅｒの関数等、誤差が大きいデータには小さな重みを与え、誤差が小さいデータには大きな重みを与えるその他の従来公知のものを用いても良い。
【００２５】
そして、判定手段１７では、３次元認識手段１６によるワーク３と３次元モデルの位置姿勢合わせの結果を用いて、３次元モデルの３次元形状と撮像装置４によって計測されたワーク３の３次元形状との差、及び、３次元モデル上のテクスチャとワーク３の画像上のテクスチャとの差を求め、その差が所定の基準以上であるか否かを判定する（Ｓ１０７）。つまり、判定手段１７では、所定の基準以上の差がある場合には、ワーク３が本来有しているはずの形状やテクスチャとは異なるものであると判定する。尚、３次元モデル上のテクスチャとワーク３の画像上のテクスチャとの差とは、例えば、テクスチャ３１の位置ずれ、欠け、誤植、印刷ミス、色違い等による差を含むものである。また、本来の形状やテクスチャと異なっているか否かを判定するための所定の基準については、例えば、ワーク３の種類や用途等に応じて予め設定されるものであり、その範囲は特に限定されるものではない。
【００２６】
そして、判定手段１７によって、３次元モデルの３次元形状と撮像装置４によって計測されたワーク３の３次元形状との差、又は、３次元モデル上のテクスチャとワーク３の画像上のテクスチャとの差が所定の基準以上であると判定された場合には、その差を結果として出力部１２に出力させる（Ｓ１０８）。この際の出力部１２では、例えば、差が生じている箇所に異なる色等を付して出力する。これにより、ユーザは、ワーク３が本来の形状やテクスチャとどのような差があるかを容易に把握することができる。尚、本実施形態に係る３次元物体検査装置１では、Ｓ１０２〜Ｓ１０４の処理によってワーク３をロボット５によって所定の位置姿勢にした後、ワーク３の３次元形状及びテクスチャについて検査を行う例について説明したが、ワーク３が最初から所定の位置姿勢になっている場合には、Ｓ１０２〜Ｓ１０４の処理は省略するようにしても良い。また、テクスチャ３１が含まれていないワーク３やテクスチャ３１の検査の必要がないワーク３については、Ｓ１０７のテクスチャ検査については省略される。また、逆にワーク３の３次元形状検査が必要なく、テクスチャ検査のみが必要なものの場合には、Ｓ１０７の３次元形状検査を省略すれば良い。
【００２７】
尚、本発明の実施の形態は上述の形態に限るものではなく、本発明の思想の範囲を逸脱しない範囲で適宜変更することができる。
【符号の説明】
【００２８】
１        ３次元物体検査装置
３        ワーク（認識対象物）
４        撮像装置（撮像手段）
５        ロボット
７        ロボットコントローラ（ロボット制御手段）
１２      出力部（出力手段）
１５      ３次元モデル記憶手段
１６      ３次元認識手段
１７      判定手段
【図１】
0006703812.tif 000002
【図２】
0006703812.tif 000003