(57)【要約】【課題】シート光を照射して形状計測する光学式センサをツール先端付近に取り付けたロボットシステムにおいて、精度高くキャリブレーションする。【解決手段】キャリブレーション方法は、三角錐形状を備えたキャリブレーションターゲットを対象にして、ロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、三角錐頂点付近の形状を計測し、順に取得した三角錐形状に起因する屈曲点変化に基づいて、シート光が頂点位置に照射されたときの、センサ座標における三角錐の頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する第１のステップ、三角錐の頂点位置が異なる値となるように検出位置を変えて第１のステップを少なくとも３回行う第２のステップ、第１のステップおよび第２のステップにて集計したデータを演算して、センサとツールとの位置関係を算出する第３のステップを含む。【選択図】図１
2014018932.tif 000002
【特許請求の範囲】
【請求項１】
シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにて、複数の稜線が１の頂点で交わる立体形状で構成されるキャリブレーションターゲットを対象にして、以下に示すステップを実施することで、前記ロボットのキャリブレーションを行うことを特徴とする光学式センサ付きロボットのキャリブレーション方法。
・第１のステップ；  ロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、前記キャリブレーションターゲットの頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する。
・第２のステップ；  前記キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて前記第１のステップを少なくとも３回行う。
・第３のステップ；  前記第１のステップおよび前記第２のステップにて集計したデータを演算して、センサとツールとの位置関係を算出する。
【請求項２】
シート光を照射して形状計測する光学式センサがロボットのツール軸周りに回転可能となるように回転軸に取り付けられ、前記回転軸はツール付近に固定されて取り付けられた、光学式センサ付きロボットシステムにて、複数の稜線が１の頂点で交わる立体形状で構成されるキャリブレーションターゲットを対象にして、以下に示すステップを実施することで、前記ロボットのキャリブレーションを行うことを特徴とする光学式センサ付きロボットのキャリブレーション方法。
・第１のステップ；  回転軸角度を所定の角度にセットし、ロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、キャリブレーションターゲット頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する。
・第２のステップ；  前記キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて前記第１のステップを少なくとも３回行う。
・第３のステップ；  回転軸の回転角度を変えて、前記第１のステップおよび前記第２のステップを少なくとも３回行う。
・第４のステップ；  前記第１のステップ〜前記第３のステップにて集計したデータを演算して、センサとツールとの位置関係を算出する。
【請求項３】
前記キャリブレーションターゲットが、三角錐で構成されていることを特徴とする、請求項１または請求項２に記載の光学式センサ付きロボットのキャリブレーション方法。
【請求項４】
前記キャリブレーションターゲットが、上に凸の三角錐で構成されていることを特徴とする、請求項３に記載の光学式センサ付きロボットのキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば溶接に用いられる多関節ロボットの制御に関し、特に、ツール（溶接トーチ）付近に搭載した光学式センサにより部材の溶接線を検出してこの溶接線に倣いながら溶接する光学式センサ付きロボットにおいて座標変換マトリクスを求めるキャリブレーションに関する。
【背景技術】
【０００２】
たとえば、多関節ロボットを用いて倣い溶接を行なう場合、ロボットアームにより溶接トーチを移動させるとともに、溶接トーチに光学式センサ（レーザセンサ）を取り付けておいて光学式センサにより検出された溶接線に倣って溶接トーチを移動させる。
このようなロボットを用いた溶接装置は、ロボットアームによって移動される溶接トーチ、溶接トーチの先端部において母材に向け送給される溶接ワイヤ、溶接トーチに取り付けて設けられたレーザセンサ、ロボットアーム、エンコーダなどを備えた溶接制御部、レーザセンサの検出結果を加工して出力するセンサコントローラ、および、溶接制御部を制御するコントローラなどを備えて構成される。
【０００３】
このような溶接装置においては、レーザセンサを溶接トーチに取り付けて設けているので、レーザセンサ用としての特別の駆動機構は不要となり、簡素な構成によってアーク溶接の倣い制御を行うことができる。その一方で、溶接線上の目標点の位置をセンサ座標上からロボット座標上へと座標変換しなければならない。このとき溶接トーチとレーザセンサとの幾何的な関係から決定される変換マトリクス（変換行列）が必要となるが、この変換マトリクスを求める操作をキャリブレーションと呼んでいる。
【０００４】
特許第３０００１６２号公報（特許文献１）は、このようなキャリブレーションを実行するアーク溶接装置を開示する。このアーク溶接装置は、溶接線上に基準点Ｐを設定し、これを溶接トーチの先端部で教示してロボット座標上の基準点Ｐの位置Ａを検出して、レーザセンサからレーザシート光（スリット光、光切断線）を照射して基準点Ｐを検出してそのセンサ座標上の位置Ｓiを検出するとともに、そのときの溶接トーチの先端部の位置Ｒiをロボット座標上で検出して、位置Ａ、位置Ｓi、位置Ｒiに基づいて変換マトリクスＣを算出する。この変換マトリクスＣを用いて、センサ座標からロボット座標への座標変換を行い、これによって倣い制御を行う。
【０００５】
このアーク溶接装置によると、センサ座標からロボット座標への座標変換を行うための両者の相対位置関係を随時かつ容易に求めることができ、これによって常に高精度な倣い制御をすることが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３０００１６２号公報（特開平１０−０８５９３７号公報）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１を含めてキャリブレーション方法においては、レーザシート光の３次元空間上の１点への位置決め精度が、キャリブレーション精度に大きく影響する。キャリブレーション後のアプリケーションによって要求精度は異なるが、たとえば溶接ロボットの溶接倣い用センサの場合または溶接ワーク位置ずれ検出用センサの場合には、キャリブレーション精度は０．１ｍｍ程度の精度が要求される。このため、レーザシート光の位置決め精度も０．１ｍｍ程度の精度が必要となる。
【０００８】
ところで、レーザシート光を０．１ｍｍ精度で位置決めするには、以下の問題がある。
・レーザシート光はシート状の光（ライン状の光）とはいえ、０．２〜０．３ｍｍ程度の幅があるので、０．１ｍｍ程度の精度で、オペレータが目視で位置決めすることは困難である。
・不可視光レーザの場合は目視することができず、オペレータが目視で位置決めすることは不可能である。
【０００９】
・レーザパワーが強い場合には安全上レーザ保護めがねを装着して位置決めすることになる。また、不可視光レーザの場合にはレーザ光を可視化するスコープなどを装着して位置決めすることになる。このようなレーザ保護めがねまたはスコープを装着すると、レーザ光が視認しづらく、オペレータが目視で位置決めすることは困難である。
以上のことから、オペレータが目視で位置決めすることは非常に難しく、自動化が望まれる。
【００１０】
しかしながら、特許文献１に開示されたアーク溶接装置においてキャリブレーションに用いられる基準点Ｐは、母材にマーキングしているだけであり、基準点Ｐ付近に形状変化があるわけではないので形状を計測する光切断法を適用して、基準点Ｐを自動で位置決めすることができない。
本発明は、上述の問題点に鑑みてなされたものであり、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにおいて、精度高くキャリブレーションを行うことのできる方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明に係る光学式センサ付きロボットのキャリブレーション方法は、以下の技術的手段を講じている。
即ち、本発明のある局面に係る光学式センサ付きロボットのキャリブレーション方法は、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにて、複数の稜線が１の頂点で交わる立体形状で構成されるキャリブレーションターゲットを対象にして行われる。このキャリブレーション方法は、以下の３ステップを含むことを特徴とする。
・第１のステップ；  ロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、前記キャリブレーションターゲットの頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する。・第２のステップ；  前記キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて前記第１のステップを少なくとも３回行う。
・第３のステップ；  前記第１のステップおよび前記第２のステップにて集計したデータを演算して、センサとツールとの位置関係を算出する。
【００１２】
また、本発明の別の局面に係る光学式センサ付きロボットのキャリブレーション方法は、シート光を照射して形状計測する光学式センサがロボットのツール軸周りに回転可能となるように回転軸に取り付けられ、前記回転軸はツール付近に固定されて取り付けられた、光学式センサ付きロボットシステムにて、複数の稜線が１の頂点で交わる立体形状で構成されるキャリブレーションターゲットを対象にして行われる。このキャリブレーション方法は、以下の４ステップを含むことを特徴とする。
・第１のステップ；  回転軸角度を所定の角度にセットし、ロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、キャリブレーションターゲット頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出するステップ。
・第２のステップ；  前記キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて前記第１のステップを少なくとも３回行うステップ。
・第３のステップ；  回転軸の回転角度を変えて、前記第１のステップおよび前記第２のステップを少なくとも３回行うステップ。
・第４のステップ；  前記第１のステップ〜前記第３のステップにて集計したデータを演算して、センサとツールとの位置関係を算出するステップ。
【００１３】
好ましくは、前記キャリブレーションターゲットが、三角錐で構成することができる。
さらに好ましくは、前記キャリブレーションターゲットが、上に凸の三角錐で構成することができる。
【発明の効果】
【００１４】
本発明に係る光学式センサ付きロボットのキャリブレーション方法を用いることにより、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにおいて、精度高くキャリブレーションを行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態に係るキャリブレーション方法が適用される光学式センサ付きロボットの全体構成を示す概略図である。
【図２】本発明の第１の実施の形態に係るキャリブレーション方法のフローチャートである。
【図３】キャリブレーションターゲットの斜視図である。
【図４】キャリブレーションターゲット（その１）を示す上面図および側面図である。
【図５】キャリブレーションターゲット（その２）を示す上面図および側面図である。
【図６】キャリブレーションターゲット（その３）を示す上面図および側面図である。
【図７】キャリブレーションターゲット（その４）を示す上面図および側面図である。
【図８】図２の三角錐頂点検出ステップを説明するための図である。
【図９】三角錐頂点にシート光を照射したときの三角錐頂点座標（センサ座標）を算出する手順を説明するための図である。
【図１０】三角錐頂点にシート光を照射したときのツール先端位置を算出する手順を説明するための図である。
【図１１】三角錐頂点位置が異なる値になるように計測位置を変更する手順を説明するための図である。
【図１２】本発明の第２の実施の形態に係るキャリブレーション方法が適用される光学式センサ付きロボットの全体構成を示す概略図である。
【図１３】本発明の第２の実施の形態に係るキャリブレーション方法のフローチャートである。
【図１４】キャリブレーションターゲットと回転軸の角度とを示す斜視図である。
【図１５】キャリブレーションターゲットと回転軸の角度との関係を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態に係る光学式センサ付きロボットのキャリブレーション方法を、図面に基づき詳しく説明する。なお、以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
＜第１の実施の形態＞
まず、第１の実施の形態に係るキャリブレーション方法が適用される光学式センサ付きロボット（以下、溶接ロボットまたはロボットと記載する場合がある）の概要について説明する。図１（Ａ）にこの溶接ロボット１００の全体図を、図１（Ｂ）に溶接トーチ先端部の拡大図を、それぞれ示す。
【００１７】
図１（Ａ）および図１（Ｂ）に示すように、この溶接ロボット１００は、ロボットアームによって移動される溶接トーチ１４０、溶接トーチ１４０の先端部において母材に向け送給される溶接ワイヤ（図示しない）、溶接トーチ１４０に取り付けて設けられた光学式センサ（レーザセンサ）１３０、光学式センサ１３０の検出結果を加工してセンサ座標をロボットコントローラ１２０へ出力するセンサコントローラ１１０、および、この溶接ロ
ボット１００を制御するロボットコントローラ１２０などを備えて構成される。ロボットコントローラ１２０は、後述するセンサ座標からロボット座標へ座標変換する座標変換部１２２および倣い制御部１２４とを備えている。
【００１８】
図１（Ｂ）に示すように、溶接ロボット１００のツール（溶接トーチ１４０）付近に光学式センサ１３０が搭載されている。本実施の形態においては、本発明に係るキャリブレーション方法が適用される光学式センサ付きロボットは、溶接ロボットとして説明するが、溶接ロボットに限定する必要はなく、塗装ロボットまたはハンドリングロボットなどであっても構わない。
【００１９】
光学式センサ１３０は、レーザ光などのシート光を、対象物である溶接部材に照射し、その反射光をＣＣＤ受光素子などで撮像することにより、溶接部材の２次元断面形状を測定する。この測定原理は、一般には、光切断法と呼ばれている。なお、別の方法として、レーザスポット光をセンサ内部のスキャニング機構によりスキャニングして、２次元断面形状を測定するセンサでも構わない。
【００２０】
光学式センサ１３０は、センサコントローラ１１０からの指令により、対象物の形状を測定し、形状解析により溶接線位置を検出し、検出された溶接線位置（センサ座標）を、ロボットコントローラ１２０へ出力する。
次に、座標系について説明する。光学式センサ１３０は、光学式センサ１３０に固定された座標系を持っており、これをセンサ座標と呼ぶ。一方、溶接ロボット１００は、自分自身の座標系を２つ持っており、一つ目の座標系は、地面に固定された座標系であって、これをロボット座標と呼ぶ。溶接ロボット１００は、ツールである溶接トーチ１４０の位置と姿勢とを変化させながら溶接作業を行う。二つ目の座標系は、このツールに張り付いた座標系であって、これをツール座標と呼ぶ。溶接ロボット１００は、ツールの位置姿勢を制御しているので、ロボット座標からツール座標への変換パラメータ（変換マトリクス）は既知である。
【００２１】
実際の倣い溶接作業するときには、
（手順１）光学式センサ１３０で溶接部材の溶接線を検出する。このとき、センサ座標の溶接線位置が検出される。これをＳＰと記載する。
（手順２）上記（手順１）で検出した位置を、ツール座標に変換して、さらにロボット座標へ変換して、ロボット座標の溶接線位置が算出される。これをＲＰと記載する。このときの変換は下記の式（１）のように表現できる。
（手順３）上記（手順２）で算出されたロボット座標の溶接線位置ＲＰを使って、溶接ロボット１００は溶接線に倣って動作するように制御される。
【００２２】
これを実現するためにはロボット設置時または溶接前に、センサ座標とツール座標との位置関係（センサ座標からツール座標への座標変換行列ＴΣＳ）を算出する必要がある。これを、センサとロボットのキャリブレーションと呼ぶ。
【００２３】
【数１】
2014018932.tif 000003
【００２４】
次に、上記したようなキャリブレーションの方法について説明する。
第１の実施の形態に係るキャリブレーション方法においては、複数の稜線が１の頂点で交わる立体形状で構成されるキャリブレーションターゲットを用いる。このキャリブレー
ションターゲットの詳細については後述する。なお、このキャリブレーション方法の説明においては、キャリブレーションターゲットは三角錐とする。
【００２５】
図２に示すように、このキャリブレーション方法は、ステップ（以下、ステップをＳと記載する）１００にて、ロボットコントローラ１２０は、キャリブレーションターゲットである三角錐の頂点位置をツール先端で指し示す。これにより、ロボット座標での三角錐頂点座標を取得することができる。このように、三角錐の頂点位置はロボット座標で既知となる。
【００２６】
Ｓ１１０にて、ロボットコントローラ１２０は、変数ｉに１を代入して、Ｓ１２０にて三角錐の頂点位置を算出する。このＳ１２０において、三角錐の頂点に光学式センサ１３０からシート光を照射したときの三角錐頂点座標（センサ座標）ｓＰｉ=（ｓｙｉ，ｓｚｉ）を算出して、三角錐の頂点に光学式センサ１３０からシート光を照射したときのツール先端位置ｒＴｉ=（ｒｘi,ｒｙｉ,ｒｚｉ）を算出して、ある位置における、三角錐頂点座標（センサ座標）ｓＰｉ=（ｓｙｉ，ｓｚｉ）と、ツール座標からロボット座標への座標変換行列ＲΣＴ（ｉ）とを取得する。このＳ１２０における処理の詳細については後述する。
【００２７】
Ｓ１３０にて、ロボットコントローラ１２０は、変数ｉが３であるか否かを判定する。変数ｉが３であると判定されると（Ｓ１２０にてＹＥＳ）処理はＳ１５０へ移され、変数ｉが３であると判定されないと（Ｓ１２０にてＮＯ）処理はＳ１４０へ移される。
Ｓ１４０にて、ロボットコントローラ１２０は、変数ｉに１を加算して、Ｓ１２０の処理を行う。すなわち、三角錐の頂点位置を算出処理を３回繰り返す。このように三角錐の頂点位置を算出処理を（少なくとも）３回行なうのは、シート光の平面を特定するためには最低限３点が必要だからである。３回以上行うと、最小二乗効果で計測ばらつきが低減され、計測精度が向上する。
【００２８】
三角錐の頂点位置を算出処理を３回繰り返すと（Ｓ１２０にてＹＥＳ）、Ｓ１５０にて、ロボットコントローラ１２０は、キャリブレーション演算を行う。このＳ１５０における処理の詳細については後述する。
上述したキャリブレーション方法を行う場合に用いられるキャリブレーションターゲットについて説明する。
【００２９】
キャリブレーションターゲット１５０の一例である三角錐の斜視図を図３に、その上面図および側面図を図４にそれぞれ示す。
三角錐の頂点角度θは、９０度以上開いている。三角錐の頂点角度θについては９０°（いわゆる立方体や直方体の角）でも構わないが、９０°以上開いていた方が、頂点上部付近からシート光を照射したときに、正反射に近くなり、形状計測しやすい。このため、三角錐の頂点角度θは、９０°〜１５０°程度開いていることが好ましい。
【００３０】
三角錐の表面はレーザ光を散乱しやすいような色を塗布しておくことが好ましい。三角錐の頂点位置を、ツール先端で指し示せば、ロボット座標での三角錐頂点座標を取得することができる
キャリブレーションターゲットとしては、このような上に凸の三角錐以外にも、図５に示すような下に凸の三角錐であっても構わない。さらに、図６に示すような上に凸の四角錐であっても構わないし、図７に示すような下に凸の四角錐であっても構わない。ただし、下に凸の場合は、レーザシート光を頂点付近に照射したとき、表面状態によっては多重反射が発生し、安定してレーザを検出できない場合も想定されるので、上に凸の形状の方が好ましい。
【００３１】
以下に、図２のＳ１２０における三角錐の頂点位置の算出処理について、図８を参照して詳しく説明する。
図８（Ａ）に示すように、まず、事前準備として、三角錐頂点から三角錐の辺に沿って少しずらした位置を、「走査開始位置」として設定する（このときの変数Ｊを１とする）。この位置は、三角錐を形状計測したときの屈曲点が１個になるような位置である。
【００３２】
そして、図８（Ｄ）に示すように、三角錐頂点を通り越し、屈曲点が２個になる位置を、「走査終了位置」として設定する（このときの変数ｊをｊｍａｘ（図８（Ｄ）ではｊｍ
ａｘ＝４）とする）。
次に下記のＳ１２１〜Ｓ１２５を実行する。
Ｓ１２１にて、ツール先端位置を「走査開始位置」へ移動させる。このとき、図８（Ａ）に示すように、変数ｊは１である。
【００３３】
Ｓ１２２にて、光学式センサ１３０により三角錐の形状を計測し、屈曲点ｓＫｉｊ=（ｓｙｉｊ，ｓｚｉｊ）を検出する。屈曲点は１個の場合（図８（Ｂ）参照）と２個の場合（図８（Ｃ）参照）とが存在する。このときのツール先端位置ｒＴｉｊ=（ｒｘｉｊ，ｒｙｉｊ，ｒｚｉｊ）を登録する。
Ｓ１２３にて、「走査終了位置」に向かって、ツール先端位置をツール姿勢を変えず（姿勢パラメータは既知）に微小量（たとえば約０．２ｍｍ程度）だけ直線移動させる。
【００３４】
Ｓ１２４にて、ツール先端位置が「走査終了位置」であるか否かを判定する。ツール先端位置が「走査終了位置」であると判定されないと、変数ｊに１を加算してＳ１２２へ戻る。ツール先端位置が「走査終了位置」であると判定されると、Ｓ１２５へ移る。
Ｓ１２５にて、Ｓ１２２の処理を３回繰り返すことにより、以下の式（２）に示すように、三角錐形状の屈曲点ｓＫｉｊ=（ｓｙｉｊ，ｓｚｉｊ）およびそのときのツール先端位置ｒＴｉｊ=（ｒｘｉｊ，ｒｙｉｊ，ｒｚｉｊ）が取得されているので、下記に示す「三角錐頂点にシート光照射したときの三角錐頂点座標（センサ座標）ｓＰｉ=（ｓｙｉ，ｓｚｉ）の算出」と「三角錐頂点にシート光照射したときのツール先端位置ｒＴｉ=（ｒｘｉ，ｒｙｉ，ｒｚｉ）の算出」を行う。
【００３５】
【数２】
2014018932.tif 000004
【００３６】
図９を参照して、三角錐頂点にシート光を照射したときの三角錐頂点座標（センサ座標）ｓＰｉ=（ｓｙｉ，ｓｚｉ）の算出手順を詳しく説明する。
三角錐形状の屈曲点のデータセットｓＫｉ１=（ｓｙｉ１，ｓｚｉ１）、…、ｓＫｉ（ｊｍａｘ） =（ｓｙｉ（ｊｍａｘ），ｓｚｉ（ｊｍａｘ））は、図９（Ａ）に示すように、３直線にグルーピングされるので、データ点を使って直線フィッティングすることで、直線１、直線２、直線３の３本の直線を算出する（図９（Ｂ））。
【００３７】
次にこれらの３直線の交点を算出する。ただし、キャリブレーションターゲットである三角錐の表面凹凸、レーザシート光のリップルによる明暗変化などの計測ばらつきなどの影響で現実には、これらの３直線が１点で交わらない。そこで、直線１と直線２との交点１２を算出し、直線２と直線３との交点２３を算出し、直線３と直線１との交点３１を算出する。最後に、交点１２、交点２３、交点３１の重心位置を算出し、これをＳＰｉ=（Ｓｙｉ，Ｓｚｉ）として算出する（図９（Ｃ））。
【００３８】
図１０を参照して、三角錐頂点にシート光を照射したときのツール先端位置ｒＴｉ=（ｒｘｉ，ｒｙｉ，ｒｚｉ）の算出手順を詳しく説明する。
Ｓ１２５にて取得されたデータセットを、横軸に三角錐形状のセンサ座標Ｙｓ、縦軸にツール先端位置のロボット座標Ｘｒをとると、図１０（Ａ）に示すようになる。すると、上述した「三角錐頂点にシート光を照射したときの三角錐頂点座標（センサ座標）ｓＰｉ=（ｓｙｉ，ｓｚｉ）の算出手順」と同じように、３直線にグルーピングできるので、３直線の交点Ｐ０を計算する。このＰ０のＸｒ座標値が、「三角錐頂点にシート光を照射し
たときのツール先端位置ｒＴｉ=（ｒｘｉ，ｒｙｉ，ｒｚｉ）」のｒｘｉとなる（図１０（Ｃ））。
【００３９】
ツール先端位置の移動軌跡は直線であるので、ｒｘｉが算出できれば、他軸のｒｙｉ、ｒｚｉも算出できる。これにより、「三角錐頂点にシート光を照射したときのツール先端位置ｒＴｉ=（ｒｘｉ，ｒｙｉ，ｒｚｉ）」が算出できる。ツール姿勢（αβγ）が固定であり、かつ、既知であるので、ある位置における、ツール座標からロボット座標への座標変換行列であるＲΣＴ（ｉ）が算出できる。
【００４０】
以上の演算により、光学式センサ１３０により、ある位置におけるｓＰｉ=（ｓｙｉ，ｓｚｉ）とＲΣＴ（ｉ）とが取得できた。
図１１に示すように、この演算処理を異なる計測位置で少なくとも３回行う。図２を参照して説明したように、このように三角錐の頂点位置を算出処理を（少なくとも）３回行なうのは、シート光の平面を特定するためには最低限３点が必要だからである。３回以上行うと、最小二乗効果で計測ばらつきが低減され、計測精度が向上する。
【００４１】
このように上述した演算処理を３回行なうと、以下の式（３）に示すデータセットが取得できる。
【００４２】
【数３】
2014018932.tif 000005
【００４３】
このデータセットと既知であるＲＰとをあわせて、「回転軸がない場合のキャリブレーション方法」に示す手順で、センサとロボットとの位置関係（センサ座標からツール座標への座標変換行列ＴΣＳ）を導出することができる。
光学式センサ１３０により計測されたセンサ座標での座標値は、式（１）にてロボット座標の座標値へ座標変換される。
【００４４】
キャリブレーション時において取得された計測データは、上述したように、キャリブレーションターゲットである三角錐の計測点を、光学式センサ１３０により計測したときのセンサ座標値ＳＰｉ=（Ｓｙｉ，Ｓｚｉ）と、キャリブレーションターゲットである三角錐の計測点を、ロボット先端でタッチしたときのロボット先端座標値ＲＰとである。
ここで、センサ座標からツール座標への座標変換行列ＴΣＳは、以下の式（４）で表現される。式（４）に示すように、この座標変換行列ＴΣＳは、位置ＸＹＺ、姿勢αβγの６個パラメータで構成される４×４行列である。
【００４５】
【数４】
2014018932.tif 000006
【００４６】
ここで、ＲＰの位置を光学式センサ１３０により計測し、そのときのセンサの計測点ＳＰｉ=（Ｓｙｉ，Ｓｚｉ）とツール位置ＲΣＴ（ｉ）とが取得できている。これを異なる計測位置で、少なくとも３回（（ｉｍａｘ−１）回とする）実行すると、以下の式（５）で表される、ｉ＝０、…、ｉｍａｘまでのデータセットが取得できる。
【００４７】
【数５】
2014018932.tif 000007
【００４８】
次に、キャリブレーションパラメータであるＴΣＳ（←（ｘＳ  ｙＳ  ｚｓ  αＳ  βＳ  γＳ）の６個のパラメータから構成される）を導出する方法を以下に詳しく説明する。
算出する６個のパラメータｐ＝（ｘＳ  ｙＳ  ｚｓ  αＳ  βＳ  γＳ）−１の微小変化Δｅを考える。微小変化Δｅは、Δｅ=ＪΔｐで与えられ、式（１）の右辺のＸＹＺ３要素をｆｘ，ｆｙ，ｆｚとし、光学式センサ１３０により計測したｋ個目の点ＳＰｋ=（Ｓｙｋ，Ｓｚｋ）は、ロボット座標値ＲＰｋ=（Ｒｘｋ，Ｒｙｋ，Ｒｚｋ）に変換できるので、式（１）は、以下の式（６）および式（７）で表される。
【００４９】
【数６】
2014018932.tif 000008
【００５０】
【数７】
2014018932.tif 000009
【００５１】
次に、以下の手順で、ｐ０からスタートして反復計算によりｐを算出する。まず、
STEP1：収束条件εと初期値ｐ＝ｐ０とを与える。初期値ｐ０は以下の式（８）で表される。
【００５２】
【数８】
2014018932.tif 000010
【００５３】
STEP2：６個のパラメータｐ＝（ｘＳ  ｙＳ  ｚｓ  αＳ  βＳ  γＳ）−１の微小変化ΔｅをΔｅ=ＪΔｐにて計算し、このΔｅが収束条件ε以下の場合には、収束計算を終わる。
ここで、ｘＭおよびｘＤは、以下の式（９）で与えられる。
【００５４】
【数９】
2014018932.tif 000011
【００５５】
STEP3：STEP2において計算した微小変化Δｅを基に、Δｐ=-（ＪＴＪ）−１ＪＴΔｅ・ｐを計算する。
STEP4：Δｐ=ｐ＋Δｐとし、STEP2へ戻る。 
このように反復計算を行うことにより、６個のパラメータｐ=（ｘＳ  ｙＳ  ｚｓ  αＳ  βＳ  γＳ）−１が算出でき、その結果、センサ座標からツール座標への座標変換行列ＴΣＳを求めることができる。
【００５６】
以上のようにして、第１の実施の形態に係るキャリブレーション方法によると、複数の稜線が１の頂点で交わる立体形状である三角錐形状を備えたキャリブレーションターゲットを対象にして、ロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、キャリブレーションターゲットの頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する第１のステップ、キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて第１のステップを少なくとも３回行う第２のステップ、第１のステップおよび第２のステップにて集計したデータを演算して、センサとツールとの位置関係を算出する第３のステップを実行した。このようにキャリブレーションすることにより、オペレータが目視しながら手動でシート光を位置決めする必要がなく、自動でキャリブレーションすることができる。
【００５７】
特に、三角錐は、最小稜線で構成された幾何学的形状で３面で構成されるので、３面の交点として１点が形成され、キャリブレーションターゲットとしても精度が良く、検出も最小限の３回の検出で済むので効率が良い。その結果、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにおいて、精度高くキャリブレーションを行い、センサ座標からロボット座標への変換行列（式（１）におけるＴΣＳ）を的確に算出することができ、倣い溶接の精度を高めることができる。
【００５８】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態に係る光学式センサ付きロボットのキャリブレーション方法について説明する。なお、第２の実施の形態に係るキャリブレーション方法およびそのキャリブレーション方法が適用される光学式センサ付きロボット２００において、上述した第１の実施の形態に係る光学式センサ付きロボット１００と同じ構成については同じ参照符号を付してある。それらの機能も同じである。そのため、それらについての詳細な説明は、ここでは繰り返さない。
【００５９】
第２の実施の形態に係るキャリブレーション方法が適用される光学式センサ付きロボット（以下、溶接ロボットまたはロボットと記載する場合がある）の概要について説明する。図１２（Ａ）にこの溶接ロボット２００の全体図を、図１２（Ｂ）に溶接トーチ先端部
の拡大図を、それぞれ示す。
図１２（Ａ）および図１２（Ｂ）に示すように、この溶接ロボット２００は、上述した溶接ロボット１００の構成に加えて、溶接トーチ１４０後方に取り付けられたサーボモータ２５０を備える。このサーボモータ２５０の回転軸に光学式センサ１３０が取り付けられている。ロボットコントローラ２２０がサーボモータ２５０を制御し、光学式センサ１３０を溶接トーチ１４０周りに回転させ、溶接トーチ１４０周りに形状を計測することができる。これにより、光学式センサ１３０を溶接進行方向に向けることができ、溶接するときのロボット姿勢の自由度が広がる利点を備える。
【００６０】
このような構成を備える溶接ロボット２００の座標系としては、第１の実施の形態において説明したロボット座標、ツール座標およびセンサ座標に加えて、サーボモータ２５０の回転軸に張り付いた回転軸座標が存在する。
なお、ロボットコントローラ２２０は、ハードウェア構成としてはロボットコントローラ１２０と同様であるが、以下に説明するようにソフトウェア構成が異なるので、座標変換部２２２および倣い制御部２２４とともに別の参照符号を付している。
【００６１】
上述したキャリブレーションターゲット１５０を用いたキャリブレーション方法について、図２に対応する図１３を参照して説明する。なお、図２と同じステップについては同じステップ番号を付してあり、その処理も同じである。そのため、ここでは、異なるステップのみについて説明する。
Ｓ２００にて、ロボットコントローラ２２０は、与えられた回転軸θに基づいてサーボモータ２５０を回転させて、光学式センサ１３０を回転させる。
【００６２】
Ｓ２１０にて、ロボットコントローラ２２０は、設定された全ての回転角度での処理が終了したか否かを判定する。
全ての回転角度での処理が終了したと判定されると（Ｓ２１０にてＹＥＳ）処理はＳ１５０へ移され、全ての回転角度での処理が終了したと判定されないと（Ｓ２１０にてＮＯ）処理はＳ２２０へ移される。
【００６３】
Ｓ２２０にて、ロボットコントローラ２２０は、次の回転角度を取得する。なお、設定されている回転角度θは、θ１として−１２０°、θ２として０°、θ３として＋１２０°である。その後、処理はＳ２００へ移される。
このような処理についてさらに詳しく説明する。
光学式センサ１３０が図１４に示す状態であるときの回転角度θを０°とすると、回転角度θ１（−１２０°）、回転角度θ２（０°）、回転角度θ３（＋１２０°）３つの回転角度で、図１３のＳ１１０〜Ｓ１３０の三角錐頂点の位置算出処理を行う。具体的には以下の手順で行う。
【００６４】
（手順Ａ）図１５（Ａ）に示すように、サーボモータ２５０の回転軸を回転させて、回転角度θ１（−１２０°）に設定する。Ａ面とＣ面との頂点から、Ｂ面に向かう方向に走査するように、三角錐頂点の位置算出処理を実行する。この処理を少なくとも３回実行する（図１５（Ａ）の丸数字１〜３）。
（手順Ｂ）図１５（Ｂ）に示すように、サーボモータ２５０の回転軸を回転させて、回転角度θ２（０°）に設定する。Ｂ面とＣ面との頂点から、Ａ面に向かう方向に走査するように、三角錐頂点の位置算出処理を実行する。この処理を少なくとも３回実行する（図１５（Ｂ）の丸数字４〜６）。
【００６５】
（手順Ｃ）図１５（Ｃ）に示すように、サーボモータ２５０の回転軸を回転させて、回転角度θ２（＋１２０°）に設定する。Ａ面とＢ面との頂点から、Ｃ面に向かう方向に走査するように、三角錐頂点の位置算出処理を実行する。この処理を少なくとも３回実行する（図１５（Ｃ）の丸数字７〜９）。
これらの三角錐頂点の位置算出処理により、少なくとも９回のデータセットを取得することができる（後述の式（１３）で表されるデータセット）。
【００６６】
このデータセットと既知であるＲＰとをあわせて、「回転軸がある場合のキャリブレーション方法」に示す手順で、センサとロボットとの位置関係（センサ座標からツール座標への座標変換行列ＴΣＳ）を導出することができる。
光学式センサ１３０により計測されたセンサ座標での座標値は、以下の式（１０）にてロボット座標の座標値へ座標変換される。
【００６７】
【数１０】
2014018932.tif 000012
【００６８】
ここで、既知であるのは、以下の２つである。
ＲΣＴ：ツール座標からロボット座標への座標変換行列
θ  ：サーボモータ回転角度
算出するのは、以下の２つである。
ＴΣＪ：回転軸座標からツール座標への座標変換行列
ＪΣＳ：センサ座標から回転軸座標への座標変換行列
ここで、  ＴΣＪおよび  ＪΣＳは、以下の式（１１）および式（１２）で表される。
【００６９】
【数１１】
2014018932.tif 000013
【００７０】
【数１２】
2014018932.tif 000014
【００７１】
上述したように、ＲＰの位置を光学式センサ１３０により計測して、そのときの光学式センサ１３０の計測点ＳＰｉ=（Ｓｙｉ，Ｓｚｉ）と、回転軸角度θ(i)と、ツール位置ＲΣＴ（ｉ）とが取得できている。これを異なる計測位置で、少なくとも９回以上（（ｉｍａｘ−１）回とする）行うことにより、さらに異なる角度θで行うことにより、以下の式（１３）に示すデータセットが取得できる。
【００７２】
【数１３】
2014018932.tif 000015
【００７３】
次に、キャリブレーションパラメータであるＴΣＪ、ＪΣＳ（←（ｘｊ  ｙｊ  ｚｊ  αｊ  βｊ  γｊ  ｘｓ  αｓ  βｓ  γｓ）の１０個のパラメータから構成される）を導出する方法を以下に詳しく説明する。
算出する１０個のパラメータｐ＝（ｘｊ  ｙｊ  ｚｊ  αｊ  βｊ  γｊ  ｘｓ  αｓ
βｓ  γｓ）−１の微小変化Δｅを考える。微小変化Δｅは、Δｅ=ＪΔｐで与えられ、式（１０）の右辺のＸＹＺ３要素をｆｘ，ｆｙ，ｆｘとし、光学式センサ１３０により計測したｋ個目の点ＳＰｋ=（Ｓｙｋ，Ｓｚｋ）は、回転角度θｋを使って、ロボット座標値ＲＰｋ=（Ｒｘｋ，Ｒｙｋ，Ｒｚｋ）に変換できるので、式（１０）は、以下の式（１４）および式（１５）で表される。
【００７４】
【数１４】
2014018932.tif 000016
【００７５】
【数１５】
2014018932.tif 000017
【００７６】
次に、以下の手順で、ｐ０からスタートして反復計算によりｐを算出する。まず、
STEP1：収束条件εと初期値ｐ＝ｐ０とを与える。初期値ｐ０は以下の式（１６）で表される。
【００７７】
【数１６】
2014018932.tif 000018
【００７８】
STEP2：１０個のパラメータｐ＝（ｘｊ  ｙｊ  ｚｊ  αｊ  βｊ  γｊ  ｘｓ  αｓ  βｓ  γｓ）−１の微小変化ΔｅをΔｅ=ＪΔｐにて計算し、このΔｅが収束条件ε以下の場合には、収束計算を終わる。
ここで、ｘＭおよびｘＤは、以下の式（１７）で与えられる。
【００７９】
【数１７】
2014018932.tif 000019
【００８０】
STEP3：STEP2において計算した微小変化Δｅを基に、Δｐ=−（ＪＴＪ）−１ＪＴΔｅ・ｐを計算する。
STEP4：Δｐ=ｐ＋Δｐとし、STEP2へ戻る。 
このように反復計算を行うことにより、１０個のパラメータｐ＝（ｘｊ  ｙｊ  ｚｊ  αｊ  βｊ  γｊ  ｘｓ  αｓ  βｓ  γｓ）−１が算出でき、その結果、センサ座標からツール座標への座標変換行列ＴΣＪおよびＪΣＳを求めることができる。
【００８１】
以上のようにして、第２の実施の形態に係るキャリブレーション方法によると、第１の実施の形態において光学式センサがサーボモータにより回転されるために回転軸座標を有する場合であっても、オペレータが目視しながら手動でシート光を位置決めする必要がなく、自動でキャリブレーションすることができる。その結果、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に回転可能に取り付けた、光学式センサ付きロボットシステムにおいて、精度高くキャリブレーションを行い、センサ座標からロボット座標への変換行列（式（１０）におけるＴΣＳ）を的確に算出することができ、倣い溶接の精度を高めることができる。
【００８２】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８３】
１００  光学式センサ付きロボット（溶接ロボット）
１１０  センサコントローラ
１２０、２２０  ロボットコントローラ
１２２、２２２  座標変換部
１２４、２２４  倣い制御部
１３０  光学式センサ
１４０  溶接トーチ
２５０  サーボモータ
【図１】
2014018932.tif 000020
【図２】
2014018932.tif 000021
【図３】
2014018932.tif 000022
【図４】
2014018932.tif 000023
【図５】
2014018932.tif 000024
【図６】
2014018932.tif 000025
【図７】
2014018932.tif 000026
【図１２】
2014018932.tif 000027
【図１３】
2014018932.tif 000028
【図１４】
2014018932.tif 000029
【図１５】
2014018932.tif 000030
【図８】
2014018932.tif 000031
【図９】
2014018932.tif 000032
【図１０】
2014018932.tif 000033
【図１１】
2014018932.tif 000034