(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-21
(45)【発行日】2022-11-30
(54)【発明の名称】コンピュータビジョンシステムのキャリブレーション方法及びこれに用いる基準立体物
(51)【国際特許分類】
G01B 11/24 20060101AFI20221122BHJP
G01B 11/26 20060101ALI20221122BHJP
G01B 11/00 20060101ALI20221122BHJP
G06T 7/80 20170101ALI20221122BHJP
【FI】
G01B11/24 K
G01B11/26 H
G01B11/00 H
G06T7/80
(21)【出願番号】P 2021536471
(86)(22)【出願日】2019-07-26
(86)【国際出願番号】 JP2019029529
(87)【国際公開番号】W WO2021019627
(87)【国際公開日】2021-02-04
【審査請求日】2021-12-28
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】小西 嘉典
【審査官】飯村 悠斗
(56)【参考文献】
【文献】特開2015-001465(JP,A)
【文献】特開2008-164493(JP,A)
【文献】特開2003-042726(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G06T 7/80
G01C 3/00
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
3次元計測を行う3次元計測部と、
前記3次元計測部を制御する計測制御部と、
を有するコンピュータビジョンシステムにおいて、いかなる方向から見ても対称性を有しない形状であり、かつ、所定の大きさを有し、前記3次元計測による位置姿勢認識の基準となる基準立体物を用いて行うキャリブレーション方法であって、
前記3次元計測部により前記基準立体物を3次元計測するステップと、
前記基準立体物の3次元形状に関するデータと、前記基準立体物の3次元計測によって得られた3次元計測データとに基づいて、前記3次元計測部に対して定義された計測部座標系に対する前記基準立体物の位置姿勢を算出するステップと、
前記計測部座標系に対する前記基準立体物の位置姿勢に基づいて、前記基準立体物に定義された基準座標系と前記計測部座標系との間の座標変換を表す基準・計測部変換行列を算出するステップと、
を含むキャリブレーション方法。
【請求項2】
前記コンピュータビジョンシステムは、
アームを有するロボットと、
前記ロボットを制御するロボット制御部と、
をさらに有し、
前記3次元計測部により前記基準立体物を3次元計測するステップは、前記基準立体物を保持させた前記アームを制御して、前記3次元計測部に対する前記基準立体物の位置姿勢を変更して該基準立体物を3次元計測するステップを含む請求項1に記載のキャリブレーション方法。
【請求項3】
前記コンピュータビジョンシステムは、
アームを有するロボットと、
前記ロボットを制御するロボット制御部と、
をさらに有し、
前記3次元計測部により前記基準立体物を3次元計測するステップは、前記3次元計測部を保持させた前記アームを制御して、前記基準立体物に対する前記3次元計測部の位置姿勢を変更して該基準立体物を3次元計測するステップを含む請求項1に記載のキャリブレーション方法。
【請求項4】
前記基準・計測部変換行列に基づいて、前記ロボットの基端部に対して定義されたロボット座標系と前記アームに対して定義されたツール座標系との間の座標変換を表すロボット・ツール変換行列、前記ツール座標系と前記基準座標系との間の座標変換を表すツール・基準変換行列及び前記ロボット座標系と前記計測部座標系との間の座標変換を表すロボット・計測部変換行列を算出するステップと、
を、さらに含む請求項2又は3に記載のキャリブレーション方法。
【請求項5】
前記コンピュータビジョンシステムは、
一つ以上の前記基準立体物を配置した台であって、前記3次元計測部に対する前記基準立体物の位置及び姿勢の少なくともいずれか一方を変更可能な台を有し、
前記3次元計測部により前記基準立体物を3次元計測するステップは、前記台によって前記3次元計測部に対する前記基準立体物の位置及び姿勢の少なくともいずれか一方を変更して3次元計測するステップを含むことを特徴とする請求項1に記載のキャリブレーション方法。
【請求項6】
前記基準立体物は、軸方向の両端部を半球状に形成した3つの円柱の一端を結合した形状を有することを特徴とする請求項1乃至5のいずれか1項に記載のキャリブレーション方法。
【請求項7】
請求項1乃至6のいずれか1項に記載のキャリブレーション方法に用いる基準立体物。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータビジョンシステムのキャリブレーション方法及びこれに用いる基準立体物に関する。
【背景技術】
【0002】
従来、対象物体を3次元計測することにより得られた3次元計測データの位置合わせの精度を向上させるために、対象物体が配置された測定空間に設置された立体物(以下、「基準立体物」ともいう。)を3次元計測することにより得られた3次元計測データを用いる技術が提案されている。
【0003】
例えば、特許文献1にはタイヤのトレッド部分の使用による摩耗を調べるために、使用前後のタイヤの3次元計測データについて、タイヤトレッド部の周上の位置及びタイヤの幅方向の位置を正確に位置合わせする技術が開示されている。
【0004】
ここでは、タイヤが回転可能に保持する固定支持部からロッドを介して、3つの球体からなる基準立体物が測定空間に固定配置されている。これらの球体の中心位置座標が予め定めた目標座標に移動する座標変換を求め、この座標変換を用いて対象物体であるタイヤの3次元計測データの位置合わせを行っている。
【0005】
このような基準立体物に対して十分な認識精度を得るためには一定数以上の計測点が必要となる。そのためにはサイズの大きな球を基準立体物として用いなければならないが、サイズを大きくすると、対象物体が基準立体物に隠れたり、基準立体物の占める領域の割合が大きくなり、撮像サイズが相対的に小さくなったりするなど、対象物体の計測が阻害される。
【0006】
また、複数の平面から構成される基準立体物も提案されている(例えば、特許文献2参照)、平面はその接平面において位置が定まらないために、高精度で計測視点の位置姿勢を認識することは難しい。
【先行技術文献】
【特許文献】
【0007】
【文献】特許第4956960号公報
【文献】特許第4423811号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、上記実情に鑑みてなされたものであり、3次元計測時に位置姿勢を高精度で認識し得る基準立体物を提案するとともに、これを用いてコンピュータビジョンシステムにおける3次元計測のキャリブレーションの精度を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するための本発明は、
3次元計測を行う3次元計測部と、
前記3次元計測部を制御する計測制御部と、
を有するコンピュータビジョンシステムにおいて、いかなる方向から見ても対称性を有しない形状であり、かつ、所定の大きさを有し、前記3次元計測による位置姿勢認識の基準となる基準立体物を用いて行うキャリブレーション方法であって、
前記3次元計測部により前記基準立体物を3次元計測するステップと、
前記基準立体物の3次元形状に関するデータと、前記基準立体物の3次元計測によって得られた3次元計測データとに基づいて、前記3次元計測部に対して定義された計測部座標系に対する前記基準立体物の位置姿勢を算出するステップと、
前記計測部座標系に対する前記基準立体物の位置姿勢に基づいて、前記基準立体物に定義された基準座標系と前記計測部座標系との間の座標変換を表す基準・計測部変換行列を算出するステップと、
を含むキャリブレーション方法である。
【0010】
このように、いかなる方向から見ても対称性を有しない形状であり、かつ、所定の大きさを有し、前記3次元計測による位置姿勢認識の基準となる基準立体物を用いることにより、3次元計測部に定義された計測部座標系に対する基準立体物の位置姿勢を高精度で算出することができる。また、計測部座標系に対する基準立体物の位置姿勢の算出精度が向上するので、基準座標系と計測部座標系との間の座標変換を表する基準・計測部変換行列を精度よく算出することができる。このため、このような3次元計測部を用いたコンピュータビジョンシステムにおいて精度の高いキャリブレーションが可能となる。
【0011】
また、本発明において、
前記コンピュータビジョンシステムは、
アームを有するロボットと、
前記ロボットを制御するロボット制御部と、
をさらに有し、
前記3次元計測部により前記基準立体物を3次元計測するステップは、前記基準立体物を保持させた前記アームを制御して、前記3次元計測部に対する前記基準立体物の位置姿勢を変更して該基準立体物を3次元計測するステップを含むようにしてもよい。
【0012】
このようにすれば、アームを有するロボットに適用されるコンピュータビジョンシステムにおいて、基準立体物をアームに保持させることにより、基準立体物が3次元計測部に対して異なる位置姿勢にある場合の複数の3次元計測データに基づいて、計測部座標系に対する基準立体物の位置姿勢が算出されるので、計測部座標系に対する基準立体物の位置姿勢の算出精度がさらに向上する。従って、このようなコンピュータビジョンシステムにおいて精度の高い3次元計測のキャリブレーションが可能となる。
【0013】
また、本発明において、
前記コンピュータビジョンシステムは、
アームを有するロボットと、
前記ロボットを制御するロボット制御部と、
をさらに有し、
前記3次元計測部により前記基準立体物を3次元計測するステップは、前記3次元計測部を保持させた前記アームを制御して、前記基準立体物に対する前記3次元計測部の位置姿勢を変更して該基準立体物を3次元計測するステップを含むようにしてもよい。
【0014】
このようにすれば、アームを有するロボットに適用されるコンピュータビジョンシステムにおいて、3次元計測部をアームに保持させることにより、基準立体物が3次元計測部に対して異なる位置姿勢にある場合の複数の3次元計測データに基づいて、計測部座標系に対する基準立体物の位置姿勢が算出されるので、計測部座標系に対する基準立体物の位置姿勢の算出精度がさらに向上する。従って、このようなコンピュータビジョンシステムにおいて精度の高い3次元計測のキャリブレーションが可能となる。
【0015】
また、本発明において、前記基準・計測部変換行列に基づいて、前記ロボットの基端部に対して定義されたロボット座標系と前記アームに対して定義されたツール座標系との間の座標変換を表すロボット・ツール変換行列、前記ツール座標系と前記基準座標系との間の座標変換を表すツール・基準変換行列及び前記ロボット座標系と前記計測部座標系との間の座標変換を表すロボット・計測部変換行列を算出するステップと、
を、さらに含むようにしてもよい。
【0016】
このように、計測部座標系に対する基準立体物の位置姿勢の算出精度が向上することにより、基準座標系と計測部座標系との間の座標変換を表する基準・計測部変換行列を精度よく算出することができる。ロボット座標系と計測部座標系の間の座標変換を表すロボット・計測部変換行列は、ロボット・ツール変換行列と、ツール・基準変換行列と、基準・計測部変換行列との積に等しい。この関係式と、先に算出した基準・計測部変換行列と、ロボットにおけるアームの位置姿勢を示すセンサの検出値等の既知の情報とから算出し得る変換行列とに基づいて、未知のロボット・計測部変換行列を算出することができるので、ロボット‐3次元計測部間の精度の高いキャリブレーションができる。
【0017】
また、本発明において、
前記コンピュータビジョンシステムは、
一つ以上の前記基準立体物を配置した台であって、前記3次元計測部に対する前記基準立体物の位置及び姿勢の少なくともいずれか一方を変更可能な台を有し、
前記3次元計測部により前記基準立体物を3次元計測するステップは、前記台によって前記3次元計測部に対する前記基準立体物の位置及び姿勢の少なくともいずれか一方を変更して3次元計測するステップを含むようにしてもよい。
【0018】
このようにすれば、台を制御することによって3次元計測部に対する基準立体物の位置及び姿勢の少なくともいずれか一方を変更することができるので、基準立体物が3次元計測部に対して異なる位置姿勢にある場合の複数の3次元計測データに基づいて、計測部座標系に対する基準立体物の位置姿勢が算出される。このため、計測部座標系に対する基準立体物の位置姿勢の算出精度がさらに向上する。従って、このようなコンピュータビジョンシステムにおいて精度の高い3次元計測のキャリブレーションが可能となる。
【0019】
また、本発明において、
前記基準立体物は、軸方向の両端部を半球状に形成した3つの円柱の一端を結合した形状を有するようにしてもよい。
【0020】
このようにすれば、基準立体物が曲率の大きな曲面を多く含むので、3次元計測部による3次元計測データによる計測部座標系に対する基準立体物の位置姿勢の算出精度がさらに向上する。従って、これに基づいて算出される各変換行列の精度もさらに向上する。すなわち、コンピュータビジョンシステムにおける3次元計測のキャリブレーションの精度がさらに向上する。
【0021】
また、本発明は、
前記キャリブレーション方法に用いる基準立体物である。
【0022】
このような基準立体物を用いると3次元計測時に位置姿勢を高精度で認識し得るので、コンピュータビジョンシステムにおける3次元計測のキャリブレーションの精度を向上することができる。
【発明の効果】
【0023】
本発明によれば、3次元計測時に位置姿勢を高精度で認識し得る基準立体物を提案するとともに、これを用いてコンピュータビジョンシステムにおける3次元計測のキャリブレーションの精度を向上させることが可能となる。
【図面の簡単な説明】
【0024】
【
図1】
図1Aは基準立体物の全体斜視図であり、
図1Bは基準立体物の構成要素を示す斜視図である。
【
図2】
図2は基準立体物をキャリブレーションボード上に配置した状態を示す図である。
【
図3】
図3は基準立体物をターンテーブル上に配置した状態を示す図である。
【
図5】
図5はロボットビジョンシステムの全体構成を示す図である。
【
図6】
図6は情報処理装置の機能ブロック図である。
【
図7】
図7はキャリブレーションの手順を示すフローチャートである。
【
図8】
図8は他のロボットビジョンシステムの全体構成を示す図である。
【
図9】
図9A~Eは、基準立体物と対象物体を配置したテーブルの異なる視点から3次元計測データを示す図である。
【発明を実施するための形態】
【0025】
〔適用例〕
以下、本発明の適用例について、図面を参照しつつ説明する。
本発明に係る基準立体物1を
図1Aに示す。基準立体物1は、どのような方向から見ても対称性がなく、姿勢が一意に定まる形状を有する。
予め大きさが分かっている基準立体物1を準備し、3次元計測を行い、得られた3次元計測データを処理することにより、3Dセンサ等の3次元計測手段に対する基準立体物1の位置姿勢を高精度で認識することができる。
【0026】
このような3次元計測のおける基準立体物1は以下のような態様での利用が可能である。例えば、
図2に示すように、基準立体物1を配置したキャリブレーションボード25をロボットアーム212の手先部分に取り付け、3次元計測可能なセンサユニット20によって3次元計測を行い、基準立体物1の位置姿勢を高精度で認識することにより、ロボット‐センサ間の未知の変換行列を高精度で算出することができる。また、
図8に示すように、ロボットアーム212の手先部分に取り付けたセンサユニット20により、作業空間に配置されたテーブル28上の基準立体物1を3次元計測するようにしてもよい。このような構成でも、同様に、基準立体物1の位置姿勢を高精度で認識することができるので、ロボット‐センサ間の未知の変換行列を高精度で算出することができる。
【0027】
また、
図3に示すように、ターンテーブル27の中央を中心として周方向に90度間隔で4つの基準立体物1‐1,1-2,1-3,1-4を配置する。そして、基準立体物1‐1~1‐4が配置されたターンテーブルの中央に対象物体を配置し、センサにより3次元計測する。このようにして得られた3次元計測データに基づく基準立体物1‐1~1‐4の位置姿勢認識結果を用いて、対象物体の3次元形状を復元する。基準立体物1‐1~1‐4をターンテーブルに対して上述のように配置することにより、対象物体による隠れを防止することができるとともに、4つの基準立体物1‐1~1‐4の位置姿勢認識結果の平均値を用いることにより、認識精度が向上する。ターンテーブル27を、中央を回転中心として回転させることにより、センサに対する基準立体物1‐1,1-2,1-3,1-4の位置及び姿勢を変更することができる。ターンテーブル27には、一つ以上の基準立体物1として4つの基準立体物を配置しているが、基準立体物の数及び配置はこれに限られない。ここでは、ターンテーブル27が本発明の台に対応する。
【0028】
また、
図9のように、対象物体30を様々な相対位置から3次元計測する場合に、対象物体30を配置したテーブル29の四隅に4つの基準立体物1‐5~1‐8を配置することにより、対象物体30の位置姿勢を精度よく認識することができる。これにより、様々な相対位置からの3次元計測データ相互の位置合わせを正確に行うことができる。
【0029】
<実施例1>
(基準立体物)
本実施例の基準立体物1の形状を
図1Aに示す。基準立体物1は、曲率の大きな曲面を多く含み、どのような方向から見ても対称性がなく、姿勢が一意に定まる形状を有する。具体的には、半径12mm、長さ30mmの円柱10aの両端部に半径12mmの半球状の球面部10b,10cを配置した物体10(
図1B参照)を、一端の球面部が重なるように3つ結合させた形状である。
図1Aでは、紙面に平行にx軸とy軸をとり、紙面に垂直に手前側にz軸をとっている。基準立体物1の第1枝11は第2枝12の延長方向(y軸方向)に対して23度の角度をなしており、第3枝13はz軸に対して40度傾いている。第2枝12はx軸回りに7度傾いている。ここに示した大きさ及び角度は、一例であり、各枝の大きさや角度は、3Dセンサの計測視野の大きさに応じて適宜変更することができ、これに限られるものではない。
【0030】
基準立体物1は、3次元計測しやすくするために、表面を拡散反射面に加工することが好ましい。このような拡散反射面は、材質を選択したり、塗装や粗い表面仕上げを行ったりすることにより実現することができる。
また、基準立体物1の表面に模様を形成すると、パターン光を投影して3次元計測を行う場合に障害となるので、無地とすることが好ましい。
また、3次元計測時に可視光を投影する場合を考慮し、基準立体物1の表面は白色であることが好ましい。
【0031】
基準立体物1は、上述のように、いかなる視点に対しても、その姿勢が一意に定まる形状を有している。また、その大きさも予め分かっている。従って、基準立体物1を3次元計測して得られた3次元計測データに基づいて基準立体物1の位置姿勢を高精度で認識することができる。
図4は、比較例の基準立体物50を示す。基準立体物50は、円板の中央部に高さ方向に貫通する中空部を有する形状である。静止させた状態の基準立体物50と基準立体物1とを、センサで15回連続して3次元計測し、認識された位置姿勢のそれぞれの方向での標準偏差を下表に示す。x並進はx方向の並進、x回転はx軸回りの回転を示す(他の方向及び角度も同様)。
[表1]
上述の表に示すように、基準立体物50では方向により位置姿勢認識結果の変動が大きいが、基準立体物1によると、方向にかかわらず精度良く位置姿勢を認識することができる。
【0032】
(ロボットビジョンシステムの全体構成)
図5を参照して、本発明の実施例に係るロボットビジョンシステム100について説明する。
【0033】
ロボットビジョンシステム100は、物品の組み立てや加工などを行う生産ラインに設置され、センサユニット20から取り込まれたデータに基づいて、トレイ等に積載された物体に対して、ロボット21のアーム先端に取り付けられる多指ハンドや吸着パッドによる把持位置・姿勢を認識するシステムである。ここでは、ロボットビジョンシステム100が本発明のコンピュータビジョンシステムに対応する。
【0034】
図5は、ロボットビジョンシステム100において、アーム212手先部分にキャリブレーションターゲット26を保持するキャリブレーションボード25を取り付けており、ロボット‐センサユニット間キャリブレーションを行う状態を示す。
【0035】
ロボットビジョンシステム100は、概略、センサユニット20、情報処理装置22、PLC(プログラマブルロジックコントローラ)24及びロボット21から構成される。センサユニット20と情報処理装置22のあいだは有線又は無線で接続されており、センサユニット20の出力は情報処理装置22に取り込まれる。情報処理装置22は、センサユニット20から取り込まれたデータを用いて各種の処理を行うデバイスである。情報処理装置22の処理としては、例えば、距離計測(測距)、3次元形状認識、物体認識、シーン認識などが含まれてもよい。情報処理装置22の処理結果は、例えばPLC24やディスプレイ23などに出力され、ロボット21の制御に利用される。
【0036】
(センサユニット)
センサユニット20は、対象物体の光学像を撮影するためのカメラを少なくとも有する。さらに、センサユニット20は、対象物体の3次元計測を行うために必要な構成(センサ、照明装置、投光装置など)を含んでもよい。例えば、ステレオマッチング(ステレオビジョン、ステレオカメラ方式などとも呼ばれる。)によって奥行き距離を計測する場合には、センサユニット20に複数台のカメラが設けられる。アクティブステレオの場合はさらに、対象物体にランダムドットパターンなので構造化光を投射する投光装置がセンサユニット20に設けられる。空間コード化パターン投影方式により3次元計測を行う場合には、パターン光を投射する投光装置とカメラがセンサユニット20に設けられる。他にも、照度差ステレオ法、TOF(タイムオブフライト)法、位相シフト法など、対象物体の3次元情報を取得可能な方法であればいかなる方式を用いてもよい。ここでは、センサユニット20は、所定の位置に固定配置される。ここでは、センサユニット20が、本発明の3次元計測部に対応する。
【0037】
(情報処理装置)
情報処理装置22は、例えば、CPU(プロセッサ)、RAM(メモリ)、不揮発性記憶装置(ハードディスク、SSDなど)、入力装置、出力装置などを備えるコンピュータにより構成される。この場合、CPUが、不揮発性記憶装置に格納されたプログラムをRAMに展開し、当該プログラムを実行することによって、後述する各種の構成が実現される。ただし、情報処理装置22の構成はこれに限られず、後述する構成のうちの全部又は一部を、FPGAやASICなどの専用回路で実現してもよいし、クラウドコンピューティングや分散コンピューティングにより実現してもよい。
【0038】
ロボット21は、ロボットベース211上に複数の関節を介して連結され、所定の自由度を有するアーム212を有する。上述のように、対象物体を把持する場合には、アーム212の先端には、複数の指を有する多指ハンドや吸着パッドを有する吸着ハンドが装着される。ロボットベース211は床面又は所定の設置部位に設置される。ここでは、アーム212の手先部分には、キャリブレーションターゲット26を保持するキャリブレーションボード25が取り付けられている。ここでは、ロボットベース211が、本発明のロボットの基端部に対応する。
【0039】
本実施例では、
図1Aに示した形状を有し、大きさが既知である基準立体物1をキャリブレーションターゲット26として用いる。
【0040】
図6は、情報処理装置22の構成を含む機能ブロック図である。
情報処理装置22は、センサユニット制御部221、ロボット制御指示部222、記憶部223、位置姿勢算出部224、キャリブレーション実行部225、キャリブレーション結果出力部226を含む。
【0041】
センサユニット制御部221は、センサユニット20を制御し、3次元計測の実施及び3次元計測結果の出力等を指示する。
ロボット制御指示部222は、PLC24等により構成されるロボット制御部30に対して、制御指示を出力するとともに、ロボット21のアーム212を構成する関節の回転角度等のセンサによる検出値を取得し、記憶部223の所定領域に格納する。キャリブレーション実行時には、ロボット制御指示部222から、ロボット制御部30に対して制御情報を出力し、アーム212を動かして、センサユニット20に対する基準立体物1の位置を変更する。
記憶部223は、不揮発性記憶装置の所定領域により構成される記憶手段であり、上述のロボット21のアーム212を構成する関節の回転角度等のセンサによる検出値や、後述するロボットベース211からアーム212の先端に至るまでのリンク等の各部の寸法データ、基準立体物1の3次元形状データ等が格納される。
【0042】
位置姿勢算出部224は、センサユニット20により基準立体物1を3次元計測して得られた3次元計測データと、基準立体物1の3次元形状データに基づき、基準立体物の位置姿勢を算出する。
キャリブレーション実行部225は、後述するキャリブレーション処理を実行する。
キャリブレーション結果出力部226は、実行されたキャリブレーションの結果を外部装置に出力し、又は、記憶部223の所定領域に格納する。キャリブレーションの結果は、ロボットビジョンシステムによる対象物体の把持位置認識処理等に利用される。
【0043】
(キャリブレーション処理)
図7のフローチャートを参照して、キャリブレーション方法としてのキャリブレーション処理の一例を説明する。
【0044】
ロボット‐センサユニット間キャリブレーションとは、ロボット21に定義される座標系とセンサユニット20に定義される座標系の間での座標変換を表す変換行列を算出することである。
【0045】
図5に示すセンサユニット20のカメラに対して定義されるカメラ座標系をΣcam、キャリブレーションターゲット26に対して定義されるターゲット座標系をΣcal、アーム212の先端に対して定義されるツール座標系をΣtool、ロボットベース211に対して定義されるロボット座標系をΣbaseで表す。このとき、ターゲット座標系Σcalからカメラ座標系Σcamへの変換行列を
camH
calとする。ターゲット座標系Σcalからツール座標系Σtoolへの変換行列を
toolH
calとする。ツール座標系Σtoolからロボット座標系Σbaseへの変換行列を
baseH
toolとする。そして、ロボット座標系Σbaseからカメラ座標系Σcamへの変換行列を
camH
baseとする。このとき、それらの変換行列は以下の式(1)で示す関係にある。
[数1]
camH
cal=
camH
base・
baseH
tool・
toolH
cal・・・(1)
ここで、カメラ座標系Σcamが本発明の計測部座標系に、ターゲット座標系Σcalが本発明の基準座標系に、変換行列
camH
calが本発明の基準・計測部変換行列にそれぞれ対応する。また、変換行列
baseH
toolが本発明のロボット・ツール変換行列に、変換行列
toolH
calが本発明のツール・基準変換行列に、変換行列
camH
baseが本発明のロボット・計測部変換行列にそれぞれ対応する。
【0046】
図5に示すように、ロボット21のアーム212の手先部分に取り付けられたキャリブレーションボード25上に配置されたキャリブレーションターゲット26をセンサユニット20によって3次元計測する(ステップS1)。
【0047】
センサユニット20によってキャリブレーションターゲット26を3次元計測することによって得られた3次元計測データに対して、キャリブレーションターゲット26の3DCADデータ等の3次元形状モデルを用いてフィッティングを行う。これにより、カメラ座標系Σcamにおけるキャリブレーションターゲット26の位置姿勢を算出することができる(ステップS2)。3次元計測データは、3次元計測によって取得される、各点が3次元情報をもつ複数の点から構成されるデータである。点群データのように、各点がカメラ座標系における3次元座標値をもつ形式のデータでもよいし、2次元画像の各点(各画素)にデプス値(奥行き距離の情報)が関連づけられた形式のデータでもよい。ここでは、3次元計測データとして点群データを用いる。
【0048】
カメラ座標系Σcamにおけるキャリブレーションターゲット26の位置姿勢を認識することにより、キャリブレーションターゲット26に対して定義されたターゲット座標系Σcalとカメラ座標系Σcamとの位置関係が特定できるので、ターゲット座標系Σcalからカメラ座標系Σcamへの変換行列camHcalを算出することができる(ステップS3)。
【0049】
また、ロボットベース211に対するアーム212の手先部分の位置及び角度は、ロボットベース211からアーム212の手先部分に至るまでのリンク等の各部の寸法データと、各関節の回転角度等の各自由度における移動量を検出するセンサの検出値とから算出できる。従って、ツール座標系Σtoolからロボット座標系Σbaseへの変換行列baseHtoolも算出できる(ステップS4)。
【0050】
このとき、アーム212の手先部分に対するキャリブレーションボード25の取付位置及び姿勢が予め設定されており、キャリブレーションボード25に対してキャリブレーションターゲット26を配置すべき位置及び姿勢が設定されているとする。そうすれば、アーム212の手先部分に対するキャリブレーションターゲット26の位置は、予め分かっているので、ターゲット座標系Σcalからツール座標系Σtoolへの変換行列toolHcalも算出できる(ステップS4)。
【0051】
ここで、ターゲット座標系Σcalからツール座標系Σtoolへの変換行列toolHcal、ツール座標系Σtoolからロボット座標系Σbaseへの変換行列baseHtoolターゲット座標系Σcalからカメラ座標系Σcamへの変換行列camHcal、ロボット座標系からカメラ座標系Σcamへの変換行列camHbaseは式(1)に示す関係にある。
【0052】
上述のように、キャリブレーションターゲット26の位置姿勢の認識により、ターゲット座標系Σcalからカメラ座標系の変換行列camHcalは算出されている。そして、アーム212の手先部分に対するキャリブレーションボード25の取付位置及び姿勢が予め設定されており、キャリブレーションボード25に対してキャリブレーションターゲット26を配置すべき位置及び姿勢が設定されていれば、アーム212の手先部分に対するキャリブレーションターゲット26の位置は、予め分かっている。従って、ターゲット座標系Σcalからツール座標系Σtoolへの変換行列toolHcalも算出できる。また、ロボットベース211に対するアーム212の手先部分の位置は、ロボットベース211からアーム212の手先部分に至るまでのリンクの寸法データと、各関節の回転角度を検出するセンサの検出値とから算出できるので、ツール座標系Σtoolからロボット座標系Σbaseへの変換行列baseHtoolも算出できる。
【0053】
このように式(1)のうち右辺のcamHbase以外の変換行列が算出できることから、式(1)からcamHbaseを算出することができる。すなわち、カメラ座標系Σcamからロボット座標系Σbaseへの変換行列を算出することができ、ロボット‐センサユニット間キャリブレーションを行うことができる(ステップS5)。
キャリブレーションの結果は外部装置に出力され、又は、記憶部30の所定領域に格納される(ステップS6)。
【0054】
上述の処理では、ツール座標系Σtoolに対するキャリブレーションターゲット26の位置姿勢が分かっており、ターゲット座標系Σcalからツール座標系Σtoolへの変換行列toolHcalが算出できる場合について説明した。ここでは、ツール座標系Σtoolに対するキャリブレーションターゲット26の位置姿勢が分かっていない場合について説明する。この場合には、キャリブレーションターゲット26がセンサユニット20に対して異なる位置姿勢となるようにロボット21を制御し、複数の位置姿勢におけるキャリブレーションターゲット26をセンサユニット20により3次元計測する。このように、キャリブレーションターゲット26の位置姿勢を変更しても、ツール座標系Σtoolに対するキャリブレーションターゲット26の相対関係は一定に保たれる。このため、キャリブレーションターゲット26のそれぞれの位置姿勢に対する複数の式(1)から、ターゲット座標系Σcalからツール座標系Σtoolへの変換行列toolHcalを算出することができる。
【0055】
<実施例2>
(ロボットビジョンシステムの全体構成)
図8を参照して、本発明の実施例2に係るロボットビジョンシステム200について説明する。
実施例1と共通する構成については同一の符号を用いて詳細な説明を省略する。ここでは、ロボットビジョンシステム200が本発明のコンピュータビジョンシステムに対応する。
【0056】
ロボットビジョンシステム200では、センサユニット20が、ロボット21のアーム212の手先部分に取り付けられている。ロボットビジョンシステム200は、センサユニット20の取付位置を除いて、ロボットビジョンシステム100と共通の構成を備える。
【0057】
ロボットビジョンシステム200では、ロボット21が配置された作業空間に配置されたテーブル28に基準立体物1が配置される。
【0058】
カメラ座標系Σcam、キャリブレーションターゲットである基準立体物1に対して定義されるターゲット座標系Σcal、ツール座標系Σtool、ロボット座標系をΣbaseは、実施例1と同様である。また、これらの座標系の間の変換行列
camH
cal、
toolH
cal、
baseH
tool及び
camH
baseについても実施例1と同様である。
これらの変換行列の間には式(1)が同様に成り立つ。
ここでも
図7に示すフローチャート同様の手順で、ロボット‐センサユニット間キャリブレーションを行う。
【0059】
本実施例では、センサユニット20がアーム212の手先部分に取り付けられている。このため、ロボットの動作に関わらず、カメラ座標系Σcamとツール座標系Σtoolとの相対的な位置関係は変わらない。キャリブレーションに、ターゲット座標系Σcalとツール座標系Σtoolとの間の変換行列に代えて、カメラ座標系からツール座標系への変換行列toolHcamを用いてもよい。
【0060】
また、
図8に示す例では、テーブル28に基準立体物1を一つ配置しているが、
図3に示すようにキャリブレーションターゲットとして複数(ここでは4つ)の基準立体物1‐1,1‐2,1‐3,1‐4を配置したターンテーブル27を作業空間に配置してもよい。複数の基準立体物1‐1,1‐2,1‐3,1‐4を用いることにより、より正確にキャリブレーションを行うことができる。
【0061】
<実施例3>
(基準立体物を用いた対象物体の3次元計測データの位置合わせ)
基準立体物1については、上述したようにロボット‐センサユニット間のキャリブレーションの他に、以下に説明するような利用が可能である。
図9A~Eは、中央に対象物体30を配置し、四隅にそれぞれ基準立体物1‐5,1‐6,1‐7,1‐8を配置した略正方形のテーブル29を異なる視点から3次元計測して得られた3次元計測データを示す。
ある視点から対象物体30の3次元計測を行う場合に、対象物体30が3次元形状を有するために、全ての面の3次元計測データが得られるわけではない。カメラの視点から見て対象物体30の影になる部分の3次元計測データは得られない。
図9Aに示すように、テーブル29に正対する位置からカメラにより3次元計測した場合には、対象物体30の上面(
図9Aにおいて紙面の手前側の面を前面といい、
図3Aを基準に対象物体30の上下左右を定める)の3次元計測データは得られるが、対象物体30の上下左右の側面の3次元データは得られない。
【0062】
図9B,
図9C,
図9D及び
図9Eは、それぞれ対象物体30の下面側、上面側、右側面側及び左側面側の視点から、カメラによって3次元計測して得られた3次元計測データである。
図9A~Eに示すように、カメラの視点に対する対象物体30の相対位置を変更することにより、対象物体30の様々な部位の3次元計測データを得ることができる。
【0063】
このように、対象物体30の複数の異なる視点からの3次元計測データを取得することにより、当該対象物体30の3次元形状をより正確に復元することができる。異なる視点から3次元計測した3次元計測データを統合して、対象物体30の3次元形状を復元する場合には、3次元計測データ相互の位置合わせを正確に行う必要がある。このためには、対象物体30を3次元計測する際の、カメラに対する対象物体30の位置姿勢を正確に認識する必要がある。
【0064】
本実施例に係る基準立体物1‐5,1‐6,1‐7,1‐8は、どのような視点から見ても対称性がなく、その姿勢が位置に定まる形状であり、その大きさも分かっているので、基準立体物1‐5,1‐6,1‐7,1‐8を3次元計測に用いることにより、その位置姿勢を正確に認識することができる。このような基準立体物1‐5,1‐6,1‐7,1‐8を対象物体30が配置されたテーブル29に配置することにより、3次元計測時の対象物体30の位置姿勢を正確に認識することができる。また、基準立体物1‐5,1‐6,1‐7,1‐8をテーブル29の四隅に配置することにより、基準立体物の1‐5,1‐6,1‐7,1‐8の隠れを防止することができる。さらに、4つの基準立体物の1‐5,1‐6,1‐7,1‐8による位置姿勢認識結果を平均化することにより、対象物体30の位置姿勢をより正確に認識することができる。但し、対象物体30に対する基準立体物1の配置位置、個数はこれに限られるわけではなく、対象物体30の形状や、カメラの視野等により適宜設定することができる。
【0065】
ロボット21のアーム先端に多指ハンドや吸着パッドを装着して、ピッキング等の対象物体30を把持する動作を行わせる場合に、対象物体30の3DCADデータがない場合や実際の対象物体30との差異が大きい場合のように、3DCADデータを用いることができない、又は適切でない場合がある。このような場合には、対象物体30を3次元計測することにより、3次元計測データから対象物体30の3次元モデルデータを生成する。そして、このようにして生成された対象物体30の3次元形状モデルデータに基づいて、ピッキング等の対象物体30の把持位置認識を行い、認識結果に基づいてロボットを制御してピッキング等の動作を行う。このような場合の対象物体30の3次元計測のためには、
図2に示したロボット21のアーム212の手先部分に、キャリブレーションボード25に替えて、対象物体30と基準立体物1‐5,1‐6,1‐7,1‐8が配置されたテーブル29を取り付けて、ロボット21を制御し、センサユニット20に対する対象物体30の位置姿勢を変更して3次元計測するようにしてもよい。また、ロボット21の作業空間に対象物体30と基準立体物1‐5,1‐6,1‐7,1‐8が配置されたテーブル29を配置し、
図8に示したロボット21のアームの手先部分に取り付けたセンサユニット20の位置姿勢を変更して3次元計測するようにしてもよい。
センサユニット20と対象物体30の位置姿勢を変更して、3次元計測を行う場合に、センサと対象物体30のいずれの位置姿勢を変更してもよいが、センサユニットを固定して対象物体30の位置姿勢を変更してもよい。
【0066】
(本実施形態の利点)
以上述べた構成及び処理では、どのような方向から見ても対称性がない形状であり、かつ所定の大きさを有する基準立体物1を用いて3次元計測を行うことにより、センサユニットに対する基準立体物1の位置姿勢を正確に認識することができる。これにより、ロボット‐センサユニット間のキャリブレーションの精度を向上させる技術を提供することが可能となる。
【0067】
なお、以下には本発明の構成要件と実施例の構成とを対比可能とするために、本発明の構成要件を図面の符号付きで記載しておく。
<発明1>
3次元計測を行う3次元計測部(20)と、
前記3次元計測部(20)を制御する計測制御部(221)と、
を有するコンピュータビジョンシステムにおいて、いかなる方向から見ても対称性を有しない形状であり、かつ、所定の大きさを有し、前記3次元計測による位置姿勢認識の基準となる基準立体物(1)を用いて行うキャリブレーション方法であって、
前記3次元計測部(20)により前記基準立体物(1)を3次元計測するステップ(S1)と、
前記基準立体物(1)の3次元形状に関するデータと、前記基準立体物(1)の3次元計測によって得られた3次元計測データとに基づいて、前記3次元計測部(20)に対して定義された計測部座標系に対する前記基準立体物の位置姿勢を算出するステップ(S2)と、
前記計測部座標系に対する前記基準立体物(1)の位置姿勢に基づいて、前記基準立体物(1)に定義された基準座標系と前記計測部座標系との間の座標変換を表する基準・計測部変換行列を算出するステップ(S3)と、
を含むキャリブレーション方法。
【符号の説明】
【0068】
1:基準立体物
20:センサユニット
21:ロボット
27:ターンテーブル
30:ロボット制御部
211:基端部
212:アーム
221:センサユニット制御部
100,200:ロボットビジョンシステム