(57)【要約】【課題】より低コストで実装することができ、同期用の投射領域を必要とせずに、より精度の高い同期制御を実現することができる制御装置を提供する。【解決手段】投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御する制御部と、前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する時期決定部と、を備える制御装置である。【選択図】図３
2015087313.tif 000002
【特許請求の範囲】
【請求項１】
投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御する制御部と、
前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する時期決定部と、
を備える制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記投射画像は、輝度又は色彩の変化が周期的に繰り返された画像であって、前記輝度又は色彩の変化の周期を表す波の位相が互いに異なる複数枚の画像であり、
前記処理対象画像に基づいて、三次元点群情報を生成する三次元点群生成部を備える、
制御装置。
【請求項３】
請求項２に記載の制御装置であって、
前記時期決定部は、前記時系列画像を複数の検出領域に分割し、前記分割された検出領域のうち少なくとも１つの検出領域内の各画素における輝度又は色彩を検出し、前記検出領域内で検出された輝度又は色彩の前記時系列画像間での比較に基づいて、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する、
制御装置。
【請求項４】
請求項３に記載の制御装置であって、
前記時期決定部は、時間的に連続した前記時系列画像の前記検出領域間において、各画素における輝度又は色彩の差分を算出し、算出された前記差分に基づいて、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する、
制御装置。
【請求項５】
請求項４に記載の制御装置であって、
前記時期決定部は、前記検出領域を構成する全画素数に対する、前記差分が所定の閾値を超過した画素数の割合が、所定の割合を超過していると判定したタイミングを、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングとして決定する、
制御装置。
【請求項６】
請求項２から５のうちいずれか一項に記載の制御装置であって、
前記三次元点群生成部により生成された三次元点群情報に基づいて、三次元位置及び姿勢を導出し、導出した前記三次元位置及び姿勢に基づいて、ロボットを制御するロボット制御部を備える、
制御装置。
【請求項７】
請求項６に記載の制御装置と、
前記ロボットの可動部を稼働させるアクチュエーターと、
を備えるロボット。
【請求項８】
投射画像を投射する投射部と、前記投射部により投射された前記投射画像を撮像する撮像部と、前記投射部及び前記撮像部を制御する制御装置とを具備する制御システムであって、
前記投射部から投射された前記投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように前記撮像部を制御する制御部と、
前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する時期決定部と、
を備える制御システム。
【請求項９】
制御装置が、
投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御し、
前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記撮像部に前記処理対象画像を撮像させるタイミングを決定する、
制御方法。
【請求項１０】
制御装置のコンピューターに、
投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御させ、
前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記撮像部に前記処理対象画像を撮像させるタイミングを決定させる、
制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置、ロボット、制御システム、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
産業用ロボットによって作業が行われる際に、産業用ロボットが扱う対象となる物体の位置は、ロボットの制御装置側で把握されている必要がある。物体の位置を把握するために、例えば、プロジェクターによる照射光やレーザー光を対象となる物体に照射し、その反射情報を処理することで、即時に物体の位置や姿勢を表す三次元情報を取得する方法の研究・開発が行われている。物体の三次元情報としては、離散的な三次元点群情報等を利用することが知られており、その三次元点群情報の取得法も、様々な手法が提案されている。
【０００３】
そのような手法の一つとして、所定の方向に周期的に輝度又は色彩が変化し、互いにその周期的変化の位相が異なる複数枚の画像を、作業対象となる物体にプロジェクターから順次投射し、投射された物体を投射されるたびにカメラで撮影し、撮影された複数枚の画像に基づいて、物体の三次元点群情報を生成する位相シフト法が知られている。
【０００４】
この位相シフト法に関連し、プロジェクターによる画像の投射と、投射された画像のカメラによる撮影とのタイミングを同期させるため、プロジェクター、カメラへそれぞれ好適なタイミングで投射、撮像の指示を与える同期制御装置による三次元計測システムが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１６０６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の三次元計測システムでは、ロボットを制御するロボット制御装置の他に、プロジェクターとカメラを同期させる同期制御装置を必要としてしまうため、より多くのコストが掛かってしまうという問題がある。また、従来の三次元計測システムは、プロジェクターからの投射する画像が安定して映ることが可能な領域がなければならないという問題もある。
【課題を解決するための手段】
【０００７】
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、より低コストで十分な精度の同期制御を実現することができる制御装置、ロボット、制御システム、制御方法、及び制御プログラムを提供する。
【０００８】
［１］本発明は、上記の課題を解決するためになされたものであり、投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御する制御部と、前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する時期決定部と、を備える制御装置である。
【０００９】
この構成により、制御装置は、投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御し、処理対象画像を撮像するよりも前に、時系列で投射画像が撮像された複数枚の時系列画像間の比較に基づき、制御部が撮像部に処理対象画像を撮像させるタイミングを決定するため、より低コストで十分な精度の同期制御を実現することができる。
【００１０】
［２］また、本発明は、［１］に記載の制御装置であって、前記投射画像は、輝度又は色彩の変化が周期的に繰り返された画像であって、前記輝度又は色彩の変化の周期を表す波の位相が互いに異なる複数枚の画像であり、前記処理対象画像に基づいて、三次元点群情報を生成する三次元点群生成部を備える、制御装置である。
【００１１】
この構成により、制御装置は、処理対象画像に基づいて、三次元点群情報を生成するため、より安定して三次元位置及び姿勢を算出することができる。
【００１２】
［３］また、本発明は、［２］に記載の制御装置であって、前記時期決定部は、前記時系列画像を複数の検出領域に分割し、前記分割された検出領域のうち少なくとも１つの検出領域内の各画素における輝度又は色彩を検出し、前記検出領域内で検出された輝度又は色彩の前記時系列画像間での比較に基づいて、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する、制御装置である。
【００１３】
この構成により、制御装置は、分割された検出領域のうち少なくとも１つの検出領域内の各画素における輝度又は色彩を検出し、検出領域内で検出された輝度又は色彩の時系列画像間での比較に基づいて、制御部が撮像部に処理対象画像を撮像させるタイミングを決定するため、より高速に処理対象画像を撮像するタイミングを決定することができる。
【００１４】
［４］また、本発明は、［３］に記載の制御装置であって、前記時期決定部は、時間的に連続した前記時系列画像の前記検出領域間において、各画素における輝度又は色彩の差分を算出し、算出された前記差分に基づいて、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する、制御装置である。
【００１５】
この構成により、制御装置は、時間的に連続した時系列画像の検出領域間において、各画素における輝度又は色彩の差分を算出し、算出された差分に基づいて、制御部が撮像部に処理対象画像を撮像させるタイミングを決定するため、時間を用いた投射部による投射と、撮像部による撮像との間の同期に比べて、処理の遅延による同期の失敗を防止することができる。
【００１６】
［５］また、本発明は、［４］に記載の制御装置であって、前記時期決定部は、前記検出領域を構成する全画素数に対する、前記差分が所定の閾値を超過した画素数の割合が、所定の割合を超過していると判定したタイミングを、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングとして決定する、制御装置である。
【００１７】
この構成により、制御装置は、検出領域を構成する全画素数に対する、差分が所定の閾値を超過した画素数の割合が、所定の割合を超過していると判定したタイミングを、制御部が撮像部に処理対象画像を撮像させるタイミングとして決定するため、誤判定による撮像タイミングの遅延を防止することができる。
【００１８】
［６］また、本発明は、［２］から［５］のうちいずれか一項に記載の制御装置であって、前記三次元点群生成部により生成された三次元点群情報に基づいて、三次元位置及び姿勢を導出し、導出した前記三次元位置及び姿勢に基づいて、ロボットを制御するロボット制御部を備える、制御装置である。
【００１９】
この構成により、制御装置は、三次元位置及び姿勢を導出し、導出した三次元位置及び姿勢に基づいて、ロボットを制御するため、より低コストで実現でき、かつ、同期用の投射領域を必要とせずに、より精度の高いロボット制御を実現することができる。
【００２０】
［７］また、本発明は、［６］に記載の制御装置と、前記ロボットの可動部を稼働させるアクチュエーターと、を備えるロボットである。
【００２１】
この構成により、ロボットは、三次元位置及び姿勢を導出し、導出した三次元位置及び姿勢に基づいて、アクチュエーターを制御するため、より低コストで十分な精度の同期制御に基づいた所定の作業を行うことができる。
【００２２】
［８］また、本発明は、投射画像を投射する投射部と、前記投射部により投射された前記投射画像を撮像する撮像部と、前記投射部及び前記撮像部を制御する制御装置とを具備する制御システムであって、前記投射部から投射された前記投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように前記撮像部を制御する制御部と、前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記制御部が前記撮像部に前記処理対象画像を撮像させるタイミングを決定する時期決定部と、を備える制御システムである。
【００２３】
この構成により、制御システムは、投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御し、処理対象画像を撮像するよりも前に、時系列で投射画像が撮像された複数枚の時系列画像間の比較に基づき、制御部が撮像部に処理対象画像を撮像させるタイミングを決定するため、より低コストで十分な精度の同期制御を実現することができる。
【００２４】
［９］また、本発明は、制御装置が、投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御し、前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記撮像部に前記処理対象画像を撮像させるタイミングを決定する、制御方法である。
【００２５】
この制御方法により、制御装置は、投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御し、処理対象画像を撮像するよりも前に、時系列で投射画像が撮像された複数枚の時系列画像間の比較に基づき、撮像部に処理対象画像を撮像させるタイミングを決定するため、より低コストで十分な精度の同期制御を実現することができる。
【００２６】
［１０］また、本発明は、制御装置のコンピューターに、投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御させ、前記処理対象画像を撮像するよりも前に、時系列で前記投射画像が撮像された複数枚の時系列画像間の比較に基づき、前記撮像部に前記処理対象画像を撮像させるタイミングを決定させる、制御プログラムである。
【００２７】
この制御プログラムにより、制御装置は、投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御し、処理対象画像を撮像するよりも前に、時系列で投射画像が撮像された複数枚の時系列画像間の比較に基づき、撮像部に処理対象画像を撮像させるタイミングを決定するため、より低コストで十分な精度の同期制御を実現することができる。
【００２８】
以上により、制御装置は、投射部から投射された投射画像を、所定の画像処理に利用するための処理対象画像として撮像するように撮像部を制御し、処理対象画像を撮像するよりも前に、時系列で投射画像が撮像された複数枚の時系列画像間の比較に基づき、制御部が撮像部に処理対象画像を撮像させるタイミングを決定するため、より低コストで十分な精度の同期制御を実現することができる。
【図面の簡単な説明】
【００２９】
【図１】制御システム１の利用状況の一例を示す図である。
【図２】制御装置４０のハードウェア構成の一例を示す図である。
【図３】制御装置４０の機能構成の一例を示す図である。
【図４】画像生成部５２が生成する投射画像の例を示す図である。
【図５】三次元点群生成部７０により実行される三次元点群画像の生成処理の流れの一例を示すフローチャートである。
【図６】切替判断用画像が複数の領域に分割された場合の領域例を示す図である。
【図７】ステップＳ２００において投射された投射画像に関する前回のサブルーチン実行時に投射された投射画像、及び今回のサブルーチン実行時に投射された投射画像平面上の画素とその画素の輝度をプロットしたグラフの一例である。
【図８】撮像時期決定部７２が算出した差分は、画素ごとにプロットしたグラフの一例である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施形態について、図面を参照して説明する。図１は、制御システム１の利用状況の一例を示す図である。制御システム１は、例えば、撮像部１０と、投射部２０と、ロボット３０と、制御装置４０とを具備する。撮像部１０は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。以下では、説明を簡略化するため、撮像部１０は、静止画像を撮像するものとする。なお、撮像部１０は、静止画像を撮像することに代えて、動画像を撮像してもよい。
【００３１】
撮像部１０は、例えばケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、撮像部１０と制御装置４０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。撮像部１０は、破線で囲まれた領域ＣＡを撮像する。領域ＣＡは、テーブル等の台上に予め設定された領域である。撮像部１０は、領域ＣＡを撮像可能な位置に設置される。撮像部１０は、制御装置４０から撮像の要求を取得し、その要求を取得したタイミングで領域ＣＡ内を撮像する。そして、撮像部１０は、ユーザーにより物体ＯＢＪが領域ＣＡの内側に設置されることにより、物体ＯＢＪを撮像する。そして、撮像部１０は、撮像した撮像画像を、通信により制御装置４０へ出力する。
【００３２】
投射部２０は、例えば、投射画像を投射するための液晶ライトバルブや投射レンズ、液晶駆動部、光源として超高圧水銀ランプやメタルハライドランプ等を備えるプロジェクターである。投射部２０は、例えばケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、投射部２０と制御装置４０とは、Ｗｉ−Ｆｉ等の通信規格により行われる無線通信によって接続されてもよい。投射部２０は、通信により制御装置４０から各種画像を取得し、取得した各種画像を投射画像として点線で囲まれた領域ＰＡに投射する。これらの投射画像についての詳細は後述する。図１において、投射部２０は、領域ＰＡが領域ＣＡを内側に含むように設置されているが、領域ＰＡと領域ＣＡとの大きさは逆であってもよく、領域ＰＡと領域ＣＡとが部分的に重なり合っていてもよい。なお、物体ＯＢＪは、領域ＰＡと領域ＣＡとが重なり合った領域の内側に全体が含まれる程度の大きさである。
【００３３】
ロボット３０は、例えば、６軸垂直多関節ロボットであり、支持台とアーム部と把持部との連携した動作よって、６軸の自由度の動作を行うことができる。なお、ロボット３０は、５自由度以下で動作するものであってもよい。ロボット３０は、把持部を備えている。ロボット３０の把持部は、物体を把持又は挟持可能な爪部を備える。ロボット３０は、例えばケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、ロボット３０と制御装置４０とは、Ｗｉ−Ｆｉ等の通信規格により行われる無線通信によって接続されてもよい。ロボット３０は、物体ＯＢＪの三次元位置及び姿勢に基づいた制御信号を制御装置４０から取得し、取得した制御信号に基づいて、物体ＯＢＪに対して所定の作業を行う。所定の作業とは、例えば、ロボット３０の把持部により物体ＯＢＪを把持し、把持された物体ＯＢＪを現在設置されている位置から、他の位置へと移動させることや、移動させた後に別の装置に組み付けを行うこと等の作業である。
【００３４】
制御装置４０は、ロボット３０が所定の作業を行うように制御する。より具体的には、制御装置４０は、撮像部１０により撮像された物体ＯＢＪの撮像画像に基づいて、物体ＯＢＪの三次元位置及び姿勢を導出する。制御装置４０は、導出された三次元位置及び姿勢に基づく制御信号を生成し、生成した制御信号をロボット３０に出力することで、ロボット３０を制御する。また、制御装置４０は、自装置が備える後述する画像生成部５２により生成された各種画像を投射部２０に出力し、出力した各種画像を投射するように投射部２０を制御する。また、制御装置４０は、撮像画像を撮像するように撮像部１０を制御する。
【００３５】
次に、図２を参照することで、制御装置４０のハードウェア構成について説明する。図２は、制御装置４０のハードウェア構成の一例を示す図である。制御装置４０は、例えば、ＣＰＵ（Central  Processing  Unit）４１と、記憶部４２と、入力受付部４３と、通信部４４とを備え、通信部４４を介して他の撮像部１０、投射部２０、ロボット３０と通信を行う。ＣＰＵ４１は、記憶部４２に格納された各種プログラムを実行する。記憶部４２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）などを含み、制御装置４０が処理する各種情報や画像、プログラムを格納する。なお、記憶部４２は、制御装置４０に内蔵されるものに代えて、外付け型の記憶装置でもよい。
【００３６】
入力受付部４３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部４３は、表示部として機能してもよく、さらに、タッチパネルとして構成されてもよい。通信部４４は、例えば、ＵＳＢ等のデジタル入出力ポートとともに、イーサネットポート等を含んで構成される。
【００３７】
次に、図３を参照することで、制御装置４０の機能構成について説明する。図３は、制御装置４０の機能構成の一例を示す図である。制御装置４０は、例えば、記憶部４２と、撮像制御部４６と、画像取得部４８と、投射制御部５０と、三次元点群生成部７０と、ロボット制御部８０とを備える。これらの機能部のうち、撮像制御部４６と、画像取得部４８と、投射制御部５０と、三次元点群生成部７０と、ロボット制御部８０との一部又は全部は、例えば、ＣＰＵ４１が、記憶部４２に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。撮像制御部４６は、三次元点群生成部７０からの要求に従い、要求されたタイミングで撮像するように撮像部１０を制御する。画像取得部４８は、撮像部１０により撮像された撮像画像を取得し、取得した撮像画像を記憶部４２に記憶させる。
【００３８】
投射制御部５０は、例えば、画像生成部５２を備える。画像生成部５２は、三次元点群生成部７０からの要求に従い、記憶部４２から投射画像を生成するための各種情報を読み込み、読み込んだ情報に基づいて投射画像を生成する。投射制御部５０は、画像生成部５２が生成した各種画像を投射画像として投射部２０に出力し、出力した投射画像を投射するように投射部２０を制御する。なお、投射制御部５０は、画像生成部５２が各種画像を生成することに代えて、各種画像を記憶部４２から読み込み、読み込んだ各種画像を投射画像として投射部２０に出力し、出力した投射画像を投射するように投射部２０を制御するものとしてもよい。
【００３９】
ここで、図４を参照することにより、画像生成部５２が生成する投射画像について説明する。図４は、画像生成部５２が生成する投射画像の例を示す図である。画像生成部５２は、投射画像平面上で輝度が周期的に変化し、輝度の周期的変化を表す波が投射画像平面上の水平方向に進行している４枚の画像ＨＦＩ−０〜ＨＦＩ−３を生成する。画像ＨＦＩ−０〜ＨＦＩ−３は、輝度の周期的変化を表す波の位相が互いにπ／２だけ異なる画像である。画像ＨＦＩ−０〜ＨＦＩ−３中の明度が高い点が輝度値の高い点であり、明度の低い点が輝度値の低い点である。画像ＨＦＩ−０〜ＨＦＩ−３と同様に、画像生成部５２は、投射画像平面上で輝度が周期的に変化し、輝度の周期的変化を表す波が投射画像平面上の垂直方向に進行している４枚の画像ＶＦＩ−０〜ＶＦＩ−３を生成する。画像ＶＦＩ−０〜ＶＦＩ−３は、輝度の周期的変化を表す波の位相が互いにπ／２だけ異なる画像である。
【００４０】
図４に示したように、画像ＨＦＩ−０〜ＨＦＩ−３及び画像ＶＦＩ−０〜ＶＦＩ−３における輝度の周期的変化を表す波は、投射画像平面上の水平方向及び垂直方向に進行する平面波（正弦波）であるが、斜めに進行する平面波であってもよいし、球面波等であってもよい。なお、画像ＨＦＩ−０〜ＨＦＩ−３及び画像ＶＦＩ−０〜ＶＦＩ−３は、輝度が周期的に変化する画像に代えて、色彩が周期的に変化する画像であってもよい。画像ＨＦＩ−０〜ＨＦＩ−３及び画像ＶＦＩ−０〜ＶＦＩ−３は、後述する位相接続処理を行う際に利用する画像であり、さらに、後述する物体ＯＢＪの三次元点群画像の生成処理にも利用する画像である。
【００４１】
図３に戻る。初期処理部６０は、撮像制御部４６と、投射制御部５０とを制御することで、撮像部１０と投射部２０との間のキャリブレーションを行う。ここで、キャリブレーションとは、撮像部１０により撮像された撮像画像平面上における座標と、投射部２０により投射された投射画像平面上における座標とを対応付け、撮像部１０と投射部２０との間の位置関係を示す情報を導出することである。なお、撮像部１０と投射部２０との間の位置関係を示す情報は、例えば、撮像部１０により撮像された撮像画像平面上の座標を、投射部２０により投射された投射画像平面上の座標へと座標変換を行う際に用いる並進及び回転変換行列によって表される。初期処理部６０は、導出した撮像部１０と投射部２０との間の位置関係を示す情報を、三次元点群生成部７０に出力する。
【００４２】
三次元点群生成部７０は、例えば、撮像時期決定部７２を備える。三次元点群生成部７０は、初期処理部６０から、撮像部１０と投射部２０との間の位置関係を示す情報を取得する。また、三次元点群生成部７０は、投射制御部５０を制御することで、画像ＨＦＩ−０〜ＨＦＩ−３及び／又は画像ＶＦＩ−０〜ＶＦＩ−３を投射部２０に順次投射させる。さらに、三次元点群生成部７０は、撮像制御部４６を制御することで、投射部２０により投射された画像を、撮像時期決定部７２により決定されたタイミングで撮像部１０に撮像させる。そして、三次元点群生成部７０は、記憶部４２により記憶された撮像画像であって、物体ＯＢＪに画像ＨＦＩ−０〜ＨＦＩ−３及び／又は画像ＶＦＩ−０〜ＶＦＩ−３がそれぞれ投射された複数の撮像画像と、初期処理部６０から取得した撮像部１０と投射部２０との間の位置関係を示す情報とに基づいて、例えば、位相シフト法等により物体ＯＢＪの三次元点群画像を生成する。三次元点群生成部７０は、生成した三次元点群画像を、ロボット制御部８０に出力する。ここで、三次元点群画像は、三次元点群情報の一例である。
【００４３】
撮像時期決定部７２は、投射部２０により投射された投射画像を、撮像部１０が撮像するべきタイミングを決定し、決定したタイミングで三次元点群生成部７０に撮像制御部４６を制御させることで、撮像部１０に投射画像を撮像させる。タイミングの決定処理についての詳細は後述する。
【００４４】
ロボット制御部８０は、例えば、三次元位置姿勢導出部８２を備える。ロボット制御部８０は、三次元位置姿勢導出部８２により導出された物体ＯＢＪの三次元位置及び姿勢に基づいて、物体ＯＢＪに対して所定の作業を行うようにロボット３０を制御する。三次元位置姿勢導出部８２は、三次元点群生成部７０から取得した物体ＯＢＪの三次元点群画像に基づいて、物体ＯＢＪの三次元位置及び姿勢を導出する。
【００４５】
以下、図５を参照することにより、三次元点群生成部７０が行う三次元点群画像の生成処理について説明する。図５は、三次元点群生成部７０により実行される三次元点群画像の生成処理の流れの一例を示すフローチャートである。以下では、初期処理部６０によるキャリブレーションが終了した後、ユーザーが領域ＰＡと領域ＣＡとが重なった領域に物体ＯＢＪを設置したものとして説明する。まず、撮像時期決定部７２は、図４に示した画像ＨＦＩ−０〜ＨＦＩ−３のうちいずれか一つ、及び／又は画像ＶＦＩ−０〜ＶＦＩ−３のうちの未選択の画像を１つ選択して記憶部４２から読み込む（ステップＳ２００）。以下では、撮像時期決定部７２が、画像ＨＦＩ−０〜ＨＦＩ−３のうちの未選択の画像を１つ選択したものとして説明する。
【００４６】
次に、撮像時期決定部７２は、ステップＳ２００で未選択の画像があったか否かを判定する（ステップＳ２１０）。撮像時期決定部７２は、未選択の画像があったと判定した場合（ステップＳ２１０−Ｙｅｓ）、投射制御部５０を制御することで投射部２０に、ステップＳ２００で選択して読み込んだ画像を物体ＯＢＪへ投射させる（ステップＳ２２０）。次に、撮像時期決定部７２は、ステップＳ２００において選択された投射画像に関する前回のサブルーチン実行時に投射された投射画像が、今回のサブルーチン実行時に投射された投射画像に完全に切り替わったか否かを判断するため、撮像制御部４６を制御することで撮像部１０に、物体ＯＢＪが設置された領域ＣＡを、切替判断用画像として撮像させる（ステップＳ２３０）。なお、切替判断用画像は、時系列画像の一例である。次に、撮像時期決定部７２は、ステップＳ２３０で撮像した切替判断用画像を複数の領域に分割する。そして、撮像時期決定部７２は、一部又は全部の分割された領域ごとに、分割された領域内の画素ごとの輝度又は色彩を検出する（ステップＳ２４０）。なお、分割された各領域は、重なっていてもよいし、隣接していてもよいし、隣接していなくてもよいが、領域内に輝度又は色彩の周期的変化の一部又は全部を含んでいなければならない。
【００４７】
ここで、図６を参照することで、切替判断用画像を複数の領域に分割する処理について説明する。図６は、切替判断用画像が複数の領域に分割された場合の領域例を示す図である。画像ＰＩＣは、ステップＳ２３０で撮像部１０により撮像された切替判断用画像の一例である。画像ＰＩＣは、画像ＨＦＩ−０から他の画像へ切り替わる途中に撮像されたため、画像ＰＩＣの上段と下段とで異なる投射画像が撮像されたものとなっている。領域ＤＡは、ステップＳ２４０で画像ＰＩＣが複数に分割された領域のうちの１つである。図６に示したように、領域ＤＡは、領域内に輝度又は色彩の周期的変化を含んでいる。撮像時期決定部７２は、領域ＤＡの各画素における輝度又は色彩を検出する。
【００４８】
図５に戻る。撮像時期決定部７２は、ステップＳ２３０における撮像に関する前回のサブルーチン実行時に撮像された切替判断用画像が分割された複数の領域ごとの各画素における輝度又は色彩と、今回のサブルーチン実行時に撮像された切替判断用画像が分割された領域ごとの各画素における輝度又は色彩との差分を算出する（ステップＳ２５０）。ここで、図７及び図８を参照することで、前回のサブルーチン実行時における分割された領域ごとの各画素の輝度と、今回のサブルーチン実行時における分割された領域ごとの各画素の輝度との差分を算出する処理について説明する。図７は、ステップＳ２００において投射された投射画像に関する前回のサブルーチン実行時に投射された投射画像、及び今回のサブルーチン実行時に投射された投射画像平面上の画素とその画素の輝度をプロットしたグラフの一例である。
【００４９】
実線Ｗ１は、例えば、前回のサブルーチン実行時に投射された画像ＨＦＩ−０を分割した複数の領域のうちの１つの画素ごとの輝度値をプロットした正弦波状のグラフである。また、点線Ｗ２は、例えば、前回のサブルーチン実行時に投射された画像ＨＦＩ−１を分割した複数の領域のうちの１つの画素ごとの輝度値をプロットした正弦波状のグラフである。画像ＨＦＩ−０と画像ＨＦＩ−１との輝度の周期的変化は、互いに位相がπ／２だけずれている。それを反映して、実線Ｗ１と点線Ｗ２とは、互いに位相がπ／２だけずれている。撮像時期決定部７２は、画素ごとに実線Ｗ１と点線Ｗ２との輝度の差分ＤＬを算出する。
【００５０】
撮像時期決定部７２が算出した差分ＤＬは、画素ごとにプロットされると、図８に示したグラフのようになる。図８は、撮像時期決定部７２が算出した差分を画素ごとにプロットしたグラフの一例である。ここで、ステップＳ２００において投射された投射画像に関する前回のサブルーチン実行時に投射された投射画像から、今回のサブルーチン実行時に投射された投射画像へと切り替わりが完了していた場合、図８中の画素の多くは、算出した差分が所定の閾値Ｚ１を超過することになる。それ故、撮像時期決定部７２は、差分が所定の閾値Ｚ１を超過している画素の割合が、所定の閾値Ｚ２を超えた場合、前回のサブルーチン実行時に投射された投射画像から、今回のサブルーチン実行時に投射された投射画像へと切り替わりが完了したと判断する。
【００５１】
図５に戻る。ステップＳ２５０で、差分を算出した後、撮像時期決定部７２は、算出した差分が所定の閾値Ｚ１を超えた画素の割合が、所定の閾値Ｚ２を超過したか否かを判定する（ステップＳ２６０）。所定の閾値Ｚ２を超過していないと判定した場合（ステップＳ２６０−Ｎｏ）、撮像時期決定部７２は、ステップＳ２３０に戻り、再び切替判断用画像を撮像する。一方、所定の閾値Ｚ２を超過していると判定した場合（ステップＳ２６０−Ｙｅｓ）、撮像時期決定部７２は、撮像制御部４６を制御することで、三次元点群生成部７０が位相シフト法に用いるための処理用画像として、投射画像を撮像するように撮像部１０を制御させる（ステップＳ２７０）。そして、撮像時期決定部７２は、ステップＳ２００に戻り、次の投射画像を選択する。なお、処理用画像は、処理対象画像の一例である。
【００５２】
一方、ステップＳ２１０で、未選択の画像がなかったと判定した場合（ステップＳ２１０−Ｎｏ）、三次元点群生成部７０は、位相シフト法によって三次元点群画像を生成するために必要な画像である処理用画像に基づいて、三次元点群画像を生成する。以上で、三次元点群生成部７０は、三次元点群画像の生成処理を終了する。なお、撮像時期決定部７２は、分割された領域のうち、少なくとも１つの領域内の画素ごとの輝度を検出するとしてもよい。その場合、撮像時期決定部７２は、投射部２０が画像の上段から順次、投射画像を切り替えていくため、画像の右下付近の領域を、分割された領域として用いるものとする。
【００５３】
このように、本実施形態に係る制御装置４０は、投射部２０から投射された投射画像を、所定の画像処理に利用するための処理用画像として撮像するように撮像部１０を制御し、処理用画像を撮像するよりも前に、時系列で投射画像が撮像された複数枚の切替判断用画像間の比較に基づき、三次元点群生成部７０が撮像部１０に処理用画像を撮像させるタイミングを決定するため、より低コストで、同期用の投射領域を必要とせずに、十分な精度の同期制御を実現することができる。
【００５４】
また、制御装置４０は、処理用画像に基づいて、三次元点群画像を生成するため、より安定して三次元位置及び姿勢を算出することができる。
【００５５】
また、制御装置４０は、切替判断用画像が分割された複数の領域のうち少なくとも１つの検出領域内の各画素における輝度又は色彩を検出し、検出領域内で検出された輝度又は色彩の切替判断用画像間での比較に基づいて、三次元点群生成部７０が撮像部１０に処理用画像を撮像させるタイミングを決定するため、より高速に処理用画像を撮像するタイミングを決定することができる。
【００５６】
また、制御装置４０は、時間的に連続した切替判断用画像の検出領域間において、各画素における輝度又は色彩の差分を算出し、算出された差分に基づいて、三次元点群生成部７０が撮像部１０に処理用画像を撮像させるタイミングを決定するため、時間を用いた投射部２０による投射と、撮像部１０による撮像との間の同期に比べて、処理の遅延による同期の失敗を防止することができる。
【００５７】
また、制御装置４０は、検出領域を構成する全画素数に対する、差分が所定の閾値Ｚ１を超過した画素数の割合が、所定の閾値Ｚ２を超過していると判定したタイミングを、三次元点群生成部７０が撮像部１０に処理用画像を撮像させるタイミングとして決定するため、誤判定による撮像タイミングの遅延を防止することができる。
【００５８】
また、制御装置４０は、三次元位置及び姿勢を導出し、導出した三次元位置及び姿勢に基づいて、ロボットを制御するため、より低コストで実現でき、かつ、同期用の投射領域を必要とせずに、より精度の高いロボット制御を実現することができる。
【００５９】
また、ロボット３０は、三次元位置及び姿勢を導出し、導出した三次元位置及び姿勢に基づいて、アクチュエーターを制御するため、より低コストで十分な精度の同期制御に基づいた所定の作業を行うことができる。
【符号の説明】
【００６０】
１  制御システム、１０  撮像部、２０  投射部、３０  ロボット、４０  制御装置、４１  ＣＰＵ、４２  記憶部、４３  入力受付部、４４  通信部、４６  撮像制御部、４８  画像取得部、５０  投射制御部、５２  画像生成部、６０  初期処理部、７０  三次元点群生成部、７２  撮像時期決定部、８０  ロボット制御部、８２  三次元位置姿勢導出部
【図１】
2015087313.tif 000003
【図２】
2015087313.tif 000004
【図３】
2015087313.tif 000005
【図５】
2015087313.tif 000006
【図７】
2015087313.tif 000007
【図８】
2015087313.tif 000008
【図４】
2015087313.tif 000009
【図６】
2015087313.tif 000010