(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-11-14
(45)【発行日】2022-11-22
(54)【発明の名称】マーカ検出装置及びロボット教示システム
(51)【国際特許分類】
B25J 13/08 20060101AFI20221115BHJP
【FI】
B25J13/08 A
(21)【出願番号】P 2021181014
(22)【出願日】2021-11-05
【審査請求日】2022-10-17
【早期審査対象出願】
(73)【特許権者】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】池口 誠人
【審査官】國武 史帆
(56)【参考文献】
【文献】特開2021-62463(JP,A)
【文献】特開2021-85751(JP,A)
【文献】特開2013-131171(JP,A)
【文献】特開2016-176816(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G01B 11/00 - 11/30
(57)【特許請求の範囲】
【請求項1】
3Dカメラによって取得された点群データに基づいて、3次元空間における平面である3次元平面を検出する3次元平面検出部と、
前記検出された3次元平面を構成する点群データを、当該3次元平面を基準とする垂直方向に射影することにより2次元平面画像を生成する2次元平面画像生成部と、
前記生成された2次元平面画像からマーカを検出するマーカ検出部と、
前記検出された2次元平面画像に含まれるマーカについて、前記3次元平面における3次元座標を算出するマーカ位置算出部と、を備える、
マーカ検出装置。
【請求項2】
前記マーカ検出部は、前記3次元平面検出部によって複数の3次元平面が検出された場合、1平面毎にマーカを検出する、
請求項1に記載のマーカ検出装置。
【請求項3】
前記マーカ検出部は、前記複数の3次元平面のうち面積の大きい順にマーカを検出する、
請求項2に記載のマーカ検出装置。
【請求項4】
前記マーカ検出部は、前記複数の3次元平面のうち視野中心順にマーカを検出する、
請求項2に記載のマーカ検出装置。
【請求項5】
ワークとマーカとを含む画像を撮影する3Dカメラを有する撮影部と、
前記3Dカメラによって取得された点群データに基づいて、3次元空間における平面である3次元平面を検出する3次元平面検出部と、
前記検出された3次元平面を構成する点群データを、当該3次元平面を基準とする垂直方向に射影することにより2次元平面画像を生成する2次元平面画像生成部と、
前記生成された2次元平面画像からマーカを検出するマーカ検出部と、
前記検出された2次元平面画像に含まれるマーカについて、前記3次元平面における3次元座標を算出するマーカ位置算出部と、
前記算出されたマーカの3次元座標に基づいてカメラ座標系を設定するカメラ座標系設定部と、
前記カメラ座標系におけるマニピュレータの動作経路をロボット制御装置に設定されているロボット座標系に変換しつつ、当該マニピュレータを動作させるための作業プログラムを生成するプログラム生成部と、を備える、
ロボット教示システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マーカ検出装置及びロボット教示システムに関する。
【背景技術】
【0002】
近年、産業界において、多くのロボットが普及している。当該ロボットは、例えば、電子部品及び機械部品の組み立て、溶接及び搬送等に用いられ、工場の生産ラインの効率化及び自動化が図られている。
【0003】
例えば、溶接ロボットでは、所望の動作をさせるためのプログラムを作成して、所謂教示データとして予め記憶させておく必要がある。当該教示データは、操作者がティーチングペンダントを用いて、ロボット制御装置と連携し、実際のロボットを操作することによって、その動作を記録させて生成される。
【0004】
操作者がティーチングペンダントを用いて実際にロボットを動作させながら教示データを作成するには、操作者のスキルへの依存度が大きく、長時間を要する場合があるため、操作者への負担を軽減するために、ARデバイス及びマーカを用いてロボットの位置を認識するロボットシステムが開示されている(例えば、特許文献1)。
【0005】
特許文献1に開示された技術では、ARデバイスによって2つの基準用マーカを同時に検出し、さらにロボット座標系特定用マーカとの位置関係を認識することによって、ARグラフィックの表示位置ずれを抑えつつロボットの位置や向きを認識している。このようなロボットシステムでは、ワーク及びロボットの位置や向きを精度良く認識するために、基準となるマーカを適切に検出する必要がある。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に開示された技術では、マーカの検出において、例えば、2次元カメラを用いた場合、2次元画像から3次元位置を算出するには事前に当該2次元画像の各画素に対応する3次元座標を決定するカメラパラメータの設定が必要になるため、煩雑な事前の準備が必要であった。
【0008】
そこで、本発明は、マーカの位置を簡易に検出可能なマーカ検出装置及びそれを用いたロボット教示システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様に係るマーカ検出装置は、3Dカメラによって取得された点群データに基づいて、3次元空間における平面である3次元平面を検出する3次元平面検出部と、検出された3次元平面を構成する点群データを、当該3次元平面を基準とする垂直方向に射影することにより2次元平面画像を生成する2次元平面画像生成部と、生成された2次元平面画像からマーカを検出するマーカ検出部と、検出された2次元平面画像に含まれるマーカについて、3次元平面における3次元座標を算出するマーカ位置算出部と、を備える。
【0010】
この態様によれば、3次元平面検出部は、3Dカメラによって取得された点群データに基づいて3次元平面を検出し、2次元平面画像生成部は、3次元平面を構成する点群データを当該3次元平面を基準とする垂直方向に射影することにより2次元平面画像を生成する。そして、マーカ検出部は、2次元平面画像からマーカを検出し、マーカ位置算出部は、2次元平面画像に含まれるマーカについて、3次元平面における3次元座標値(X,Y,Z)を算出する。これにより、平面に設定されたマーカの位置を適切に検出することができる。そして、煩雑なカメラパラメータの設定をしなくても、平面に設定されたマーカの位置を簡易に検出することができるため、製品コストの軽減にも繋がる。
【0011】
上記態様において、マーカ検出部は、3次元平面検出部によって複数の3次元平面が検出された場合、1平面毎にマーカを検出してもよい。
【0012】
この態様によれば、マーカ検出部は、複数の3次元平面が検出された場合、1平面毎にマーカを検出するため、効率よく、着実に、マーカを検出することができる。
【0013】
上記態様において、マーカ検出部は、複数の3次元平面のうち面積の大きい順にマーカを検出してもよい。
【0014】
この態様によれば、マーカ検出部は、複数の3次元平面のうち面積の大きい順にマーカを検出するため、マーカが設定されている可能性が高いと考えられる順で処理し、早い段階でマーカを検出することが期待できる。これにより、演算処理の軽減及び処理時間の短縮に繋がる。
【0015】
上記態様において、マーカ検出部は、複数の3次元平面のうち視野中心順にマーカを検出してもよい。
【0016】
この態様によれば、マーカ検出部は、複数の3次元平面のうち視野中心順にマーカを検出するため、マーカが設定されている可能性が高いと考えられる順で処理し、早い段階でマーカを検出することが期待できる。これにより、演算処理の軽減及び処理時間の短縮に繋がる。
【0017】
本発明の一態様に係るロボット教示システムは、ワークとマーカとを含む画像を撮影する3Dカメラを有する撮影部と、3Dカメラによって取得された点群データに基づいて、3次元空間における平面である3次元平面を検出する3次元平面検出部と、検出された3次元平面を構成する点群データを、当該3次元平面を基準とする垂直方向に射影することにより2次元平面画像を生成する2次元平面画像生成部と、生成された2次元平面画像からマーカを検出するマーカ検出部と、検出された2次元平面画像に含まれるマーカについて、3次元平面における3次元座標を算出するマーカ位置算出部と、算出されたマーカの3次元座標に基づいてカメラ座標系を設定するカメラ座標系設定部と、カメラ座標系におけるマニピュレータの動作経路をロボット制御装置に設定されているロボット座標系に変換しつつ、当該マニピュレータを動作させるための作業プログラムを生成するプログラム生成部と、を備える。
【0018】
この態様によれば、3次元平面検出部は、3Dカメラによって取得された点群データに基づいて3次元平面を検出し、2次元平面画像生成部は、当該3次元平面を構成する点群データを当該3次元平面を基準とする垂直方向に射影することにより2次元平面画像を生成する。そして、マーカ検出部は、2次元平面画像からマーカを検出し、マーカ位置算出部は、2次元平面画像に含まれるマーカについて、3次元平面における3次元座標値(X,Y,Z)を算出する。カメラ座標系設定部は、マーカ位置算出部によって算出されたマーカの3次元座標に基づいてカメラ座標系を設定し、プログラム生成部は、カメラ座標系におけるマニピュレータの動作経路をロボット制御装置に設定されているロボット座標系に変換しつつ、当該マニピュレータを動作させるための作業プログラムを生成する。その結果、適切に検出されたマーカの3次元座標に基づいてカメラ座標系が設定され、作業プログラムが生成されるため、より簡易に、適切にマニピュレータを動作させることができる。
【発明の効果】
【0019】
本発明によれば、マーカの位置を簡易に検出可能なマーカ検出装置及びそれを用いたロボット教示システムを提供することができる。
【図面の簡単な説明】
【0020】
【
図1】本発明の一実施形態に係るロボット教示システムを含む溶接ロボットシステム100の構成を例示する図である。
【
図2】本発明の一実施形態に係るロボット教示システム200の機能的な構成を例示する図である。
【
図3】マーカMが溶接対象であるワークWに設定されており、当該マーカMの位置を原点Oとしてカメラ座標系が設定される様子を示す図である。
【
図4】ワークWに設定されたマーカMの位置を検出するマーカ検出装置220における具体的な処理の様子を模式的に示す図である。
【
図5】本発明の一実施形態に係るマーカ検出装置220が実行するマーカ検出方法M100の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施形態は、あくまで、本発明を実施するための具体的な一例を挙げるものであって、本発明を限定的に解釈させるものではない。また、説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する場合がある。
【0022】
<一実施形態>
[溶接ロボットシステムの基本構成]
図1は、本発明の一実施形態に係るロボット教示システムを含む溶接ロボットシステム100の構成を例示する図である。
図1に示されるように、溶接ロボットシステム100は、例えば、撮影端末1と、ロボット制御装置2と、マニピュレータ3とを備える。撮影端末1とロボット制御装置2とは、例えばネットワークNを介して接続され、ロボット制御装置2とマニピュレータ3とは、例えば通信ケーブルCを介して接続される。ネットワークNは、有線(通信ケーブルを含む)であっても無線であってもよい。なお、溶接ロボットシステム100に、ティーチングペンダントを含めてもよい。ティーチングペンダントは、作業者がマニピュレータ3の動作を教示する操作装置である。
【0023】
マニピュレータ3は、ロボット制御装置2において設定される施工条件に従ってアーク溶接を行う溶接ロボット(産業用ロボット)である。マニピュレータ3は、例えば、工場の床面等に固定されるベース部材上に設けられる多関節アーム31と、多関節アーム31の先端に連結される溶接トーチ32(エンドエフェクタ)とを有する。
【0024】
ロボット制御装置2は、マニピュレータ3の動作を制御する制御ユニットであり、例えば、制御部21、記憶部22、通信部23及び溶接電源部24を含む。
【0025】
制御部21は、例えば、記憶部22に記憶されている作業プログラムをプロセッサが実行することで、マニピュレータ3及び溶接電源部24を制御する。
【0026】
通信部23は、ネットワークNを介して接続される撮影端末1との通信を制御することや、通信ケーブルCを介して接続されるマニピュレータ3との通信を制御する。
【0027】
溶接電源部24は、例えば、溶接ワイヤの先端とワークとの間にアークを発生させるために、予め定められた溶接の施工条件に従って、溶接電流及び溶接電圧等をマニピュレータ3に供給する。溶接の施工条件には、例えば、溶接条件、溶接開始位置、溶接終了位置、アーク放電の時間、溶接距離、溶接トーチの姿勢及び溶接トーチの移動速度等のデータ項目が含まれる。溶接電源部24は、ロボット制御装置2と別個に備えることとしてもよい。
【0028】
撮影端末1は、3Dカメラであって、撮影対象に対応する座標データを取得して、点群データを用いて当該撮影対象の形状を把握するものである。例えば、撮影対象に対応する座標データを、撮影対象を異なる複数の位置から撮影した複数の画像に基づいて算定することで取得してもよい。この場合、公知のステレオ法による三次元計測手法を用いることができる。また、LiDAR(Light Detection and Ranging)センサ、ミリ波センサ、超音波センサ等の距離計測センサを用いてもよく、撮影対象に対してレーザ光を照射し、その反射光に基づいて点群データを取得することによって当該撮影対象の形状を把握してもよい。
【0029】
なお、3Dカメラは、3Dカメラ付きの可搬型端末であってもよい。可搬型端末には、例えば、タブレット端末、スマートフォン、携帯情報端末(PDA)、ノートPC(パーソナルコンピュータ)等の持ち運び可能な端末が含まれる。撮影端末1は、例えば、制御部11、撮影部12、通信部13、表示部14を含む。
【0030】
制御部11は、メモリに格納された所定のプログラムをプロセッサが実行することにより、撮影端末1の各部を制御する。
【0031】
撮影部12は、上述したように、例えば、公知のステレオ法による三次元計測手法を用いて取得した座標データ、又は距離計測センサ等により3Dスキャンして取得した座標データを、点群データとして取得する。なお、点群データには、例えば、3次元座標値(X,Y,Z)で示される位置(距離)情報、及び(R,G,B)で示される色情報が含まれてもよい。
【0032】
通信部13は、ネットワークNを介して接続されるロボット制御装置2との通信を制御する。
【0033】
表示部14は、例えば、タッチパネルを有するディスプレイであり、撮影部12によって取得した点群データに基づいて被写体の形状を表示するとともに、作業者による操作指示等の入力を受け付ける。表示部14は、例えばタッチパネルを有するディスプレイ装置として、撮影端末1とは別個に備えることとしてもよい。
【0034】
[ロボット教示システムの構成]
図2は、本発明の一実施形態に係るロボット教示システム200の機能的な構成を例示する図である。
図2に示されるように、ロボット教示システム200は、機能的な構成として、例えば、撮影部211と、カメラ座標系設定部212と、プログラム生成部213とを有し、さらに、カメラ座標系を設定するための基準となるマーカを検出するためのマーカ検出装置220を含む。なお、マーカ検出装置220は、3次元平面検出部221と、2次元平面画像生成部222と、マーカ検出部223と、マーカ位置算出部224とを含む。
【0035】
これらの機能のうち、撮影部211は、撮影端末1が有する機能である。他方、カメラ座標系設定部212、プログラム生成部213、及びマーカ検出装置220における各部は、撮影端末1及びロボット制御装置2のどちらかが全てを備えてもよいし、撮影端末1及びロボット制御装置2に各機能を分散して備えてもよい。また、撮影端末1及びロボット制御装置2以外の他の装置が、上記機能の一部又は全部を備えてもよい。
【0036】
撮影部211は、撮影端末1の撮影部12と同じであり、3Dカメラの機能として、点群データを取得する。なお、撮影部211は、少なくともマーカ及び溶接対象となるワークが含まれる点群データを取得する。
【0037】
カメラ座標系設定部212は、撮影部211によって取得された点群データにより認識されるマーカに基づいてカメラ座標系を設定する。例えば、カメラ座標系設定部212は、撮影部211によって取得された点群データにより認識されるマーカの位置を原点として、当該原点で互いに直交するX軸、Y軸及びZ軸による三次元の直交座標系をカメラ座標系として設定する。
【0038】
図3は、マーカMが溶接対象であるワークWに設定されており、当該マーカMの位置を原点Oとしてカメラ座標系が設定される様子を示す図である。
図3に示されるように、マーカMは、ワークWの底板に設定されており、カメラ座標系設定部212は、撮影部211によって取得された点群データにより認識されるマーカMの位置を原点Oとして、当該原点Oで互いに直交するX軸、Y軸及びZ軸による三次元の直交座標系をカメラ座標系として設定している。なお、原点Oは、マーカMのうち任意の点を設定する。例えば、原点Oとして、マーカMのうち、予め決められた一点、中心点、又は選択された一点等が設定されればよい。
【0039】
マーカMは、空間内に置かれていることを撮影部211に認識させることができる識別子であればよい。マーカとして、例えばARマーカを用いることが好ましい。ARマーカを用いることで、空間内に置かれたARマーカを認識したときに、そのARマーカを原点とするカメラ座標系を、実際に取得された点群データに表示させることが簡易に実現できるようになる。なお、マーカMを検出するマーカ検出装置220の処理についての詳細は後述する。
【0040】
カメラ座標系設定部212によって設定されたカメラ座標系において、撮影部211によって取得された点群データから認識されるワークWの溶接位置L1,L2,L3に基づいてマニピュレータ3の動作経路を設定する。例えば、撮影部211によって取得された点群データから溶接位置L1,L2,L3が認識され、マニピュレータ3の先端に取り付けられた溶接トーチ32がワークWの溶接位置L1,L2,L3に沿って動作するように、マニピュレータ3(溶接トーチ32)の動作経路をユーザが手動で選択したり、当該溶接位置L1,L2,L3と溶接トーチ32との距離を算出して自動的に設定したりする。
【0041】
一方、ロボット制御装置2は、当該ロボット制御装置2が制御するマニピュレータ3の各軸の角度に関する情報等から当該マニピュレータ3の位置姿勢を把握する(ロボット座標系)。そして、マーカMの設置位置と、当該マーカMの設置位置に対するマニピュレータ3の位置姿勢(設置位置)とに基づいて、カメラ座標系とロボット座標系とを一致させるためのキャリブレーションを行うことができる。当該キャリブレーションは、例えば、マーカMの設置位置にマニピュレータ3(溶接トーチ32)の先端を合わせることにより行えばよい。
【0042】
プログラム生成部213は、カメラ座標系において設定されたマニピュレータ3の動作経路を、カメラ座標系からロボット制御装置2に設定されているロボット座標系に変換しつつ、マニピュレータ3を動作させるための作業プログラムを生成する。
【0043】
このように、ロボット教示システム200では、撮影部211で取得した点群データから認識されるマーカMを基準にカメラ座標系を設定し、当該カメラ座標系における溶接位置L1,L2,L3及びマニピュレータ3の動作経路をロボット座標系に変換しつつ、マニピュレータ3が適切に溶接位置L1,L2,L3に溶接する作業プログラムを生成している。そして、当該作業プログラムは、ロボット制御装置2における記憶部に記憶され、当該ロボット制御装置2は、作業プログラムに基づいてマニピュレータ3の動作を制御し、これにより、溶接ロボットシステム100として、ワークWの溶接位置L1,L2,L3に適切に溶接することができる。
【0044】
[マーカ検出装置220における処理の詳細]
上述したように、マーカMの位置を原点Oとしてカメラ座標系が設定されることから、当該マーカMの位置を適切に検出することが重要となる。以下、マーカMの位置を検出するマーカ検出装置220の処理について詳しく説明する。
【0045】
図4は、ワークWに設定されたマーカMの位置を検出するマーカ検出装置220における具体的な処理の様子を模式的に示す図である。
図4に示されるように、マーカ検出装置220は、3Dカメラによって取得された点群データに基づいて、マーカMの位置を検出している。
【0046】
図4(a)に示されるように、3Dカメラによって取得された点群データが描画されている。例えば、撮影部211は、公知のステレオ法による三次元計測手法を用いて取得した座標データ、又は距離計測センサ等により3Dスキャンして取得した座標データを、点群データとして取得する。
【0047】
3次元平面検出部221は、3Dカメラによって取得された点群データに基づいて、3次元空間における平面である3次元平面を検出する(
図4(b))。例えば、3次元平面検出部221は、撮影部211によって取得された点群データに基づいて、所定の面積以上の平面を3次元平面として、ワークWを構成する底板である平面Wa及び背板である平面Wbを検出している。
【0048】
2次元平面画像生成部222は、3次元平面検出部221によって検出された3次元平面を構成する点群データを、2次元平面に射影することにより2次元平面画像を生成する(
図4(c)(d))。例えば、3次元平面検出部221によって検出された平面Waについて、2次元平面に射影するとは、3次元座標値(X,Y,Z)の位置で示される各点群データを、当該平面Waを基準とする垂直方向に、当該平面Waと交差する位置に移動させて、2次元平面画像を生成することを含む。各点群データの3次元座標値(X,Y,Z)及び(R,G,B)で示される色情報は、平面Waの平面の方程式に基づいて2次元平面画像のピクセル情報(XY座標値及び色情報)として対応付けられて変換されることになる。これにより、
図4(d)に示されるように、2次元平面画像生成部222は、2次元平面画像Wa2を生成する。この時、点群データの粒度が粗い場合には、2次元平面画像生成部222は、所定の画像処理(例えば、ガウスぼかし等の平滑化処理や画素補間処理等)を行うことにより2次元平面画像Wa2を生成してもよい。
【0049】
マーカ検出部223は、2次元平面画像生成部222によって生成された2次元平面画像Wa2からマーカMを検出する(
図4(e))。例えば、マーカ検出部223は、予め記憶されたマーカの画像とパターンマッチングを行うことにより、2次元平面画像生成部222によって生成された2次元平面画像Wa2からマーカMを検出する。
【0050】
マーカ位置算出部224は、マーカ検出部223によって検出された2次元平面画像Wa2に含まれるマーカMについて、3次元平面検出部221によって3次元平面として検出された平面Waにおける3次元座標を算出する(
図4(f))。
図4(c)及び(d)を用いて説明したように、平面Waを構成する点群データの3次元座標値(X,Y,Z)を、当該平面Waを基準とする垂直方向に、当該平面Waと交差する位置に移動させて、2次元平面画像Wa2を生成したが、その逆の処理を行う。すなわち、2次元平面画像Wa2に含まれるマーカMの位置情報を、3次元平面である平面Wa上における3次元座標値(X,Y,Z)に変換する。
【0051】
このように、マーカ検出装置220は、平面Wa上に設定されているマーカMの位置を適切に検出している。
【0052】
[マーカ検出方法]
次に、本発明の一実施形態に係るマーカ検出装置220がマーカを検出する方法について、具体的に詳しく説明する。
【0053】
図5は、本発明の一実施形態に係るマーカ検出装置220が実行するマーカ検出方法M100の処理の流れを示すフローチャートである。
図5に示されるように、マーカ検出方法M100は、ステップS110~S140を含み、各ステップは、マーカ検出装置220に含まれるプロセッサによって実行される。
【0054】
ステップS110では、マーカ検出装置220は、3Dカメラによって取得された点群データに基づいて、3次元空間における平面である3次元平面を検出する(3次元平面検出ステップ)。具体例としては、マーカ検出装置220における3次元平面検出部221は、所定の面積以上の平面として、ワークWを構成する平面Wa及びWb等を検出する。
【0055】
ステップS120では、マーカ検出装置220は、ステップS110で検出された3次元平面を構成する点群データを、2次元平面に射影することにより2次元平面画像を生成する(2次元平面画像生成ステップ)。具体例としては、マーカ検出装置220における2次元平面画像生成部222は、ステップS110で検出された3次元平面Waについて、3次元座標値(X,Y,Z)の位置で示される各点群データを、当該平面Waを基準とする垂直方向に、当該平面Waと交差する位置に移動させて、2次元平面画像Wa2を生成する。
【0056】
ステップS130では、マーカ検出装置220は、ステップS120で生成された2次元平面画像からマーカMを検出する(マーカ検出ステップ)。具体例としては、マーカ検出装置220におけるマーカ検出部223は、予め記憶されたマーカの画像とパターンマッチングを行うことにより、2次元平面画像Wa2からマーカMを検出する。
【0057】
ステップS140では、マーカ検出装置220は、ステップS130で検出された2次元平面画像に含まれるマーカMについて、ステップS110で3次元平面として検出された平面における3次元座標を算出する(3次元座標算出ステップ)。具体例としては、マーカ検出装置220におけるマーカ位置算出部224は、2次元平面画像Wa2に含まれるマーカMの位置情報を、3次元平面である平面Wa上における3次元座標値(X,Y,Z)に変換する。
【0058】
以上のように、本発明の一実施形態に係るマーカ検出装置220及びマーカ検出方法M100によれば、3次元平面検出部221は、3Dカメラによって取得された点群データに基づいて、3次元空間における平面Wa及びWbを検出し、2次元平面画像生成部222は、当該平面Waを構成する点群データを当該平面Waを基準とする垂直方向に射影することにより2次元平面画像Wa2を生成する。そして、マーカ検出部223は、2次元平面画像Wa2からマーカMを検出し、マーカ位置算出部224は、2次元平面画像Wa2に含まれるマーカMについて、3次元平面Waにおける3次元座標値(X,Y,Z)を算出する。これにより、平面に設定されたマーカMの位置を適切に検出することができ、煩雑なカメラパラメータの設定をしなくても、平面に設定されたマーカMの位置を簡易に検出することができる。
【0059】
さらに、本発明の一実施形態に係るマーカ検出装置220を用いたロボット教示システム200によれば、当該マーカ検出装置220によって適切に検出されたマーカMの位置に基づいて、カメラ座標系設定部212は、当該マーカMの位置を原点Oとしてカメラ座標系を設定する。プログラム生成部213は、マーカMの設置位置に基づいて、カメラ座標系において設定されたマニピュレータ3の動作経路を、カメラ座標系からロボット制御装置2に設定されているロボット座標系に変換しつつ、マニピュレータ3を動作させるための作業プログラムを生成する。これにより、適切な溶接位置に、より簡易に溶接することができる。
【0060】
なお、本実施形態では、マーカ検出部223は、3次元平面検出部221によって検出された3次元平面Wa及びWbのうち、平面WaついてマーカMを検出した。複数の平面のうち、どの平面にマーカが含まれているか、例えば、ユーザが選択するようにしても構わないし、複数の平面のうち、1平面毎にマーカを検出するようにしても構わない。
【0061】
実際に、ユーザが、マーカMが設定されている平面を把握していれば、当該平面を選択することにより、マーカ検出部223は、効率よく、マーカMを検出することができる。
【0062】
一方で、例えば、複数の平面のうち、1平面毎にマーカを検出するようにすれば、着実に処理を進めることにより、自動的にマーカMを検出することができる。ここで、複数の平面について、どのような順番でマーカを検出するかについては、例えば、面積の大きい順や視野中心から近い順、又はそれらの組み合わせ順で、処理するようにしても構わない。
【0063】
3次元平面検出部221によって検出された複数の平面のうち、面積の大きい平面や視野中心から近い平面に、マーカMが設定されている可能性が高いと考えられ、複数の平面のうち、1平面毎にマーカを検出する中で、早い段階でマーカを検出することが期待できる。これにより、演算処理の軽減及び処理時間の短縮に繋がる。
【0064】
さらに、複数の平面について、どのような順番でマーカを検出するかについては、効率よくマーカを検出できる順であれば、これらの順に限定されるものではない。
【0065】
具体例としては、所定の色(例えば、赤色等)で構成されたマーカ、又は所定の色を多く含むように構成されたマーカを用いる。そして、3次元平面検出部221によって複数の平面が検出された際に、当該複数の平面について、当該所定の色を多く含む順で処理するようにすればよい。複数の平面について、各平面を構成する点群データには、(R,G,B)で示される色情報が含まれており、当該色情報に基づいて、各平面に含まれる所定の色情報の割合を判定することができる。
【0066】
このように、マーカを所定の色を用いて構成させることにより、3次元平面検出部221によって複数の平面が検出された場合、マーカが含まれている平面を効率よく検出することができる。これにより、演算処理の軽減及び処理時間の短縮に繋がる。
【0067】
また、本実施形態では、溶接ロボットシステム100のロボット教示システム200に用いられるマーカ検出装置220を一例に挙げて説明したが、マーカ検出装置220が用いられる産業用ロボットは、溶接ロボットシステム100に限定されるものではない。例えば、電子部品及び機械部品の組み立てや搬送等を行う組み立てロボットシステムや搬送ロボットシステム等に、マーカ検出装置220を適用することもできる。
【0068】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【0069】
1…撮影端末、2…ロボット制御装置、3…マニピュレータ、11…制御部、12…撮影部、13…通信部、14…表示部、21…制御部、22…記憶部、23…通信部、24…溶接電源部、31…多関節アーム、32…溶接トーチ、100…溶接ロボットシステム、200…ロボット教示システム、211…撮影部、212…カメラ座標系設定部、213…プログラム生成部、220…マーカ検出装置、221…3次元平面検出部、222…2次元平面画像生成部、223…マーカ検出部、224…マーカ位置算出部、C…通信ケーブル、N…ネットワーク、M…マーカ、W…ワーク、L1~L3…溶接位置、Wa,Wb…平面、Wa2…平面画像、M100…マーカ検出方法、S110~S140…マーカ検出方法M100の各ステップ
【要約】
【課題】マーカの位置を簡易に検出可能なマーカ検出装置及びそれを用いたロボット教示システムを提供することである。
【解決手段】マーカ検出装置220は、3Dカメラによって取得された点群データに基づいて、3次元空間における平面である3次元平面を検出する3次元平面検出部221と、検出された3次元平面を構成する点群データを、当該3次元平面を基準とする垂直方向に射影することにより2次元平面画像を生成する2次元平面画像生成部222と、生成された2次元平面画像からマーカを検出するマーカ検出部223と、検出された2次元平面画像に含まれるマーカについて、3次元平面における3次元座標を算出するマーカ位置算出部224と、を備える。
【選択図】
図2