ロボットのキャリブレーション方法および装置
【課題】作業者の熟練度に依存することなく、高い精度で治具とロボットのTCPのキャリブレーションを行うことができるロボットのキャリブレーション方法および装置を提供する。
【解決手段】ツール12と、該ツールとワークとの接触を検出するセンサ14と、6自由度に数値制御可能なロボット18と、センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置20と、ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具22を備える。制御装置20により、3平面22a,22b,22cにツール12を接触させ各接触点の3次元座標を記憶するタッチセンシング工程と、3平面が交差する点を原点とする座標系を補正する座標系設定工程と、ロボット手先フランジ面16に対するツール12の基準位置を算出するツールパラメータ設定工程と、から構成されるシーケンスを実施する。
【解決手段】ツール12と、該ツールとワークとの接触を検出するセンサ14と、6自由度に数値制御可能なロボット18と、センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置20と、ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具22を備える。制御装置20により、3平面22a,22b,22cにツール12を接触させ各接触点の3次元座標を記憶するタッチセンシング工程と、3平面が交差する点を原点とする座標系を補正する座標系設定工程と、ロボット手先フランジ面16に対するツール12の基準位置を算出するツールパラメータ設定工程と、から構成されるシーケンスを実施する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを用いた自動生産システムにおけるロボットのキャリブレーション方法および装置に関する。
【背景技術】
【0002】
図1は、従来の一般的な方法を示す説明図である。この図は、ツール位置をキャリブレーション(較正)する方法を示している。
この図において、1はツール、2はロボット手先フランジ面、3は位置決め治具である。また、点Fはロボット手先フランジ面2上の代表点、点Pはツールセンターポイント(Tool Center Point:TCP)でありツール座標系の原点である。
【0003】
ロボット手先フランジ面2を有するロボット(図示せず)を数値制御して、ツール1のTCP(点P)を高精度に位置決めするためには、手先フランジ面3上の代表点Fに対するTCP(点P)の位置と姿勢を表わすデータを与える必要がある。以下このデータを「ツールパラメータ」と呼ぶ。
【0004】
ツールパラメータは、ロボットの姿勢が変化しても変わらない。そのため、従来の一般的な方法では、図1に示すように、TCPとして設定を希望するツールの特定点(点P)を、空間上の同一点に一致するように3以上の姿勢でツール1を位置決めし、これに基づきTCPのツール座標系における相対位置(ツールパラメータ)を求めていた。
【0005】
なお、ロボットのツール位置較正手段に関連して、特許文献1,2が既に開示されている。
特許文献1、2は治具などを用いて較正するものである。またハンドの設計値などをベースに数値入力により設定することも知られている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開昭61−133409号公報、「ロボット定数の自動補正方式」
【特許文献2】特開2006−297559号公報、「キャリブレーションシステムおよびロボットのキャリブレーション方法」
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した従来技術には以下のような問題点があった。
一般的に空間上の同一点への一致を目視で確認するため、本質的に精度は目視に依存する。そのため、ツール上の特定点(TCP)の判別が難しいツールの場合には、ツールの3姿勢におけるTCPを空間上の同一点に一致させることが困難になる。
そのため、この方法による位置決め精度は、一般に低い(例えば、±0.5mm程度)問題点があり、高い精度(例えば、±0.2mm未満)を必要とするバリ取りロボットのような用途には適用できなかった。
【0008】
また、空間上の同一点に合わせる操作は作業者の熟練度によって設定精度に差が出やすく、また目視で合わせるため、ツールに非常に近い場所で作業することになり、作業者がツールに接触する等のおそれが高かった。
【0009】
さらに、特許文献1、2のように、特別な専用治具を用いて較正する場合も、目視で合わせるため、位置決め精度が低く、かつ作業者がツールに接触する等のおそれが高かった。
【0010】
また、図面情報(設計値)などをベースに数値入力により設定する場合、ツールを構成する部品点数が多い場合には各部品の累積誤差などにより必要とする精度(例えば、±0.2mm未満)を確保できない。
さらにこの場合に、精度を高めるために、各部品の加工精度を高めるとコスト高になる。また現場合わせなどで製作されたツールでは図面寸法と実態寸法が異なることも多い。
また、ロボットの姿勢誤差がフランジ面において0.1度程度である場合、手先ツールの長さが200mmであれば、TCPは0.3mm程度ずれることになるため、フランジ面以降のツールを高精度にしたとしても、ロボット自身の姿勢誤差によって大きな誤差が生じる可能性がある。
【0011】
本発明は上述した問題点を解決するために創案されたものである。すなわち、本発明の目的は、ツールに接触するおそれがない離れた場所から実施することができ、作業者の熟練度に依存することなく、安価かつ容易に、高い精度で、位置決め用の治具とロボットのTCPの両方をキャリブレーションすることができるロボットのキャリブレーション方法および装置を提供することにある。
【課題を解決するための手段】
【0012】
本発明によれば、ワークを加工するためのツールと、該ツールとワークとの接触を検出するセンサと、前記ツールとセンサが取付けられたロボット手先フランジ面を有しこれを3次元空間内で6自由度に数値制御可能なロボットと、前記センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置と、前記ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具もしくは作業台もしくはワークと、を備え、前記制御装置により、
前記ロボットを数値制御して、前記3平面にツールを接触させ各接触点の3次元座標を記憶するタッチセンシング工程(A)と、
前記3次元座標から、前記3平面が交差する点を原点とする座標系を補正する座標系設定工程(B)と、
前記3次元座標から、前記ロボット手先フランジ面に対するツールの基準位置を算出するツールパラメータ設定工程(C)と、から構成されるシーケンスを実施することを特徴とするロボットのキャリブレーション方法が提供される。
【0013】
本発明の実施形態によれば、前記タッチセンシング工程において、ツールの姿勢を固定し、前記3平面のうち第1平面上の3点と、第2平面上の2点と、第3平面上の1点とにツールを接触させ、
前記座標系設定工程において、前記3点、2点、及び1点の3次元座標から、前記3平面のうち1平面と座標系の2軸を含む平面とが平行で、2平面が交差する1つの稜線と座標系の1軸とが平行な座標系を設定し、
次にツールの姿勢を変えて、第1平面の1点と、第2平面の1点と、第3平面の1点とにツールを接触させ、ツールパラメータの設定値誤差を算出してツールパラメータを補正する。
【0014】
また、本発明によれば、ワークを加工するためのツールと、該ツールとワークとの接触を検出するセンサと、前記ツールとセンサが取付けられたロボット手先フランジ面を有しこれを3次元空間内で6自由度に数値制御可能なロボットと、前記センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置と、前記ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具もしくは作業台もしくはワークと、を備え、前記制御装置により、
前記ロボットを数値制御して、前記3平面にツールを接触させ各接触点の3次元座標を記憶するタッチセンシング工程(A)と、
前記3次元座標から、前記3平面が交差する点を原点とする座標系を補正する座標系設定工程(B)と、
前記3次元座標から、前記ロボット手先フランジ面に対するツールの基準位置を算出するツールパラメータ設定工程(C)と、から構成されるシーケンスを実施することを特徴とするロボットのキャリブレーション装置が提供される。
【発明の効果】
【0015】
上記本発明の方法及び装置によれば、制御装置により、タッチセンシング工程(A)、座標系設定工程(B)及びツールパラメータ設定工程(C)から構成されるシーケンスを実施するので、ツールに接触するおそれがない離れた場所から作業者が位置決め用の治具とロボットのTCPの両方をキャリブレーションすることができる。
また、互いに直交する3平面を有する治具を用い、センサを用いて前記3平面にツールを接触させるので、作業者の熟練度に依存することなく、安価かつ容易に、高い精度で、位置決め用の治具とロボットのTCPの両方をキャリブレーションすることができる。
【図面の簡単な説明】
【0016】
【図1】従来の一般的な方法を示す説明図である。
【図2】本発明によるキャリブレーション装置の全体構成図である。
【図3】本発明によるキャリブレーション方法の全体フロー図である。
【図4】治具位置の教示の説明図である。
【図5】治具上面のタッチセンシング位置を示す図である。
【図6】治具上面のタッチセンシングのイメージ図である。
【図7】治具上面の傾き算出の説明図である。
【図8】Z0の算出の説明図である。
【図9】座標系Σ1の説明図である。
【図10】治具側面のタッチセンシング位置を示す図である。
【図11】治具側面のタッチセンシングのイメージ図である。
【図12】治具22の座標系Σ1におけるXY平面上での姿勢を示す図である。
【図13】座標系Σ2の算出の説明図である。
【図14】座標系Σ3の算出の説明図である。
【図15】ツールの設定と実際との誤差の説明図である。
【図16】ツールをTCP回りで回転させる説明図である。
【図17】ツールを回転させて治具側面への押付けを示す図である。
【図18】座標系Σ3とΣ3’との位置関係を示す図である。
【図19】Z方向のずれの説明図である。
【図20】ツールを寝かせて治具上面をタッチセンシングする説明図である。
【発明を実施するための形態】
【0017】
以下、本発明の好ましい実施例を図面を参照して説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【0018】
図2は、本発明によるキャリブレーション装置の全体構成図である。
この図に示すように、本発明のキャリブレーション装置10は、ツール12、センサ14、ロボット手先フランジ面16、ロボット18、制御装置20、及び位置決め用の治具22を備える。
ただし、ワークやワークを保持する作業台等に直交する3平面形状があり、この面をタッチセンシング可能である場合は冶具は不要である。
【0019】
ツール12は、ワーク(図示せず)を加工するためのエンドエフェクタである。この例において、ツール12は円筒形であり、その対称軸上にツールセンターポイントP(TCP)が設定されている。点Pはツール座標系の原点である。
なお、ツール12の形状は円筒形に限定されず、その寸法が既知であるかぎり、その他の形状(例えば、球形)であってもよい。
また、ツールセンターポイントP(TCP)は、ツール12の対称軸上であるのが好ましいが、ワークに対するツールの正確な相対位置が既知であるかぎり、その他の位置であってもよい。
【0020】
センサ14は、例えば力覚センサ(ロードセル又は歪ゲージ)であり、ツール12に作用する外力を検出する。検出する外力の方向は、6自由度(直交する3軸方向と、3軸回り)の力であるのが好ましいが、そのうちの一部(例えば3軸方向のみ)であってもよい。
なおセンサ14は、接触を検出できる限りで、その他のセンサであってもよい。
【0021】
ロボット手先フランジ面16は、ロボット18の手先部(ロボットアーム等の先端)に設けられている。また、点Fはロボット手先フランジ面16上の代表点である。
なお、この例において、ロボット手先フランジ面16上の代表点Fは、ロボットアームとツールの取合面中心であるが、中心以外でもよい。
【0022】
ツール12とセンサ14は、ロボット手先フランジ面16に取付けられ、ツール12のTCP(点P)が、ロボット手先フランジ面16上の代表点Fに対して一定の位置に位置するようになっている。
この相対位置を表すデータが上述した「ツールパラメータ」であり、ツールパラメータは未知であるが、概略値は設計データ等から既知である。
【0023】
ロボット18は、この例では産業用の多関節アームロボットであり、ロボット手先フランジ面16を3次元空間内で6自由度(直交する3軸方向と、3軸回り)に数値制御できるようになっている。
なおこの図において、点Oはロボット座標系の原点である。
【0024】
制御装置20は、例えば記憶装置を備えたコンピュータであり、センサ14で検出した外力を記憶し、かつロボット18を制御する。
さらに、制御装置20は、後述するタッチセンシング工程(A)、座標系設定工程(B)、ツールパラメータ設定工程(C)を自動で実施するようになっている。
【0025】
位置決め用の治具22は、ツール12の作動範囲内に固定され、互いに直交する3平面22a,22b,22cを有する。この3平面を、以下、第1平面22a、第2平面22b、第3平面22cと呼ぶ。
この例において、第1平面22aは上面、第2平面22bと第3平面22cは側面であるが、本発明はこれに限定されず、第2平面22b又は第3平面22cを上面としてもよい。
【0026】
図3は、本発明によるキャリブレーション方法の全体フロー図である。
この図において、本発明のキャリブレーション方法は、タッチセンシング工程(A)、座標系設定工程(B)、ツールパラメータ設定工程(C)からなる。
【0027】
ツールパラメータ設定工程(C0)では、ツールパラメータの初期値を手先工具の設計データ等を元に設定する。
【0028】
座標系設定工程(B0)では、座標系の初期値を設計データや教示による座標設定等で設定する。なお、この工程では、位置決め治具の角を原点とする座標であり、初期値はおおまかである。
TCPの設定の従来技術同様に、ロボットの教示によって座標系を設定する方法が広く行われている。例えば次のような手順である。
(1)原点となる位置を教示、(2)X軸の正方向を教示、(3)XY平面(Y軸正側)を教示。
これにより、作業テーブル座標などが簡単に設定できる。
【0029】
タッチセンシング工程(A1)では、ロボットを座標系Σ0からの相対量で数値制御して、ツールを位置決め冶具の上面3箇所に接触させ、各接触点の3次元座標(=座標系Σ0におけるツール座標系の位置・姿勢)を記憶する。このとき、ロボットの姿勢は一定の姿勢に固定しておく。
【0030】
座標系設定工程(B1)では、記憶した3次元座標から、新たな座標系Σ1を算出する。この座標系Σ1は、座標系Σ0のXYを位置決め冶具の上面に一致するように補正した座標系である。
実際はツールパラメータの誤差分だけシフトしているが、ここでは説明を簡略化するために、ツール誤差を0としている。
【0031】
タッチセンシング工程(A2)では、ロボットを座標系Σ1からの相対量で数値制御して、ツールを位置決め冶具の側面3箇所に接触させ、各接触点の3次元座標を記憶する。このとき、ロボットの姿勢は一定の姿勢に固定しておく。
タッチセンシングする点は、更新した座標系Σ1からの相対量である。
【0032】
座標系設定工程(B2)では、記憶した3次元座標から、新たな座標系Σ2を算出する。この座標系Σ2は、座標系Σ1のX軸、Y軸が位置決め冶具の稜線に平行になるように補正した座標系である。
実際はツールパラメータの誤差分だけシフトしているが、ここでは説明を簡略化するために、ツール誤差を0としている。
【0033】
座標系設定工程(B3)では、ツールの半径の分だけシフトさせ、新たな座標系Σ3を算出する。
【0034】
タッチセンシング工程(A3)では、タッチセンシング工程(A1、A2)で固定していたツールの姿勢を、例えばツールのZ軸回りに90°回転させた姿勢にした上で、ロボットを座標系Σ3からの相対量で数値制御して、ツールを位置決め冶具の側面2箇所に接触させ、各接触点の3次元座標を記憶する。
【0035】
ツールパラメータ設定工程(C1)では、記憶した3次元座標から、ツールパラメータ誤差を算出し、ツールパラメータを補正する。ここでは、ツールパラメータのX軸、Y軸の誤差が補正される。
【0036】
タッチセンシング工程(A4)では、ロボットを座標系Σ3からの相対量で数値制御して、例えば円筒形ツールの側面を位置決め冶具の上面1箇所に接触させ、接触点の3次元座標を記憶する。
この工程では、更新したツールパラメータを使用する。
【0037】
ツールパラメータ設定工程(C2)では、記憶した3次元座標から、ツールパラメータ誤差を算出し、ツールパラメータを補正する。ここでは、ツールパラメータのZ軸の誤差が補正される。
【0038】
座標系設定工程(B4)では、ツールパラメータ設定工程(C1、C2)で算出したツールパラメータの誤差を使用して、新たな座標系Σ4を算出する。ここで初めて位置決め冶具の稜線とX軸、Y軸とが一致する。
Σ4はツールパラメータの誤差から算出してもよいが、再度タッチセンシング(A1、A2)で計測してもよい。
座標系Σ4で初めてベース座標系と実際の位置決め治具とが一致する。
【0039】
以下、本発明の方法と装置を具体的に説明する。
【0040】
1. 本発明では、産業用ロボットにおいて、上述したロボット18、ツール12、治具22の相対位置をキャリブレーションする方法と装置について説明する。
この方法では、円筒形状のツール12を対象とし、ロボット手先フランジ面16におけるTCPの並進位置と、ロボットベース座標における直方体の治具22の位置と姿勢とをキャリブレーションする。
【0041】
ロボットが、固定されたワークに対して、ツールの目標軌道に沿ってツールを動作させて加工するシステムにおいて、ワークに精度良く加工するためには、ロボット手先フランジ面〜ツールのTCPの相対位置、ツール〜ワークの相対位置、のキャリブレーションが必要である。ただし、ワークの形状に直交する3平面が含まれている場合は、ツール〜ワークの相対位置を本発明によってキャリブレーション可能であるが、そうでない場合は、ツール〜ワークを設置する作業台の相対位置、ツール〜位置決め冶具の相対位置のキャリブレーションによっても、(作業台〜ワーク、位置決め冶具〜ワークの相対位置が既知であれば)十分な精度の加工を得ることができる。以下では、冶具を使用した場合について述べる。
【0042】
本発明では、センサ14と形状が既知の治具22(直方体)を使用し、ツール12を所定の反力が得られるまで治具22に押付け、そのときのツール位置を計測するという手順を繰返してキャリブレーションする。
【0043】
また本発明では、ツールの姿勢を固定して、直方体治具22の上面22aの3箇所、側面22bの2箇所、及び側面22cの1箇所を計測する。これにより、治具22の上面22aにXY平面が平行で、X軸、Y軸が稜線(エッジ)に平行な座標系Σ3が得られる。
このとき、ロボット手先フランジ面16〜ツール12のTCPの相対位置が既知であれば、座標系Σ3の原点は治具22の角と一致する。一方、ロボット手先フランジ面16〜ツール12のTCPまでの相対位置のキャリブレーションが未実施で誤差を含んでいる場合は、座標系Σ3は、実際の治具22からその誤差分だけ平行シフトした位置に算出される。
【0044】
この誤差分は、ツールの姿勢を変えて再度冶具の側面2箇所、上面1箇所を計測することで算出することができ、算出した誤差分を使って手先フランジ面〜ツールTCPの相対位置をキャリブレーションする。また同時に、座標系Σ3も補正して座標系Σ4を算出する。座標系Σ4の原点は治具22の角と一致する。
【0045】
2. システム構成
図2において、産業用ロボットアームにセンサ14を介してスピンドルモータを設置し、コレットチャックでツール12(例えばカッター)をチャックしている。また、センサ14の出力をロボットコントローラに接続している。上述の制御装置20は、ロボットコントローラに相当する。
また、計算の簡略化のため、以下の説明では(1)〜(5)は仮想的にツール12の寸法を0として計算し、(6)で改めてツール寸法を補正している。
また、ここではロボットの姿勢としてロール・ピッチ・ヨーを使用した場合について述べる。
なお3次元空間における姿勢の表現方法は、例えば、ロール・ピッチ・ヨー、オイラー角等、複数ある。
【0046】
(1)治具位置の教示(図4)
初めに治具22の位置を教示する。図4中、PstartとPgoal,それぞれのアプローチ軌道を教示する。この教示は、上面22aからoffset値だけずらした点で教示する。この教示後、教示したPstartと原点とが一致し、Pstart→Pgoalの方向とY軸とが一致する座標系Σ0を設定する。
治具22の設置位置が変わった場合は、この教示点を修正するだけで、以降のキャリブレーションが可能である。
【0047】
(2)治具上面のタッチセンシング(図5、図6)
治具22の上面22aの3点でタッチセンシングし、上面22aの傾きを算出する。タッチセンシングする点は、図5中Ptry1〜Ptry3であり、座標系Σ0上のXY座標で位置を設定し、Σ0のZ軸の負方向に押付けてタッチセンシングする。
このとき、点Ptry1、点Ptry2、及び座標系Σ0の原点が一直線上になるようにすることで、治具22の上面22aを含む平面が座標系Σ0のZ軸と交差する点を、相似計算((3)にて後述)で算出することが座標系できる。
【0048】
このように3点を選択する以外の方法として、3点が1直線状に並んでいなければ、3点の空間上の点から、その3点を通る平面を計算することは広く行われている。また、3点以上の点から、各点と平面との誤差の自乗和を最小にするような平面を算出することも広く行われている。
【0049】
(3)治具上面の傾きの算出(図7〜図9)
実際に接触した点をPtouchi=(xpti,ypti,zpti)T (i=1,2,3)とする。治具22の上面22aを含む平面の式を数1の式(1)とする。ただしZ0はこの平面が座標系Σ0のZ軸と交差する切片であり、相似より式(2)のように算出される。
また、この平面の法線ベクトルV1は式(3)で表される。ここで×は外積である。
平面の式(1)から、式(4)と表される。ここで、||は行列式、i,j,kはそれぞれX軸、Y軸、Z軸方向の単位ベクトルである。
この平面のロール角をφ1、ピッチ角をθ1とすると、式(5)、式(6)となる。
これらより、ロール角、ピッチ角は式(7)(8)で算出される。
【0050】
【数1】
【0051】
(4)治具側面のタッチセンシング(図10、図11)
治具22の側面22b,22cの3点でタッチセンシングし、XY平面上の治具22の姿勢を算出する。タッチセンシングする点は、図10中、Ptry4〜Ptry6であり、座標系Σ1上のXY座標で位置を設定し、座標系Σ1のX軸の負→正方向、Y軸の負→正方向に押付けてタッチセンシングする。
【0052】
(5)治具22の座標系Σ1におけるXY平面上での姿勢の算出(図12、図13)
実際に接触した点をPtouchi=(xpti,ypti,zpti)T (i=4,5,6)とする。点Ptouch4と点Ptouch5とを通る直線と、点Ptouch6を通り、前述の直線と直交する直線とは、数2の式(9)〜(12)で表せる。
これらより、2直線の交点(治具22の角)は以下のように算出される。
【0053】
【数2】
【0054】
(6)ツール寸法の補正(図14)
以上の説明では、仮想的にツール寸法を0としていた。ここで、ツール寸法の分だけシフトすることで、治具22の角と原点とが一致し、治具22のエッジとX軸、Y軸が一致する座標系Σ3が得られる。
【0055】
3. ステップ2:ロボット手先フランジ面16〜ツールの相対位置のキャリブレーション(図15)
上述した手順によって、ツール〜治具22間の相対位置のキャリブレーションを実施した。しかし、ロボット手先フランジ面16〜ツールの相対位置(=ロボットベース座標〜ツール座標間の相対位置)に誤差があると、算出したΣ3(=ロボットベース座標における治具22座標)と実際の治具22位置との間にずれΔVR=(xVR,yVR)T・・・(13)が残る。以下ではこのずれをキャリブレーションする。
【0056】
ツールを回転(図16)
ツールをTCP回りで回転させる(図では、90°回転)と、ロボットはTCP設定位置を中心に手先を回転させるため、実際のツールの位置は誤差を半径として回転する。
【0057】
(2)XY平面(Σ3座標)上の並進ずれ(図17、図18)
ツールを回転させた状態で、治具22側面をタッチセンシングして、再度Σ3’を算出すると、Σ3とΣ3’との間にはずれΔOO’=(xOO’,yOO’)T・・・(14)が生じる。
ツールのTCP設定と実際の工具位置との誤差ΔVRは、以下の数3の式(15)のように算出される。ただし、ΔVRは、Σ3座標でのずれであり、ロボットのTCP設定の補正には、ΔVRをロボット手先フランジ座標に座標変換する必要がある。
【0058】
【数3】
【0059】
Z方向(Σ3座標)の並進ずれ(図19、図20)
(2)において、ロボット手先フランジ座標のXY平面上でのツール位置がキャリブレーションされ、Z軸方向の並進誤差Δz=(0,0,dz)T・・・(16)が残っている。
(1)と同様に、ツールをX軸もしくはY軸回りに90°回転させ、Z軸正→負の向きにタッチセンシングすると、ツール寸法が既知であるため、XY平面が治具22の上面に一致する座標系Σ3”が得られる。このときのΣ3とΣ3”のずれをΔOO”=(0,0,zOO”)T・・・(17)とすると、ツールのTCP設定と実際のTCPとのずれは、式(18)のように算出される。
Δz=ΔOO” ・・・(17)
【0060】
なお、計算の単純化のため、以下のようにしてもよい。
(1) 円柱形又は球形のツール12を用いる。
(2) 直方体の位置決めブロックを治具22として用いる。
(3) 予めツールの軸線上(例えば、円柱形ならツールの端面中心、球形なら球の中心)にTCPを仮設定して、姿勢を変えずに1回目のタッチセンシング、ツールの軸線を中心に90°回転させた姿勢で2回目のタッチセンシングを実施してもよい。
【0061】
また、センサ14として、接触センサ(接触を感知してON/OFFを出力)や、レーザ距離計を使ってもよい。
【0062】
上述した本発明の方法及び装置によれば、制御装置20により、タッチセンシング工程(A)、座標系設定工程(B)及びツールパラメータ設定工程(C)から構成されるシーケンスを実施するので、ツール12に接触するおそれがない離れた場所から作業者が位置決め用の治具とロボットのTCPの両方をキャリブレーションすることができる。
また、互いに直交する3平面22a,22b,22cを有する治具22を用い、センサ14を用いて前記3平面22a,22b,22cにツール12を接触させるので、作業者の熟練度に依存することなく、安価かつ容易に、高い精度で、位置決め用の治具22とロボット18のTCPの両方をキャリブレーションすることができる。
【0063】
位置決め冶具の代わりに、ワークもしくは作業台の一部を使用した場合でも同様に扱うことが可能である。
【0064】
また、直交する3平面の変わりに、既知の角度で交差している3平面を使用した場合でも、例えばツールの押付け方向を平面に垂直な方向にすることで同様に扱うことが可能である。
【0065】
さらに、本発明は以下の効果を有する。
(1) 従来技術では、TCPの誤差は手先の設計誤差やロボット手先フランジ面16の姿勢誤差に依存するが、この本発明によって手先の設計誤差とフランジ面の姿勢誤差に起因するTCPの位置誤差を補償できる。
また、従来技術では、ロボット操作者の技量によって精度がばらつくおそれがあるが、この本発明ではキャリブレーション自体を自動化できるため、再現性が高い。
(2) 本発明は、外部に特殊な計測器や特殊な冶具を必要としない。位置決め冶具は直方体などの単純形状、普通の精度でよい。
(3) ロボット手先のTCPと外部の校正用冶具とが共に正確な位置がわからない状態から、TCPと冶具との双方をキャリブレーションすることができる。
(4) CPの姿勢誤差がアプリケーションに及ぼす影響が小さい場合には、TCPの位置誤差のみキャリブレーションすることができる。
【0066】
なお、本発明は上述した実施形態に限定されず、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味および範囲内でのすべての変更を含むものである。
【符号の説明】
【0067】
10 キャリブレーション装置、12 ツール、
14 センサ、16 ロボット手先フランジ面、
18 ロボット、20 制御装置、
22 治具、22a 第1平面、
22b 第2平面、22c 第3平面
【技術分野】
【0001】
本発明は、ロボットを用いた自動生産システムにおけるロボットのキャリブレーション方法および装置に関する。
【背景技術】
【0002】
図1は、従来の一般的な方法を示す説明図である。この図は、ツール位置をキャリブレーション(較正)する方法を示している。
この図において、1はツール、2はロボット手先フランジ面、3は位置決め治具である。また、点Fはロボット手先フランジ面2上の代表点、点Pはツールセンターポイント(Tool Center Point:TCP)でありツール座標系の原点である。
【0003】
ロボット手先フランジ面2を有するロボット(図示せず)を数値制御して、ツール1のTCP(点P)を高精度に位置決めするためには、手先フランジ面3上の代表点Fに対するTCP(点P)の位置と姿勢を表わすデータを与える必要がある。以下このデータを「ツールパラメータ」と呼ぶ。
【0004】
ツールパラメータは、ロボットの姿勢が変化しても変わらない。そのため、従来の一般的な方法では、図1に示すように、TCPとして設定を希望するツールの特定点(点P)を、空間上の同一点に一致するように3以上の姿勢でツール1を位置決めし、これに基づきTCPのツール座標系における相対位置(ツールパラメータ)を求めていた。
【0005】
なお、ロボットのツール位置較正手段に関連して、特許文献1,2が既に開示されている。
特許文献1、2は治具などを用いて較正するものである。またハンドの設計値などをベースに数値入力により設定することも知られている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開昭61−133409号公報、「ロボット定数の自動補正方式」
【特許文献2】特開2006−297559号公報、「キャリブレーションシステムおよびロボットのキャリブレーション方法」
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した従来技術には以下のような問題点があった。
一般的に空間上の同一点への一致を目視で確認するため、本質的に精度は目視に依存する。そのため、ツール上の特定点(TCP)の判別が難しいツールの場合には、ツールの3姿勢におけるTCPを空間上の同一点に一致させることが困難になる。
そのため、この方法による位置決め精度は、一般に低い(例えば、±0.5mm程度)問題点があり、高い精度(例えば、±0.2mm未満)を必要とするバリ取りロボットのような用途には適用できなかった。
【0008】
また、空間上の同一点に合わせる操作は作業者の熟練度によって設定精度に差が出やすく、また目視で合わせるため、ツールに非常に近い場所で作業することになり、作業者がツールに接触する等のおそれが高かった。
【0009】
さらに、特許文献1、2のように、特別な専用治具を用いて較正する場合も、目視で合わせるため、位置決め精度が低く、かつ作業者がツールに接触する等のおそれが高かった。
【0010】
また、図面情報(設計値)などをベースに数値入力により設定する場合、ツールを構成する部品点数が多い場合には各部品の累積誤差などにより必要とする精度(例えば、±0.2mm未満)を確保できない。
さらにこの場合に、精度を高めるために、各部品の加工精度を高めるとコスト高になる。また現場合わせなどで製作されたツールでは図面寸法と実態寸法が異なることも多い。
また、ロボットの姿勢誤差がフランジ面において0.1度程度である場合、手先ツールの長さが200mmであれば、TCPは0.3mm程度ずれることになるため、フランジ面以降のツールを高精度にしたとしても、ロボット自身の姿勢誤差によって大きな誤差が生じる可能性がある。
【0011】
本発明は上述した問題点を解決するために創案されたものである。すなわち、本発明の目的は、ツールに接触するおそれがない離れた場所から実施することができ、作業者の熟練度に依存することなく、安価かつ容易に、高い精度で、位置決め用の治具とロボットのTCPの両方をキャリブレーションすることができるロボットのキャリブレーション方法および装置を提供することにある。
【課題を解決するための手段】
【0012】
本発明によれば、ワークを加工するためのツールと、該ツールとワークとの接触を検出するセンサと、前記ツールとセンサが取付けられたロボット手先フランジ面を有しこれを3次元空間内で6自由度に数値制御可能なロボットと、前記センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置と、前記ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具もしくは作業台もしくはワークと、を備え、前記制御装置により、
前記ロボットを数値制御して、前記3平面にツールを接触させ各接触点の3次元座標を記憶するタッチセンシング工程(A)と、
前記3次元座標から、前記3平面が交差する点を原点とする座標系を補正する座標系設定工程(B)と、
前記3次元座標から、前記ロボット手先フランジ面に対するツールの基準位置を算出するツールパラメータ設定工程(C)と、から構成されるシーケンスを実施することを特徴とするロボットのキャリブレーション方法が提供される。
【0013】
本発明の実施形態によれば、前記タッチセンシング工程において、ツールの姿勢を固定し、前記3平面のうち第1平面上の3点と、第2平面上の2点と、第3平面上の1点とにツールを接触させ、
前記座標系設定工程において、前記3点、2点、及び1点の3次元座標から、前記3平面のうち1平面と座標系の2軸を含む平面とが平行で、2平面が交差する1つの稜線と座標系の1軸とが平行な座標系を設定し、
次にツールの姿勢を変えて、第1平面の1点と、第2平面の1点と、第3平面の1点とにツールを接触させ、ツールパラメータの設定値誤差を算出してツールパラメータを補正する。
【0014】
また、本発明によれば、ワークを加工するためのツールと、該ツールとワークとの接触を検出するセンサと、前記ツールとセンサが取付けられたロボット手先フランジ面を有しこれを3次元空間内で6自由度に数値制御可能なロボットと、前記センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置と、前記ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具もしくは作業台もしくはワークと、を備え、前記制御装置により、
前記ロボットを数値制御して、前記3平面にツールを接触させ各接触点の3次元座標を記憶するタッチセンシング工程(A)と、
前記3次元座標から、前記3平面が交差する点を原点とする座標系を補正する座標系設定工程(B)と、
前記3次元座標から、前記ロボット手先フランジ面に対するツールの基準位置を算出するツールパラメータ設定工程(C)と、から構成されるシーケンスを実施することを特徴とするロボットのキャリブレーション装置が提供される。
【発明の効果】
【0015】
上記本発明の方法及び装置によれば、制御装置により、タッチセンシング工程(A)、座標系設定工程(B)及びツールパラメータ設定工程(C)から構成されるシーケンスを実施するので、ツールに接触するおそれがない離れた場所から作業者が位置決め用の治具とロボットのTCPの両方をキャリブレーションすることができる。
また、互いに直交する3平面を有する治具を用い、センサを用いて前記3平面にツールを接触させるので、作業者の熟練度に依存することなく、安価かつ容易に、高い精度で、位置決め用の治具とロボットのTCPの両方をキャリブレーションすることができる。
【図面の簡単な説明】
【0016】
【図1】従来の一般的な方法を示す説明図である。
【図2】本発明によるキャリブレーション装置の全体構成図である。
【図3】本発明によるキャリブレーション方法の全体フロー図である。
【図4】治具位置の教示の説明図である。
【図5】治具上面のタッチセンシング位置を示す図である。
【図6】治具上面のタッチセンシングのイメージ図である。
【図7】治具上面の傾き算出の説明図である。
【図8】Z0の算出の説明図である。
【図9】座標系Σ1の説明図である。
【図10】治具側面のタッチセンシング位置を示す図である。
【図11】治具側面のタッチセンシングのイメージ図である。
【図12】治具22の座標系Σ1におけるXY平面上での姿勢を示す図である。
【図13】座標系Σ2の算出の説明図である。
【図14】座標系Σ3の算出の説明図である。
【図15】ツールの設定と実際との誤差の説明図である。
【図16】ツールをTCP回りで回転させる説明図である。
【図17】ツールを回転させて治具側面への押付けを示す図である。
【図18】座標系Σ3とΣ3’との位置関係を示す図である。
【図19】Z方向のずれの説明図である。
【図20】ツールを寝かせて治具上面をタッチセンシングする説明図である。
【発明を実施するための形態】
【0017】
以下、本発明の好ましい実施例を図面を参照して説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【0018】
図2は、本発明によるキャリブレーション装置の全体構成図である。
この図に示すように、本発明のキャリブレーション装置10は、ツール12、センサ14、ロボット手先フランジ面16、ロボット18、制御装置20、及び位置決め用の治具22を備える。
ただし、ワークやワークを保持する作業台等に直交する3平面形状があり、この面をタッチセンシング可能である場合は冶具は不要である。
【0019】
ツール12は、ワーク(図示せず)を加工するためのエンドエフェクタである。この例において、ツール12は円筒形であり、その対称軸上にツールセンターポイントP(TCP)が設定されている。点Pはツール座標系の原点である。
なお、ツール12の形状は円筒形に限定されず、その寸法が既知であるかぎり、その他の形状(例えば、球形)であってもよい。
また、ツールセンターポイントP(TCP)は、ツール12の対称軸上であるのが好ましいが、ワークに対するツールの正確な相対位置が既知であるかぎり、その他の位置であってもよい。
【0020】
センサ14は、例えば力覚センサ(ロードセル又は歪ゲージ)であり、ツール12に作用する外力を検出する。検出する外力の方向は、6自由度(直交する3軸方向と、3軸回り)の力であるのが好ましいが、そのうちの一部(例えば3軸方向のみ)であってもよい。
なおセンサ14は、接触を検出できる限りで、その他のセンサであってもよい。
【0021】
ロボット手先フランジ面16は、ロボット18の手先部(ロボットアーム等の先端)に設けられている。また、点Fはロボット手先フランジ面16上の代表点である。
なお、この例において、ロボット手先フランジ面16上の代表点Fは、ロボットアームとツールの取合面中心であるが、中心以外でもよい。
【0022】
ツール12とセンサ14は、ロボット手先フランジ面16に取付けられ、ツール12のTCP(点P)が、ロボット手先フランジ面16上の代表点Fに対して一定の位置に位置するようになっている。
この相対位置を表すデータが上述した「ツールパラメータ」であり、ツールパラメータは未知であるが、概略値は設計データ等から既知である。
【0023】
ロボット18は、この例では産業用の多関節アームロボットであり、ロボット手先フランジ面16を3次元空間内で6自由度(直交する3軸方向と、3軸回り)に数値制御できるようになっている。
なおこの図において、点Oはロボット座標系の原点である。
【0024】
制御装置20は、例えば記憶装置を備えたコンピュータであり、センサ14で検出した外力を記憶し、かつロボット18を制御する。
さらに、制御装置20は、後述するタッチセンシング工程(A)、座標系設定工程(B)、ツールパラメータ設定工程(C)を自動で実施するようになっている。
【0025】
位置決め用の治具22は、ツール12の作動範囲内に固定され、互いに直交する3平面22a,22b,22cを有する。この3平面を、以下、第1平面22a、第2平面22b、第3平面22cと呼ぶ。
この例において、第1平面22aは上面、第2平面22bと第3平面22cは側面であるが、本発明はこれに限定されず、第2平面22b又は第3平面22cを上面としてもよい。
【0026】
図3は、本発明によるキャリブレーション方法の全体フロー図である。
この図において、本発明のキャリブレーション方法は、タッチセンシング工程(A)、座標系設定工程(B)、ツールパラメータ設定工程(C)からなる。
【0027】
ツールパラメータ設定工程(C0)では、ツールパラメータの初期値を手先工具の設計データ等を元に設定する。
【0028】
座標系設定工程(B0)では、座標系の初期値を設計データや教示による座標設定等で設定する。なお、この工程では、位置決め治具の角を原点とする座標であり、初期値はおおまかである。
TCPの設定の従来技術同様に、ロボットの教示によって座標系を設定する方法が広く行われている。例えば次のような手順である。
(1)原点となる位置を教示、(2)X軸の正方向を教示、(3)XY平面(Y軸正側)を教示。
これにより、作業テーブル座標などが簡単に設定できる。
【0029】
タッチセンシング工程(A1)では、ロボットを座標系Σ0からの相対量で数値制御して、ツールを位置決め冶具の上面3箇所に接触させ、各接触点の3次元座標(=座標系Σ0におけるツール座標系の位置・姿勢)を記憶する。このとき、ロボットの姿勢は一定の姿勢に固定しておく。
【0030】
座標系設定工程(B1)では、記憶した3次元座標から、新たな座標系Σ1を算出する。この座標系Σ1は、座標系Σ0のXYを位置決め冶具の上面に一致するように補正した座標系である。
実際はツールパラメータの誤差分だけシフトしているが、ここでは説明を簡略化するために、ツール誤差を0としている。
【0031】
タッチセンシング工程(A2)では、ロボットを座標系Σ1からの相対量で数値制御して、ツールを位置決め冶具の側面3箇所に接触させ、各接触点の3次元座標を記憶する。このとき、ロボットの姿勢は一定の姿勢に固定しておく。
タッチセンシングする点は、更新した座標系Σ1からの相対量である。
【0032】
座標系設定工程(B2)では、記憶した3次元座標から、新たな座標系Σ2を算出する。この座標系Σ2は、座標系Σ1のX軸、Y軸が位置決め冶具の稜線に平行になるように補正した座標系である。
実際はツールパラメータの誤差分だけシフトしているが、ここでは説明を簡略化するために、ツール誤差を0としている。
【0033】
座標系設定工程(B3)では、ツールの半径の分だけシフトさせ、新たな座標系Σ3を算出する。
【0034】
タッチセンシング工程(A3)では、タッチセンシング工程(A1、A2)で固定していたツールの姿勢を、例えばツールのZ軸回りに90°回転させた姿勢にした上で、ロボットを座標系Σ3からの相対量で数値制御して、ツールを位置決め冶具の側面2箇所に接触させ、各接触点の3次元座標を記憶する。
【0035】
ツールパラメータ設定工程(C1)では、記憶した3次元座標から、ツールパラメータ誤差を算出し、ツールパラメータを補正する。ここでは、ツールパラメータのX軸、Y軸の誤差が補正される。
【0036】
タッチセンシング工程(A4)では、ロボットを座標系Σ3からの相対量で数値制御して、例えば円筒形ツールの側面を位置決め冶具の上面1箇所に接触させ、接触点の3次元座標を記憶する。
この工程では、更新したツールパラメータを使用する。
【0037】
ツールパラメータ設定工程(C2)では、記憶した3次元座標から、ツールパラメータ誤差を算出し、ツールパラメータを補正する。ここでは、ツールパラメータのZ軸の誤差が補正される。
【0038】
座標系設定工程(B4)では、ツールパラメータ設定工程(C1、C2)で算出したツールパラメータの誤差を使用して、新たな座標系Σ4を算出する。ここで初めて位置決め冶具の稜線とX軸、Y軸とが一致する。
Σ4はツールパラメータの誤差から算出してもよいが、再度タッチセンシング(A1、A2)で計測してもよい。
座標系Σ4で初めてベース座標系と実際の位置決め治具とが一致する。
【0039】
以下、本発明の方法と装置を具体的に説明する。
【0040】
1. 本発明では、産業用ロボットにおいて、上述したロボット18、ツール12、治具22の相対位置をキャリブレーションする方法と装置について説明する。
この方法では、円筒形状のツール12を対象とし、ロボット手先フランジ面16におけるTCPの並進位置と、ロボットベース座標における直方体の治具22の位置と姿勢とをキャリブレーションする。
【0041】
ロボットが、固定されたワークに対して、ツールの目標軌道に沿ってツールを動作させて加工するシステムにおいて、ワークに精度良く加工するためには、ロボット手先フランジ面〜ツールのTCPの相対位置、ツール〜ワークの相対位置、のキャリブレーションが必要である。ただし、ワークの形状に直交する3平面が含まれている場合は、ツール〜ワークの相対位置を本発明によってキャリブレーション可能であるが、そうでない場合は、ツール〜ワークを設置する作業台の相対位置、ツール〜位置決め冶具の相対位置のキャリブレーションによっても、(作業台〜ワーク、位置決め冶具〜ワークの相対位置が既知であれば)十分な精度の加工を得ることができる。以下では、冶具を使用した場合について述べる。
【0042】
本発明では、センサ14と形状が既知の治具22(直方体)を使用し、ツール12を所定の反力が得られるまで治具22に押付け、そのときのツール位置を計測するという手順を繰返してキャリブレーションする。
【0043】
また本発明では、ツールの姿勢を固定して、直方体治具22の上面22aの3箇所、側面22bの2箇所、及び側面22cの1箇所を計測する。これにより、治具22の上面22aにXY平面が平行で、X軸、Y軸が稜線(エッジ)に平行な座標系Σ3が得られる。
このとき、ロボット手先フランジ面16〜ツール12のTCPの相対位置が既知であれば、座標系Σ3の原点は治具22の角と一致する。一方、ロボット手先フランジ面16〜ツール12のTCPまでの相対位置のキャリブレーションが未実施で誤差を含んでいる場合は、座標系Σ3は、実際の治具22からその誤差分だけ平行シフトした位置に算出される。
【0044】
この誤差分は、ツールの姿勢を変えて再度冶具の側面2箇所、上面1箇所を計測することで算出することができ、算出した誤差分を使って手先フランジ面〜ツールTCPの相対位置をキャリブレーションする。また同時に、座標系Σ3も補正して座標系Σ4を算出する。座標系Σ4の原点は治具22の角と一致する。
【0045】
2. システム構成
図2において、産業用ロボットアームにセンサ14を介してスピンドルモータを設置し、コレットチャックでツール12(例えばカッター)をチャックしている。また、センサ14の出力をロボットコントローラに接続している。上述の制御装置20は、ロボットコントローラに相当する。
また、計算の簡略化のため、以下の説明では(1)〜(5)は仮想的にツール12の寸法を0として計算し、(6)で改めてツール寸法を補正している。
また、ここではロボットの姿勢としてロール・ピッチ・ヨーを使用した場合について述べる。
なお3次元空間における姿勢の表現方法は、例えば、ロール・ピッチ・ヨー、オイラー角等、複数ある。
【0046】
(1)治具位置の教示(図4)
初めに治具22の位置を教示する。図4中、PstartとPgoal,それぞれのアプローチ軌道を教示する。この教示は、上面22aからoffset値だけずらした点で教示する。この教示後、教示したPstartと原点とが一致し、Pstart→Pgoalの方向とY軸とが一致する座標系Σ0を設定する。
治具22の設置位置が変わった場合は、この教示点を修正するだけで、以降のキャリブレーションが可能である。
【0047】
(2)治具上面のタッチセンシング(図5、図6)
治具22の上面22aの3点でタッチセンシングし、上面22aの傾きを算出する。タッチセンシングする点は、図5中Ptry1〜Ptry3であり、座標系Σ0上のXY座標で位置を設定し、Σ0のZ軸の負方向に押付けてタッチセンシングする。
このとき、点Ptry1、点Ptry2、及び座標系Σ0の原点が一直線上になるようにすることで、治具22の上面22aを含む平面が座標系Σ0のZ軸と交差する点を、相似計算((3)にて後述)で算出することが座標系できる。
【0048】
このように3点を選択する以外の方法として、3点が1直線状に並んでいなければ、3点の空間上の点から、その3点を通る平面を計算することは広く行われている。また、3点以上の点から、各点と平面との誤差の自乗和を最小にするような平面を算出することも広く行われている。
【0049】
(3)治具上面の傾きの算出(図7〜図9)
実際に接触した点をPtouchi=(xpti,ypti,zpti)T (i=1,2,3)とする。治具22の上面22aを含む平面の式を数1の式(1)とする。ただしZ0はこの平面が座標系Σ0のZ軸と交差する切片であり、相似より式(2)のように算出される。
また、この平面の法線ベクトルV1は式(3)で表される。ここで×は外積である。
平面の式(1)から、式(4)と表される。ここで、||は行列式、i,j,kはそれぞれX軸、Y軸、Z軸方向の単位ベクトルである。
この平面のロール角をφ1、ピッチ角をθ1とすると、式(5)、式(6)となる。
これらより、ロール角、ピッチ角は式(7)(8)で算出される。
【0050】
【数1】
【0051】
(4)治具側面のタッチセンシング(図10、図11)
治具22の側面22b,22cの3点でタッチセンシングし、XY平面上の治具22の姿勢を算出する。タッチセンシングする点は、図10中、Ptry4〜Ptry6であり、座標系Σ1上のXY座標で位置を設定し、座標系Σ1のX軸の負→正方向、Y軸の負→正方向に押付けてタッチセンシングする。
【0052】
(5)治具22の座標系Σ1におけるXY平面上での姿勢の算出(図12、図13)
実際に接触した点をPtouchi=(xpti,ypti,zpti)T (i=4,5,6)とする。点Ptouch4と点Ptouch5とを通る直線と、点Ptouch6を通り、前述の直線と直交する直線とは、数2の式(9)〜(12)で表せる。
これらより、2直線の交点(治具22の角)は以下のように算出される。
【0053】
【数2】
【0054】
(6)ツール寸法の補正(図14)
以上の説明では、仮想的にツール寸法を0としていた。ここで、ツール寸法の分だけシフトすることで、治具22の角と原点とが一致し、治具22のエッジとX軸、Y軸が一致する座標系Σ3が得られる。
【0055】
3. ステップ2:ロボット手先フランジ面16〜ツールの相対位置のキャリブレーション(図15)
上述した手順によって、ツール〜治具22間の相対位置のキャリブレーションを実施した。しかし、ロボット手先フランジ面16〜ツールの相対位置(=ロボットベース座標〜ツール座標間の相対位置)に誤差があると、算出したΣ3(=ロボットベース座標における治具22座標)と実際の治具22位置との間にずれΔVR=(xVR,yVR)T・・・(13)が残る。以下ではこのずれをキャリブレーションする。
【0056】
ツールを回転(図16)
ツールをTCP回りで回転させる(図では、90°回転)と、ロボットはTCP設定位置を中心に手先を回転させるため、実際のツールの位置は誤差を半径として回転する。
【0057】
(2)XY平面(Σ3座標)上の並進ずれ(図17、図18)
ツールを回転させた状態で、治具22側面をタッチセンシングして、再度Σ3’を算出すると、Σ3とΣ3’との間にはずれΔOO’=(xOO’,yOO’)T・・・(14)が生じる。
ツールのTCP設定と実際の工具位置との誤差ΔVRは、以下の数3の式(15)のように算出される。ただし、ΔVRは、Σ3座標でのずれであり、ロボットのTCP設定の補正には、ΔVRをロボット手先フランジ座標に座標変換する必要がある。
【0058】
【数3】
【0059】
Z方向(Σ3座標)の並進ずれ(図19、図20)
(2)において、ロボット手先フランジ座標のXY平面上でのツール位置がキャリブレーションされ、Z軸方向の並進誤差Δz=(0,0,dz)T・・・(16)が残っている。
(1)と同様に、ツールをX軸もしくはY軸回りに90°回転させ、Z軸正→負の向きにタッチセンシングすると、ツール寸法が既知であるため、XY平面が治具22の上面に一致する座標系Σ3”が得られる。このときのΣ3とΣ3”のずれをΔOO”=(0,0,zOO”)T・・・(17)とすると、ツールのTCP設定と実際のTCPとのずれは、式(18)のように算出される。
Δz=ΔOO” ・・・(17)
【0060】
なお、計算の単純化のため、以下のようにしてもよい。
(1) 円柱形又は球形のツール12を用いる。
(2) 直方体の位置決めブロックを治具22として用いる。
(3) 予めツールの軸線上(例えば、円柱形ならツールの端面中心、球形なら球の中心)にTCPを仮設定して、姿勢を変えずに1回目のタッチセンシング、ツールの軸線を中心に90°回転させた姿勢で2回目のタッチセンシングを実施してもよい。
【0061】
また、センサ14として、接触センサ(接触を感知してON/OFFを出力)や、レーザ距離計を使ってもよい。
【0062】
上述した本発明の方法及び装置によれば、制御装置20により、タッチセンシング工程(A)、座標系設定工程(B)及びツールパラメータ設定工程(C)から構成されるシーケンスを実施するので、ツール12に接触するおそれがない離れた場所から作業者が位置決め用の治具とロボットのTCPの両方をキャリブレーションすることができる。
また、互いに直交する3平面22a,22b,22cを有する治具22を用い、センサ14を用いて前記3平面22a,22b,22cにツール12を接触させるので、作業者の熟練度に依存することなく、安価かつ容易に、高い精度で、位置決め用の治具22とロボット18のTCPの両方をキャリブレーションすることができる。
【0063】
位置決め冶具の代わりに、ワークもしくは作業台の一部を使用した場合でも同様に扱うことが可能である。
【0064】
また、直交する3平面の変わりに、既知の角度で交差している3平面を使用した場合でも、例えばツールの押付け方向を平面に垂直な方向にすることで同様に扱うことが可能である。
【0065】
さらに、本発明は以下の効果を有する。
(1) 従来技術では、TCPの誤差は手先の設計誤差やロボット手先フランジ面16の姿勢誤差に依存するが、この本発明によって手先の設計誤差とフランジ面の姿勢誤差に起因するTCPの位置誤差を補償できる。
また、従来技術では、ロボット操作者の技量によって精度がばらつくおそれがあるが、この本発明ではキャリブレーション自体を自動化できるため、再現性が高い。
(2) 本発明は、外部に特殊な計測器や特殊な冶具を必要としない。位置決め冶具は直方体などの単純形状、普通の精度でよい。
(3) ロボット手先のTCPと外部の校正用冶具とが共に正確な位置がわからない状態から、TCPと冶具との双方をキャリブレーションすることができる。
(4) CPの姿勢誤差がアプリケーションに及ぼす影響が小さい場合には、TCPの位置誤差のみキャリブレーションすることができる。
【0066】
なお、本発明は上述した実施形態に限定されず、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味および範囲内でのすべての変更を含むものである。
【符号の説明】
【0067】
10 キャリブレーション装置、12 ツール、
14 センサ、16 ロボット手先フランジ面、
18 ロボット、20 制御装置、
22 治具、22a 第1平面、
22b 第2平面、22c 第3平面
【特許請求の範囲】
【請求項1】
ワークを加工するためのツールと、該ツールとワークとの接触を検出するセンサと、前記ツールとセンサが取付けられたロボット手先フランジ面を有しこれを3次元空間内で6自由度に数値制御可能なロボットと、前記センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置と、前記ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具もしくは作業台もしくはワークと、を備え、前記制御装置により、
前記ロボットを数値制御して、前記3平面にツールを接触させ各接触点の3次元座標を記憶するタッチセンシング工程(A)と、
前記3次元座標から、前記3平面が交差する点を原点とする座標系を補正する座標系設定工程(B)と、
前記3次元座標から、前記ロボット手先フランジ面に対するツールの基準位置を算出するツールパラメータ設定工程(C)と、から構成されるシーケンスを実施することを特徴とするロボットのキャリブレーション方法。
【請求項2】
前記タッチセンシング工程において、ツールの姿勢を固定し、前記3平面のうち第1平面上の3点と、第2平面上の2点と、第3平面上の1点とにツールを接触させ、
前記座標系設定工程において、前記3点、2点、及び1点の3次元座標から、前記3平面のうち1平面と座標系の2軸を含む平面とが平行で、2平面が交差する1つの稜線と座標系の1軸とが平行な座標系を設定し、
次にツールの姿勢を変えて、第1平面の1点と、第2平面の1点と、第3平面の1点とにツールを接触させ、ツールパラメータの設定値誤差を算出してツールパラメータを補正することを特徴とする請求項1に記載のロボットのキャリブレーション方法。
【請求項3】
ワークを加工するためのツールと、該ツールとワークとの接触を検出するセンサと、前記ツールとセンサが取付けられたロボット手先フランジ面を有しこれを3次元空間内で6自由度に数値制御可能なロボットと、前記センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置と、前記ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具もしくは作業台もしくはワークと、を備え、前記制御装置により、
前記ロボットを数値制御して、前記3平面にツールを接触させ各接触点の3次元座標を記憶するタッチセンシング工程(A)と、
前記3次元座標から、前記3平面が交差する点を原点とする座標系を補正する座標系設定工程(B)と、
前記3次元座標から、前記ロボット手先フランジ面に対するツールの基準位置を算出するツールパラメータ設定工程(C)と、から構成されるシーケンスを実施することを特徴とするロボットのキャリブレーション装置。
【請求項1】
ワークを加工するためのツールと、該ツールとワークとの接触を検出するセンサと、前記ツールとセンサが取付けられたロボット手先フランジ面を有しこれを3次元空間内で6自由度に数値制御可能なロボットと、前記センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置と、前記ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具もしくは作業台もしくはワークと、を備え、前記制御装置により、
前記ロボットを数値制御して、前記3平面にツールを接触させ各接触点の3次元座標を記憶するタッチセンシング工程(A)と、
前記3次元座標から、前記3平面が交差する点を原点とする座標系を補正する座標系設定工程(B)と、
前記3次元座標から、前記ロボット手先フランジ面に対するツールの基準位置を算出するツールパラメータ設定工程(C)と、から構成されるシーケンスを実施することを特徴とするロボットのキャリブレーション方法。
【請求項2】
前記タッチセンシング工程において、ツールの姿勢を固定し、前記3平面のうち第1平面上の3点と、第2平面上の2点と、第3平面上の1点とにツールを接触させ、
前記座標系設定工程において、前記3点、2点、及び1点の3次元座標から、前記3平面のうち1平面と座標系の2軸を含む平面とが平行で、2平面が交差する1つの稜線と座標系の1軸とが平行な座標系を設定し、
次にツールの姿勢を変えて、第1平面の1点と、第2平面の1点と、第3平面の1点とにツールを接触させ、ツールパラメータの設定値誤差を算出してツールパラメータを補正することを特徴とする請求項1に記載のロボットのキャリブレーション方法。
【請求項3】
ワークを加工するためのツールと、該ツールとワークとの接触を検出するセンサと、前記ツールとセンサが取付けられたロボット手先フランジ面を有しこれを3次元空間内で6自由度に数値制御可能なロボットと、前記センサ計測値やツール接触時のロボット位置姿勢を記憶しロボットを制御する制御装置と、前記ツールの作動範囲内に固定され互いに直交もしくは既知の角度で交差する3平面を有する治具もしくは作業台もしくはワークと、を備え、前記制御装置により、
前記ロボットを数値制御して、前記3平面にツールを接触させ各接触点の3次元座標を記憶するタッチセンシング工程(A)と、
前記3次元座標から、前記3平面が交差する点を原点とする座標系を補正する座標系設定工程(B)と、
前記3次元座標から、前記ロボット手先フランジ面に対するツールの基準位置を算出するツールパラメータ設定工程(C)と、から構成されるシーケンスを実施することを特徴とするロボットのキャリブレーション装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2011−152599(P2011−152599A)
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願番号】特願2010−14382(P2010−14382)
【出願日】平成22年1月26日(2010.1.26)
【出願人】(000000099)株式会社IHI (5,014)
【Fターム(参考)】
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願日】平成22年1月26日(2010.1.26)
【出願人】(000000099)株式会社IHI (5,014)
【Fターム(参考)】
[ Back to top ]