JP2016217778A - 制御システム、ロボットシステム、及び制御方法 - Google Patents

制御システム、ロボットシステム、及び制御方法 Download PDF

Info

Publication number
JP2016217778A
JP2016217778A JP2015100157A JP2015100157A JP2016217778A JP 2016217778 A JP2016217778 A JP 2016217778A JP 2015100157 A JP2015100157 A JP 2015100157A JP 2015100157 A JP2015100157 A JP 2015100157A JP 2016217778 A JP2016217778 A JP 2016217778A
Authority
JP
Japan
Prior art keywords
control
projection
captured image
unit
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015100157A
Other languages
English (en)
Inventor
智紀 原田
Tomonori Harada
智紀 原田
橋本 浩一
Koichi Hashimoto
浩一 橋本
翔悟 荒井
Shogo Arai
翔悟 荒井
俊樹 房州
Toshiki Boshu
俊樹 房州
Original Assignee
セイコーエプソン株式会社
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by セイコーエプソン株式会社, Seiko Epson Corp filed Critical セイコーエプソン株式会社
Priority to JP2015100157A priority Critical patent/JP2016217778A/ja
Publication of JP2016217778A publication Critical patent/JP2016217778A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】3次元情報の計測を精度よく行うことができる制御システムを提供すること。【解決手段】制御システムは、投影部と、撮像部と、制御部と、を備え、撮像部は、画素値が所定のパターンを有するパターン光を投影部が投影した対象物を第1撮像画像として撮像し、画素値が一様な一様光を投影部が投影した対象物を第2撮像画像として撮像し、制御部は、第1撮像画像と第2撮像画像に基づいて、対象物の3次元形状を算出する。【選択図】図6

Description

この発明は、制御システム、ロボットシステム、及び制御方法に関する。
対象物の3次元情報に基づいてロボットに対象物を把持させる技術の研究や開発が行われている。
これに関し、所定のパターンを有するパターン光を投影する投影部と、投影部により当該パターン光が投影された対象物を撮像する撮像部とを用いて対象物の3次元情報を計測する3次元計測装置が知られている(特許文献1参照)。
特開2014−119442号公報
この3次元計測装置は、撮像部により撮像された当該光の撮像画像上での強度が、投影部が投影する光の強度の変化に応じて一次関数的に変化することを前提に開発されたアルゴリズムに基づいて対象物の3次元情報を計測する。しかしながら、現実では、投影部が投影する光の強度と、当該光の撮像画像上での強度との関係は、一次関数によって近似できない場合がある。このような場合、当該3次元計測装置は、対象物の3次元形状を精度よく計測することができないという問題があった。
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、3次元情報の計測を精度よく行うことができる制御システム、ロボットシステム、及び制御方法を提供する。
上記課題の少なくとも一つを解決するために本発明の一態様は、投影部と、撮像部と、制御部と、を備え、前記撮像部は、画素値が所定のパターンを有するパターン光を前記投影部が投影した対象物を第1撮像画像として撮像し、画素値が一様な一様光を前記投影部が投影した前記対象物を第2撮像画像として撮像し、前記制御部は、前記第1撮像画像と前記第2撮像画像に基づいて、前記対象物の3次元形状を算出する、制御システムである。
この構成により、制御システムは、画素値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、画素値が一様な一様光を投影部が投影した対象物が撮像された第2撮像画像とに基づいて、対象物の3次元形状を算出する。これにより、制御システムは、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記制御部は、前記第1撮像画像と前記第2撮像画像に基づいた位相シフト法によって前記3次元形状を算出する、構成が用いられてもよい。
この構成により、制御システムは、第1撮像画像と第2撮像画像に基づいた位相シフト法によって3次元形状を算出する。これにより、制御システムは、位相シフト法によって3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記画素値は、輝度値である、構成が用いられてもよい。
この構成により、制御システムは、輝度値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、輝度値が一様な一様光を投影部が投影した対象物が撮像された第2撮像画像とに基づいて、対象物の3次元形状を算出する。これにより、制御システムは、輝度値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、輝度値が一様な一様光を投影部が投影した対象物が撮像された第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記一様光の前記画素値は、前記パターン光の画素値の平均値である、構成が用いられてもよい。
この構成により、制御システムは、画素値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、画素値が当該パターン光の画素値の平均値であり、且つ画素値が一様な一様光を投影部が投影した対象物が撮像された第2撮像画像とに基づいて、対象物の3次元形状を算出する。これにより、制御システムは、画素値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、画素値が当該パターン光の画素値の平均値であり、且つ画素値が一様な一様光を投影部が投影した対象物が撮像された第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記制御部は、第1式と、第1式と異なる第2式を用いて前記3次元形状を算出する、構成が用いられてもよい。
この構成により、制御システムは、第1式と、第1式と異なる第2式を用いて3次元形状を算出する。これにより、制御システムは、第1式と、第1式と異なる第2式に基づいて、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記第1式及び前記第2式は、前記投影部が投影する光の強度の変化と、当該光を前記撮像部が撮像した撮像画像上での当該光の強度の変化との関係を近似的に表す式であり、前記第1式は、前記関係を線形近似によって表した式であり、前記第2式は、前記関係を2次以上の項まで含めた近似によって表した式である、構成が用いられてもよい。
この構成により、制御システムは、投影部が投影する光の強度の変化と、当該光を撮像部が撮像した撮像画像上での当該光の強度の変化との関係を線形近似によって表した第1式と、当該関係を2次以上の項まで含めた近似によって表した式である第2式とを用いて3次元形状を算出する。これにより、制御システムは、投影部が投影する光の強度の変化と、当該光を撮像部が撮像した撮像画像上での当該光の強度の変化との関係を線形近似によって表した第1式と、当該関係を2次以上の項まで含めた近似によって表した式である第2式とに基づいて、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記制御部は、前記近似の誤差と、当該誤差に対する所定の閾値とに基づいて、前記3次元形状を算出するために用いる式を、前記第1式と前記第2式のいずれかに切り替える、構成が用いられてもよい。
この構成により、制御システムは、投影部が投影する光の強度の変化と、当該光を撮像部が撮像した撮像画像上での当該光の強度の変化との関係の近似の誤差と、当該誤差に対する所定の閾値とに基づいて、3次元形状を算出するために用いる式を、第1式と第2式のいずれかに切り替える。これにより、制御システムは、投影部が投影する光の強度の変化と、当該光を撮像部が撮像した撮像画像上での当該光の強度の変化との関係の近似の誤差と、当該誤差に対する所定の閾値とに基づく第1式と第2式の切り替えにより、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記撮像部は、複数の異なる前記パターン光のそれぞれについて、画素値が所定のパターンを有する前記パターン光を前記投影部が投影した前記対象物を前記第1撮像画像として撮像する、構成が用いられてもよい。
この構成により、制御システムは、複数の異なるパターン光のそれぞれについて、画素値が所定のパターンを有するパターン光を投影部が投影した対象物を第1撮像画像として撮像する。これにより、制御システムは、複数の異なるパターン光のそれぞれについて、画素値が所定のパターンを有するパターン光を投影部が投影した対象物を第1撮像画像と、第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記複数の異なる前記パターン光の数は、前記第2式を用いる場合の方が、前記第1式を用いる場合より少ない、構成が用いられてもよい。
この構成により、制御システムは、第2式を用いる場合、第1式を用いる場合より少ない数のパターン光であって、複数の異なるパターン光のそれぞれについて、画素値が所定のパターンを有するパターン光を投影部が投影した対象物を第1撮像画像として撮像する。これにより、制御システムは、第1式又は第2式に応じた数のパターン光に基づく第1撮像画像と、第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、制御システムにおいて、前記パターン光は、空間的なパターンを有する光である、構成が用いられてもよい。
この構成により、制御システムは、画素値が所定の空間的なパターンを有するパターン光を投影部が投影した対象物を撮像した第1撮像画像と、画素値が一様な一様光を投影部が投影した対象物を撮像した第2撮像画像とに基づいて、対象物の3次元形状を算出する。これにより、制御システムは、画素値が所定の空間的なパターンを有するパターン光を投影部が投影した対象物を撮像した第1撮像画像と、画素値が一様な一様光を投影部が投影した対象物を撮像した第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、本発明の他の態様は、ロボットと、制御装置と、を含み、前記制御装置は、画素値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、画素値が一様な一様光を前記投影部が投影した前記対象物が撮像された第2撮像画像とに基づいて前記対象物の3次元形状を算出し、前記3次元形状に基づいて前記ロボットを動作させる、ロボットシステムである。
この構成により、ロボットシステムでは、画素値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、画素値が一様な一様光を前記投影部が投影した前記対象物が撮像された第2撮像画像とに基づいて前記対象物の3次元形状を算出し、前記3次元形状に基づいて前記ロボットを動作させる。これにより、ロボットシステムは、3次元情報の計測を精度よく行うことができる。その結果、ロボットシステムでは、ロボットを精度よく動作させることができる。
また、本発明の他の態様は、画素値が所定のパターンを有するパターン光を投影部が投影した対象物を第1撮像画像として撮像し、画素値が一様な一様光を前記投影部が投影した前記対象物を第2撮像画像として撮像し、前記第1撮像画像と前記第2撮像画像に基づいて前記対象物の3次元形状を算出する、制御方法である。
この構成により、制御方法は、画素値が所定のパターンを有するパターン光を投影部が投影した対象物を第1撮像画像として撮像し、画素値が一様な一様光を投影部が投影した対象物を第2撮像画像として撮像し、第1撮像画像と第2撮像画像に基づいて対象物の3次元形状を算出する。これにより、制御方法は、3次元情報の計測を精度よく行うことができる。
以上により、制御システム、ロボットシステム、及び制御方法は、画素値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、画素値が一様な一様光を投影部が投影した対象物が撮像された第2撮像画像とに基づいて、対象物の3次元形状を算出する。これにより、制御システム、ロボットシステム、及び制御方法は、3次元情報の計測を精度よく行うことができる。
本実施形態に係るロボットシステム1の一例を示す構成図である。 投影部5が4つのパターン光のそれぞれを投影した場合に投影領域R1に表示される4枚の投影画像の一例を示す図である。 投影部5が一様光を投影した場合に当該投影領域R1に表示される投影画像の一例を示す図である。 投影画像上の輝度の変化に応じた変化であって、当該投影画像が撮像された撮像画像上における当該投影画像上の輝度の変化を表すグラフの一例を示す図である。 制御装置30のハードウェア構成の一例を示す図である。 制御装置30の機能構成の一例を示す図である。 制御部36が本実施形態において説明する位相シフト法を用いてロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、投影部5と、撮像部10と、ロボット20と、制御装置30を備える。
まず、ロボットシステム1が備える各構成について説明する。
投影部5は、例えば、光を投影するための液晶ライトバルブや投影レンズ、液晶駆動部、光源を備えるプロジェクターである。投影部5は、制御装置30から投影画像を取得する。投影部5は、取得した投影画像に基づく光を生成し、生成した光を物体の表面に投影する。これにより、投影部5は、当該光が投影された物体の表面上に投影画像を表示させる。投影部5が備える光源は、例えば、超高圧水銀ランプやメタルハライドランプ等である。
この一例において、投影部5は、図1に示した作業台TBの上面に設定された投影領域R1に対して投影画像に基づく光を投影可能な位置に設置される。これにより、投影部5は、投影画像を投影領域R1に表示することができる。投影領域R1は、作業台TBの上面の一部であってもよく、作業台TBの上面の全部であってもよい。
また、投影部5は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、投影部5は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
撮像部10は、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、撮像部10は、図1に示した作業台TBの上面に設定された撮像領域R2を撮像可能な位置に設置される。
撮像領域R2は、作業台TBの上面の一部であってもよく、作業台TBの上面の全部であってもよい。なお、図1では、撮像領域R2は、投影領域R1より小さい領域であるが、これに代えて、投影領域R1より大きい領域であってもよい。また、図1では、撮像領域R2は、その全体が投影領域R1に含まれているが、これに代えて、部分的に投影領域R1と重なる構成であってもよい。なお、撮像領域R2は、投影領域R1と少なくとも一部が必ず重なる構成でなければならない。
ロボット20は、アームと、制御装置30を備えた単腕ロボットである。
単腕ロボットは、この一例における1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、双腕ロボットであってもよい。双腕ロボットは、2本のアームを備えるロボットである。また、ロボット20は、この一例において、撮像部10と別体として構成されているが、撮像部を備える構成であってもよい。
アームは、物体を把持可能な爪部を備えるエンドエフェクターEと、マニピュレーターMと、図示しない複数のアクチュエーターによって構成される。アームは、7軸垂直多関節型のアームである。具体的には、アームは、支持台と、エンドエフェクターEと、マニピュレーターMとがアクチュエーターによる連携した動作によって7軸の自由度の動作を行う。
アームが7軸の自由度で動作する場合、アームは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これによりアームは、例えば、動作が滑らかになり、更にアームの周辺に存在する物体との干渉を容易に回避することができるようになる。また、アームが7軸の自由度で動作する場合、アームの制御は、アームが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。このような理由から、アームは、7軸の自由度で動作することが望ましい。それ故、この一例では、アームが7軸の自由度で動作する場合について説明する。なお、アームは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
各アクチュエーターは、ケーブルによって制御装置30と通信可能に接続されている。これにより、アクチュエーターは、制御装置30から取得される制御信号に基づいて、エンドエフェクターEとマニピュレーターMを動作させることができる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。また、アクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって制御装置30と接続される構成であってもよい。
上記で説明した投影部5と、撮像部10と、ロボット20が備える各機能部とは、この一例において、制御装置30から制御信号を取得する。そして、これらの各機能部は、取得した制御信号に基づいた動作を行う。すなわち、この一例において、投影部5と、撮像部10と、ロボット20とは、ロボット20の外部に設置された制御装置30により制御される。なお、投影部5と、撮像部10と、ロボット20とは、これに代えて、ロボット20に内蔵された制御装置30により制御される構成であってもよい。
制御装置30は、投影部5と、撮像部10と、ロボット20が備える各機能部とのそれぞれに制御信号を送信する。これにより、制御装置30は、投影部5と、撮像部10と、ロボット20とのそれぞれを動作させる。また、制御装置30は、ロボット20に所定の作業を行わせる。
以下、ロボット20が行う所定の作業について説明する。
図1に示した作業台TBは、例えば、テーブルである。なお、作業台TBは、テーブルに変えて、複数の対象物Oを載置可能な床面等の物体であれば他の物体であってもよい。この一例において、作業台TBには、1個の対象物Oが載置されている場合について説明するが、これに代えて、複数の対象物Oが規則的に載置されている構成であってもよく、複数の対象物Oがバラ積みされている構成であってもよい。また、作業台TBの上面には、前述したように投影領域R1と撮像領域R2が設定されている。
対象物Oは、作業台TBの上面のうち、投影領域R1と撮像領域R2が重なり合った面上に載置される。対象物Oは、例えば、ネジやボルト等の産業用の部品や部材である。また、対象物Oは、図1において、図の簡略化のため直方体形状の物体として表している。なお、対象物Oは、産業用の部品や部材に代えて、日用品等の他の物体であってもよい。また、対象物Oの形状は、直方体形状に代えて、他の形状であってもよい。
ロボット20は、例えば、所定の作業として、作業台TBの上面に載置された対象物OをエンドエフェクターEにより把持する。そして、ロボット20は、エンドエフェクターEにより把持した対象物Oを、図示しない給材領域に給材(配置)する。
以下、ロボット20に所定の作業を行わせるために制御装置30が行う処理について説明する。
この一例において、制御装置30は、図1に示した作業台TBの上面に載置された対象物Oを含む投影領域R1に対して複数のパターン光を順に投影部5に投影させる。複数のパターン光はそれぞれ、互いに異なる所定のパターンを有している。この一例では、制御装置30は、当該投影領域R1に対して4つのパターン光を順に投影部5に投影させる場合について説明する。なお、制御装置30は、当該投影領域R1に対して3つ又は5つ以上の任意の数のパターン光を順に投影部5に投影させる構成であってもよい。
ここで、図2を参照し、制御装置30が投影部5に投影させる4つのパターン光について説明する。図2は、投影部5が4つのパターン光のそれぞれを投影した場合に投影領域R1に表示される4枚の投影画像の一例を示す図である。図2には、対象物Oを含まない投影領域R1に表示された4つの投影画像P0〜投影画像P3が示されている。4つのパターン光のそれぞれが有する所定のパターンは、投影画像P0〜投影画像P3のそれぞれの面上における画素値の周期的変化を表す波である。また、4つのパターン光のそれぞれが有する所定のパターンは、画素値の周期的変化を表す波の位相が互いにπ/2だけ異なる。
また、投影画像P0〜投影画像P3のそれぞれの面上における当該波は、空間的に拡がる波である。なお、投影画像P0〜投影画像P3のそれぞれの面上における当該波は、これに代えて、時間的に拡がる波であってもよい。その場合、投影画像P0〜投影画像P3のそれぞれは、時間の経過毎に輝度値が変化する複数の投影画像と対応付けられ、制御装置30は、投影画像P0〜投影画像P3のそれぞれと、投影画像P0〜投影画像P3のそれぞれに対応付けられた複数の投影画像とを投影領域R1に順に投影させる。
この一例において、投影画像P0〜投影画像P3のそれぞれの面上における画素値の周期的変化を表す波は、図1に示したように、投影画像P0〜投影画像P3のそれぞれの面上において水平方向に進行する平面波(正弦波)である。すなわち、投影画像P0〜投影画像P3のそれぞれの面上において水平方向に進行する画素値の周期的変化を表す平面波は、位相が互いにπ/2だけ異なる。なお、当該平面波は、位相が互いにπ/2だけ異なる構成に代えて、位相が互いにπ等の他の値の分だけ異なる構成であってもよい。
画素値は、例えば、輝度値や、明度や色彩等の画素毎に対応付けられた値である。この一例において、画素値は、輝度値である場合について説明する。なお、投影画像P0〜投影画像P3のそれぞれの面上における画素値の周期的変化を表す波は、投影画像P0〜投影画像P3のそれぞれの面上において垂直方向に進行する平面波(正弦波)であってもよく、斜めに進行する平面波であってもよく、球面波等であってもよい。
制御装置30は、対象物Oを含む投影領域R1に対して、このような4つのパターン光を順に投影する。そして、制御装置30は、4つのパターン光のそれぞれが当該投影領域R1に投影される毎に、当該投影領域R1を含む撮像領域R2を撮像部10に撮像させる。これにより、制御装置30は、各パターン光が投影された当該投影領域R1、すなわち投影画像P0〜投影画像P3のそれぞれが表示された当該投影領域R1を含む撮像領域R2が撮像された4つの撮像画像を取得する。
この一例において、撮像領域R2の全体が投影領域R1に含まれているため、制御装置30は、撮像領域R2が撮像された4つの撮像画像を取得する。一方で、撮像領域R2と投影領域R1とが部分的に重なっている場合や、撮像領域R2が投影領域R1の全体よりも広い範囲を含む場合、制御装置30は、例えば、撮像領域R2が撮像された撮像画像から、投影領域R1に表示された投影画像を検出し、検出した当該投影画像の部分を改めて撮像画像として取得する。
以下では、投影画像P0が表示された投影領域R1を含む撮像領域R2が撮像された撮像画像を、撮像画像C0と称して説明する。また、以下では、投影画像P1が表示された投影領域R1を含む撮像領域R2が撮像された撮像画像を、撮像画像C1と称して説明する。また、以下では、投影画像P2が表示された投影領域R1を含む撮像領域R2が撮像された撮像画像を、撮像画像C2と称して説明する。また、以下では、投影画像P3が表示された投影領域R1を含む撮像領域R2が撮像された撮像画像を、撮像画像C3と称して説明する。なお、撮像画像C0〜撮像画像C3のそれぞれは、第1撮像画像の一例である。
また、制御装置30は、図1に示した作業台TBの上面に載置された対象物Oを含む投影領域R1に対して図3に示した一様光を投影部5に投影させる。図3は、投影部5が一様光を投影した場合に当該投影領域R1に表示される投影画像の一例を示す図である。図3には、対象物Oを含まない投影領域R1に表示された投影画像P4が示されている。投影画像P4は、各画素の輝度値が、図2に示した投影画像P0〜投影画像P3のそれぞれにおいて周期的に変化している輝度値の平均値である画像である。すなわち、一様光は、このような投影画像P4を表示させる光である。制御装置30は、一様光が投影された当該投影領域R1を含む撮像領域R2を撮像部10に撮像させる。これにより、制御装置30は、一様光が投影された当該投影領域R1、すなわち投影画像P4が表示された当該投影領域R1を含む撮像領域R2が撮像された1つの撮像画像を取得する。以下では、投影画像P4が投影された投影領域R1を含む撮像領域R2が撮像された撮像画像を、撮像画像C4と称して説明する。なお、撮像画像C4は、第2撮像画像の一例である。
そして、制御装置30は、取得した撮像画像C0〜撮像画像C4に基づいて、撮像部10の撮像画像(すなわち、撮像素子)上における各画素(各位置)を示す座標と、投影部5の投影画像(すなわち、液晶ライトバルブ)上における各画素(各位置)を示す座標とを対応付ける対応付処理を行う。制御装置30は、位相シフト法によって当該対応付処理を行う。ここで、従来の位相シフト法は、当該投影画像が撮像された撮像画像上における当該投影画像上の輝度が、投影画像上の輝度の変化に応じて近似的に一次関数的に変化する、又は二次関数的に変化すると仮定(近似)したアルゴリズムに基づいて、撮像部10の撮像画像上における各画素を示す座標と、投影部5の営統画像上の各画素を示す座標とを対応付ける方法であった。
しかし、このような仮定が成り立たない場合がある。例えば、投影画像上の輝度の変化に応じた変化であって、当該投影画像が撮像された撮像画像上における当該投影画像上の輝度の変化が、図4に示したようなグラフによって表されている場合、当該変化を表す関数は、一次関数によって近似することができない。図4は、投影画像上の輝度の変化に応じた変化であって、当該投影画像が撮像された撮像画像上における当該投影画像上の輝度の変化を表すグラフの一例を示す図である。
図4において、曲線F1は、投影画像上の輝度の変化に応じた当該投影画像が撮像された撮像画像上における当該投影画像上の輝度の変化を表す。曲線F1は、点線R1に囲まれた範囲に示したように、投影画像上における輝度値が0からTまでの区間において、二次関数的に変化していると近似できる。一方、投影画像上における輝度値がTを超えた区間においては、点線R2に囲まれた範囲に示したように、一次関数的に変化していると近似できる。すなわちこれは、曲線F1が、全ての領域に亘って一次関数により近似することができないことを示している。これを視覚的に示すため、投影画像上における輝度値がTを超えた区間において、曲線F1を一次関数によってフィッティングした場合の直線を、図4における点線による直線F2によって示した。
図4に示した場合と同様に、投影画像上の輝度の変化に応じた変化であって、当該投影画像が撮像された撮像画像上における当該投影画像上の輝度の変化が、一次関数的に変化する、又は二次関数的に変化すると近似することができない場合がある。これは、投影画像上の輝度の変化に応じた変化であって、当該投影画像が撮像された撮像画像上における当該投影画像上の輝度の変化が、三次以上の高次関数的に変化すると近似しなければならない場合である。このような場合、従来の位相シフト法は、撮像部10の撮像画像上における各画素を示す座標と、投影部5の投影画像上における各画素を示す座標との対応付けを、投影画像上における輝度値がTを超えた区間において精度よく行うことができない。
本実施形態において説明する位相シフト法は、投影画像上の輝度の変化に応じた変化であって、当該投影画像が撮像された撮像画像上における当該投影画像上の輝度の変化が、三次以上の高次関数的に変化すると近似しなければならない場合においても、撮像部10の撮像画像上における各画素を示す座標と、投影部5の投影画像上における各画素を示す座標とを対応付けを精度よく行うことができる。以下では、当該場合においても、撮像部10の撮像画像上における各画素を示す座標と、投影部5の投影画像上における各画素を示す座標とを対応付けを精度よく行う方法について説明する。
なお、制御装置30は、本実施形態において説明する位相シフト法を用いた対応付処理を行った後、制御装置30は、撮像画像C0に基づいて対象物Oの3次元情報を生成する。この一例において、制御装置30が生成する対象物Oの3次元情報は、対象物Oの3次元形状を表す3次元点群を示す情報である。3次元点群を構成する各点は、ロボット座標系における位置であって対象物Oの表面の各位置を示す点である。
制御装置30は、生成した3次元点群に基づいて、対象物Oのロボット座標系における3次元位置及び姿勢を算出する。以下では、説明の便宜上、対象物Oのロボット座標系における3次元位置及び姿勢を、対象物Oの位置姿勢と称して説明する。制御装置30は、算出した対象物Oの位置姿勢に基づいてアームを動作させ、エンドエフェクターEに対象物Oを把持させる。そして、制御装置30は、アームを動作させることにより、エンドエフェクターEが把持した対象物Oを図示しない給材領域に給材させる。
次に、図5を参照し、制御装置30のハードウェア構成について説明する。図5は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。また、制御装置30は、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)などを含む。記憶部32は、制御装置30が処理する各種情報や画像、プログラム、図示しない給材領域の位置を示す情報等を格納する。なお、記憶部32は、制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部35と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
次に、図6を参照し、制御装置30の機能構成について説明する。図6は、制御装置30の機能構成の一例を示す図である。制御装置30は、記憶部32と、制御部36を備える。
制御部36は、制御装置30の全体を制御する。制御部36は、撮像制御部40と、投影制御部41と、画像取得部42と、位相画像生成部44と、対応付部45と、3次元点群情報生成部46と、3次元位置姿勢導出部47と、ロボット制御部48と、記憶制御部49を備える。制御部36が備えるこれらの機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
撮像制御部40は、撮像領域R2を撮像部10に撮像させる。
投影制御部41は、投影画像P0〜P4のそれぞれを示す情報を投影部5に出力する。そして、投影制御部41は、出力した投影画像を表示させる光を投影領域R1に対して投影部5に投影させる。
画像取得部42は、撮像部10から撮像画像を取得する。
位相画像生成部44は、画像取得部42が取得した撮像画像C0〜撮像画像C4に基づいて、撮像画像C0における輝度値の周期的変化を表す波の位相であって、撮像画像C0上の各画素における位相を算出する。位相画像生成部44は、算出した位相に基づいて第1位相画像を生成する。第1位相画像は、位相画像生成部44が算出した撮像画像C0上の各画素を示す座標と、各画素における位相を表す情報とを対応付けた画像である。例えば、当該位相を表す情報は、輝度値であってもよく、明度であってもよく、色彩であってもよく、他の情報であってもよい。
また、位相画像生成部44は、記憶部32から投影画像P0〜投影画像P4を読み込む。位相画像生成部44は、読み込んだ投影画像P0〜投影画像P4に基づいて、投影画像P0〜投影画像P4に基づいて、投影画像P0における輝度値の周期的変化を表す波の位相であって、投影画像P0上の各画素における位相を算出する。位相画像生成部44は、算出した位相に基づいて第2位相画像を生成する。第2位相画像は、位相画像生成部44が算出した投影画像P0上の各画素を示す座標と、各画素における位相を表す情報とを対応付けた画像である。例えば、当該位相を表す情報は、輝度値であってもよく、明度であってもよく、色彩であってもよく、他の情報であってもよい。
対応付部45は、位相画像生成部44が生成した第1位相画像及び第2位相画像に基づいて、撮像部10の撮像画像上における各画素を示す座標と、投影部5の投影画像上における各画素を示す座標とを対応付ける対応付処理を行う。
3次元点群情報生成部46は、対応付部45による対応付処理の結果と、画像取得部42が取得した撮像画像C0とに基づいて、対象物Oの3次元点群を示す情報を生成する。
3次元位置姿勢導出部47は、3次元点群情報生成部46が生成した3次元点群を示す情報であって対象物Oの3次元点群を示す情報に基づいて、対象物Oの位置姿勢を算出する。
ロボット制御部48は、3次元位置姿勢導出部47が導出した対象物Oの位置姿勢に基づいてアームを動作させ、エンドエフェクターEに対象物Oを把持させる。そして、ロボット制御部48は、アームを動作させ、エンドエフェクターEが把持した対象物Oを図示しない給材領域に給材する。
記憶制御部49は、画像取得部42が取得した撮像画像C0〜撮像画像C4のそれぞれを記憶部32に記憶させる。また、記憶制御部49は、位相画像生成部44が生成した第1位相画像及び第2位相画像のそれぞれを記憶部32に記憶させる。また、記憶制御部49は、3次元点群情報生成部46が生成した3次元点群を示す情報を記憶部32に記憶させる。
以下、図7を参照し、制御部36が本実施形態において説明する位相シフト法を用いてロボット20に所定の作業を行わせる処理について説明する。図7は、制御部36が本実施形態において説明する位相シフト法を用いてロボット20に所定の作業を行わせる処理の流れの一例を示すフローチャートである。図7に示したフローチャートにおいて、投影画像P0〜投影画像P4のそれぞれは、記憶部32に予め記憶されている場合について説明する。なお、投影制御部41は、投影画像P0〜投影画像P4のそれぞれを生成する構成であってもよく、投影画像P0〜投影画像P4のそれぞれを投影部5に生成させる構成であってもよい。
投影制御部41は、投影画像P0〜投影画像P4のそれぞれ毎に、ステップS110からステップS140までの処理を繰り返し行う(ステップS100)。以下では、ステップS110からステップS140までの処理を、ステップS100において投影画像P0が選択された場合を例に挙げて説明する。投影制御部41は、ステップS100において選択した投影画像P0を記憶部32から読み込む。投影制御部41は、記憶部32から読み込んだ投影画像P0を投影部5に出力し、投影画像P0を対象物Oを含む投影領域R1に表示させる光を投影部5に投影させる(ステップS110)。
次に、撮像制御部40は、当該撮像領域R2を撮像部10に撮像させる(ステップS120)。次に、画像取得部42は、ステップS120において撮像部10が撮像した撮像画像を撮像部10から取得する(ステップS130)。この一例では、ステップS100において選択された投影画像が投影画像P0であるため、ステップS130において画像取得部42が取得する撮像画像は、撮像画像C0である。次に、記憶制御部49は、ステップS130において画像取得部42が取得した撮像画像を記憶部32に記憶させる(ステップS140)。この一例では、ステップS130において画像取得部42が取得した撮像画像が撮像画像C0であるため、ステップS140において記憶制御部49は、撮像画像C0を記憶部32に記憶させる。
このように、ステップS100からステップS140までの処理を繰り返すことにより、制御部36は、記憶部32に撮像画像C0〜撮像画像C4のそれぞれを記憶させる。
次に、位相画像生成部44は、記憶部32から撮像画像C0〜撮像画像C4のそれぞれを読み込む(ステップS150)。次に、位相画像生成部44は、ステップS150において読み込んだ撮像画像C0〜撮像画像C4のそれぞれに基づいて、撮像画像C0における輝度値の周期的変化を表す波の位相であって、撮像画像C0上の各画素における位相を特定する。そして、位相画像生成部44は、特定した位相に基づいて第1位相画像を生成する(ステップS160)。ここで、ステップS160において位相画像生成部44が撮像画像C0における輝度値の周期的変化を表す波の位相であって、撮像画像C0上の各点における位相を特定する処理について説明する。
まず、位相画像生成部44が撮像画像C0における輝度値の周期的変化を表す波の位相であって、撮像画像C0上の各画素における位相を算出する原理について説明する。なお、以下では、投影画像(すなわち、投影画像P0〜投影画像P4)上のある画素PXを示す座標を(px,py)によって表し、撮像画像(すなわち、撮像画像C0〜撮像画像C4)上において画素PXが撮像されている画素を示す座標を(cx,cy)によって表す。また、以下では、座標(px,py)が示す投影画像上の画素を画素(px,py)と称し、座標(cx,cy)が示す撮像画像上の画素を画素(cx,cy)と称して説明する。
撮像画像C0上の画素(cx,cy)の輝度値IC(cx,cy)は、ある関数fによって投影画像P上の画素(px,py)の輝度値IP(px,py)と関係付けることができる。すなわち、輝度値IC(cx,cy)は、IC(cx,cy)=f(IP(px,py))と表すことができる。また、輝度値IP(px,py)は、画素(px,py)における位相であって投影画像P0の輝度値の周期的変化を表す波の位相がθ(px,py)である場合、以下の式(1)のように表される。
上記の式(1)において、Aは、投影画像P0の輝度値の周期的変化を表す波の振幅を表す。また、P_barは、投影画像P0〜投影画像P3のそれぞれにおける輝度値のオフセット(バイアス成分)であり、すなわち、投影画像P4の各画素における輝度値である(換言すると、オフセットは、投影画像P0の輝度値の周期的変化を表す波の変位が0となる位置における投影画像P0の輝度値のことである)。なお、P_barのように、変数を表す文字の後に「_bar」が付随する変数は、当該変数の上部に横棒が付随する変数を表すとする。上記の式(1)を用いると、輝度値IC(cx,cy)は、以下の式(2)のように表すことができる。
同様に、撮像画像C1上の画素(cx,cy)の輝度値IC(cx,cy)は、関数fによって投影画像P上の画素(px,py)の輝度値IP(px,py)を用いて、以下の式(3)のように表すことができる。
また、撮像画像C2上の画素(cx,cy)の輝度値IC(cx,cy)は、関数fによって投影画像P上の画素(px,py)の輝度値IP(px,py)を用いて、以下の式(4)のように表すことができる。
また、撮像画像C3上の画素(cx,cy)の輝度値IC(cx,cy)は、関数fによって投影画像P上の画素(px,py)の輝度値IP(px,py)を用いて、以下の式(5)のように表すことができる。
ここで、上記の式(2)〜式(5)のそれぞれは、位相θ(px,py)を定数として扱った場合、定数のオフセットP_barを変数のオフセットPに置き換えることにより、オフセットPの関数として扱うことができる。そして、関数fがオフセットPの2次関数によって精度よく近似できる場合、すなわち、上記の式(2)〜式(5)のそれぞれをオフセットP_barの周りでテイラー展開して3次以上の項を無視できる場合、投影画像P0上の輝度値の周期的変化を表す波の位相であって投影画像P0上の画素(px,py)における位相θ(px,py)は、上記の式(2)〜式(5)のそれぞれにおける輝度値IC(cx,cy)〜輝度値IC(cx,cy)を用いて、以下の式(6)〜式(8)のように表すことができる。
ここで、上記の式(6)における右辺の輝度値IC(cx,cy)〜輝度値IC(cx,cy)は、撮像画像C0〜撮像画像C3のそれぞれから画素(cx,cy)の輝度値を検出することにより得ることが可能な量である。一方で、左辺のθ(px,py)は、座標(px,py)がどの画素を示しているのかが特定されていないため、現時点で検出不可能な量である。
そこで、位相画像生成部44は、撮像画像C0〜撮像画像C3のそれぞれから画素(cx,cy)の輝度値であるIC(cx,cy)〜輝度値IC(cx,cy)を検出する。そして、位相画像生成部44は、撮像画像C0〜撮像画像C3のそれぞれから検出した画素(cx,cy)の輝度値であるIC(cx,cy)〜輝度値IC(cx,cy)と、上記の式(6)とを用いて算出されたθ(px,py)を、撮像画像(すなわち、撮像素子)上の画素(cx,cy)における位相θ(cx,cy)として特定する。このような位相の特定を、撮像画像上の全ての画素について行うことにより、位相画像生成部44は、撮像画像上の全ての画素における位相を特定する。なお、上記の式(6)は、第1式の一例である。
一方、関数fがオフセットPの3次以上の関数によって精度よく近似できる場合、関数fがオフセットPの2次関数によって精度よく近似できないため、上記の式(6)によって特定した位相θ(cx,cy)を用いて対応付処理を行った場合、精度が低下してしまう場合がある。そこで、関数fがオフセットPの3次以上の関数によって精度よく近似できる場合、関数fをオフセットPの3次以上の関数によって近似することによって得られる式によって位相θ(cx,cy)を特定する。
以下では、この一例として、関数fがオフセットPの3次関数によって精度よく近似できる場合について説明する。関数fがオフセットPの3次関数によって精度よく近似できる場合、すなわち、上記の式(2)〜式(5)のそれぞれをオフセットP_barの周りでテイラー展開して4次以上の項を無視できる場合、投影画像P0上の輝度値の周期的変化を表す波の位相であって投影画像P0上の画素(px,py)における位相θ(px,py)は、上記の式(2)〜式(5)における輝度値IC(cx,cy)〜輝度値IC(cx,cy)を用いて、以下の式(9)〜式(11)のように表すことができる。
上記の式(9)におけるI_barは、各画素が輝度値P_barの投影画像P4が撮像された撮像画像である撮像画像C4の各画素における輝度値であるf(P_bar)を置き換えたものである。ここで、上記の式(6)の場合と同様に、上記の式(9)における右辺の輝度値IC(cx,cy)〜輝度値IC(cx,cy)、輝度値I_barは、撮像画像C0〜撮像画像C4のそれぞれから画素(cx,cy)の輝度値を検出することにより得ることが可能な量である。一方で、左辺のθ(px,py)は、座標(px,py)がどの画素を示しているのかが特定されていないため、現時点で検出不可能な量である。
そこで、位相画像生成部44は、撮像画像C0〜撮像画像C4のそれぞれから画素(cx,cy)の輝度値であるIC(cx,cy)〜輝度値IC(cx,cy)、輝度値I_barを検出する。そして、位相画像生成部44は、撮像画像C0〜撮像画像C4のそれぞれから検出した画素(cx,cy)の輝度値であるIC(cx,cy)〜輝度値IC(cx,cy)、輝度値I_barと、上記の式(9)とを用いて算出されたθ(px,py)を、撮像画像上の画素(cx,cy)における位相θ(cx,cy)として特定する。このような位相の特定を、撮像画像上の全ての画素について行うことにより、位相画像生成部44は、撮像画像上の全ての画素における位相を特定する。なお、上記の式(9)は、第2式の一例である。
位相画像生成部44は、上記の式(6)と式(9)とのいずれかの式を用いて位相θ(cx,cy)を特定する。位相画像生成部44は、式(6)と式(9)とのいずれの式を用いるかを、関数fがオフセットPの2次関数によって精度よく近似できるか否かの判定結果に応じて決める。この判定は、関数fが3次関数であることを仮定して導出された上記の式(10)及び式(11)を用いて行われる。
式(10)及び式(11)の左辺における輝度値IC0〜輝度値IC3は、実際に撮像画像C0〜撮像画像C3のそれぞれから検出される量である。以下では、説明の便宜上、当該量を第1検出量と称して説明する。また、上記の式(10)及び式(11)のそれぞれの右辺における第1項のf(P_bar)は、前述のI_barに置き換え可能な量であり、撮像画像C4から検出される量である。以下では、説明の便宜上、当該量を第2検出量と称して説明する。
一方で、上記の式(10)及び式(11)のそれぞれの右辺における第2項は、関数fがオフセットPの3次関数であることを反映して現れている項である。すなわち、式(10)及び式(11)のそれぞれの右辺における第2項のいずれか一方が所定の閾値ε以上であることは、関数fがオフセットPの2次関数によって精度よく近似出来ないことを示す。換言すると、式(10)及び式(11)のそれぞれの右辺における第2項の両方が所定の閾値ε未満であることは、関数fがオフセットPの2次関数によって精度よく近似出来ることを示す。
そこで、式(10)及び式(11)のそれぞれにおける第1検出量と第2検出量との差を、それぞれ誤差δ及び誤差δとした場合、誤差δと誤差δは、以下の式(12)及び式(13)によって表される。
すなわち、位相画像生成部44は、上記の式(12)及び式(13)によって算出される誤差δと誤差δに基づいて、式(6)と式(9)とのいずれの式を用いるかを決定する。位相画像生成部44は、誤差δと誤差δのうちいずれか一方が所定の閾値ε以上であった場合、式(9)を用いて位相θ(cx,cy)を特定する。一方、位相画像生成部44は、誤差δと誤差δの両方が所定の閾値ε未満であった場合、式(6)を用いて位相θ(cx,cy)を特定する。これをまとめたものが、以下の式(14)である。
図7に戻る。ステップS160の処理が実行された後、位相画像生成部44は、ステップS100において読み込んだ投影画像P0〜投影画像P4のそれぞれに基づいて、撮像画像P0における輝度値の周期的変化を表す波の位相であって、投影画像P0上の各画素における位相を特定する。そして、位相画像生成部44は、特定した位相に基づいて第2位相画像を生成する(ステップS165)。
ここで、ステップS165において位相画像生成部44が投影画像P0における輝度値の周期的変化を表す波の位相であって、投影画像P0上の各画素(px,py)における位相θ(px,py)を特定する処理について説明する。
位相画像生成部44は、以下に示す式(15)と式(16)のうちいずれか一方によって、位相θ(px,py)を特定(算出)する。
ここで、IP(px,py)は、投影画像P0上の画素(px,py)の輝度値を示す。また、IP(px,py)は、投影画像P1上の画素(px,py)の輝度値を示す。また、IP(px,py)は、投影画像P2上の画素(px,py)の輝度値を示す。また、IP(px,py)は、投影画像P3上の画素(px,py)の輝度値を示す。なお、これらの式(15)及び式(16)は、ステップS160において説明した式(6)及び式(9)の導出方法において、撮像画像C0〜撮像画像C4を、投影画像P0〜投影画像P4に置き換えることによって導出することができるため、説明を省略する。
次に、対応付部45は、ステップS160において位相画像生成部44が生成した第1位相画像と、ステップS165において位相画像生成部44が生成した第2位相画像とに基づいて、撮像画像C0上における各画素を示す座標と、投影画像P0上における各画素を示す座標とを対応付ける対応付処理を行う(ステップS170)。ここで、位相画像生成部44が生成した第1位相画像における位相は、相対位相であるため、第1位相画像と第2位相画像との位相の対応付けを行うためには、位相接続を行う必要がある。対応付部45は、例えば、空間コード化法によって位相接続を行う構成であってもよく、波長の異なるパターン光を再度投影することにより複数の第1位相画像及び第2位相画像を計算することによって位相接続を行う構成であってもよく、他の従来知られている位相接続の方法や、これから開発される位相接続の方法によって位相接続を行う構成であってもよい。
そして、対応付部45は、位相接続が行われた後の第1位相画像及び第2位相画像に基づいて、撮像画像C0上における各画素を示す座標と、投影画像P0上における各画素を示す座標とを対応付ける。なお、位相接続を行った後の対応付部45の処理は、従来の位相シフト法と同じであるため、詳しい説明を省略する。
次に、3次元点群情報生成部46は、ステップS170において対応付部45が行った対応付処理の結果と、画像取得部42が取得した撮像画像C0とに基づいて、対象物Oの3次元点群を示す情報を生成する(ステップS180)。次に、3次元位置姿勢導出部47は、ステップS180において3次元点群情報生成部46が生成した3次元点群を示す情報に基づいて、対象物Oの位置姿勢を算出する(ステップS190)。次に、ロボット制御部48は、ステップS240において3次元位置姿勢導出部47が算出した対象物Oの位置姿勢に基づいて、第1エンドエフェクターE1に対象物Oを把持させる。そして、ロボット制御部48は、第1エンドエフェクターE1を動作させ、第1エンドエフェクターE1に把持させた対象物Oを、図示しない給材領域に給材させる(ステップS200)。
以上のように、制御部36は、撮像画像C0上における各画素を示す座標と、投影画像P0上における各画素を示す座標とを対応付ける。この対応付けにより、制御部36は、図8に示したフローチャートの処理によって、対象物Oを含む撮像画像に基づいて対象物Oの3次元点群を示す情報を精度よく生成することができる。
<パターン光の数が5以上の場合についての補足>
上記の実施形態では、複数のパターン光の数が4の場合について説明した。しかし、複数のパターン光の数は、5以上であってもよい。しかし、上記のように、式(9)を算出する際の関数fがオフセットPの3次関数によって精度よく近似できる場合、パターン光は、図2に示した4つのパターン光によって表示される投影画像P0〜投影画像P3のように、それぞれの輝度値の周期的変化を表す波の位相が互いにπ/2だけ異なる4つのパターン光を含む5以上のパターン光であるか、もしくは、図2に示した4つのパターン光によって表示される投影画像P0〜投影画像P3のように、それぞれの輝度値の周期的変化を表す波の位相が互いにπ/2だけ異なる4つのパターン光を含む4の倍数のパターン光であることが望ましい。
これは、関数fがオフセットPの3次関数によって精度よく近似できる場合、式(9)に対応する式の算出は、図2に示した4つのパターン光によって表示される投影画像P0〜投影画像P3のように、それぞれの輝度値の周期的変化を表す波の位相が互いにπ/2だけ異なる4つのパターン光を用いる方法でなければ行えないためである。
このため、関数fがオフセットPの3次関数によって精度よく近似できる場合、制御装置30は、4の倍数である5以上のパターン光のうち、パターン光によって表示される5以上の投影画像それぞれの輝度値の周期的変化を表す波の位相が互いにπ/2となる4つのパターン光の組み合わせを抽出し、抽出した当該組み合わせを用いて、上記の実施形態において説明した方法によって対象物Oの3次元点群を示す情報を生成する。
これはすなわち、関数fがオフセットPの3次関数によって精度よく近似できる場合、対象物Oの3次元点群を示す情報を生成するのに用いることができる複数のパターン光の数は、4であることを示している。
一方で、関数fがオフセットPの2次関数によって精度よく近似できる場合、複数のパターン光の数は、4に代えて、5以上の数のうちの任意の数であってもよい。
すなわち、制御装置30は、パターン光の数が5以上の場合、上記の式(6)を用いて位相を算出する際、5以上のパターン光によって表示される5以上の投影画像のそれぞれを撮像した撮像画像に基づいて対象物Oの3次元点群を示す情報を生成する。一方、制御装置30は、パターン光の数が5以上の場合、上記の式(9)を用いて位相を算出する際、5以上のパターン光から、輝度値の周期的変化を表す波の位相が互いにπ/2となる4つのパターン光の組み合わせを抽出し、抽出した当該組み合わせを用いて、上記の実施形態において説明した方法によって対象物Oの3次元点群を示す情報を生成する。
このようにすることで、制御装置30は、パターン光の数が5以上の場合、式(6)を用いる場合と式(9)を用いる場合とで、位相を算出するのに用いるパターン光の数を変更し、対象物Oの3次元点群を示す情報を生成する際の効率を向上させることができる。また、制御装置30は、パターン光の数が5以上の場合、5以上のパターン光から輝度値の周期的変化を表す波の位相が互いにπ/2となる4つのパターン光の組み合わせを予め抽出しておき、抽出しておいた4つのパターン光の組み合わせに基づいて、上記の実施形態において説明した方法により対象物Oの3次元点群を示す情報を生成することにより、パターン光の投影に要する時間を抑制することができ、その結果、対象物Oの位置姿勢を算出する効率を向上させることができる。
以上説明したように、実施形態におけるロボットシステム1(又は、投影部5と、撮像部10と、制御装置30により構成される制御システム)は、輝度値が所定のパターンを有するパターン光を投影部5が投影した対象物Oが撮像された第1撮像画像(この一例において、撮像画像C0〜撮像画像C3)と、輝度値が一様な一様光を投影部5が投影した対象物Oが撮像された第2撮像画像(この一例において、撮像画像C4)とに基づいて、対象物Oの3次元形状を表す3次元点群を示す情報を算出する。これにより、制御システムは、3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、第1撮像画像と第2撮像画像に基づいた位相シフト法によって3次元形状を算出する。これにより、ロボットシステム1は、位相シフト法によって3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、輝度値が所定のパターンを有するパターン光を投影部5が投影した対象物Oが撮像された第1撮像画像と、輝度値が一様な一様光を投影部5が投影した対象物Oが撮像された第2撮像画像とに基づいて、対象物Oの3次元形状を算出する。これにより、ロボットシステム1は、輝度値が所定のパターンを有するパターン光を投影部5が投影した対象物Oが撮像された第1撮像画像と、輝度値が一様な一様光を投影部5が投影した対象物Oが撮像された第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、画素値が所定のパターンを有するパターン光を投影部5が投影した対象物Oが撮像された第1撮像画像と、画素値が当該パターン光の画素値の平均値であり、且つ画素値が一様な一様光を投影部5が投影した対象物Oが撮像された第2撮像画像とに基づいて、対象物Oの3次元形状を算出する。これにより、ロボットシステム1は、画素値が所定のパターンを有するパターン光を投影部5が投影した対象物Oが撮像された第1撮像画像と、画素値が当該パターン光の画素値の平均値であり、且つ画素値が一様な一様光を投影部が投影した対象物Oが撮像された第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、第1式(この一例において、式(6))と、第1式と異なる第2式(この一例において、式(9))を用いて3次元形状を算出する。これにより、ロボットシステム1は、第1式と、第1式と異なる第2式に基づいて、3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、投影部5が投影する光の強度の変化と、当該光を撮像部10が撮像した撮像画像上での当該光の強度の変化との関係を線形近似によって表した第1式と、当該関係を2次以上の項まで含めた近似によって表した式である第2式とを用いて3次元形状を算出する。これにより、ロボットシステム1は、投影部5が投影する光の強度の変化と、当該光を撮像部10が撮像した撮像画像上での当該光の強度の変化との関係を線形近似によって表した第1式と、当該関係を2次以上の項まで含めた近似によって表した式である第2式とに基づいて、3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、投影部5が投影する光の強度の変化と、当該光を撮像部10が撮像した撮像画像上での当該光の強度の変化との関係の近似の誤差と、当該誤差に対する所定の閾値とに基づいて、3次元形状を算出するために用いる式を、第1式と第2式のいずれかに切り替える。これにより、ロボットシステム1は、投影部5が投影する光の強度の変化と、当該光を撮像部10が撮像した撮像画像上での当該光の強度の変化との関係の近似の誤差と、当該誤差に対する所定の閾値とに基づく第1式と第2式の切り替えにより、3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、複数の異なるパターン光のそれぞれについて、画素値が所定のパターンを有するパターン光を投影部5が投影した対象物を第1撮像画像として撮像する。これにより、ロボットシステム1は、複数の異なるパターン光のそれぞれについて、画素値が所定のパターンを有するパターン光を投影部が投影した対象物を第1撮像画像と、第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、第2式を用いる場合、第1式を用いる場合より少ない数のパターン光であって、複数の異なるパターン光のそれぞれについて、画素値が所定のパターンを有するパターン光を投影部5が投影した対象物Oを第1撮像画像として撮像する。これにより、ロボットシステム1は、第1式又は第2式に応じた数のパターン光に基づく第1撮像画像と、第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
また、ロボットシステム1は、画素値が所定の空間的なパターンを有するパターン光を投影部5が投影した対象物を撮像した第1撮像画像と、画素値が一様な一様光を投影部5が投影した対象物Oを撮像した第2撮像画像とに基づいて、対象物Oの3次元形状を算出する。これにより、ロボットシステム1は、画素値が所定の空間的なパターンを有するパターン光を投影部5が投影した対象物Oを撮像した第1撮像画像と、画素値が一様な一様光を投影部5が投影した対象物Oを撮像した第2撮像画像とに基づいて、3次元情報の計測を精度よく行うことができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボットシステム1(又は、前述の制御システム)の制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1 ロボットシステム、5 投影部、10 撮像部、20 ロボット、30 制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 表示部、36 制御部、40 撮像制御部、41 投影制御部、42 画像取得部、44 位相画像生成部、45 対応付部、46 3次元点群情報生成部、47 3次元位置姿勢導出部、48 ロボット制御部、49 記憶制御部

Claims (12)

  1. 投影部と、
    撮像部と、
    制御部と、を備え、
    前記撮像部は、画素値が所定のパターンを有するパターン光を前記投影部が投影した対象物を第1撮像画像として撮像し、画素値が一様な一様光を前記投影部が投影した前記対象物を第2撮像画像として撮像し、
    前記制御部は、前記第1撮像画像と前記第2撮像画像に基づいて、前記対象物の3次元形状を算出する、
    制御システム。
  2. 前記制御部は、前記第1撮像画像と前記第2撮像画像に基づいた位相シフト法によって前記3次元形状を算出する、
    請求項1に記載の制御システム。
  3. 前記画素値は、輝度値である、
    請求項1又は2に記載の制御システム。
  4. 前記一様光の前記画素値は、前記パターン光の画素値の平均値である、
    請求項1から3のうちいずれか一項に記載の制御システム。
  5. 前記制御部は、第1式と、第1式と異なる第2式を用いて前記3次元形状を算出する、
    請求項1から4のうちいずれか一項に記載の制御システム。
  6. 前記第1式及び前記第2式は、前記投影部が投影する光の強度の変化と、当該光を前記撮像部が撮像した撮像画像上での当該光の強度の変化との関係を近似的に表す式であり、
    前記第1式は、前記関係を線形近似によって表した式であり、
    前記第2式は、前記関係を2次以上の項まで含めた近似によって表した式である、
    請求項5に記載の制御システム。
  7. 前記制御部は、前記近似の誤差と、当該誤差に対する所定の閾値とに基づいて、前記3次元形状を算出するために用いる式を、前記第1式と前記第2式のいずれかに切り替える、
    請求項6に記載の制御システム。
  8. 前記撮像部は、複数の異なる前記パターン光のそれぞれについて、画素値が所定のパターンを有する前記パターン光を前記投影部が投影した前記対象物を前記第1撮像画像として撮像する、
    請求項7に記載の制御システム。
  9. 前記複数の異なる前記パターン光の数は、前記第2式を用いる場合の方が、前記第1式を用いる場合より少ない、
    請求項8に記載の制御システム。
  10. 前記パターン光は、空間的なパターンを有する光である、
    請求項1から9のうちいずれか一項に記載の制御システム。
  11. ロボットと、
    制御装置と、
    を含み、
    前記制御装置は、
    画素値が所定のパターンを有するパターン光を投影部が投影した対象物が撮像された第1撮像画像と、画素値が一様な一様光を前記投影部が投影した前記対象物が撮像された第2撮像画像とに基づいて前記対象物の3次元形状を算出し、
    前記3次元形状に基づいて前記ロボットを動作させる、
    ロボットシステム。
  12. 画素値が所定のパターンを有するパターン光を投影部が投影した対象物を第1撮像画像として撮像し、
    画素値が一様な一様光を前記投影部が投影した前記対象物を第2撮像画像として撮像し、
    前記第1撮像画像と前記第2撮像画像に基づいて前記対象物の3次元形状を算出する、
    制御方法。
JP2015100157A 2015-05-15 2015-05-15 制御システム、ロボットシステム、及び制御方法 Pending JP2016217778A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015100157A JP2016217778A (ja) 2015-05-15 2015-05-15 制御システム、ロボットシステム、及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015100157A JP2016217778A (ja) 2015-05-15 2015-05-15 制御システム、ロボットシステム、及び制御方法

Publications (1)

Publication Number Publication Date
JP2016217778A true JP2016217778A (ja) 2016-12-22

Family

ID=57580730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015100157A Pending JP2016217778A (ja) 2015-05-15 2015-05-15 制御システム、ロボットシステム、及び制御方法

Country Status (1)

Country Link
JP (1) JP2016217778A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020196081A (ja) * 2019-05-31 2020-12-10 株式会社デンソー ビジュアルサーボシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020196081A (ja) * 2019-05-31 2020-12-10 株式会社デンソー ビジュアルサーボシステム

Similar Documents

Publication Publication Date Title
EP2636493B1 (en) Information processing apparatus and information processing method
US20160184996A1 (en) Robot, robot system, control apparatus, and control method
KR20140008262A (ko) 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램
US9652660B2 (en) Control system, robot system, and control method
JP2013036987A (ja) 情報処理装置及び情報処理方法
JP2015168040A (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2013215866A (ja) ロボットシステム、ロボットシステムのキャリブレーション方法、キャリブレーション装置およびデジタルカメラ
JP2011179907A (ja) 位置姿勢計測装置、位置姿勢計測方法およびプログラム
JP6317618B2 (ja) 情報処理装置およびその方法、計測装置、並びに、作業装置
EP2963513A2 (en) Teaching apparatus and robot system
JP2014002033A (ja) 画像処理装置、画像処理方法
JP2018144144A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP6364836B2 (ja) ロボット、ロボットシステム、及び制御装置
JP2017219365A (ja) 位置姿勢算出装置、ロボット制御装置、及びロボット
US10369703B2 (en) Robot, control device, and robot system
US20190287258A1 (en) Control Apparatus, Robot System, And Method Of Detecting Object
JP2016217778A (ja) 制御システム、ロボットシステム、及び制御方法
JP2014202567A (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法、およびプログラム
JP6772630B2 (ja) 三次元計測装置及び三次元物体認識方法
US20180215044A1 (en) Image processing device, robot control device, and robot
JP2019027921A (ja) 三次元形状測定装置、ロボットシステム、及び三次元形状測定方法
JP2015132523A (ja) 位置姿勢計測装置、位置姿勢計測方法及びプログラム
JP2016013590A (ja) 教示装置、及びロボットシステム
JP2018017610A (ja) 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム
JP2016120558A (ja) ロボット、及びロボットシステム