(57)【要約】【課題】対象物が光沢を有する物体や半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる三次元計測装置を提供すること。【解決手段】対象物を含む撮像範囲であって第１撮像部及び第２撮像部により撮像可能な撮像範囲における第１位置及び第２位置に所定図形が投射部により投射され、第１位置に投射された所定図形を含む撮像範囲が第１撮像部により撮像された第１撮像画像と、当該撮像範囲が第２撮像部により撮像された第２撮像画像と、第２位置に投射された所定図形を含む撮像範囲を第１撮像部により撮像された第３撮像画像と、当該撮像範囲を第２撮像部により撮像された第４撮像画像とに基づいて、第１撮像画像から検出された第１特徴点と、第２撮像画像から検出された第２特徴点とを対応付けた後、第１撮像部及び第２撮像部により撮像された画像に基づく三次元計測を行う、三次元計測装置。【選択図】図４
2018017610.tif 000002
【特許請求の範囲】
【請求項１】
対象物を含む撮像範囲であって第１撮像部及び第２撮像部により撮像可能な前記撮像範囲における第１位置及び第２位置に所定図形が投射部により投射され、前記第１位置に投射された前記所定図形を含む前記撮像範囲が前記第１撮像部により撮像された第１撮像画像と、当該撮像範囲が前記第２撮像部により撮像された第２撮像画像と、前記第２位置に投射された前記所定図形を含む前記撮像範囲を前記第１撮像部により撮像された第３撮像画像と、当該撮像範囲を前記第２撮像部により撮像された第４撮像画像とに基づいて、前記第１撮像画像から検出された第１特徴点と、前記第２撮像画像から検出された第２特徴点とを対応付けた後、前記第１撮像部及び前記第２撮像部により撮像された画像に基づく三次元計測を行う、
三次元計測装置。
【請求項２】
前記第１撮像画像内における前記所定図形の位置と前記第３撮像画像内における前記所定図形の位置と差を表す第１ベクトルと、前記第２撮像画像内における前記所定図形の位置と前記第４撮像画像内における前記所定図形の位置と差を表す第２ベクトルとのうち少なくとも一方に基づいて、前記第１特徴点と前記第２特徴点とを対応付ける、
請求項１に記載の三次元計測装置。
【請求項３】
前記第１撮像部が設けられた位置と、前記第２撮像部が設けられた位置とのそれぞれから前記第１位置及び前記第２位置までの距離の変化と、前記第１ベクトルと前記第２ベクトルとの少なくとも一方に基づく値の変化との対応関係を示す対応情報であって予め記憶された対応情報に基づいて、前記第１特徴点と前記第２特徴点とを対応付ける、
請求項２に記載の三次元計測装置。
【請求項４】
対応付けた前記第１特徴点と前記第２特徴点とに基づいて前記対象物の三次元形状を表す三次元点群を生成する、
請求項１から３のうちいずれか一項に記載の三次元計測装置。
【請求項５】
生成した前記三次元点群に基づいて前記対象物の位置及び姿勢を算出する、
請求項４に記載の三次元計測装置。
【請求項６】
請求項５に記載の三次元計測装置が算出した前記対象物の位置及び姿勢に基づいて所定作業を行う、
ロボット。
【請求項７】
請求項６に記載のロボットに前記所定作業を行わせる、
ロボット制御装置。
【請求項８】
前記投射部と、
前記第１撮像部と、
前記第２撮像部と、
請求項６に記載のロボットと、
請求項７に記載のロボット制御装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、三次元計測装置、ロボット、ロボット制御装置、及びロボットシステムに関する。
【背景技術】
【０００２】
対象物のモデルに基づいて対象物の位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいてロボットに所定の作業を行わせる技術の研究や開発が行われている。
【０００３】
これに関し、パターン投光手段によりパターン光を計測対象物に投光し、パターン光が投光された計測対象物を複数の撮像手段によりそれぞれ異なる方向から撮像し、パターン投光手段とそれぞれの撮像手段との間の校正を校正手段により行い、それぞれの撮像手段により撮像された画像に基づいて、それぞれの三次元点群を三次元点群計測手段により計測し、三次元点群計測手段により計測されたそれぞれの三次元点群を校正手段により得られた校正結果に基づいて所定の座標系に射影し、それぞれの信頼度を比較することによりそれぞれの三次元点群の計測結果を統合する三次元計測装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２１８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような三次元計測装置では、対象物が光沢を有する物体や半透明な物体である場合、３台以上の撮像手段を用いた位相シフト法を用いることで、対象物の光学特性によって三次元点群の計測結果の精度が低下してしまうことを抑制させていた。しかしながら、撮像手段の数を増やすことは、三次元計測装置の使用に関する費用を増大させてしまうことに加えて、３台以上の撮像手段を設置するために必要な空間を確保しなければならなくなる。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、対象物を含む撮像範囲であって第１撮像部及び第２撮像部により撮像可能な前記撮像範囲における第１位置及び第２位置に所定図形が投射部により投射され、前記第１位置に投射された前記所定図形を含む前記撮像範囲が前記第１撮像部により撮像された第１撮像画像と、当該撮像範囲が前記第２撮像部により撮像された第２撮像画像と、前記第２位置に投射された前記所定図形を含む前記撮像範囲を前記第１撮像部により撮像された第３撮像画像と、当該撮像範囲を前記第２撮像部により撮像された第４撮像画像とに基づいて、前記第１撮像画像から検出された第１特徴点と、前記第２撮像画像から検出された第２特徴点とを対応付けた後、前記第１撮像部及び前記第２撮像部により撮像された画像に基づく三次元計測を行う、三次元計測装置である。
この構成により、三次元計測装置は、対象物を含む撮像範囲であって第１撮像部及び第２撮像部により撮像可能な撮像範囲における第１位置及び第２位置に所定図形が投射部により投射され、第１位置に投射された所定図形を含む撮像範囲が第１撮像部により撮像された第１撮像画像と、当該撮像範囲が第２撮像部により撮像された第２撮像画像と、第２位置に投射された所定図形を含む撮像範囲を第１撮像部により撮像された第３撮像画像と、当該撮像範囲を第２撮像部により撮像された第４撮像画像とに基づいて、第１撮像画像から検出された第１特徴点と、第２撮像画像から検出された第２特徴点とを対応付けた後、第１撮像部及び第２撮像部により撮像された画像に基づく三次元計測を行う。これにより、三次元計測装置は、対象物が光沢を有する物体や半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【０００７】
また、本発明の他の態様は、三次元計測装置において、前記第１撮像画像内における前記所定図形の位置と前記第３撮像画像内における前記所定図形の位置と差を表す第１ベクトルと、前記第２撮像画像内における前記所定図形の位置と前記第４撮像画像内における前記所定図形の位置と差を表す第２ベクトルとのうち少なくとも一方に基づいて、前記第１特徴点と前記第２特徴点とを対応付ける、構成が用いられてもよい。
この構成により、三次元計測装置は、第１撮像画像内における所定図形の位置と第３撮像画像内における所定図形の位置と差を表す第１ベクトルと、第２撮像画像内における所定図形の位置と第４撮像画像内における所定図形の位置と差を表す第２ベクトルとのうち少なくとも一方に基づいて、第１特徴点と第２特徴点とを対応付ける。これにより、三次元計測装置は、第１ベクトルと第２ベクトルとのうち少なくとも一方に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【０００８】
また、本発明の他の態様は、三次元計測装置において、前記第１撮像部が設けられた位置と、前記第２撮像部が設けられた位置とのそれぞれから前記第１位置及び前記第２位置までの距離の変化と、前記第１ベクトルと前記第２ベクトルとの少なくとも一方に基づく値の変化との対応関係を示す対応情報であって予め記憶された対応情報に基づいて、前記第１特徴点と前記第２特徴点とを対応付ける、構成が用いられてもよい。
この構成により、三次元計測装置は、第１撮像部が設けられた位置と、第２撮像部が設けられた位置とのそれぞれから第１位置及び第２位置までの距離の変化と、第１ベクトルと第２ベクトルとの少なくとも一方に基づく値の変化との対応関係を示す対応情報であって予め記憶された対応情報に基づいて、第１特徴点と第２特徴点とを対応付ける。これにより、三次元計測装置は、対応情報に基づいて対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【０００９】
また、本発明の他の態様は、三次元計測装置において、対応付けた前記第１特徴点と前記第２特徴点とに基づいて前記対象物の三次元形状を表す三次元点群を生成する、構成が用いられてもよい。
この構成により、三次元計測装置は、対応付けた第１特徴点と第２特徴点とに基づいて対象物の三次元形状を表す三次元点群を生成する。これにより、三次元計測装置は、生成した三次元点群に基づいて、対象物の位置及び姿勢を精度よく検出することができる。
【００１０】
また、本発明の他の態様は、三次元計測装置において、生成した前記三次元点群に基づいて前記対象物の位置及び姿勢を算出する、構成が用いられてもよい。
この構成により、三次元計測装置は、生成した三次元点群に基づいて対象物の位置及び姿勢を算出する。これにより、三次元計測装置は、精度よく算出した対象物の位置及び姿勢を他の装置に出力することができる。
【００１１】
また、本発明の他の態様は、上記に記載の三次元計測装置が算出した前記対象物の位置及び姿勢に基づいて所定作業を行う、ロボットである。
この構成により、ロボットは、三次元計測装置が三次元計測を行った結果に基づいて所定作業を行う。これにより、ロボットは、高い精度で所定作業を行うことができる。
【００１２】
また、本発明の他の態様は、上記に記載のロボットに前記所定作業を行わせる、ロボット制御装置である。
この構成により、ロボット制御装置は、三次元計測装置が三次元計測を行った結果に基づいてロボットに所定作業を行わせる。これにより、ロボット制御装置は、高い精度で所定作業をロボットに行わせることができる。
【００１３】
また、本発明の他の態様は、前記投射部と、前記第１撮像部と、前記第２撮像部と、上記に記載のロボットと、上記に記載のロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、三次元計測装置が三次元計測を行った結果に基づいてロボットに所定作業を行わせる。これにより、ロボットシステムは、高い精度で所定作業をロボットに行わせることができる。
【００１４】
以上により、三次元計測装置は、対象物を含む撮像範囲であって第１撮像部及び第２撮像部により撮像可能な撮像範囲における第１位置及び第２位置に所定図形が投射部により投射され、第１位置に投射された所定図形を含む撮像範囲が第１撮像部により撮像された第１撮像画像と、当該撮像範囲が第２撮像部により撮像された第２撮像画像と、第２位置に投射された所定図形を含む撮像範囲を第１撮像部により撮像された第３撮像画像と、当該撮像範囲を第２撮像部により撮像された第４撮像画像とに基づいて、第１撮像画像から検出された第１特徴点と、第２撮像画像から検出された第２特徴点とを対応付けた後、第１撮像部及び第２撮像部により撮像された画像に基づく三次元計測を行う。これにより、三次元計測装置は、対象物が光沢を有する物体や半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
また、ロボットは、三次元計測装置が三次元計測を行った結果に基づいて所定作業を行う。これにより、ロボットは、高い精度で所定作業を行うことができる。
ロボット制御装置、及びロボットシステムは、三次元計測装置が三次元計測を行った結果に基づいてロボットに所定作業を行わせる。これにより、ロボット制御装置、及びロボットシステムは、高い精度で所定作業をロボットに行わせることができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る三次元計測システム１の構成の一例を示す図である。
【図２】所定図形の一例を示す図である。
【図３】三次元計測装置３０のハードウェア構成の一例を示す図である。
【図４】三次元計測装置３０の機能構成の一例を示す図である。
【図５】三次元計測装置３０が三次元計測を行う処理の流れの一例を示すフローチャートである。
【図６】第１特徴点が検出される前の第１撮像画像と、第２特徴点が検出される前の第２撮像画像とを例示する図である。
【図７】第１特徴点が検出された後の第１撮像画像と、第２特徴点が検出された後の第２撮像画像とを例示する図である。
【図８】三次元計測装置３０が対応情報を生成する処理の流れの一例を示すフローチャートである。
【図９】対象高さがＺ＝０の場合において、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致している様子の一例を示す図である。
【図１０】対象高さがＺ＝２の場合において、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致している様子の一例を示す図である。
【図１１】対象高さがＺ＝４の場合において、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致している様子の一例を示す図である。
【図１２】対応情報の一例を示す図である。
【図１３】実施形態の変形例に係るロボットシステム２の構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００１７】
＜三次元計測システムの構成＞
まず、三次元計測システム１の構成について説明する。
図１は、実施形態に係る三次元計測システム１の構成の一例を示す図である。三次元計測システム１は、投射部５と、撮像部１０と、三次元計測装置３０を備える。
【００１８】
投射部５は、例えば、投射画像を投射するための液晶ライトバルブや投射レンズ、液晶駆動部、光源として超高圧水銀ランプやメタルハライドランプ等を備えるプロジェクターである。投射部５は、図１に示した作業台ＴＢの上面に載置された対象物Ｏを含む範囲である投射範囲ＰＡに投射画像を投射可能な位置に設置される。
【００１９】
作業台ＴＢは、例えば、テーブル等の台である。なお、作業台ＴＢは、テーブルに代えて、対象物Ｏを載置することが可能な台であれば、他の台であってもよい。
【００２０】
対象物Ｏは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図１では、図の簡略化のため、対象物Ｏを直方体形状の物体として表している。なお、対象物Ｏは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物Ｏの形状は、直方体形状に代えて、他の形状であってもよい。
【００２１】
また、対象物Ｏは、例えば、投射部５により投射された光の意図しない反射や透過を発生させる光学特性を有する物体である。以下では、一例として、対象物Ｏが、当該光が投射される表面の少なくとも一部が半透明な物体である場合について説明する。なお、対象物Ｏは、半透明な物体に代えて、当該光が投射される表面の少なくとも一部に光沢を有する物体であってもよく、当該光学特性を有さない物体、すなわち、当該一部に光沢を有さない不透明な物体であって当該表面の全体が不透明な物体であってもよい。
【００２２】
投射部５は、ケーブルによって三次元計測装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、投射部５は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって三次元計測装置３０と接続される構成であってもよい。
【００２３】
撮像部１０は、第１撮像部１１と、第２撮像部１２とを備えたステレオカメラである。撮像部１０は、図１に示した作業台ＴＢの上面に載置された対象物Ｏを含む範囲である撮像範囲ＣＡを、第１撮像部１１と第２撮像部１２との両方が撮像可能な位置に設置される。以下では、一例として、投射範囲ＰＡの全体が撮像範囲ＣＡの内側に含まれる場合について説明する。なお、撮像範囲ＣＡは、これに代えて、投射範囲ＰＡと部分的に重なる構成であってもよく、全体が投射範囲ＰＡの内側に含まれる構成であってもよい。
【００２４】
第１撮像部１１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。
第２撮像部１２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。
【００２５】
第１撮像部１１及び第２撮像部１２は、ケーブルによって三次元計測装置３０と通信可能に接続されている。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第１撮像部１１と第２撮像部１２のいずれか一方又は両方は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって三次元計測装置３０と接続される構成であってもよい。
【００２６】
三次元計測装置３０は、例えば、ワークステーションやデスクトップＰＣ（Personal  Computer）、ノートＰＣ、タブレットＰＣ、多機能携帯電話端末（スマートフォン）、通信機能付きの電子書籍リーダー、ＰＤＡ（Personal  Digital  Assistant）等の情報処理装置である。
【００２７】
三次元計測装置３０は、投射部５に投射画像を投射範囲ＰＡへ投射させる。三次元計測装置３０は、投射画像が投射された投射範囲ＰＡを含む撮像範囲ＣＡを第１撮像部１１及び第２撮像部１２にステレオ撮像させる。三次元計測装置３０は、第１撮像部１１及び第２撮像部１２がステレオ撮像した画像を第１撮像部１１及び第２撮像部１２のそれぞれから取得する。三次元計測装置３０は、取得した画像に基づく三次元計測を行う。具体的には、三次元計測装置３０は、取得した画像に基づく三次元計測として、当該画像に基づいて、対象物Ｏの三次元形状を表す三次元点群を生成する。より具体的には、三次元計測装置３０は、当該画像に基づいて、当該画像に含まれる対象物Ｏの表面の各点の三次元位置（三次元座標）を検出する。三次元計測装置３０は、検出した当該三次元位置に基づいて当該表面の三次元形状を表す点群である三次元点群を生成する。すなわち、三次元点群を構成する各点は、三次元位置を示す。当該三次元位置は、ワールド座標系ＷＣにおける三次元位置であってもよく、ロボット座標系ＲＣにおける三次元位置であってもよく、他の三次元座標系における三次元位置であってもよい。以下では、一例として、三次元計測装置３０が当該画像に基づいて、当該画像に含まれる対象物Ｏの表面の各点のワールド座標系ＷＣにおける三次元位置を検出する場合について説明する。なお、三次元計測装置３０が当該画像から三次元点群を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。三次元計測装置３０は、生成した三次元点群に基づいて、対象物Ｏの位置及び姿勢を算出する。
【００２８】
＜三次元計測装置が行う処理の概要＞
以下、三次元計測装置３０が行う処理の概要について説明する。なお、以下では、一例として、作業台ＴＢの上面が、ワールド座標系ＷＣにおけるＸＹ平面と平行である場合について説明する。なお、当該上面は、当該ＸＹ平面と非平行である構成であってもよい。
【００２９】
三次元計測装置３０は、投射範囲ＰＡ内（すなわち、撮像範囲ＣＡ内）へ所定図形を含む投射画像を投射部５に投射させる。この際、三次元計測装置３０は、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致するように投射画像を投射範囲ＰＡへ投射部５に投射させる。所定図形の予め決められた位置は、例えば、所定図形の図心の位置である。なお、所定図形の予め決められた位置は、これに代えて、所定図形に対応付けられた他の位置であってもよい。ここで、図２を参照し、所定図形について説明する。
【００３０】
図２は、所定図形の一例を示す図である。所定図形は、この一例において、ランダムドットパターンである。ランダムドットパターンは、所定形状の画素の塊であるドットが複数規則的に配置された画像であり、ドット毎に０又は２５５の輝度値がランダムに割り当てられた画像である。図２に示した例では、ドットの形状は、正方形状である。なお、ドットの形状は、正方形状に代えて、長方形状であってもよく、円形状であってもよく、楕円形状であってもよく、他の形状であってもよい。また、所定図形は、ランダムドットパターンに代えて、すべての画素の輝度値が一定の図形（輝度値が一様な図形）でなければ他の如何なる図形であってもよい。例えば、当該図形は、景色や人物が撮像された画像であってもよい。以下では、一例として、投射画像の全体が所定図形によって占められている場合について説明する。すなわち、以下では、投射画像が所定図形である場合について説明する。なお、投射画像は、投射画像の一部に所定図形を含む画像であってもよい。
【００３１】
三次元計測装置３０は、第１状態において、第１撮像部１１及び第２撮像部１２に撮像範囲ＣＡをステレオ撮像させる。第１状態は、投射範囲ＰＡ内に投射された所定図形の位置と第１位置とが投射範囲ＰＡ内において一致している状態のことである。三次元計測装置３０は、このステレオ撮像によって第１撮像部１１により撮像された撮像画像を第１撮像画像として第１撮像部１１から取得する。また、三次元計測装置３０は、当該ステレオ撮像によって第２撮像部１２により撮像された撮像画像を第２撮像画像として第２撮像部１２から取得する。
【００３２】
また、三次元計測装置３０は、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第２位置と投射範囲ＰＡ内において一致するように投射画像を投射範囲ＰＡへ投射部５に投射させる。第２位置は、投射範囲ＰＡ内において第１位置と異なる位置である。ただし、第２位置のワールド座標系ＷＣにおける高さは、第１位置のワールド座標系ＷＣにおける高さとほぼ同じ高さでなければならない。第１位置のワールド座標系ＷＣにおける高さは、第１位置のワールド座標系ＷＣにおけるＺ軸方向の位置のことであり、第２位置のワールド座標系ＷＣにおける高さは、第２位置のワールド座標系ＷＣにおけるＺ軸方向の位置のことである。なお、作業台ＴＢの上面が、ワールド座標系ＷＣにおけるＸＹ平面と非平行である場合、第１位置のワールド座標系ＷＣにおける高さと第２位置のワールド座標系ＷＣにおける高さとの差が所定範囲内に収まる（近似的に同じと見做せる）程度に、第１位置と第２位置とを近づけることにより、三次元計測装置３０は、以下において説明する処理と同じ処理を行うことができる。
【００３３】
三次元計測装置３０は、第２状態において、第１撮像部１１及び第２撮像部１２に撮像範囲ＣＡをステレオ撮像させる。第２状態は、投射範囲ＰＡ内に投射された所定図形の位置と第２位置とが投射範囲ＰＡ内において一致している状態のことである。三次元計測装置３０は、このステレオ撮像によって第１撮像部１１により撮像された撮像画像を第３撮像画像として第１撮像部１１から取得する。また、三次元計測装置３０は、当該ステレオ撮像によって第２撮像部１２により撮像された撮像画像を第４撮像画像として第２撮像部１２から取得する。
【００３４】
また、三次元計測装置３０は、取得した第１撮像画像及び第２撮像画像から特徴点を検出する。特徴点は、撮像画像内における特徴的な点のことである。三次元計測装置３０は、ＳＵＲＦ（Speeded  Up  Robust  Features）、 ＳＩＦＴ（Scale-Invariant  Feature  Transform）等の既存のアルゴリズムによって第１撮像画像及び第２撮像画像から特徴点を検出する構成であってもよく、これから開発される方法によって第１撮像画像及び第２撮像画像から特徴点を検出する構成であってもよい。具体的には、三次元計測装置３０は、取得した第１撮像画像に基づいて、第１撮像画像における１以上の特徴点である第１特徴点を検出する。また、三次元計測装置３０は、取得した第２撮像画像に基づいて、第２撮像画像における１以上の特徴点である第２特徴点を検出する。
【００３５】
三次元計測装置３０は、第１撮像画像〜第４撮像画像に基づいて、検出した第１特徴点と、検出した第２特徴点とを対応付ける。そして、三次元計測装置３０は、対応付けられた第１特徴点及び第２特徴点と、第１撮像画像及び第２撮像画像とに基づく三次元計測を行う。これにより、三次元計測装置３０は、対象物Ｏの位置及び姿勢を算出する。
【００３６】
すなわち、三次元計測装置３０は、対象物Ｏを含む撮像範囲ＣＡであって第１撮像部１１及び第２撮像部１２により撮像可能な撮像範囲ＣＡにおける第１位置及び第２位置に所定図形が投射部５により投射され、第１位置に投射された所定図形を含む撮像範囲ＣＡが第１撮像部１１により撮像された第１撮像画像と、当該撮像範囲ＣＡが第２撮像部１２により撮像された第２撮像画像と、第２位置に投射された所定図形を含む撮像範囲ＣＡを第１撮像部１１により撮像された第３撮像画像と、当該撮像範囲ＣＡを第２撮像部１２により撮像された第４撮像画像とに基づいて、第１撮像画像から検出された第１特徴点と、第２撮像画像から検出された第２特徴点とを対応付けた後、第１撮像部１１及び第２撮像部１２により撮像された第１撮像画像及び第２撮像画像に基づく三次元計測を行う。これにより、三次元計測装置３０は、対象物Ｏが光沢を有する物体や半透明な物体であっても、対象物Ｏの光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。以下では、三次元計測装置３０が三次元計測を行う処理について詳しく説明する。
【００３７】
＜三次元計測装置のハードウェア構成＞
以下、図３を参照し、三次元計測装置３０のハードウェア構成について説明する。図３は、三次元計測装置３０のハードウェア構成の一例を示す図である。
【００３８】
三次元計測装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。また、三次元計測装置３０は、通信部３４を介して投射部５、撮像部１０のそれぞれと通信を行う。
【００３９】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、三次元計測装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、三次元計測装置３０が処理する各種の情報、各種の画像、各種のプログラム等を格納する。
【００４０】
入力受付部３３は、例えば、表示部３５と一体に構成されたタッチパネルである。なお、入力受付部３３は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００４１】
＜三次元計測装置の機能構成＞
以下、図４を参照し、三次元計測装置３０の機能構成について説明する。図４は、三次元計測装置３０の機能構成の一例を示す図である。
【００４２】
三次元計測装置３０は、記憶部３２と、制御部３６を備える。
【００４３】
制御部３６は、三次元計測装置３０の全体を制御する。制御部３６は、投射制御部３６１と、撮像制御部３６３と、画像取得部３６５と、特徴点検出部３６７と、対応付処理部３６９と、三次元点群生成部３７５と、位置姿勢算出部３７７を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００４４】
投射制御部３６１は、投射部５に投射画像を投射範囲ＰＡへ投射させる。
撮像制御部３６３は、撮像部１０に撮像範囲ＣＡをステレオ撮像させる。具体的には、撮像制御部３６３は、第１撮像部１１及び第２撮像部１２に撮像範囲ＣＡをステレオ撮像させる。
【００４５】
画像取得部３６５は、撮像部１０が撮像した撮像画像を撮像部１０から取得する。具体的には、画像取得部３６５は、第１撮像部１１が撮像した撮像画像を第１撮像部１１から取得する。また、画像取得部３６５は、第２撮像部１２が撮像した撮像画像を第２撮像部１２から取得する。
【００４６】
特徴点検出部３６７は、画像取得部３６５が取得した撮像画像に基づいて、当該撮像画像における１以上の特徴点を検出する。
対応付処理部３６９は、ある撮像画像に基づいて特徴点検出部３６７が検出した１以上の特徴点と、当該撮像画像と異なる他の撮像画像に基づいて特徴点検出部３６７が検出した１以上の特徴点とを対応付ける処理を行う。
【００４７】
三次元点群生成部３７５は、対応付処理部３６９による処理の結果と、画像取得部３６５が第１撮像部１１から取得した撮像画像と、画像取得部３６５が第２撮像部１２から取得した撮像画像とに基づいて、これらの撮像画像に含まれる対象物Ｏの三次元点群を生成する。
位置姿勢算出部３７７は、三次元点群生成部３７５が生成した三次元点群に基づいて、対象物Ｏのワールド座標系ＷＣにおける位置及び姿勢を算出する。
【００４８】
＜三次元計測装置が三次元計測を行う処理＞
以下、図５を参照し、三次元計測装置３０が三次元計測を行う処理について説明する。図５は、三次元計測装置３０が三次元計測を行う処理の流れの一例を示すフローチャートである。
【００４９】
投射制御部３６１は、投射部５に所定図形を含む投射画像を投射範囲ＰＡへ投射させる（ステップＳ１１０）。具体的には、投射制御部３６１は、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致するように投射画像を投射範囲ＰＡへ投射部５に投射させる。
【００５０】
次に、撮像制御部３６３は、第１撮像部１１及び第２撮像部１２に撮像範囲ＣＡをステレオ撮像させる（ステップＳ１２０）。次に、画像取得部３６５は、第１撮像部１１が撮像した撮像画像を第１撮像画像として第１撮像部１１から取得し、第２撮像部１２が撮像した撮像画像を第２撮像画像として第２撮像部１２から取得する（ステップＳ１３０）。
【００５１】
次に、投射制御部３６１は、投射部５に所定図形を含む投射画像を投射範囲ＰＡへ投射させる（ステップＳ１４０）。具体的には、投射制御部３６１は、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第２位置と投射範囲ＰＡ内において一致するように投射画像を投射範囲ＰＡへ投射部５に投射させる。
【００５２】
ステップＳ１１０において投射範囲ＰＡに投射された投射画像と、ステップＳ１４０において投射範囲ＰＡに投射された投射画像との違いは、投射画像内における所定図形の位置である。ここで、所定図形が投射画像の一部に含まれる場合であり、且つ所定図形の形状が三角形状の図形であった場合を例に挙げて説明する。ステップＳ１１０において投射範囲ＰＡに投射された投射画像と、ステップＳ１４０において投射範囲ＰＡに投射された投射画像とを比較した場合、投射範囲ＰＡ内では、所定図形が投射範囲ＰＡ内において第１位置から第２位置へと移動したように見える。これを実現する方法の一例は、画像内において所定図形の位置が互いに異なる２つの投射画像のうちの一方をステップＳ１１０において投射部５に投射範囲ＰＡへ投射させ、他方をステップＳ１４０において投射部５に投射範囲ＰＡへ投射させる方法である。なお、三次元計測装置３０は、投射部５の光軸の方向を変化させる方法等の他の方法によって当該違いを実現する構成であってもよい。
【００５３】
ステップＳ１４０の処理が行われた後、撮像制御部３６３は、第１撮像部１１及び第２撮像部１２に撮像範囲ＣＡをステレオ撮像させる（ステップＳ１５０）。次に、画像取得部３６５は、第１撮像部１１が撮像した撮像画像を第３撮像画像として第１撮像部１１から取得し、第２撮像部１２が撮像した撮像画像を第４撮像画像として第２撮像部１２から取得する（ステップＳ１６０）。
【００５４】
次に、特徴点検出部３６７は、ステップＳ１３０において画像取得部３６５が取得した第１撮像画像に基づいて、第１撮像画像における１以上の特徴点である第１特徴点を検出するとともに、ステップＳ１３０において画像取得部３６５が取得した第２撮像画像に基づいて、第２撮像画像における１以上の特徴点である第２特徴点を検出する（ステップＳ１７０）。ここで、図６及び図７を参照し、第１撮像画像から検出された第１特徴点、及び第２撮像画像から検出された第２特徴点について説明する。
【００５５】
図６は、第１特徴点が検出される前の第１撮像画像と、第２特徴点が検出される前の第２撮像画像とを例示する図である。図６に示した第１撮像画像Ｐ１は、第１特徴点が検出される前の第１撮像画像の一例である。第１撮像画像Ｐ１内における点のそれぞれは、輝度値が「２５５」のドットを示す。また、第１撮像画像Ｐ１内における当該点以外の部分は、輝度値が「０」のドットによって占められている部分である。また、図６に示した第２撮像画像Ｐ２は、第２特徴点が検出される前の第２撮像画像の一例である。第２撮像画像Ｐ２内における点のそれぞれは、輝度値が「２５５」のドットを示す。また、第２撮像画像Ｐ２内における当該点以外の部分は、輝度値が「０」のドットによって占められている部分である。ここで、図６に示した例では、図が煩雑になるのを避けるため、第１撮像画像Ｐ１及び第２撮像画像Ｐ２のそれぞれにおいて輝度値が「２５５」のドットの数を、輝度値が「０」のドットの数に比べて少なくして表している。
【００５６】
特徴点検出部３６７は、図７に示したように、第１撮像画像Ｐ１から第１特徴点を検出し、第２撮像画像Ｐ２から第２特徴点を検出する。図７は、第１特徴点が検出された後の第１撮像画像と、第２特徴点が検出された後の第２撮像画像とを例示する図である。図７に示した第１撮像画像Ｐ１１は、第１特徴点が検出された後の第１撮像画像の一例である。第１撮像画像Ｐ１１内における点のうちハッチングされた点のそれぞれは、第１撮像画像Ｐ１から特徴点検出部３６７が検出した第１特徴点である。また、図７に示した第２撮像画像Ｐ２１は、第２特徴点が検出された後の第２撮像画像の一例である。第２撮像画像Ｐ２１内における点のうちハッチングされた点のそれぞれは、第２撮像画像Ｐ２から特徴点検出部３６７が検出した第２特徴点である。
【００５７】
ステップＳ１７０の処理が行われた後、対応付処理部３６９は、第１対応付処理を行う（ステップＳ１８０）。ここで、ステップＳ１８０の第１対応付処理について説明する。対応付処理部３６９は、第１対応付処理において、例えば、第１特徴点のそれぞれ毎に、第１特徴点に対応する第２特徴点の候補であってエピポーラ幾何を満たす１以上の第２特徴点の候補を検出する。以下では、説明の便宜上、第２特徴点の候補を第２特徴点候補と称して説明する。対応付処理部３６９が第２特徴点候補を検出する方法は、既知の方法であってもよく、これから開発される方法であってもよい。対応付処理部３６９は、第１特徴点のそれぞれ毎に、第１特徴点と、第１特徴点に対応する１以上の第２特徴点候補とを対応付ける。
【００５８】
また、対応付処理部３６９は、ある第１特徴点に対応する第２特徴点候補が２以上ある場合、当該第１特徴点と、当該２以上の第２特徴点候補のそれぞれとに基づくワールド座標系ＷＣにおけるＺ軸方向の位置を算出する。当該位置を算出する方法は、例えば、三角測量法であるが、これに限られず、他の方法であってもよい。そして、対応付処理部３６９は、ある第１特徴点と、当該２以上の第２特徴点候補のうちのある第２特徴点候補と、当該第１特徴点と当該第２特徴点候補とに基づいて算出された当該Ｚ軸方向の位置とを対応付ける。
【００５９】
ステップＳ１８０の処理が行われた後、対応付処理部３６９は、第１撮像画像と、第３撮像画像とに基づいて、第１撮像画像に含まれる所定図形の第１撮像画像上における位置から、第３撮像画像に含まれる所定図形の第３撮像画像上における位置までの軌跡を表す第１ベクトルをオプティカルフローとして算出する（ステップＳ１９０）。ここで、ステップＳ１９０の処理について説明する。
【００６０】
前述した通り、ステップＳ１１０において投射範囲ＰＡに投射された所定図形の投射範囲ＰＡ内における位置（すなわち、第１位置）と、ステップＳ１４０において投射範囲ＰＡに投射された所定図形の投射範囲ＰＡ内における位置（すなわち、第２位置）とは、異なる位置である。このため、第１状態において撮像範囲ＣＡが第１撮像部１１により撮像された第１撮像画像と、第２状態において撮像範囲ＣＡが第１撮像部１１により撮像された第３撮像画像とを比較した場合、これらの撮像画像に含まれる所定図形は、撮像画像に含まれる投射範囲ＰＡ内の第１位置から撮像画像に含まれる投射範囲ＰＡ内の第２位置まで移動したように見える。
【００６１】
そこで、対応付処理部３６９は、第１撮像画像に含まれる所定画像の予め決められた位置の撮像部座標系ＣＣにおける位置を第１検出位置として検出する。また、対応付処理部３６９は、第３撮像画像に含まれる所定画像の予め決められた位置の撮像部座標系ＣＣにおける位置である第３検出位置を検出する。対応付処理部３６９は、検出した第１検出位置及び第３検出位置に基づいて、撮像部座標系ＣＣにおける第１検出位置と撮像部座標系ＣＣにおける第３検出位置との差を表す第１ベクトルをオプティカルフローとして算出する。
【００６２】
このようなオプティカルフローの大きさは、図１に示したように第１撮像部１１及び第２撮像部１２のワールド座標系ＷＣにおける位置が固定されている場合、投射範囲ＰＡ内における第１位置のワールド座標系ＷＣにおける高さの変化に応じて変化する。このようなオプティカルフローの大きさと当該高さとの関係を利用することにより、対応付処理部３６９は、後述するステップＳ２１０において、第１特徴点毎に、第１特徴点に対応する第２特徴点を、第１特徴点に対応する２以上の第２特徴点候補の中から特定することができる。以下では、説明の便宜上、当該高さを、対象高さと称して説明する。
【００６３】
ここで、オプティカルフローの大きさは、この一例において、オプティカルフローのノルムによって表す。なお、オプティカルフローの大きさは、これに代えて、オプティカルフローに基づく他の値によって表す構成であってもよい。
【００６４】
なお、ステップＳ１９０において、対応付処理部３６９は、第２撮像画像と、第４撮像画像とに基づいて、オプティカルフローを算出する構成であってもよい。この場合、対応付処理部３６９は、第２撮像画像に含まれる所定画像の予め決められた位置の撮像部座標系ＣＣにおける位置を第２検出位置として検出する。また、対応付処理部３６９は、第４撮像画像に含まれる所定画像の予め決められた位置の撮像部座標系ＣＣにおける位置である第４検出位置を検出する。対応付処理部３６９は、検出した第２検出位置及び第４検出位置に基づいて、撮像部座標系ＣＣにおける第２検出位置と第４検出位置との差を表す第２ベクトルをオプティカルフローとして算出する。
【００６５】
また、ステップＳ１９０において、対応付処理部３６９は、第１撮像画像と、第２撮像画像と、第３撮像画像と、第４撮像画像とに基づいて、オプティカルフローを算出する構成であってもよい。この場合、対応付処理部３６９は、第１ベクトルと、第２ベクトルとを算出する。そして、対応付処理部３６９は、第１ベクトルと第２ベクトルとの平均をオプティカルフローとして算出する。
【００６６】
ステップＳ１９０の処理が行われた後、対応付処理部３６９は、記憶部３２に予め記憶された対応情報を記憶部３２から読み出す（ステップＳ２００）。対応情報は、対象高さと、各対象高さに応じたオプティカルフローの大きさとが対応付けられた情報である。例えば、対応付処理部３６９は、ある対象高さに応じたオプティカルフローの大きさを特定したい場合、対応情報に基づいて当該対象高さに応じたオプティカルフローの大きさを特定することができる。三次元計測装置３０が対応情報を生成する処理については、後述する。
【００６７】
次に、対応付処理部３６９は、ステップＳ１９０において算出されたオプティカルフローと、ステップＳ２００において記憶部３２から読み出した対応情報とに基づいて、第１特徴点のそれぞれ毎に第２対応付処理を行う（ステップＳ２１０）。ある第１特徴点に対する第２対応付処理は、当該第１特徴点に対応する第２特徴点を、当該第１特徴点に対応付けられた第２特徴点候補の中から特定し、特定した当該第２特徴点と当該第１特徴点とを対応付ける処理のことである。ただし、第２対応付処理において、対応付処理部３６９は、ある第１特徴点に対応付けられた第２特徴点候補が１つの場合、当該第２特徴点候補を当該第１特徴点に対応する第２特徴点として特定する。ここで、ステップＳ２１０の処理について説明する。
【００６８】
前述した通り、第１撮像部１１及び第２撮像部１２のワールド座標系ＷＣにおける位置が固定されている場合、投射範囲ＰＡ内における第１位置及び第２位置のワールド座標系ＷＣにおける高さの変化に応じて変化する。これはすなわち、対応情報が予め導出されている場合、対応付処理部３６９が、対応情報とステップＳ１９０において算出されたオプティカルフローとに基づいて、第１撮像画像に含まれる投射範囲ＰＡ内において所定図形が位置している面のワールド座標系ＷＣにおける高さを特定することができることを示している。当該高さは、ワールド座標系ＷＣにおけるＺ軸方向の位置のことである。そこで、対応付処理部３６９は、ステップＳ１９０において算出されたオプティカルフローと、ステップＳ２００において記憶部３２から読み出した対応情報とに基づいて、当該面（例えば、対象物Ｏの上面）のワールド座標系ＷＣにおける高さを特定する。対応付処理部３６９は、第１撮像画像に含まれる当該面内に含まれる第１特徴点のそれぞれ毎に、以下の処理を行う。対応付処理部３６９は、ある第１特徴点に対する当該処理において、当該第１特徴点と、当該第１特徴点に対応付けられた第２特徴点候補のそれぞれとに基づく三次元位置を三角測量法によって算出する。対応付処理部３６９は、算出した三次元位置のうち、ワールド座標系ＷＣにおける高さが、当該面のワールド座標系ＷＣにおける高さとほぼ一致する（最も近い）三次元位置を特定する。対応付処理部３６９は、特定した三次元位置を算出するために用いた第２特徴点候補を、当該三次元位置を算出するために用いた第１特徴点に対応する第２特徴点として特定する。対応付処理部３６９は、特定した当該第１特徴点と当該第２特徴点とを対応付ける。対応付処理部３６９は、このような第２対応付処理を、第１特徴点のそれぞれ毎に行う。これにより、対応付処理部３６９は、第１特徴点と第２特徴点とを精度よく対応付けることができる。
【００６９】
ステップＳ２１０の処理が行われた後、三次元点群生成部３７５は、ステップＳ２１０における第２対応付処理の結果として互いに対応付けられた第１特徴点及び第２特徴点とに基づいて、第１撮像画像に含まれる対象物Ｏの三次元点群を生成する（ステップＳ２２０）。当該三次元点群を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。なお、上記のステップＳ２２０の処理は、三次元計測の一例である。次に、位置姿勢算出部３７７は、ステップＳ２２０において生成された対象物Ｏの三次元点群に基づいて、対象物Ｏのワールド座標系ＷＣにおける位置及び姿勢を算出し（ステップＳ２３０）、処理を終了する。位置姿勢算出部３７７が当該三次元点群に基づいて対象物Ｏの位置及び姿勢を算出する方法は、既知の方法であってもよく、これから開発される方法であってもよい。
【００７０】
このように、三次元計測装置３０は、対象物Ｏを含む撮像範囲ＣＡであって第１撮像部１１及び第２撮像部１２により撮像可能な撮像範囲ＣＡにおける第１位置及び第２位置に所定図形が投射部５により投射され、第１位置に投射された所定図形を含む撮像範囲ＣＡが第１撮像部１１により撮像された第１撮像画像と、当該撮像範囲ＣＡが第２撮像部１２により撮像された第２撮像画像と、第２位置に投射された所定図形を含む撮像範囲ＣＡを第１撮像部１１により撮像された第３撮像画像と、当該撮像範囲ＣＡを第２撮像部１２により撮像された第４撮像画像とに基づいて、第１撮像画像から検出された第１特徴点と、第２撮像画像から検出された第２特徴点とを対応付けた後、第１撮像部１１及び第２撮像部１２により撮像された第１撮像画像及び第２撮像画像に基づく三次元計測を行う。これにより、三次元計測装置３０は、対象物Ｏが光沢を有する物体や半透明な物体であっても、対象物Ｏの光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００７１】
＜三次元計測装置が対応情報を生成する処理＞
以下、図８〜図１１を参照し、三次元計測装置３０が対応情報を生成する処理について説明する。図８は、三次元計測装置３０が対応情報を生成する処理の流れの一例を示すフローチャートである。
【００７２】
対応付処理部３６９は、記憶部３２に予め記憶された対象高さ情報を記憶部３２から読み出す。対応高さ情報は、ユーザーにより選択された複数の対象高さを示す情報である。以下では、説明の便宜上、対象高さをＺの値によって表す。すなわち、Ｚ＝０は、対象高さが基準となる高さであることを表す。また、Ｚ＝ｎは、対象高さが基準となる高さから所定高さのｎ倍分だけ高い高さであることを表す。ここで、ｎは、０を除く実数であれば、如何なる数であってもよい。
【００７３】
また、以下では、一例として、ユーザーによりＺ＝０、２、４、６、８の５つの対象高さが選択された場合について説明する。すなわち対象高さ情報は、Ｚ＝０、２、４、６、８の５つの対象高さのそれぞれを示す。
【００７４】
対応付処理部３６９は、記憶部３２から読み出した対象高さ情報が示す対象高さ毎に、ステップＳ３２０〜ステップＳ４１０の処理を繰り返し行う（ステップＳ３１０）。すなわち、対応付処理部３６９は、Ｚ＝０、２、４、６、８の５つの対象高さのそれぞれ毎に、当該処理を繰り返し行う。
【００７５】
対応付処理部３６９は、ステップＳ３１０において選択された対象高さに基づいて、ユーザーが作業台ＴＢの上面のワールド座標系ＷＣにおける高さを対象高さと一致させるまで待機する（ステップＳ３２０）。例えば、作業台ＴＢの上面のワールド座標系ＷＣにおける高さを対象高さと一致させる作業が終了したことを示す操作をユーザーから対応付処理部３６９が受け付けた場合、投射制御部３６１は、ステップＳ３３０に遷移する。なお、作業台ＴＢの上面のワールド座標系ＷＣにおける高さを変更する機構部を作業台ＴＢが備えている場合、対応付処理部３６９は、当該機構部を制御し、当該作業を当該機構部に行わせる構成であってもよい。この場合、投射制御部３６１は、対応付処理部３６９が当該処理を終了させた場合にステップＳ３３０に遷移する。
【００７６】
そして、ステップＳ３３０において、投射制御部３６１は、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致するように投射画像を投射範囲ＰＡへ投射部５に投射させる（ステップＳ３３０）。
【００７７】
次に、撮像制御部３６３は、第１撮像部１１と第２撮像部１２の少なくとも一方に撮像範囲ＣＡを撮像させる（ステップＳ３４０）。以下では、一例として、ステップＳ３４０において、撮像制御部３６３が第１撮像部１１に撮像範囲ＣＡを撮像させる場合について説明する。次に、画像取得部３６５は、第１撮像部１１が撮像した撮像画像を第１撮像部１１から取得する（ステップＳ３５０）。
【００７８】
次に、投射制御部３６１は、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第２位置と投射範囲ＰＡ内において一致するように投射画像を投射範囲ＰＡへ投射部５に投射させる（ステップＳ３７０）。
【００７９】
次に、撮像制御部３６３は、ステップＳ３４０において撮像範囲ＣＡを撮像した撮像部と同じ撮像部（この一例において、第１撮像部１１）に撮像範囲ＣＡを撮像させる（ステップＳ３８０）。次に、画像取得部３６５は、第１撮像部１１が撮像した撮像画像を第１撮像部１１から取得する（ステップＳ３９０）。
【００８０】
次に、対応付処理部３６９は、ステップＳ３５０において画像取得部３６５が取得した撮像画像に含まれる所定図形の当該撮像画像上における位置から、ステップＳ３９０において画像取得部３６５が取得した撮像画像に含まれる所定図形の第２撮像画像上における位置までの軌跡を表すベクトルをオプティカルフローとして算出する（ステップＳ４１０）。そして、対応付処理部３６９は、算出したオプティカルフローにステップＳ３１０において選択された対象高さを対応付ける。
【００８１】
ここで、図９〜図１２を参照し、ステップＳ３１０〜ステップＳ４１０の処理について説明する。図９は、対象高さがＺ＝０の場合において、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致している様子の一例を示す図である。図１０は、対象高さがＺ＝２の場合において、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致している様子の一例を示す図である。図１１は、対象高さがＺ＝４の場合において、投射範囲ＰＡ内に投射された所定図形の予め決められた位置が、投射範囲ＰＡ内において予め決められた第１位置と投射範囲ＰＡ内において一致している様子の一例を示す図である。図９〜図１１において、投射画像に含まれる所定図形を明確に示すため、所定図形を矢印ＡＲによって表している。
【００８２】
三次元計測装置３０は、例えば、１回目のステップＳ３２０〜ステップＳ４１０の処理を、作業台ＴＢの上面のワールド座標系ＷＣにおける高さが図９に示した高さと一致している状態において行う。三次元計測装置３０は、２回目のステップＳ３２０〜ステップＳ４１０の処理を、作業台ＴＢの上面のワールド座標系ＷＣにおける高さが図１０に示した高さと一致している状態において行う。そして、三次元計測装置３０は、３回目のステップＳ３２０〜ステップＳ４１０の処理を、作業台ＴＢの上面のワールド座標系ＷＣにおける高さが図１１に示した高さと一致している状態において行う。図９〜図１１のそれぞれを比較することにより、作業台ＴＢの上面のワールド座標系ＷＣにおける高さが高くなるほど、第１撮像部１１及び第２撮像部１２のそれぞれと当該第１位置（及び第２位置）との間の距離が長くなる。これにより、作業台ＴＢの上面のワールド座標系ＷＣにおける高さが高くなるほど、ステップＳ３５０において画像取得部３６５が取得した撮像画像に含まれる所定図形の当該撮像画像上における位置から、ステップＳ３９０において画像取得部３６５が取得した撮像画像に含まれる所定図形の第２撮像画像上における位置までの距離は、長くなる。その結果、当該高さが高くなるほど、オプティカルフローの大きさが大きくなる。
【００８３】
ステップＳ３１０〜ステップＳ４１０の繰り返し処理が行われた後、対応付処理部３６９は、例えば、当該繰り返し処理によって算出されたオプティカルフローのそれぞれに基づいて、オプティカルフローの大きさの変化と、各オプティカルフローに対応付けられた対象高さの変化との関係を表す関数を対応情報として線形補完によって生成（導出）する（ステップＳ４２０）。なお、対応付処理部３６９は、当該関数に代えて、当該関係を表すテーブル等の他の情報を対応情報として生成する構成であってもよい。また、対応付処理部３６９は、線形補完に代えて、他の統計手法によって対応情報を生成する構成であってもよい。ここで、図１２を参照し、当該関数について説明する。
【００８４】
図１２は、対応情報の一例を示す図である。図１２に示したグラフの縦軸は、オプティカルフローの大きさを示す。また、当該グラフの横軸は、対象高さＺの値を示す。当該グラフにプロットされた点は、ステップＳ３１０において選択可能な対象高さのそれぞれに応じたオプティカルフローの大きさを表す点である。これらの点に基づいて、対応付処理部３６９は、線形補完を行うことにより、オプティカルフローの大きさの変化と、各オプティカルフローに対応付けられた対象高さの変化との関係を表す関数を対応情報として生成する。当該グラフにプロットされた点のそれぞれを繋ぐ線は、当該関数を表す線である。
【００８５】
対応情報を生成した後、対応付処理部３６９は、生成した対応情報を記憶部３２に記憶する。そして、対応付処理部３６９は、処理を終了する。
このように、三次元計測装置３０は、ステップＳ３１０〜ステップＳ４２０の処理によって、対応情報を生成する。これにより、三次元計測装置３０は、図５に示したフローチャートの処理を精度よく行うことができる。
【００８６】
＜実施形態の変形例＞
以下、図１３を参照し、実施形態の変形例について説明する。なお、実施形態の変形例では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
【００８７】
図１３は、実施形態の変形例に係るロボットシステム２の構成の一例を示す図である。ロボットシステム２は、撮像部１０と、ロボット２０と、ロボット制御装置５０を備える。また、ロボット制御装置５０は、三次元計測装置３０を備える。より具体的には、ロボット制御装置５０は、三次元計測装置３０が備える各機能部を備える。
【００８８】
ロボット２０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボットや、円筒型ロボット等の他のロボットであってもよい。
【００８９】
アームＡは、エンドエフェクターＥと、マニピュレーターＭを備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００９０】
エンドエフェクターＥは、ケーブルによってロボット制御装置５０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置５０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置５０と接続される構成であってもよい。
【００９１】
マニピュレーターＭは、６つの関節を備える。また、当該６つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭを備えるアームＡは、６軸垂直多関節型のアームである。アームＡは、支持台Ｂと、エンドエフェクターＥと、マニピュレーターＭと、マニピュレーターＭが備える６つの関節それぞれのアクチュエーターとによる連携した動作によって６軸の自由度の動作を行う。なお、アームＡは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００９２】
マニピュレーターＭが備える６つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置５０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置５０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭが備える６つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置５０と接続される構成であってもよい。
【００９３】
ロボット制御装置５０は、この一例において、ロボットを制御する装置である。ロボット制御装置５０は、予め入力された動作プログラムに基づいて制御信号を生成する。ロボット制御装置５０は、生成した制御信号をロボット２０に送信し、ロボット２０に所定の作業を行わせる。所定の作業は、この一例において、ロボット２０がアームＡを動作させ、作業台ＴＢの上面に載置された対象物Ｏを把持し、把持した対象物Ｏを図示しない給材領域に配置する作業である。なお、所定の作業は、これに代えて、他の作業であってもよい。
【００９４】
ロボット制御装置５０は、所定の作業をロボット２０に行わせる際、対象物Ｏを含む撮像範囲ＣＡであって第１撮像部１１及び第２撮像部１２により撮像可能な撮像範囲ＣＡにおける第１位置及び第２位置に所定図形が投射部５により投射され、第１位置に投射された所定図形を含む撮像範囲ＣＡが第１撮像部１１により撮像された第１撮像画像と、当該撮像範囲ＣＡが第２撮像部１２により撮像された第２撮像画像と、第２位置に投射された所定図形を含む撮像範囲ＣＡを第１撮像部１１により撮像された第３撮像画像と、当該撮像範囲ＣＡを第２撮像部１２により撮像された第４撮像画像とに基づいて、第１撮像画像から検出された第１特徴点と、第２撮像画像から検出された第２特徴点とを対応付けた後、第１撮像部１１及び第２撮像部１２により撮像された第１撮像画像及び第２撮像画像に基づく三次元計測を行う。この三次元計測により、ロボット制御装置５０は、対象物Ｏの三次元点群を生成する。ロボット制御装置５０は、生成した当該三次元点群に基づいて、対象物Ｏの位置及び姿勢を算出する。そして、ロボット制御装置５０は、算出した対象物Ｏの位置及び姿勢に基づいて、ロボット２０に所定の作業を行わせる。なお、ロボット制御装置５０が対象物Ｏの三次元計測を行うための処理は、図５に示したフローチャートの処理の説明においてワールド座標系ＷＣをロボット座標系ＲＣに読み替えた場合の処理と同様の処理であるため説明を省略する。
【００９５】
ここで、ロボット制御装置５０は、所定の作業をロボット２０に行わせる前に、前述の対応情報を予め生成する。ロボット制御装置５０が対応情報を生成する処理は、図８のフローチャートの処理の説明においてワールド座標系ＷＣをロボット座標系ＲＣに読み替えた場合の処理と同様の処理であるため説明を省略する。
【００９６】
このように、ロボット制御装置５０は、実施形態において説明した三次元計測装置３０を備え、三次元計測装置３０が算出した対象物Ｏの位置及び姿勢に基づいて、ロボット２０に所定の作業を行わせる。これにより、ロボット制御装置５０は、高い精度で所定の作業をロボット２０に行わせることができる。
【００９７】
なお、ロボットシステム２において、ロボット制御装置５０と三次元計測装置３０とは、別体であってもよい。この場合、ロボット制御装置５０は、三次元計測装置３０から三次元計測装置３０が算出した対象物Ｏの位置及び姿勢を取得し、取得した対象物Ｏの位置及び姿勢に基づいてロボット２０に所定の作業を行わせる。
【００９８】
以上のように、三次元計測装置３０は、対象物（この一例において、対象物Ｏ）を含む撮像範囲（この一例において、撮像範囲ＣＡ）であって第１撮像部（この一例において、第１撮像部１１）及び第２撮像部（この一例において、第２撮像部１２）により撮像可能な撮像範囲における第１位置及び第２位置に所定図形が投射部（この一例において、投射部５）により投射され、第１位置に投射された所定図形を含む撮像範囲が第１撮像部により撮像された第１撮像画像と、当該撮像範囲が第２撮像部により撮像された第２撮像画像と、第２位置に投射された所定図形を含む撮像範囲を第１撮像部により撮像された第３撮像画像と、当該撮像範囲を第２撮像部により撮像された第４撮像画像とに基づいて、第１撮像画像から検出された第１特徴点と、第２撮像画像から検出された第２特徴点とを対応付けた後、第１撮像部及び第２撮像部により撮像された画像に基づく三次元計測を行う。これにより、三次元計測装置３０は、対象物が光沢を有する物体や半透明な物体であっても、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【００９９】
また、三次元計測装置３０は、第１撮像画像内における所定図形の位置と第３撮像画像内における所定図形の位置と差を表す第１ベクトルと、第２撮像画像内における所定図形の位置と第４撮像画像内における所定図形の位置と差を表す第２ベクトルとのうち少なくとも一方に基づいて、第１特徴点と第２特徴点とを対応付ける。これにより、三次元計測装置３０は、第１ベクトルと第２ベクトルとのうち少なくとも一方に基づいて、対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【０１００】
また、三次元計測装置３０は、第１撮像部が設けられた位置と、第２撮像部が設けられた位置とのそれぞれから第１位置及び第２位置までの距離の変化と、第１ベクトルと第２ベクトルとの少なくとも一方に基づく値の変化との対応関係を示す対応情報であって予め記憶された対応情報に基づいて、第１特徴点と第２特徴点とを対応付ける。これにより、三次元計測装置３０は、対応情報に基づいて対象物の光学特性による誤差を抑制し、三次元計測を精度よく行うことができる。
【０１０１】
また、三次元計測装置３０は、対応付けた第１特徴点と第２特徴点とに基づいて対象物の三次元形状を表す三次元点群を生成する。これにより、三次元計測装置３０は、生成した三次元点群に基づいて、対象物の位置及び姿勢を精度よく検出することができる。
【０１０２】
また、三次元計測装置３０は、生成した三次元点群に基づいて対象物の位置及び姿勢を算出する。これにより、三次元計測装置３０は、精度よく算出した対象物の位置及び姿勢を他の装置（この一例において、ロボット制御装置５０）に出力することができる。
【０１０３】
また、ロボット２０は、三次元計測装置３０が三次元計測を行った結果に基づいて所定作業（この一例において、所定の作業）を行う。これにより、ロボット２０は、高い精度で所定作業を行うことができる。
【０１０４】
また、ロボット制御装置５０は、三次元計測装置３０が三次元計測を行った結果に基づいてロボット２０に所定作業を行わせる。これにより、ロボット制御装置５０は、高い精度で所定作業をロボットに行わせることができる。
【０１０５】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１０６】
また、以上に説明した装置（例えば、三次元計測装置３０、ロボット制御装置５０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０７】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１０８】
１…三次元計測システム、２…ロボットシステム、１０…撮像部、１１…第１撮像部、１２…第２撮像部、２０…ロボット、３０…三次元計測装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、５０…ロボット制御装置、３６１…投射制御部、３６３…撮像制御部、３６５…画像取得部、３６７…特徴点検出部、３６９…対応付処理部、３７５…三次元点群生成部、３７７…位置姿勢算出部
【図１】
2018017610.tif 000003
【図２】
2018017610.tif 000004
【図３】
2018017610.tif 000005
【図４】
2018017610.tif 000006
【図５】
2018017610.tif 000007
【図６】
2018017610.tif 000008
【図７】
2018017610.tif 000009
【図８】
2018017610.tif 000010
【図９】
2018017610.tif 000011
【図１０】
2018017610.tif 000012
【図１１】
2018017610.tif 000013
【図１２】
2018017610.tif 000014
【図１３】
2018017610.tif 000015