(57)【要約】【課題】ロボットアームの周囲にある障害物に干渉することなく、注目点座標系を較正する。【解決手段】ベース座標系Σ０を基準にロボットアーム２０１の設計データに基づいて設定された教示点Ｗを取得する。次に、教示点Ｗに基づくロボットアーム２０１の位置及び姿勢を調整してベース座標系Σ０を基準とする教示点Ｗ´を求める。次に、教示点Ｗに対する教示点Ｗ´の相対姿勢に基づき、教示点Ｗ´を較正することで教示点Ｗａｄｊを求める。そして、教示点Ｗａｄｊの位置及び姿勢と、ベース座標系Σ０を基準とするフランジ座標系Σｅｆの原点の位置及び姿勢とに基づき、フランジ座標系Σｅｆ基準に設定されたＴＣＰを原点とするツール座標系Σｔｃｐを較正する。【選択図】図４
2015147280.tif 000002
【特許請求の範囲】
【請求項１】
基準座標系と、ロボットアームの先端を原点とする先端座標系と、前記先端座標系を基準に設定された注目点を原点とする注目点座標系と、が定義され、
前記注目点が前記基準座標系を基準とする教示点に移動するように前記ロボットアームを動作させた後、前記注目点座標系を基準とする所定方向に前記注目点が前記教示点から移動するように前記ロボットアームを動作させる制御部に対して、前記注目点座標系を較正するロボット較正方法であって、
前記基準座標系を基準に前記ロボットアームの設計データに基づいて設定された設計教示点を取得する設計教示点取得工程と、
前記設計教示点に基づく前記ロボットアームの位置及び姿勢を調整して前記基準座標系を基準とする調整教示点を求める調整教示点取得工程と、
前記設計教示点に対する前記調整教示点の相対姿勢に基づき、前記調整教示点を較正することで前記教示点を求め、該教示点の位置及び姿勢と、前記基準座標系を基準とする前記先端座標系の原点の位置及び姿勢とに基づき、前記注目点座標系を較正する較正工程と、を備えたことを特徴とするロボット較正方法。
【請求項２】
前記ロボットアームの先端にはロボットハンドが取り付けられており、
前記所定方向は、前記ロボットハンドが把持したワークをワーク挿入穴に挿入する際に前記注目点を直線移動させる方向であり、
前記調整教示点取得工程では、前記ロボットハンドに把持治具を把持させて、前記把持治具を前記ワーク挿入穴に対して位置及び姿勢決めすることで、前記調整教示点を求めることを特徴とする請求項１に記載のロボット較正方法。
【請求項３】
ロボットアームの先端にロボットハンドが取り付けられており、
基準座標系と、前記ロボットアームの先端を原点とする先端座標系と、前記先端座標系を基準に設定された注目点を原点とする注目点座標系と、が定義され、
前記注目点が、前記ロボットハンドが把持したワークをワーク挿入穴に挿入する挿入作業を開始する、前記基準座標系を基準とする教示点に移動するように前記ロボットアームを動作させた後、前記注目点座標系を基準とするシフト動作方向に前記注目点が前記教示点からシフト動作するように前記ロボットアームを動作させる制御部に対して、前記注目点座標系を較正するロボット較正方法において、
前記基準座標系を基準に前記ロボットアームの設計データに基づいて設定された設計教示点を取得する設計教示点取得工程と、
前記設計教示点に基づく前記ロボットアームの位置及び姿勢を調整して前記ロボットハンドに把持された把持治具を前記ワーク挿入穴に対して位置及び姿勢決めし、前記基準座標系を基準とする調整教示点を求める調整教示点取得工程と、
前記基準座標系を基準に前記ロボットハンドに把持された前記把持治具が基準面に接触するように前記ロボットアームの設計データに基づいて設定された基準教示点を取得する基準教示点取得工程と、
前記ロボットアームの位置及び姿勢を調整して、前記ロボットハンドに把持された前記把持治具を基準面に接触させたときの前記基準座標系を基準とする調整基準教示点を求める調整基準教示点取得工程と、
前記基準教示点に対する前記調整基準教示点の相対姿勢に基づき、前記調整教示点を較正することで前記教示点を求め、該教示点の位置及び姿勢と、前記基準座標系を基準とする前記先端座標系の原点の位置及び姿勢とに基づき、前記注目点座標系を較正する較正工程と、を備えたことを特徴とするロボット較正方法。
【請求項４】
前記基準面は、前記ロボットアームの基端が固定された面であることを特徴とする請求項３に記載のロボット較正方法。
【請求項５】
前記調整教示点取得工程では、調整治具を用いて前記ワーク挿入穴に対する前記把持治具の位置及び姿勢決めをすることを特徴とする請求項２乃至４のいずれか１項に記載のロボット較正方法。
【請求項６】
前記調整治具が、シックネスゲージであることを特徴とする請求項５に記載のロボット較正方法。
【請求項７】
前記調整治具が、前記把持治具の先端面に接触する第１接触面と、前記把持治具の外周面に接触する第２接触面とを有し、前記ワーク挿入穴に装着されるように構成されていることを特徴とする請求項５に記載のロボット較正方法。
【請求項８】
前記把持治具が、前記ワーク挿入穴に挿入するワークであることを特徴とする請求項２乃至７のいずれか１項に記載のロボット較正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームの先端に原点が設定された先端座標系を基準に設定された注目点を原点とする注目点座標系を較正するロボット較正方法に関する。
【背景技術】
【０００２】
近年、ロボットを使用して人間の動作を模した組立を行うロボット装置が開発されている。この種のロボットは、多関節型のロボットアームの先端にロボットハンド等のツールが取り付けられて構成されている。また、ロボットには、制御装置が接続されており、制御装置には、ロボットを動作させて制御装置に教示点を設定する入力装置が接続されている。
【０００３】
ロボットの動作を指定する方法として、指定した位置及び姿勢を示す教示点間を移動する方法と、教示点から指定した方向に指定した移動量でロボットの先端を動作させるシフト動作を行う方法とがある。例えば、ロボットハンドに把持させた部品を環状の部品に挿入する場合、環状の部品の穴入口に教示点を設定し、穴入口から穴奥までの方向と距離を指定して、教示点から指定した移動量分だけロボットの先端を動作させるシフト動作を使用する。
【０００４】
教示点は、基準座標系の原点からの位置を表す３つの距離情報と、姿勢を表す３つの角度情報の６つの情報を持つパラメータで表される。教示点を制御装置に設定する作業（教示作業）では、ティーチングペンダントなどの入力装置でロボットを動作させて、目的の位置及び姿勢でパラメータの取得を行う。
【０００５】
ロボットの先端のシフト動作は、ユーザが任意に設定することができる注目点を原点とする注目点座標系を基準に行われる。一般に、この注目点として、ツール又はツール近傍に設定したツールセンターポイント（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ：ＴＣＰ）が用いられ、ＴＣＰを原点とする座標系は、一般にツール座標系Σｔｃｐと呼ばれている。ＴＣＰは、ロボットアームの先端を原点とする先端座標系（所謂、フランジ座標系）Σｅｆで表した位置を表す３つの距離情報と、姿勢を表す３つの角度情報の６つの情報を持つパラメータである。
【０００６】
このとき、ロボットアームとツールとの間に傾きが発生しなければ、シフト動作方向は教示点から最終到達位置まで直進で動作することで、挿入作業が行われる。しかし、ツールの重量やツールが把持した部品の重量、ロボットアームとツールとの間の取付誤差等により、ツールがロボットアームに対して傾きが生じる場合がある。
【０００７】
ツールがロボットアームに対して傾いていると、ロボットアームを作業開始の位置及び姿勢に動作させたときに、実空間ではＴＣＰが教示点からずれた位置及び姿勢となる。そして、この状態でロボットアームをシフト動作方向へ移動させると、ＴＣＰが目標とする最終到達位置からずれた位置に到達してしまい、挿入作業が達成されない場合があった。
【０００８】
そのため、従来は以下のような技術を用いて、ツール座標系Σｔｃｐを較正していた。特許文献１には、接触を検知するセンサと既知の形状の治具を使用し、位置決めをした治具の３つの面にセンサを接触させて治具の形状と姿勢を測定し、理想状態との差を計算することでツール座標系Σｔｃｐの較正を行うものが提案されている。また、特許文献２には、距離・変位を測定するセンサと既知の形状の治具を使用し、既知の治具までの距離・変位を測定し、理想状態との差を計算することで、ツール座標系Σｔｃｐの較正を行うものが提案されている。このように、従来は、他種多様なセンサを用い、較正用の治具を計測することにより較正値を求め、ツール座標系Σｔｃｐを較正していた。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１５２５９９号公報
【特許文献２】特開２０１１−１４８０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来のようにセンサを用いたツール座標系の較正方法では、センサで治具の周囲を計測するために、ロボットアームを、複数の位置及び姿勢に変更する必要があった。そのため、計測する場所の周囲でロボットアームが様々な位置及び姿勢をとることができる広い空間が必要であった。
【００１１】
ところが、例えば１台のロボットで複数の部品を組立てるようなロボット装置では、計測する場所の周囲に複数の治工具などが密集していることが多い。そのため、従来の方法ではロボットアームの周囲に配置された治工具が、計測する際に動作させるロボットアームの障害物となり、広い空間が確保できず、ツール座標系の較正が困難であった。
【００１２】
そこで、本発明は、ロボットアームの周囲にある障害物に干渉することなく、注目点座標系を較正することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、基準座標系と、ロボットアームの先端を原点とする先端座標系と、前記先端座標系を基準に設定された注目点を原点とする注目点座標系と、が定義され、前記注目点が前記基準座標系を基準とする教示点に移動するように前記ロボットアームを動作させた後、前記注目点座標系を基準とする所定方向に前記注目点が前記教示点から移動するように前記ロボットアームを動作させる制御部に対して、前記注目点座標系を較正するロボット較正方法であって、前記基準座標系を基準に前記ロボットアームの設計データに基づいて設定された設計教示点を取得する設計教示点取得工程と、前記設計教示点に基づく前記ロボットアームの位置及び姿勢を調整して前記基準座標系を基準とする調整教示点を求める調整教示点取得工程と、前記設計教示点に対する前記調整教示点の相対姿勢に基づき、前記調整教示点を較正することで前記教示点を求め、該教示点の位置及び姿勢と、前記基準座標系を基準とする前記先端座標系の原点の位置及び姿勢とに基づき、前記注目点座標系を較正する較正工程と、を備えたことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ロボットアームが周囲の障害物に干渉することなく、注目点座標系の較正を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係るロボット装置の概略構成を示す説明図である。
【図２】第１実施形態に係るロボット装置の制御装置の構成を示すブロック図である。
【図３】第１実施形態に係るロボット較正方法を示すフローチャートである。
【図４】第１実施形態に係るロボット較正方法の各工程におけるロボットの状態を示す側面図である。
【図５】第２実施形態に係るロボット較正方法の各工程におけるロボットの状態を示す側面図である。
【図６】第２実施形態に係るロボット較正方法を示すフローチャートである。
【図７】第２実施形態に係るロボット較正方法の各工程におけるロボットの状態を示す側面図である。
【図８】第３実施形態に係るロボット装置を用いたロボット較正方法に使用する調整治具を示す斜視図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１７】
［第１実施形態］
図１は、本発明の第１実施形態に係るロボット装置の概略構成を示す説明図である。なお、図１（ａ）は、ワークをワーク挿入穴へシフト動作で挿入する、挿入作業を行うロボット装置を表しており、ロボットの設計値で指定したワーク挿入前の教示点の位置及び姿勢にロボットが移動した状態を示している。図１（ｂ）は、微調整作業により調整されたロボットの位置及び姿勢を示している。
【００１８】
ロボット装置１００は、ロボット２００と、ロボット２００に接続され、ロボット２００の動作を制御する制御部としての制御装置３００と、を備えている。また、ロボット装置１００は、制御装置３００に接続され、ユーザの操作によりロボット２００の動作を教示する教示部として機能する入力装置４００を備えている。
【００１９】
ロボット２００は、多軸（例えば６軸）の垂直多関節型のロボットアーム２０１と、ツールとしてのロボットハンド２０２と、を有している。ロボットアーム２０１は、６つのリンクが関節で回転又は旋回可能に連結されて構成されている。
【００２０】
ロボットアーム２０１の基端は、架台１０１の上面（固定面）１０１Ａに固定されている。ロボットアーム２０１の先端のフランジ面２１０には、ロボットハンド２０２が取り付けられている。ロボットハンド２０２は、関節を有するフィンガーを複数（例えば３つ）有し、挿入物であるワーク１０４の把持又は把持解放を行う。
【００２１】
入力装置４００は、ユーザが操作可能に構成されており、制御装置３００に設定するパラメータの編集や新規作成、ユーザの操作に応じた操作指令を制御装置３００に出力する。この入力装置４００は、例えばティーチングペンダントやハンディーターミナルである。
【００２２】
制御装置３００は、入力装置４００から入力した操作指令、又は予め設定された教示点のパラメータに基づいて、ロボットアーム２０１及びロボットハンド２０２の動作を制御する。つまり、制御装置３００には、ロボットアーム２０１及びロボットハンド２０２を動作させるためのパラメータが保存されており、このパラメータを用いてロボットアーム２０１及びロボットハンド２０２の制御を行っている。
【００２３】
なお、架台１０１の上面１０１Ａには、ワーク１０４が挿入される被挿入物であるワーク固定台１０７、ワーク置台１０８、及びパーツ供給台１０９等が配置されている。ワーク固定台１０７は、架台１０１の上面１０１Ａに固定されている。ワーク固定台１０７には、ワーク１０４を挿入するためのワーク挿入穴１１１が形成されている。ワーク固定台１０７の周囲には、ワーク置台１０８及びパーツ供給台１０９が局所に密集して配置されており、ロボット２００が動作できる位置及び姿勢が限られている状態である。
【００２４】
ロボットアーム２０１の制御を行うために使用する座標系は、主に３種類存在しており、それぞれ異なった役割を果たしている。
【００２５】
１つ目は、ロボットアーム２０１の基端を架台１０１に設置した面と、ロボットアーム２０１の１軸の中心が直交した点を原点としたベース座標系Σ０である。このベース座標系Σ０は、ロボットアーム２０１の基準座標系として利用され、ユーザによる編集は行うことができない。
【００２６】
２つ目は、ロボットアーム２０１の先端であるフランジ面２１０の中心を原点とした先端座標系としてのフランジ座標系Σｅｆである。このフランジ座標系Σｅｆは、ロボットアーム２０１の位置及び姿勢に関わらず、常にフランジ面２１０上に存在する座標系であり、主に教示作業のロボット２００の先端の操作で利用され、ユーザによる編集は行うことができない。
【００２７】
３つ目は、ユーザが任意に設定することができる注目点としてのツールセンターポイント（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ：ＴＣＰ）を原点とした注目点座標系としてのツール座標系Σｔｃｐである。
【００２８】
ＴＣＰとは、フランジ座標系Σｅｆの原点に対する位置を表す３つの距離情報［Ｘｔｃｐ，Ｙｔｃｐ，Ｚｔｃｐ］と、姿勢を表す３つの角度情報［αｔｃｐ，βｔｃｐ，γｔｃｐ］の６つの情報を持つパラメータである。
【００２９】
ツール座標系Σｔｃｐは、ロボットアーム２０１の位置及び姿勢に関わらず、常にフランジ面２１０から一定の位置姿勢を保った場所に存在する座標系である。ツール座標系Σｔｃｐは、主に教示作業のロボット２００の先端の操作や、シフト動作方向の指定で利用される。ただし、フランジ座標系Σｅｆと異なり、入力装置４００でユーザが任意に編集・新規追加することができるＴＣＰを原点とした座標系のため、用途によって編集が可能な座標系である。なお、ツール座標系Σｔｃｐは、ツールとしてのロボットハンド２０２の先端や、ロボットハンド２０２が把持するワーク１０４の先端の位置及び姿勢に設定するのがよい。
【００３０】
第１実施形態では、ツール座標系Σｔｃｐは、ワーク１０４の先端に設定されているものとしている。つまり、ＴＣＰは、フランジ面２１０からロボットハンド２０２で把持したワーク１０４の先端までの距離の設計値を入力したパラメータとする。
【００３１】
ＴＣＰの目標とする位置及び姿勢を示すパラメータが教示点Ｗとして制御装置３００に保存されている。教示点Ｗとは、ＴＣＰの位置及び姿勢を、ベース座標系Σ０の原点に対する位置を表す３つの距離情報［Ｘ，Ｙ，Ｚ］と、姿勢を表す３つの角度情報［α，β，γ］として計算したパラメータである。
【００３２】
第１実施形態における教示点Ｗは、ワーク１０４を挿入する前の位置及び姿勢の設計データを入力したパラメータとし、ＴＣＰを一致させる位置及び姿勢である。
【００３３】
つまり、教示点Ｗは、例えば不図示のコンピュータにより、ロボットアーム２０１の設計データに基づいて求められた設計教示点であり、作業開始点（作業開始位置及び作業開始姿勢）となるように設定されている。
【００３４】
教示点Ｗは、基準座標系であるベース座標系Σ０を基準に設定される。以下、制御装置３００が、ロボットアーム２０１を教示点Ｗに従って動作させた後、ツール座標系Σｔｃｐを基準とする所定方向にＴＣＰが教示点Ｗから移動するようにロボットアーム２０１を動作させる場合ついて説明する。
【００３５】
ＴＣＰが作業開始点である教示点Ｗの位置及び姿勢のとき、ツール座標系ΣｔｃｐのＺ軸の方向の直線上には、ワーク挿入穴１１１の奥に挿入目標となる最終到達位置Ｅが存在している。ＴＣＰを、ツール座標系Σｔｃｐを基準とする所定方向であるＺ軸のシフト動作方向１１２へ、教示点Ｗから最終到達位置Ｅまで所定の移動距離、シフト動作させると、シフト動作方向１１２の直線上をロボット２００の先端が移動する。
【００３６】
ロボットハンド２０２とフランジ面２１０との間に組付誤差等による傾きＡが存在しなければ、ワーク１０４の中心軸とワーク挿入穴１１１の中心軸とが一致し、シフト動作方向１１２へ移動させると最終到達位置Ｅまで移動するため、挿入が可能となる。
【００３７】
しかし、例えばロボットハンド２０２とフランジ面２１０との間に組付誤差がある場合、図１（ａ）に示すように、フランジ面２１０に対する垂線方向と、ロボットハンド２０２の中心線方向との間に傾きＡが発生することがある。なお、フランジ面２１０に対するロボットハンド２０２の傾きＡは、組付誤差以外にも、例えばロボットハンド２０２の重量やロボットハンド２０２が把持したワーク１０４の重量によっても発生することがある。特に、傾きＡの発生がワーク１０４に起因する場合、ロボットハンド２０２が把持するワーク１０４の種類（重量）によって、その傾き量が変わる。
【００３８】
そこで、第１実施形態では、図１（ｂ）に示すように、ワーク１０４の挿入方向１１３の直線上に、ワーク挿入穴１１１の奥にある最終到達位置Ｅを一致させる微調整作業を、ロボットハンド２０２がワーク１０４を把持した状態でユーザが行う。この微調整作業は、ユーザが入力装置４００を操作してロボットアーム２０１を動作させることで行う。
【００３９】
この微調整作業は、ロボットアーム２０１の各軸の関節値を調整して行っても良いし、座標系を選択し、選択した座標系の位置方向［Ｘ，Ｙ，Ｚ］、回転方向［Ｒｘ，Ｒｙ，Ｒｚ］の変位量を指定してＴＣＰを移動させる調整を行っても良い。
【００４０】
微調整作業により調整された教示点（調整教示点）を教示点Ｗ´として、入力装置４００をユーザが操作して、制御装置３００に保存する。この教示点Ｗ´は、基準座標系であるベース座標系Σ０を基準に設定される。
【００４１】
この微調整作業により、ワーク１０４の挿入方向１１３の直線上に最終到達位置Ｅが一致するよう、ロボットアーム２０１の位置及び姿勢を調整することができる。しかし、この位置及び姿勢でツール座標系ΣｔｃｐのＺ軸の方向へシフト動作を行っても、傾きＡ分傾いたシフト動作方向１１２へ移動してしまうため、ワーク挿入穴１１１の淵に接触してしまい、挿入できない場合がある。
【００４２】
そこで、第１実施形態では、シフト動作により、ワーク１０４の挿入を行うためには、傾きＡ、即ちツール座標系Σｔｃｐを較正し、ツール座標系Σｔｃｐをワーク１０４の挿入方向１１３とシフト動作方向１１２が一致した座標系とする。
【００４３】
以下、制御装置３００が、シフト動作を行うために利用するツール座標系Σｔｃｐを較正する場合について説明する。
【００４４】
図２は、本発明の第１実施形態に係るロボット装置１００の制御装置３００の構成を示すブロック図である。制御装置３００は、外部入出力部３０１、パラメータ保存部３０２、軌道計算部３０３、制御指令部３０４及び較正計算部３０５を有している。
【００４５】
外部入出力部３０１は、入力装置４００からの操作指令やパラメータの編集・新規作成などの情報の入力を受ける。パラメータ保存部３０２は、記憶装置であり、外部入出力部３０１で入力された情報は、パラメータ保存部３０２にて保存される。
【００４６】
また、外部入出力部３０１は、パラメータ保存部３０２に保存されているパラメータを読み出して入力装置４００へ出力する。入力装置４００は、外部入出力部３０１から入力したパラメータを、画面に表示させる。
【００４７】
軌道計算部３０３は、パラメータ保存部３０２に保存されているパラメータを読み出し、読み出したパラメータに基づいてＴＣＰの軌道の計算を行い、制御指令部３０４へロボットアーム２０１の各軸の変位情報を出力する。制御指令部３０４は、軌道計算部３０３から入力した各軸の変位情報と、ロボットアーム２０１からフィードバックされる現在値情報とに基づいて、ロボットアーム２０１の位置及び姿勢を制御する。軌道計算部３０３は、較正が必要な場合、較正計算部３０５に較正計算の依頼を行う。
【００４８】
較正計算部３０５は、パラメータ保存部３０２に保存されているパラメータを基に較正を行い、較正結果をパラメータ保存部３０２に保存し、軌道計算部３０３へ較正完了を報告する。較正が完了すると、軌道計算部３０３はパラメータ保存部３０２に保存された較正結果を基に再計算を行い、ロボットアーム２０１の制御に反映する。
【００４９】
軌道計算部３０３及び較正計算部３０５は、例えばＣＰＵ等の演算装置（演算部）で構成され、ＣＰＵが記憶装置からプログラムを読み出して実行することにより、ツール座標系Σｔｃｐを較正するロボット較正方法の各工程を実行する。
【００５０】
次に、ツール座標系Σｔｃｐの較正方法について説明する。図３は、本発明の第１実施形態に係るロボット較正方法を示すフローチャートである。図４は、本発明の第１実施形態に係るロボット較正方法の各工程におけるロボットの状態を示す側面図である。
【００５１】
第１実施形態では、設計値で設定した教示点Ｗ、及び微調整を行った教示点Ｗ´を用いてツール座標系Σｔｃｐの較正を行う手順について詳しく説明する。
【００５２】
まず、入力装置４００は、ユーザの操作により指定されたＴＣＰの設計値を外部入出力部３０１に出力する。制御装置３００の外部入出力部３０１は、ロボットアーム２０１の制御に必要なパラメータの設定作業として、入力装置４００からＴＣＰの設計値を入力（取得）する。外部入出力部３０１が入力したＴＣＰのパラメータは、パラメータ保存部３０２に保存される。較正計算部３０５は、パラメータ保存部３０２に保存されているＴＣＰのパラメータをパラメータ保存部３０２から読み出して入力（取得）する（Ｓ１：注目点設定工程）。ＴＣＰは、前述したように、フランジ座標系Σｅｆの原点に対する位置及び姿勢の情報［Ｘｔｃｐ，Ｙｔｃｐ，Ｚｔｃｐ，αｔｃｐ，βｔｃｐ，γｔｃｐ］のパラメータで表される。
【００５３】
具体的に説明すると、ステップＳ１では、ＴＣＰをパラメータＰｔｃｐとしてパラメータ保存部３０２に保存する。なお、第１実施形態での座標表現は、オイラー角ＺＹＸとして説明を行う。
【００５４】
【数１】
2015147280.tif 000003
【００５５】
［Ｘ，Ｙ，Ｚ］は位置情報であり、各ベクトル方向の座標を表している。［α，β，γ］は姿勢情報であり、オイラー角における回転角度を表している。
【００５６】
較正計算部３０５は、パラメータＰｔｃｐを用い、４行４列の同次変換行列Ｔにパラメータの値を代入して、ロボットアーム２０１の位置及び姿勢の計算を行う。
【００５７】
以下の数２から数４に同次変換行列Ｔの計算式を示す。なお、ｎは親子関係を表しており、例えば、ＴＣＰの場合、ｎは親となるフランジ面２１０を表す記号ｅｆ、ｎ＋１は子となるＴＣＰを表すｔｃｐというように、ｎを基準としたｎ＋１までの位置姿勢を表現している。
【００５８】
【数２】
2015147280.tif 000004
【００５９】
数２で示しているＲは姿勢を表す３行３列の回転行列であり、数３で示す行列の簡略表示である。
【００６０】
【数３】
2015147280.tif 000005
【００６１】
また、数２に示すｑは位置を表す３行１列の位置行列であり、数４に示す行列の簡略表示である。
【００６２】
【数４】
2015147280.tif 000006
【００６３】
また、数２で示している０は、１行３列の０行列の簡略表示とする。較正計算部３０５は、数２，３，４へ数１を代入し、ＴＣＰの同次変換行列ｔｃｐｅｆＴを計算する。
【００６４】
【数５】
2015147280.tif 000007
【００６５】
次に、入力装置４００は、ユーザの操作により指定された挿入前の位置及び姿勢となる（ＴＣＰが作業開始点となる）教示点Ｗのパラメータを出力する。教示点Ｗは、作業開始点となるようにロボットアーム２０１のリンク長などの設計データに基づいて設定された設計教示点であり、例えばコンピュータ等のシミュレータを用いたオフライン教示にて求められた教示点である。制御装置３００の外部入出力部３０１は、入力装置４００から教示点Ｗのパラメータを入力（取得）する。外部入出力部３０１が入力した教示点Ｗのパラメータは、パラメータ保存部３０２に保存される。較正計算部３０５は、パラメータ保存部３０２に保存されている教示点Ｗのパラメータをパラメータ保存部３０２から読み出して取得する（Ｓ２：設計教示点取得工程）。
【００６６】
教示点Ｗは、ベース座標系Σ０の原点を基準とするＴＣＰの目標の位置及び姿勢を表すパラメータＰｗであり、パラメータ保存部３０２に保存される。教示点Ｗは、設計値のため、組付誤差等によって発生する傾きＡが考慮されていないパラメータである。
【００６７】
【数６】
2015147280.tif 000008
【００６８】
較正計算部３０５は、数６を数２，３，４へ代入し、教示点Ｗの同次変換行列ｗ０Ｔ（親となるΣ０は０と表記）を計算する。
【００６９】
【数７】
2015147280.tif 000009
【００７０】
ステップＳ１，Ｓ２により設定されたＴＣＰと教示点Ｗを用いることで、ＴＣＰが教示点Ｗに一致するロボットアーム２０１の各軸の関節値［θｗ１，θｗ２，θｗ３，θｗ４，θｗ５，θｗ６］を逆運動学計算により計算し、姿勢を決定することができる。
【００７１】
ＴＣＰが教示点Ｗと一致すれば、ロボット２００の各軸の同次変換行列ｎ＋１ｎＴ（１軸から６軸は、ｎ＝１から６と表記）の積より、以下の同次変換行列の関係性が成り立つ。
【００７２】
なお、各軸の同次変換行列に必要なリンク長やオフセット角度などのパラメータは、パラメータ保存部３０２に事前に保存されているものとする。
【００７３】
【数８】
2015147280.tif 000010
【００７４】
理想状態の組付誤差が無いロボットでは、図４（ａ）に示すように、ツール座標系ΣｔｃｐのＺ方向に移動するシフト動作方向１１２と、ワーク１０４の挿入方向１１３は一致している。よって理想状態では、シフト動作方向１１２へ移動させると最終到達位置Ｅまで直進で移動することができるため、ツール座標系Σｔｃｐの較正を行う必要はない。
【００７５】
しかし、実際には、図４（ｂ）に示すように、教示点Ｗのパラメータに基づいてロボットアーム２０１を動作させても、組付誤差等によるロボットハンド２０２の傾きＡにより、ＴＣＰが実空間上の作業開始点からずれた位置及び姿勢へ移動する。図４（ｂ）に示す状態では、シフト動作方向１１２は最終到達位置Ｅの方向へ向いているが、ワーク１０４の挿入方向１１３は、傾きＡ分傾いた方向に向いているため、挿入することができない。そのため、ワーク１０４をワーク挿入穴１１１へ挿入するためには、傾きＡを微調整する作業が必要になる。
【００７６】
そこで、まず、ユーザは、入力装置４００を操作して制御装置３００に教示点Ｗに基づいてロボットアーム２０１を動作させるよう指令を送る。これにより、制御装置３００の制御指令部３０４は、図４（ｂ）に示すように、教示点Ｗのパラメータに基づいてロボットアーム２０１を動作させる。次に、ユーザは、入力装置４００を操作して制御装置３００に操作指令（各関節の角度指令又はＴＣＰの位置及び姿勢の指令）を送る。操作指令を受信した制御装置３００の制御指令部３０４は、操作指令に応じてロボットアーム２０１を動作させる。
【００７７】
つまり、ユーザが入力装置４００を操作することでロボットアーム２０１を動作させ、ユーザの目視により、実空間におけるＴＣＰの位置及び姿勢を微調整する、オンライン教示を行う。なお、調整に先立ってロボットアーム２０１に教示点Ｗに基づく動作を行わずに、直接、ユーザが目視しながらロボットアーム２０１の位置及び姿勢を調整してもよい。
【００７８】
このように、教示点Ｗに基づくロボットアーム２０１の位置及び姿勢を調整するオンライン教示を行うことで、軌道計算部３０３が、調整後のロボットアーム２０１の位置及び姿勢から教示点（調整教示点）Ｗ´を作成する（Ｓ３：調整教示点取得工程）。
【００７９】
このステップＳ３では、ロボットハンド２０２に把持治具としてワーク１０４を把持させ、ワーク固定台１０７のワーク挿入穴１１１に対してロボットハンド２０２に把持されたワーク１０４を位置及び姿勢決めすることで、教示点Ｗ´を求める。なお、把持治具がワーク挿入穴１１１に組付ける実際のワーク１０４としたが、把持治具が、ワーク１０４と同じ形状又はワーク１０４と見做せる形状の標準器であってもよい。
【００８０】
つまり、ユーザが入力装置４００でロボットアーム２０１を操作し、制御装置３００がワーク挿入前の作業開始点へロボットアーム２０１の位置及び姿勢を微調整し、入力装置４００から取得した保存命令により微調整後の教示点Ｗ´を作成する。
【００８１】
具体的には、外部入出力部３０１は、入力装置４００から入力した保存命令を軌道計算部３０３に出力し、軌道計算部３０３は、保存命令を受けた現在の位置及び姿勢のパラメータを、教示点Ｗ´としてパラメータ保存部３０２に保存させる。
【００８２】
このステップＳ３により、ワーク１０４の挿入方向１１３の直線上に最終到達位置Ｅが存在するように入力装置４００で微調整作業が行われる。
【００８３】
以下、この微調整作業について詳細に説明する。第１実施形態の微調整作業は、まず、入力装置４００によりロボットアーム２０１の操作を行い、ワーク挿入穴１１１の入口側面とワーク１０４の先端面とを合わせる。この面合わせには、ワーク挿入穴１１１の入り口側面とワーク１０４の先端面との間にユーザが調整治具としてのシックネスゲージを差し込み、傾きを調整する。
【００８４】
次に、傾きを調整した後にワーク挿入穴１１１とワーク１０４の中心位置を合わせる。この中心位置合わせには、ワーク１０４の側面にシックネスゲージを当て、ワーク挿入穴１１１にシックネスゲージを差し込み、全ての側面でシックネスゲージが差し込める位置に調整する。
【００８５】
以上、ステップＳ３では、調整治具としてシックネスゲージを用いてワーク固定台１０７のワーク挿入穴１１１に対するワーク１０４の位置及び姿勢決めをする。
【００８６】
この操作における微調整作業は、従来のセンサと治具を使用した測定における姿勢よりも狭い範囲で行うことができるため、周囲に障害物があったとしても行うことができる。
【００８７】
図４（ｃ）は入力装置４００による微調整作業により、ロボット２００の姿勢をワーク１０４の挿入方向１１３の直線上に最終到達位置Ｅが存在するように微調整を行った後の状態を表している。
【００８８】
この微調整後の位置及び姿勢を示す教示点Ｗ´が、パラメータＰｗ´としてパラメータ保存部３０２に保存される。
【００８９】
【数９】
2015147280.tif 000011
【００９０】
教示点Ｗ´のパラメータＰｗ´の行列は、ロボットアーム２０１の各軸の関節値［θｗ´１，θｗ´２，θｗ´３，θｗ´４，θｗ´５，θｗ´６］と、ＴＣＰを用いて順運動学計算により計算することができ、以下の関係式が成り立つ。
【００９１】
【数１０】
2015147280.tif 000012
【００９２】
しかし、この状態では、図４（ｃ）に示すように、シフト動作方向１１２の直線上に最終到達位置Ｅが存在せず、シフト動作を行うと最終到達位置Ｅ´へ移動するため、ワーク１０４をワーク挿入穴１１１へ挿入することができない。
【００９３】
そこで、制御装置３００の較正計算部３０５が、教示点Ｗ及び教示点Ｗ´を用いて、ツール座標系Σｔｃｐの較正を行う（Ｓ４，Ｓ５：較正工程）。
【００９４】
以下、この較正工程について説明する。まず、較正計算部３０５は、ステップＳ２で取得した教示点Ｗ、及びステップＳ３で取得した教示点Ｗ´を用いてＴＣＰの較正を行い（Ｓ４：注目点較正工程）、新たなＴＣＰ´を作成する。
【００９５】
このステップＳ４について具体的に説明すると、まず、較正計算部３０５は、教示点Ｗ及び教示点Ｗ´を用いて、組付誤差により発生する傾きＡを算出する。
【００９６】
【数１１】
2015147280.tif 000013
【００９７】
傾きＡ（教示点Ｗに対する教示点Ｗ´の相対姿勢）は、数１１の回転行列ＲＡで表される。
【００９８】
次に、較正計算部３０５は、数１０の回転行列ＲＷ´及び数１１の回転行列ＲＡを用いて、教示点Ｗ´から傾きＡを除いた回転行列Ｒｗ＿ａｄｊを求める。
【００９９】
【数１２】
2015147280.tif 000014
【０１００】
較正計算部３０５は、この数１２の回転行列Ｒｗ＿ａｄｊと数１０の位置行列ｑｗ´より、較正値を反映した教示点Ｗａｄｊの姿勢となる同次変換行列ｗ＿ａｄｊ０Ｔを求める。
【０１０１】
【数１３】
2015147280.tif 000015
【０１０２】
次に、較正計算部３０５は、数１３より、オイラー角［αｗ＿ａｄｊ，βｗ＿ａｄｊ，γｗ＿ａｄｊ］を計算し、教示点ＷａｄｊのパラメータＰｗ＿ａｄｊを求め、パラメータ保存部３０２に保存させる。
【０１０３】
【数１４】
2015147280.tif 000016
【０１０４】
即ち、較正計算部３０５は、教示点Ｗに対する教示点Ｗ´の相対姿勢（回転行列ＲＡ）に基づき、教示点Ｗ´を較正することで教示点Ｗａｄｊを求めている。なお、Ｘｗ＿ａｄｊ，Ｙｗ＿ａｄｊ，Ｚｗ＿ａｄｊは、ＸＷ´，ＹＷ´，ＺＷ´である。
【０１０５】
次に、較正計算部３０５は、現在、教示点Ｗａｄｊの位置及び姿勢となっているロボットアーム２０１の各軸の関節値［θｗ´１，θｗ´２，θｗ´３，θｗ´４，θｗ´５，θｗ´６］を求める。そして、較正計算部３０５は、この計算結果に基づき、ベース座標系Σ０を基準としたフランジ座標系Σｅｆの原点の位置及び姿勢を計算する。つまり、較正計算部３０５は、ベース座標系Σ０を基準としたフランジ面２１０の位置及び姿勢を順運動学により計算して、同次変換行列ｅｆ０Ｔを計算する。
【０１０６】
【数１５】
2015147280.tif 000017
【０１０７】
次に、較正計算部３０５は、数１３と数１５により、新しいＴＣＰ´を計算するために、同次変換行列ｔｃｐ´ｅｆＴを計算する。
【０１０８】
【数１６】
2015147280.tif 000018
【０１０９】
較正計算部３０５は、数１６より、位置［Ｘｔｃｐ´，Ｙｔｃｐ´，Ｚｔｃｐ´］及びオイラー角［αｔｃｐ´，βｔｃｐ´，γｔｃｐ´］を計算し、新しいＴＣＰ´のパラメータＰｔｃｐ´をパラメータ保存部３０２に保存させる。
【０１１０】
【数１７】
2015147280.tif 000019
【０１１１】
以上により、新しいＴＣＰ´を作成する。即ち、較正計算部３０５は、ベース座標系Σ０を基準とする教示点Ｗａｄｊの位置及び姿勢と、ベース座標系Σ０を基準とするフランジ座標系Σｅｆの原点の位置及び姿勢とに基づき、フランジ座標系Σｅｆを基準とする、較正したＴＣＰ´を求める。
【０１１２】
次に、軌道計算部３０３は、較正したＴＣＰ´を原点とした新たなツール座標系Σｔｃｐ´を定義する（Ｓ５）。
【０１１３】
図４（ｄ）は、較正作業により、新しい教示点Ｗａｄｊと新しいＴＣＰ´を作成した後を示しており、この図４（ｄ）を用いてステップＳ５を説明する。
【０１１４】
ステップＳ５により、新しいＴＣＰ´を原点とした新しいツール座標系Σｔｃｐ´を定義する。ツール座標系Σｔｃｐ´のベクトル方向はそれぞれベース座標系Σ０に対して、数１６の同次変換行列ｗ＿ａｄｊｅｆＴのＲｗ＿ａｄｊで表すことができる。このツール座標系Σｔｃｐ´のＺ方向は、ワーク１０４の挿入方向１１３と平行であり、シフト動作を行って挿入が可能となる。ツール座標系Σｔｃｐ´のＺ方向へのシフト動作軌道を作成する場合、任意のシフト動作量を与えると、最終到達位置Ｅ´´の位置の計算が行われる。このとき、教示点Ｗａｄｊから最終到達位置Ｅ´´までの距離をＬとすると、シフト動作後の教示点は、教示点Ｗａｄｊから以下のパラメータＰｅ移動した位置及び姿勢となる。
【０１１５】
【数１８】
2015147280.tif 000020
【０１１６】
よって、目標となる最終到達位置Ｅ´´の教示点Ｗｅ´´は、以下の同次変換行列ｅ´´０Ｔで計算される。
【０１１７】
【数１９】
2015147280.tif 000021
【０１１８】
数１３及び数１９より、教示点Ｗａｄｊと教示点Ｗｅ´´の２点の教示点が求められるため、「Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ」で動作を指定することができるようになる。軌道計算部３０３は、ロボット２００の先端（ＴＣＰ）を直線で移動する軌道を計算する。
【０１１９】
最後に、計算された軌道を基に、制御指令部３０４がロボットアーム２０１の動作を制御することでＴＣＰが直線動作し、ワーク１０４をワーク挿入穴１１１に挿入することが可能となる。
【０１２０】
以上のステップにより、定義されたツール座標系Σｔｃｐ´を利用し、シフト動作を行うことで、教示点Ｗａｄｊの位置及び姿勢から最終到達位置Ｅまで直線移動することができる。
【０１２１】
以上、第１実施形態によれば、ロボット２００が動作できる位置及び姿勢が限られている場合でも、ロボットアームが周囲の障害物に干渉することなく、ツール座標系を較正することができる。
【０１２２】
また、ツール座標系の較正にセンサを必要としないためコストダウンを図ることができ、センサによる計測を必要としないため立上げ時間（教示時間）の短縮を図ることができる。
【０１２３】
［第２実施形態］
次に、本発明の第２実施形態に係るロボット装置を用いたツール座標系を較正するロボット較正方法について説明する。図５は、本発明の第２実施形態に係るロボット較正方法の各工程におけるロボットの状態を示す側面図である。図６は、本発明の第２実施形態に係るロボット較正方法を示すフローチャートである。図７は、本発明の第２実施形態に係るロボット較正方法の各工程におけるロボットの状態を示す側面図である。なお、第２実施形態のロボット装置の構成は、上記第１実施形態のロボット装置の構成と同様であるため、同一符号を付して説明を省略する。
【０１２４】
第２実施形態では、較正に影響する組付誤差要因が上記第１実施形態と相違する。即ち、第２実施形態では、上記第１実施形態で説明したフランジ面２１０に対するロボットハンド２０２に発生する傾きＡに加え、架台１０１の上面１０１Ａとワーク固定台１０７との間に発生する組付誤差による傾きＢが存在している。つまり、ワーク１０４をワーク挿入穴１１１へ挿入を行うためには、架台１０１に対して傾きＢ分だけ傾いた方向へ移動させるシフト動作を行う必要がある。
【０１２５】
第２実施形態においても、ロボットハンド２０２が把持したワーク１０４をワーク固定台１０７のワーク挿入穴１１１に挿入する挿入作業を行う場合について説明する。そして、制御装置３００（図１及び図２参照）が、挿入作業を開始する教示点にＴＣＰを移動させた後、ＴＣＰがシフト動作方向１１２に教示点からシフト動作するようにロボットアーム２０１を動作させる場合について説明する。
【０１２６】
図５（ａ）には、教示点Ｗに基づいてロボットアーム２０１を動作させた際のロボットアーム２０１の位置及び姿勢を示している。図５（ｂ）には、調整後の教示点Ｗ´に基づいてロボットアーム２０１を動作させた際のロボットアーム２０１の位置及び姿勢を示している。
【０１２７】
第２実施形態では、図６に示すステップＳ２１，Ｓ２２，Ｓ２３は、それぞれ上記第１実施形態で説明した図３に示すステップＳ１，Ｓ２，Ｓ３と同様である。
【０１２８】
即ち、ステップＳ２１では、制御装置３００の較正計算部３０５は、パラメータ保存部３０２からＴＣＰの設計値を入力（取得）する。
【０１２９】
ステップＳ２２では、制御装置３００の較正計算部３０５は、パラメータ保存部３０２からベース座標系Σ０を基準にロボットアーム２０１の設計データに基づいて設定された教示点（設計教示点）Ｗを入力（取得）する（設計教示点取得工程）。この教示点Ｗに基づいてロボットアーム２０１を動作させると、図５（ａ）に示す位置及び姿勢となる。
【０１３０】
ステップＳ２３では、ユーザが入力装置４００を操作して、教示点Ｗに基づくロボットアーム２０１の位置及び姿勢を調整してロボットハンド２０２に把持されたワーク１０４をワーク挿入穴１１１に対して位置及び姿勢決めする。制御装置３００の軌道計算部３０３は、このときのベース座標系Σ０を基準とする教示点（調整教示点）Ｗ´を求める（調整教示点取得工程）。この教示点Ｗ´に基づいてロボットアーム２０１を動作させると、図５（ａ）に示す位置及び姿勢となる。教示点Ｗ´のパラメータは、制御装置３００のパラメータ保存部３０２に保存される。
【０１３１】
ここで、ワーク１０４の挿入方向１１３と教示点Ｗ´となるロボットアーム２０１の位置及び姿勢におけるＴＣＰを原点としたツール座標系Σｔｃｐとの間に発生する傾きは、傾きＡと傾きＢにより合成された傾きとなる。
【０１３２】
そこで、傾きＡと傾きＢを考慮した較正計算する必要があるため、以下の工程を実行する。
【０１３３】
入力装置４００は、ユーザの操作により指定された教示点（基準教示点）Ｎのパラメータを出力する。教示点（基準教示点）Ｎは、ベース座標系Σ０を基準にロボットハンド２０２に把持されたワーク１０４が基準面である架台１０１の上面（固定面）１０１Ａに接触するようにロボットアーム２０１の設計データに基づいて設定された教示点である。より具体的には、教示点Ｎは、架台１０１の上面１０１Ａにワーク１０４の先端面が面接触する位置及び姿勢となる教示点である。なお、教示点Ｎは、ロボットアーム２０１と架台１０１の接地面の直線上とする。
【０１３４】
この教示点Ｎは、例えばコンピュータ等のシミュレータを用いたオフライン教示にて求められた教示点である。制御装置３００の外部入出力部３０１は、入力装置４００から教示点Ｎのパラメータを入力（取得）する。外部入出力部３０１が入力した教示点Ｎのパラメータは、パラメータ保存部３０２に保存される。較正計算部３０５は、パラメータ保存部３０２に保存されている教示点Ｎのパラメータをパラメータ保存部３０２から読み出して入力（取得）する（Ｓ２４：基準教示点取得工程）。
【０１３５】
教示点Ｎは、ベース座標系Σ０を基準とする位置及び姿勢を表すパラメータＰＮで設定される。
【０１３６】
【数２０】
2015147280.tif 000022
【０１３７】
ステップＳ２１により設定したＴＣＰ及びステップＳ２４により設定した教示点Ｎを用いて、教示点ＮにＴＣＰが一致するロボットアーム２０１の各軸の関節値［θｎ１，θｎ２，θｎ３，θｎ４，θｎ５，θｎ６］を逆運動学により計算する。これにより、姿勢を決定することができる。
【０１３８】
このとき、教示点ＮとＴＣＰは一致しているため、ロボット２００の各軸の同次変換行列ｎ＋１ｎＴ（１軸から６軸は、ｎ＝１から６と表記）の積より、以下の同次変換行列の関係性が成り立つ。
【０１３９】
【数２１】
2015147280.tif 000023
【０１４０】
図７（ａ）には、組付誤差が無い、理想状態の教示点Ｎにおけるロボットアーム２０１の位置及び姿勢を示している。教示点Ｎは、設計値であるため、組付誤差等によって発生する傾きＡが考慮されていないロボット２００の先端（ＴＣＰ）の目標とする位置及び姿勢である。そのため、実際には、架台１０１の上面１０１Ａにワーク１０４の先端面を平行に面接触させるためには、組付け誤差等によって発生する傾きＡを微調整する作業が必要になる。
【０１４１】
第２実施形態では、まず、ユーザは、入力装置４００を操作して制御装置３００に教示点Ｎに基づいてロボットアーム２０１を動作させるよう指令を送る。これにより、制御装置３００の制御指令部３０４は、教示点Ｎのパラメータに基づいてロボットアーム２０１を動作させる。次に、ユーザは、入力装置４００を操作して制御装置３００に操作指令（各関節の角度指令又はＴＣＰの位置及び姿勢の指令）を送る。操作指令を受信した制御装置３００の制御指令部３０４は、操作指令に応じてロボットアーム２０１を動作させる。
【０１４２】
つまり、ユーザが入力装置４００を操作することでロボットアーム２０１を動作させ、ユーザの目視により、実空間におけるＴＣＰの位置及び姿勢を微調整する、オンライン教示を行う。なお、調整に先立ってロボットアーム２０１に教示点Ｎに基づく動作を行わずに、直接、ユーザが目視しながらロボットアーム２０１の位置及び姿勢を調整してもよい。
【０１４３】
以上、教示点Ｎに基づくロボットアーム２０１の位置及び姿勢を調整するオンライン教示を行うことで、軌道計算部３０３が、調整後のロボットアーム２０１の位置及び姿勢から教示点（調整基準教示点）Ｎ´を作成する（Ｓ２５：調整基準教示点取得工程）。
【０１４４】
このステップＳ２５では、図７（ｂ）に示すように、ロボットハンド２０２に把持されたワーク１０４の先端面が架台１０１の上面１０１Ａに接触するようロボットアーム２０１を位置及び姿勢決めすることで、教示点Ｎ´を求める。つまり、ユーザが入力装置４００でロボットアーム２０１を操作し、制御装置３００がロボットアーム２０１の位置及び姿勢を微調整し、微調整後の教示点Ｎ´を作成する。
【０１４５】
具体的には、外部入出力部３０１は、入力装置４００から入力した保存命令を軌道計算部３０３に出力し、軌道計算部３０３は、保存命令を受けた現在の位置及び姿勢のパラメータを、教示点Ｎ´としてパラメータ保存部３０２に保存させる。
【０１４６】
このベース座標系Σ０を基準とする教示点Ｎ´は、位置及び姿勢を示すパラメータＰＮ´で表される。
【０１４７】
【数２２】
2015147280.tif 000024
【０１４８】
なお、このステップＳ２５における調整作業は、教示点Ｗ´の調整作業と同様に、調整治具であるシックネスゲージを用いて、架台１０１の上面１０１Ａとワーク１０４の先端面との傾き調整する。
【０１４９】
教示点Ｎ´の行列は、ロボットアーム２０１の各軸の関節値［θｎ´１，θｎ´２，θｎ´３，θｎ´４，θｎ´５，θｎ´６］とＴＣＰを用いて順運動学計算により計算することができ、以下の関係式が成り立つ。
【０１５０】
【数２３】
2015147280.tif 000025
【０１５１】
上記作業は、ロボットハンド２０２が組み付けられたロボットアーム２０１を架台１０１に配置した際に１度行うだけで、シフト動作が必要な姿勢の全てのツール座標系Σｔｃｐの較正に使用することができる。
【０１５２】
次に、制御装置３００の較正計算部３０５は、ステップＳ２３，Ｓ２４，Ｓ２５で作成した教示点Ｗ´、教示点Ｎ、教示点Ｎ´を用いて、ツール座標系Σｔｃｐの較正を行う（Ｓ２６，Ｓ２７：較正工程）。
【０１５３】
以下、この較正工程について説明する。まず、較正計算部３０５は、教示点Ｗ´、教示点Ｎ、教示点Ｎ´を用いてＴＣＰの較正を行い（Ｓ２６：注目点較正工程）、新たなＴＣＰ´を作成する。
【０１５４】
このステップＳ２６について具体的に説明すると、まず、較正計算部３０５は、教示点Ｎ及び教示点Ｎ´を用いて、ロボット２００側の組付誤差により発生する傾きＡを計算する。傾きＡを計算するため、教示点Ｎと教示点Ｎ´との間の差を計算し、以下の同次変換行列Ｎ´ＮＴとする。
【０１５５】
【数２４】
2015147280.tif 000026
【０１５６】
傾きＡ（教示点Ｎに対する教示点Ｎ´の相対姿勢）は、数２４の回転行列ＲＡで表される。
【０１５７】
次に、較正計算部３０５は、ステップＳ２３で求めた数１０の回転行列ＲＷ´、及び数２４の回転行列ＲＡを用いて、教示点Ｗ´より傾きＡを除いた回転行列Ｒｗ＿ａｄｊを求める。
【０１５８】
【数２５】
2015147280.tif 000027
【０１５９】
較正計算部３０５は、この数２５の回転行列Ｒｗ＿ａｄｊと数１０の位置行列ｑｗ´より、較正値を反映した教示点Ｗａｄｊの姿勢となる同次変換行列ｗ＿ａｄｊ０Ｔを求める。
【０１６０】
【数２６】
2015147280.tif 000028
【０１６１】
較正計算部３０５は、数２６より、オイラー角［αｗ＿ａｄｊ，βｗ＿ａｄｊ，γｗ＿ａｄｊ］を計算し、教示点ＷａｄｊのパラメータＰｗ＿ａｄｊを求め、パラメータ保存部３０２に保存する。
【０１６２】
【数２７】
2015147280.tif 000029
【０１６３】
即ち、較正計算部３０５は、教示点Ｎに対する教示点Ｎ´の相対姿勢（回転行列ＲＡ）に基づき、教示点Ｗ´を較正することで教示点Ｗａｄｊを求めている。なお、Ｘｗ＿ａｄｊ，Ｙｗ＿ａｄｊ，Ｚｗ＿ａｄｊは、ＸＷ´，ＹＷ´，ＺＷ´である。
【０１６４】
次に、較正計算部３０５は、現在、教示点Ｗａｄｊの位置及び姿勢となっているロボットアーム２０１の各軸の関節値［θｗ´１，θｗ´２，θｗ´３，θｗ´４，θｗ´５，θｗ´６］を求める。そして、較正計算部３０５は、この計算結果に基づき、ベース座標系Σ０を基準としたフランジ座標系Σｅｆの原点の位置及び姿勢を計算する。つまり、較正計算部３０５は、ベース座標系Σ０を基準としたフランジ面２１０の位置及び姿勢を順運動学により計算して、同次変換行列ｅｆ０Ｔを計算する。
【０１６５】
【数２８】
2015147280.tif 000030
【０１６６】
次に、較正計算部３０５は、数２６及び数２８より、現在の姿勢におけるフランジ面２１０を基準とした新しいＴＣＰ´を計算するために、同次変換行列ｔｃｐ´ｅｆＴを計算する。
【０１６７】
【数２９】
2015147280.tif 000031
【０１６８】
較正計算部３０５は、数２９より、位置［Ｘｔｃｐ´，Ｙｔｃｐ´，Ｚｔｃｐ´］及びオイラー角［αｔｃｐ´，βｔｃｐ´，γｔｃｐ´］を計算し、新しいＴＣＰ´のパラメータＰｔｃｐ´をパラメータ保存部３０２に保存する。
【０１６９】
【数３０】
2015147280.tif 000032
【０１７０】
以上により、ＴＣＰの較正を行い、新しいＴＣＰ´を作成する。
【０１７１】
即ち、較正計算部３０５は、ベース座標系Σ０を基準とする教示点Ｗａｄｊの位置及び姿勢と、ベース座標系Σ０を基準とするフランジ座標系Σｅｆの原点の位置及び姿勢とに基づき、フランジ座標系Σｅｆを基準とする、較正したＴＣＰ´を求める。
【０１７２】
次に、軌道計算部３０３は、較正したＴＣＰ´を原点とした新たなツール座標系Σｔｃｐ´を定義する（Ｓ２７）。なお、このステップＳ２７は、上記第１実施形態のステップＳ５と同様である。
【０１７３】
新しいツール座標系Σｔｃｐ´を定義することで、新しいツール座標系Σｔｃｐ´によるシフト動作を行うことができる。
【０１７４】
以上、第２実施形態によれば、架台１０１とワーク固定台１０７との間に発生する組付誤差による傾きＢが存在している場合でも、ロボットアーム２０１が周囲の障害物に干渉することなく、ツール座標系Σｔｃｐを較正することができる。
【０１７５】
なお、第２実施形態では、教示点Ｎはロボットアーム２０１と架台１０１の接地面の直線上としているが、これに限定しない。つまり、基準面を架台１０１の上面１０１Ａとしているがこれに限定するものではない。例えば、ロボットアーム２０１の基準原点より位置と姿勢が保証されている場所であればどこでもよい。
【０１７６】
［第３実施形態］
次に、本発明の第３実施形態に係るロボット装置を用いたツール座標系を較正するロボット較正方法について説明する。図８は、本発明の第３実施形態に係るロボット装置を用いたロボット較正方法に使用する調整治具を示す斜視図である。
【０１７７】
上記第１，第２実施形態では、調整治具としてシックネスゲージを使用した場合について説明したが、第３実施形態では、調整治具として、図８に示す軸合せ治具１２２及び挿入治具１２３からなる調整治具１２０を用いる場合について説明する。
【０１７８】
把持治具１２１は、円柱形状の部材であり、ワーク１０４と同じ形状又はワーク１０４と見做せる形状のものである。なお、把持治具１２１がワーク挿入穴１１１に挿入する実際のワーク１０４（図１等参照）であってもよい。
【０１７９】
把持治具１２１と挿入治具１２３とは同一の外径寸法を持つ治具であり、軸合せ治具１２２は把持治具１２１と挿入治具１２３の外径と一定の誤差を持った内径穴を持つリング状の治具である。挿入治具１２３は、ワーク挿入穴１１１に挿入され、軸合せ治具１２２が挿入治具１２３に嵌合される。これにより、調整治具１２０がワーク挿入穴１１１に装着される。調整治具１２０に対して把持治具１２１の中心軸のズレや傾きが生じている場合、軸合せ治具１２２が把持治具１２１と挿入治具１２３の間を移動することができないようになっている。
【０１８０】
上記ステップＳ３、Ｓ２３では、これら治具１２１，１２２，１２３を用いて、入力装置４００の操作による教示点Ｗの微調整作業を行う。
【０１８１】
この微調整作業は、まず、ロボットハンド２０２に把持治具１２１を把持させる。次に、ワーク挿入穴１１１の寸法と同一形状であり位置決めを行うことができる挿入治具１２３をワーク挿入穴１１１に挿入する。このとき、軸合せ治具１２２は挿入治具１２３に嵌合させておく。
【０１８２】
次に、入力装置４００の操作でロボットアーム２０１を動作させて、把持治具１２１の先端面１２１Ａを挿入治具１２３の第１接触面である面１２３Ａに面接触させる面合わせ行う。この操作により、ロボットアーム２０１とワーク挿入穴１１１との傾きを調整する。
【０１８３】
次に、軸合せ治具１２２が把持治具１２１側にスライドできるよう、面合わせた面１２１Ａ，１２３Ａに沿った方向にロボットアーム２０１を動作させて軸合せ調整を行う。軸合せ治具１２２を把持治具１２１側にスライドさせることで、軸合せ治具１２２の第２接触面である内周面１２２Ａに把持治具１２１の外周面１２１Ｂが面接触することにより、調整作業が完了する。即ち、軸合せ治具１２２が挿入治具１２３へスムーズに移動した場所が、傾きと中心軸が一致した位置と姿勢となる。
【０１８４】
このように、調整治具１２０を使用して、把持治具１２１の先端面１２１Ａを、挿入治具１２３の面１２３Ａに面接触させ、把持治具１２１の外周面１２１Ｂを、軸合せ治具１２２の内周面１２２Ａに面接触させる。これにより、挿入治具１２３で把持治具１２１の傾きが調整され、軸合せ治具１２２で把持治具１２１の中心軸が調整される。よって、ワーク挿入穴１１１に対する把持治具１２１の位置及び姿勢決めが精度よくなされる。
【０１８５】
なお、軸合せ治具１２２は挿入治具１２３側ではなく、把持治具１２１側に先に嵌合させておいてもよい。そして、挿入治具１２３の面１２３Ａと把持治具１２１の先端面１２１Ａとを面合せした後、中心軸の調整を行い、軸合せ治具１２２が挿入治具１２３側へスムーズに移動した場所を、傾きと中心軸が一致した位置と姿勢としてもよい。
【０１８６】
以上のような微調整方法を用い、傾きと中心軸が合った位置と姿勢を微調整後の教示点Ｗ´を作成することで、シックネスゲージよりも高精度な教示点の作成を行うことができる。
【０１８７】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
【０１８８】
上記第１〜第３実施形態では、ロボットハンド２０２が関節を持つ３つのフィンガーを有する場合について説明したが、３つに限定するものではなく、２つ以上のフィンガーを有していればよい。また、ロボットハンド２０２がワークを把持できる構成であればよく、フィンガーに限らず、ワークをラッチ等で固定する把持爪を有する場合であってもよい。
【０１８９】
また、第１〜第３実施形態では、入力装置４００がハンディーターミナルやティーチングペンダントの場合について説明したが、これに限定するものではない。パラメータの編集・新規作成等が可能であればよい。例えば、制御装置３００にコンピュータを接続し、コンピュータ内のシミュレータソフトやティーチングソフトによりロボット２００の操作やパラメータの編集・新規作成を行っても良い。また、コンピュータで作成したテキスト形式のファイルを、直接、制御装置３００に入力することで、パラメータの編集・新規作成を行っても良い。
【符号の説明】
【０１９０】
１００…ロボット装置、１０４…ワーク、１０７…ワーク固定台、１１１…ワーク挿入穴、２００…ロボット、２０１…ロボットアーム、２０２…ロボットハンド（ツール）、２１０…フランジ面（ロボットアームの先端）、３００…制御装置、３０３…軌道計算部、３０５…較正計算部、Σ０…ベース座標系（基準座標系）、Σｅｆ…フランジ座標系（先端座標系）、Σｔｃｐ…ツール座標系（注目点座標系）
【図１】
2015147280.tif 000033
【図２】
2015147280.tif 000034
【図３】
2015147280.tif 000035
【図４】
2015147280.tif 000036
【図５】
2015147280.tif 000037
【図６】
2015147280.tif 000038
【図７】
2015147280.tif 000039
【図８】
2015147280.tif 000040