(58)【調査した分野】(Int.Cl.,DB名)
シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにて、複数の稜線が1の頂点で交わる立体形状で構成されるキャリブレーションターゲットを対象にして、以下に示すステップを実施することで、前記ロボットのキャリブレーションを行うことを特徴とする光学式センサ付きロボットのキャリブレーション方法。
・第1のステップ; 前記キャリブレーションターゲット上を前記シート光が移動するようにロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、前記キャリブレーションターゲットの頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する。
・第2のステップ; 前記キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて前記第1のステップを少なくとも3回行う。
・第3のステップ; 前記第1のステップおよび前記第2のステップにて得られた、前記キャリブレーションターゲットの頂点位置が異なる値となった少なくとも3つ以上のデータセットを基に、センサとツールとの位置関係を算出する。
シート光を照射して形状計測する光学式センサがロボットのツール軸周りに回転可能となるように回転軸に取り付けられ、前記回転軸はツール付近に固定されて取り付けられた、光学式センサ付きロボットシステムにて、複数の稜線が1の頂点で交わる立体形状で構成されるキャリブレーションターゲットを対象にして、以下に示すステップを実施することで、前記ロボットのキャリブレーションを行うことを特徴とする光学式センサ付きロボットのキャリブレーション方法。
・第1のステップ; 回転軸角度を所定の角度にセットし、且つ前記キャリブレーションターゲット上を前記シート光が移動するようにロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、キャリブレーションターゲット頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する。
・第2のステップ; 前記キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて前記第1のステップを少なくとも3回行う。
・第3のステップ; 回転軸の回転角度を変えて、前記第1のステップおよび前記第2のステップを少なくとも3回行う。
・第4のステップ; 前記第1のステップ〜前記第3のステップにて得られた、前記キャリブレーションターゲットの頂点位置が異なる値となった少なくとも9つ以上のデータセットを基に、センサとツールとの位置関係を算出する。
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した特許文献1を含めてキャリブレーション方法においては、レーザシート光の3次元空間上の1点への位置決め精度が、キャリブレーション精度に大きく影響する。キャリブレーション後のアプリケーションによって要求精度は異なるが、たとえば溶接ロボットの溶接倣い用センサの場合または溶接ワーク位置ずれ検出用センサの場合には、キャリブレーション精度は0.1mm程度の精度が要求される。このため、レーザシート光の位置決め精度も0.1mm程度の精度が必要となる。
【0008】
ところで、レーザシート光を0.1mm精度で位置決めするには、以下の問題がある。
・レーザシート光はシート状の光(ライン状の光)とはいえ、0.2〜0.3mm程度の幅があるので、0.1mm程度の精度で、オペレータが目視で位置決めすることは困難である。
・不可視光レーザの場合は目視することができず、オペレータが目視で位置決めすることは不可能である。
【0009】
・レーザパワーが強い場合には安全上レーザ保護めがねを装着して位置決めすることになる。また、不可視光レーザの場合にはレーザ光を可視化するスコープなどを装着して位置決めすることになる。このようなレーザ保護めがねまたはスコープを装着すると、レーザ光が視認しづらく、オペレータが目視で位置決めすることは困難である。
以上のことから、オペレータが目視で位置決めすることは非常に難しく、自動化が望まれる。
【0010】
しかしながら、特許文献1に開示されたアーク溶接装置においてキャリブレーションに用いられる基準点Pは、母材にマーキングしているだけであり、基準点P付近に形状変化があるわけではないので形状を計測する光切断法を適用して、基準点Pを自動で位置決めすることができない。
本発明は、上述の問題点に鑑みてなされたものであり、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにおいて、精度高くキャリブレーションを行うことのできる方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するため、本発明に係る光学式センサ付きロボットのキャリブレーション方法は、以下の技術的手段を講じている。
即ち、本発明のある局面に係る光学式センサ付きロボットのキャリブレーション方法は、
シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにて、複数の稜線が1の頂点で交わる立体形状で構成されるキャリブレーションターゲットを対象にして、以下に示すステップを実施することで、前記ロボットのキャリブレーションを行うことを特徴とする。
・第1のステップ;
前記キャリブレーションターゲット上を前記シート光が移動するようにロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、前記キャリブレーションターゲットの頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する。
・第2のステップ; 前記キャリブレーションターゲットの頂点位置が異なる値となるよ
うに検出位置を変えて前記第1のステップを少なくとも3回行う。
・第3のステップ; 前記第1のステップおよび前記第2のステップにて
得られた、前記キャリブレーションターゲットの頂点位置が異なる値となった少なくとも3つ以上のデータセットを基に、センサとツールとの位置関係を算出する。
【0012】
また、本発明の別の局面に係る光学式センサ付きロボットのキャリブレーション方法は、シート光を照射して形状計測する光学式センサがロボットのツール軸周りに回転可能となるように回転軸に取り付けられ、前記回転軸はツール付近に固定されて取り付けられた、光学式センサ付きロボットシステムにて、複数の稜線が1の頂点で交わる立体形状で構成されるキャリブレーションターゲットを対象にして、以下に示すステップを実施することで、前記ロボットのキャリブレーションを行うことを特徴とする。
・第1のステップ; 回転軸角度を所定の角度にセットし、
且つ前記キャリブレーションターゲット上を前記シート光が移動するようにロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、キャリブレーションターゲット頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する。
・第2のステップ; 前記キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて前記第1のステップを少なくとも3回行う。
・第3のステップ; 回転軸の回転角度を変えて、前記第1のステップおよび前記第2のステップを少なくとも3回行う。
・第4のステップ; 前記第1のステップ〜前記第3のステップにて
得られた、前記キャリブレーションターゲットの頂点位置が異なる値となった少なくとも9つ以上のデータセットを基に、センサとツールとの位置関係を算出する。
【0013】
好ましくは、前記第1のステップでは、前記立体形状の頂点から前記立体形状の辺に沿って少しずらした位置を走査開始位置とし、前記頂点を通り越した位置を走査終了位置として設定した上で前記キャリブレーションターゲット上を前記シート光が移動するようにロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、前記キャリブレーションターゲットの頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、複数の直線を算出し、前記算出した複数の直線に基づいて、シート光が前記頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、前記頂点位置を算出した時点におけるロボット座標におけるツール位置を算出するとよい。
好ましくは、前記キャリブレーションターゲットが、三角錐で構成することができる。
さらに好ましくは、前記キャリブレーションターゲットが、上に凸の三角錐で構成することができる。
【発明の効果】
【0014】
本発明に係る光学式センサ付きロボットのキャリブレーション方法を用いることにより、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにおいて、精度高くキャリブレーションを行うことができる。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態に係る光学式センサ付きロボットのキャリブレーション方法を、図面に基づき詳しく説明する。なお、以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施の形態>
まず、第1の実施の形態に係るキャリブレーション方法が適用される光学式センサ付きロボット(以下、溶接ロボットまたはロボットと記載する場合がある)の概要について説明する。
図1(A)にこの溶接ロボット100の全体図を、
図1(B)に溶接トーチ先端部の拡大図を、それぞれ示す。
【0017】
図1(A)および
図1(B)に示すように、この溶接ロボット100は、ロボットアームによって移動される溶接トーチ140、溶接トーチ140の先端部において母材に向け送給される溶接ワイヤ(図示しない)、溶接トーチ140に取り付けて設けられた光学式センサ(レーザセンサ)130、光学式センサ130の検出結果を加工してセンサ座標をロボットコントローラ120へ出力するセンサコントローラ110、および、この溶接ロ
ボット100を制御するロボットコントローラ120などを備えて構成される。ロボットコントローラ120は、後述するセンサ座標からロボット座標へ座標変換する座標変換部122および倣い制御部124とを備えている。
【0018】
図1(B)に示すように、溶接ロボット100のツール(溶接トーチ140)付近に光学式センサ130が搭載されている。本実施の形態においては、本発明に係るキャリブレーション方法が適用される光学式センサ付きロボットは、溶接ロボットとして説明するが、溶接ロボットに限定する必要はなく、塗装ロボットまたはハンドリングロボットなどであっても構わない。
【0019】
光学式センサ130は、レーザ光などのシート光を、対象物である溶接部材に照射し、その反射光をCCD受光素子などで撮像することにより、溶接部材の2次元断面形状を測定する。この測定原理は、一般には、光切断法と呼ばれている。なお、別の方法として、レーザスポット光をセンサ内部のスキャニング機構によりスキャニングして、2次元断面形状を測定するセンサでも構わない。
【0020】
光学式センサ130は、センサコントローラ110からの指令により、対象物の形状を測定し、形状解析により溶接線位置を検出し、検出された溶接線位置(センサ座標)を、ロボットコントローラ120へ出力する。
次に、座標系について説明する。光学式センサ130は、光学式センサ130に固定された座標系を持っており、これをセンサ座標と呼ぶ。一方、溶接ロボット100は、自分自身の座標系を2つ持っており、一つ目の座標系は、地面に固定された座標系であって、これをロボット座標と呼ぶ。溶接ロボット100は、ツールである溶接トーチ140の位置と姿勢とを変化させながら溶接作業を行う。二つ目の座標系は、このツールに張り付いた座標系であって、これをツール座標と呼ぶ。溶接ロボット100は、ツールの位置姿勢を制御しているので、ロボット座標からツール座標への変換パラメータ(変換マトリクス)は既知である。
【0021】
実際の倣い溶接作業するときには、
(手順1)光学式センサ130で溶接部材の溶接線を検出する。このとき、センサ座標の溶接線位置が検出される。これを
SPと記載する。
(手順2)上記(手順1)で検出した位置を、ツール座標に変換して、さらにロボット座標へ変換して、ロボット座標の溶接線位置が算出される。これを
RPと記載する。このときの変換は下記の式(1)のように表現できる。
(手順3)上記(手順2)で算出されたロボット座標の溶接線位置
RPを使って、溶接ロボット100は溶接線に倣って動作するように制御される。
【0022】
これを実現するためにはロボット設置時または溶接前に、センサ座標とツール座標との位置関係(センサ座標からツール座標への座標変換行列
TΣ
S)を算出する必要がある。これを、センサとロボットのキャリブレーションと呼ぶ。
【0024】
次に、上記したようなキャリブレーションの方法について説明する。
第1の実施の形態に係るキャリブレーション方法においては、複数の稜線が1の頂点で交わる立体形状で構成されるキャリブレーションターゲットを用いる。このキャリブレー
ションターゲットの詳細については後述する。なお、このキャリブレーション方法の説明においては、キャリブレーションターゲットは三角錐とする。
【0025】
図2に示すように、このキャリブレーション方法は、ステップ(以下、ステップをSと記載する)100にて、ロボットコントローラ120は、キャリブレーションターゲットである三角錐の頂点位置をツール先端で指し示す。これにより、ロボット座標での三角錐頂点座標を取得することができる。このように、三角錐の頂点位置はロボット座標で既知となる。
【0026】
S110にて、ロボットコントローラ120は、変数iに1を代入して、S120にて三角錐の頂点位置を算出する。このS120において、三角錐の頂点に光学式センサ130からシート光を照射したときの三角錐頂点座標(センサ座標)
sP
i=(
sy
i,
sz
i)を算出して、三角錐の頂点に光学式センサ130からシート光を照射したときのツール先端位置
rT
i=(
rx
i,
ry
i,
rz
i)を算出して、ある位置における、三角錐頂点座標(センサ座標)
sP
i=(
sy
i,
sz
i)と、ツール座標からロボット座標への座標変換行列
RΣ
T(i)とを取得する。このS120における処理の詳細については後述する。
【0027】
S130にて、ロボットコントローラ120は、変数iが3であるか否かを判定する。変数iが3であると判定されると(S120にてYES)処理はS150へ移され、変数iが3であると判定されないと(S120にてNO)処理はS140へ移される。
S140にて、ロボットコントローラ120は、変数iに1を加算して、S120の処理を行う。すなわち、三角錐の頂点位置を算出処理を3回繰り返す。このように三角錐の頂点位置を算出処理を(少なくとも)3回行なうのは、シート光の平面を特定するためには最低限3点が必要だからである。3回以上行うと、最小二乗効果で計測ばらつきが低減され、計測精度が向上する。
【0028】
三角錐の頂点位置を算出処理を3回繰り返すと(S120にてYES)、S150にて、ロボットコントローラ120は、キャリブレーション演算を行う。このS150における処理の詳細については後述する。
上述したキャリブレーション方法を行う場合に用いられるキャリブレーションターゲットについて説明する。
【0029】
キャリブレーションターゲット150の一例である三角錐の斜視図を
図3に、その上面図および側面図を
図4にそれぞれ示す。
三角錐の頂点角度θは、90度以上開いている。三角錐の頂点角度θについては90°(いわゆる立方体や直方体の角)でも構わないが、90°以上開いていた方が、頂点上部付近からシート光を照射したときに、正反射に近くなり、形状計測しやすい。このため、三角錐の頂点角度θは、90°〜150°程度開いていることが好ましい。
【0030】
三角錐の表面はレーザ光を散乱しやすいような色を塗布しておくことが好ましい。三角錐の頂点位置を、ツール先端で指し示せば、ロボット座標での三角錐頂点座標を取得することができる
キャリブレーションターゲットとしては、このような上に凸の三角錐以外にも、
図5に示すような下に凸の三角錐であっても構わない。さらに、
図6に示すような上に凸の四角錐であっても構わないし、
図7に示すような下に凸の四角錐であっても構わない。ただし、下に凸の場合は、レーザシート光を頂点付近に照射したとき、表面状態によっては多重反射が発生し、安定してレーザを検出できない場合も想定されるので、上に凸の形状の方が好ましい。
【0031】
以下に、
図2のS120における三角錐の頂点位置の算出処理について、
図8を参照して詳しく説明する。
図8(A)に示すように、まず、事前準備として、三角錐頂点から三角錐の辺に沿って少しずらした位置を、「走査開始位置」として設定する(このときの変数Jを1とする)。この位置は、三角錐を形状計測したときの屈曲点が1個になるような位置である。
【0032】
そして、
図8(D)に示すように、三角錐頂点を通り越し、屈曲点が2個になる位置を、「走査終了位置」として設定する(このときの変数jをjmax(
図8(D)ではjm
ax=4)とする)。
次に下記のS121〜S125を実行する。
S121にて、ツール先端位置を「走査開始位置」へ移動させる。このとき、
図8(A)に示すように、変数jは1である。
【0033】
S122にて、光学式センサ130により三角錐の形状を計測し、屈曲点
sK
ij=(
sy
ij,
sz
ij)を検出する。屈曲点は1個の場合(
図8(B)参照)と2個の場合(
図8(C)参照)とが存在する。このときのツール先端位置
rT
ij=(
rx
ij,
ry
ij,
rz
ij)を登録する。
S123にて、「走査終了位置」に向かって、ツール先端位置をツール姿勢を変えず(姿勢パラメータは既知)に微小量(たとえば約0.2mm程度)だけ直線移動させる。
【0034】
S124にて、ツール先端位置が「走査終了位置」であるか否かを判定する。ツール先端位置が「走査終了位置」であると判定されないと、変数jに1を加算してS122へ戻る。ツール先端位置が「走査終了位置」であると判定されると、S125へ移る。
S125にて、S122の処理を3回繰り返すことにより、以下の式(2)に示すように、三角錐形状の屈曲点
sK
ij=(
sy
ij,
sz
ij)およびそのときのツール先端位置
rT
ij=(
rx
ij,
ry
ij,
rz
ij)が取得されているので、下記に示す「三角錐頂点にシート光照射したときの三角錐頂点座標(センサ座標)
sP
i=(
sy
i,
sz
i)の算出」と「三角錐頂点にシート光照射したときのツール先端位置
rT
i=(
rx
i,
ry
i,
rz
i)の算出」を行う。
【0036】
図9を参照して、三角錐頂点にシート光を照射したときの三角錐頂点座標(センサ座標)
sP
i=(
sy
i,
sz
i)の算出手順を詳しく説明する。
三角錐形状の屈曲点のデータセット
sK
i1=(
sy
i1,
sz
i1)、…、
sK
i(jmax) =(
sy
i(jmax),
sz
i(jmax))は、
図9(A)に示すように、3直線にグルーピングされるので、データ点を使って直線フィッティングすることで、直線1、直線2、直線3の3本の直線を算出する(
図9(B))。
【0037】
次にこれらの3直線の交点を算出する。ただし、キャリブレーションターゲットである三角錐の表面凹凸、レーザシート光のリップルによる明暗変化などの計測ばらつきなどの影響で現実には、これらの3直線が1点で交わらない。そこで、直線1と直線2との交点12を算出し、直線2と直線3との交点23を算出し、直線3と直線1との交点31を算出する。最後に、交点12、交点23、交点31の重心位置を算出し、これを
SP
i=(
Sy
i,
Sz
i)として算出する(
図9(C))。
【0038】
図10を参照して、三角錐頂点にシート光を照射したときのツール先端位置
rT
i=(
rx
i,
ry
i,
rz
i)の算出手順を詳しく説明する。
S125にて取得されたデータセットを、横軸に三角錐形状のセンサ座標Ys、縦軸にツール先端位置のロボット座標Xrをとると、
図10(A)に示すようになる。すると、上述した「三角錐頂点にシート光を照射したときの三角錐頂点座標(センサ座標)
sP
i=(
sy
i,
sz
i)の算出手順」と同じように、3直線にグルーピングできるので、3直線の交点P0を計算する。このP0のXr座標値が、「三角錐頂点にシート光を照射し
たときのツール先端位置
rT
i=(
rx
i,
ry
i,
rz
i)」の
rx
iとなる(
図10(C))。
【0039】
ツール先端位置の移動軌跡は直線であるので、
rx
iが算出できれば、他軸の
ry
i、
rz
iも算出できる。これにより、「三角錐頂点にシート光を照射したときのツール先端位置
rT
i=(
rx
i,
ry
i,
rz
i)」が算出できる。ツール姿勢(αβγ)が固定であり、かつ、既知であるので、ある位置における、ツール座標からロボット座標への座標変換行列である
RΣ
T(i)が算出できる。
【0040】
以上の演算により、光学式センサ130により、ある位置における
sP
i=(
sy
i,
sz
i)と
RΣ
T(i)とが取得できた。
図11に示すように、この演算処理を異なる計測位置で少なくとも3回行う。
図2を参照して説明したように、このように三角錐の頂点位置を算出処理を(少なくとも)3回行なうのは、シート光の平面を特定するためには最低限3点が必要だからである。3回以上行うと、最小二乗効果で計測ばらつきが低減され、計測精度が向上する。
【0041】
このように上述した演算処理を3回行なうと、以下の式(3)に示すデータセットが取得できる。
【0043】
このデータセットと既知である
RPとをあわせて、「回転軸がない場合のキャリブレーション方法」に示す手順で、センサとロボットとの位置関係(センサ座標からツール座標への座標変換行列
TΣ
S)を導出することができる。
光学式センサ130により計測されたセンサ座標での座標値は、式(1)にてロボット座標の座標値へ座標変換される。
【0044】
キャリブレーション時において取得された計測データは、上述したように、キャリブレーションターゲットである三角錐の計測点を、光学式センサ130により計測したときのセンサ座標値
SP
i=(
Sy
i,
Sz
i)と、キャリブレーションターゲットである三角錐の計測点を、ロボット先端でタッチしたときのロボット先端座標値
RPとである。
ここで、センサ座標からツール座標への座標変換行列
TΣ
Sは、以下の式(4)で表現される。式(4)に示すように、この座標変換行列
TΣ
Sは、位置XYZ、姿勢αβγの6個パラメータで構成される4×4行列である。
【0046】
ここで、
RPの位置を光学式センサ130により計測し、そのときのセンサの計測点
SP
i=(
Sy
i,
Sz
i)とツール位置
RΣ
T(i)とが取得できている。これを異なる計測位置で、少なくとも3回((imax−1)回とする)実行すると、以下の式(5)で表される、i=0、…、imaxまでのデータセットが取得できる。
【0048】
次に、キャリブレーションパラメータである
TΣ
S(←(x
S y
S z
s α
S β
S γ
S)の6個のパラメータから構成される)を導出する方法を以下に詳しく説明する。
算出する6個のパラメータp=(x
S y
S z
s α
S β
S γ
S)
−1の微小変化Δeを考える。微小変化Δeは、Δe=JΔpで与えられ、式(1)の右辺のXYZ3要素をf
x,f
y,f
zとし、光学式センサ130により計測したk個目の点
SP
k=(
Sy
k,
Sz
k)は、ロボット座標値
RP
k=(
Rx
k,
Ry
k,
Rz
k)に変換できるので、式(1)は、以下の式(6)および式(7)で表される。
【0051】
次に、以下の手順で、p
0からスタートして反復計算によりpを算出する。まず、
STEP1:収束条件εと初期値p=p
0とを与える。初期値p
0は以下の式(8)で表される。
【0053】
STEP2:6個のパラメータp=(x
S y
S z
s α
S β
S γ
S)
−1の微小変化ΔeをΔe=JΔpにて計算し、このΔeが収束条件ε以下の場合には、収束計算を終わる。
ここで、x
Mおよびx
Dは、以下の式(9)で与えられる。
【0055】
STEP3:STEP2において計算した微小変化Δeを基に、Δp=-(J
TJ)
−1J
TΔe・pを計算する。
STEP4:Δp=p+Δpとし、STEP2へ戻る。
このように反復計算を行うことにより、6個のパラメータp=(x
S y
S z
s α
S β
S γ
S)
−1が算出でき、その結果、センサ座標からツール座標への座標変換行列
TΣ
Sを求めることができる。
【0056】
以上のようにして、第1の実施の形態に係るキャリブレーション方法によると、複数の稜線が1の頂点で交わる立体形状である三角錐形状を備えたキャリブレーションターゲットを対象にして、ロボットのツール姿勢を変化させずにツール先端位置を直線で動かしながら、キャリブレーションターゲットの頂点付近の形状を計測し、順に取得したキャリブレーションターゲットの立体形状に起因する屈曲点変化に基づいて、シート光が頂点位置に照射されたときの、センサ座標におけるキャリブレーションターゲットの頂点位置を算出するとともに、そのときのロボット座標におけるツール位置を算出する第1のステップ、キャリブレーションターゲットの頂点位置が異なる値となるように検出位置を変えて第1のステップを少なくとも3回行う第2のステップ、第1のステップおよび第2のステップにて集計したデータを演算して、センサとツールとの位置関係を算出する第3のステップを実行した。このようにキャリブレーションすることにより、オペレータが目視しながら手動でシート光を位置決めする必要がなく、自動でキャリブレーションすることができる。
【0057】
特に、三角錐は、最小稜線で構成された幾何学的形状で3面で構成されるので、3面の交点として1点が形成され、キャリブレーションターゲットとしても精度が良く、検出も最小限の3回の検出で済むので効率が良い。その結果、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に取り付けた、光学式センサ付きロボットシステムにおいて、精度高くキャリブレーションを行い、センサ座標からロボット座標への変換行列(式(1)における
TΣ
S)を的確に算出することができ、倣い溶接の精度を高めることができる。
【0058】
<第2の実施の形態>
以下、本発明の第2の実施の形態に係る光学式センサ付きロボットのキャリブレーション方法について説明する。なお、第2の実施の形態に係るキャリブレーション方法およびそのキャリブレーション方法が適用される光学式センサ付きロボット200において、上述した第1の実施の形態に係る光学式センサ付きロボット100と同じ構成については同じ参照符号を付してある。それらの機能も同じである。そのため、それらについての詳細な説明は、ここでは繰り返さない。
【0059】
第2の実施の形態に係るキャリブレーション方法が適用される光学式センサ付きロボット(以下、溶接ロボットまたはロボットと記載する場合がある)の概要について説明する。
図12(A)にこの溶接ロボット200の全体図を、
図12(B)に溶接トーチ先端部
の拡大図を、それぞれ示す。
図12(A)および
図12(B)に示すように、この溶接ロボット200は、上述した溶接ロボット100の構成に加えて、溶接トーチ140後方に取り付けられたサーボモータ250を備える。このサーボモータ250の回転軸に光学式センサ130が取り付けられている。ロボットコントローラ220がサーボモータ250を制御し、光学式センサ130を溶接トーチ140周りに回転させ、溶接トーチ140周りに形状を計測することができる。これにより、光学式センサ130を溶接進行方向に向けることができ、溶接するときのロボット姿勢の自由度が広がる利点を備える。
【0060】
このような構成を備える溶接ロボット200の座標系としては、第1の実施の形態において説明したロボット座標、ツール座標およびセンサ座標に加えて、サーボモータ250の回転軸に張り付いた回転軸座標が存在する。
なお、ロボットコントローラ220は、ハードウェア構成としてはロボットコントローラ120と同様であるが、以下に説明するようにソフトウェア構成が異なるので、座標変換部222および倣い制御部224とともに別の参照符号を付している。
【0061】
上述したキャリブレーションターゲット150を用いたキャリブレーション方法について、
図2に対応する
図13を参照して説明する。なお、
図2と同じステップについては同じステップ番号を付してあり、その処理も同じである。そのため、ここでは、異なるステップのみについて説明する。
S200にて、ロボットコントローラ220は、与えられた回転軸θに基づいてサーボモータ250を回転させて、光学式センサ130を回転させる。
【0062】
S210にて、ロボットコントローラ220は、設定された全ての回転角度での処理が終了したか否かを判定する。
全ての回転角度での処理が終了したと判定されると(S210にてYES)処理はS150へ移され、全ての回転角度での処理が終了したと判定されないと(S210にてNO)処理はS220へ移される。
【0063】
S220にて、ロボットコントローラ220は、次の回転角度を取得する。なお、設定されている回転角度θは、θ1として−120°、θ2として0°、θ3として+120°である。その後、処理はS200へ移される。
このような処理についてさらに詳しく説明する。
光学式センサ130が
図14に示す状態であるときの回転角度θを0°とすると、回転角度θ1(−120°)、回転角度θ2(0°)、回転角度θ3(+120°)3つの回転角度で、
図13のS110〜S130の三角錐頂点の位置算出処理を行う。具体的には以下の手順で行う。
【0064】
(手順A)
図15(A)に示すように、サーボモータ250の回転軸を回転させて、回転角度θ1(−120°)に設定する。A面とC面との頂点から、B面に向かう方向に走査するように、三角錐頂点の位置算出処理を実行する。この処理を少なくとも3回実行する(
図15(A)の丸数字1〜3)。
(手順B)
図15(B)に示すように、サーボモータ250の回転軸を回転させて、回転角度θ2(0°)に設定する。B面とC面との頂点から、A面に向かう方向に走査するように、三角錐頂点の位置算出処理を実行する。この処理を少なくとも3回実行する(
図15(B)の丸数字4〜6)。
【0065】
(手順C)
図15(C)に示すように、サーボモータ250の回転軸を回転させて、回転角度θ2(+120°)に設定する。A面とB面との頂点から、C面に向かう方向に走査するように、三角錐頂点の位置算出処理を実行する。この処理を少なくとも3回実行する(
図15(C)の丸数字7〜9)。
これらの三角錐頂点の位置算出処理により、少なくとも9回のデータセットを取得することができる(後述の式(13)で表されるデータセット)。
【0066】
このデータセットと既知である
RPとをあわせて、「回転軸がある場合のキャリブレーション方法」に示す手順で、センサとロボットとの位置関係(センサ座標からツール座標への座標変換行列
TΣ
S)を導出することができる。
光学式センサ130により計測されたセンサ座標での座標値は、以下の式(10)にてロボット座標の座標値へ座標変換される。
【0068】
ここで、既知であるのは、以下の2つである。
RΣ
T:ツール座標からロボット座標への座標変換行列
θ :サーボモータ回転角度
算出するのは、以下の2つである。
TΣ
J:回転軸座標からツール座標への座標変換行列
JΣ
S:センサ座標から回転軸座標への座標変換行列
ここで、
TΣ
Jおよび
JΣ
Sは、以下の式(11)および式(12)で表される。
【0071】
上述したように、
RPの位置を光学式センサ130により計測して、そのときの光学式センサ130の計測点
SP
i=(
Sy
i,
Sz
i)と、回転軸角度θ(i)と、ツール位置
RΣ
T(i)とが取得できている。これを異なる計測位置で、少なくとも9回以上((imax−1)回とする)行うことにより、さらに異なる角度θで行うことにより、以下の式(13)に示すデータセットが取得できる。
【0073】
次に、キャリブレーションパラメータである
TΣ
J、
JΣ
S(←(x
j y
j z
j α
j β
j γ
j x
s α
s β
s γ
s)の10個のパラメータから構成される)を導出する方法を以下に詳しく説明する。
算出する10個のパラメータp=(x
j y
j z
j α
j β
j γ
j x
s α
s
β
s γ
s)
−1の微小変化Δeを考える。微小変化Δeは、Δe=JΔpで与えられ、式(10)の右辺のXYZ3要素をf
x,f
y,f
xとし、光学式センサ130により計測したk個目の点
SP
k=(
Sy
k,
Sz
k)は、回転角度θ
kを使って、ロボット座標値
RP
k=(
Rx
k,
Ry
k,
Rz
k)に変換できるので、式(10)は、以下の式(14)および式(15)で表される。
【0076】
次に、以下の手順で、p
0からスタートして反復計算によりpを算出する。まず、
STEP1:収束条件εと初期値p=p
0とを与える。初期値p
0は以下の式(16)で表される。
【0078】
STEP2:10個のパラメータp=(x
j y
j z
j α
j β
j γ
j x
s α
s β
s γ
s)
−1の微小変化ΔeをΔe=JΔpにて計算し、このΔeが収束条件ε以下の場合には、収束計算を終わる。
ここで、x
Mおよびx
Dは、以下の式(17)で与えられる。
【0080】
STEP3:STEP2において計算した微小変化Δeを基に、Δp=−(J
TJ)
−1J
TΔe・pを計算する。
STEP4:Δp=p+Δpとし、STEP2へ戻る。
このように反復計算を行うことにより、10個のパラメータp=(x
j y
j z
j α
j β
j γ
j x
s α
s β
s γ
s)
−1が算出でき、その結果、センサ座標からツール座標への座標変換行列
TΣ
Jおよび
JΣ
Sを求めることができる。
【0081】
以上のようにして、第2の実施の形態に係るキャリブレーション方法によると、第1の実施の形態において光学式センサがサーボモータにより回転されるために回転軸座標を有する場合であっても、オペレータが目視しながら手動でシート光を位置決めする必要がなく、自動でキャリブレーションすることができる。その結果、シート光を照射して形状計測する光学式センサをロボットのツール先端付近に回転可能に取り付けた、光学式センサ付きロボットシステムにおいて、精度高くキャリブレーションを行い、センサ座標からロボット座標への変換行列(式(10)における
TΣ
S)を的確に算出することができ、倣い溶接の精度を高めることができる。
【0082】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。