(57)【要約】      （修正有）【課題】簡易かつ精度良くキャリブレーションを行い得るロボットシステム並びにロボット制御装置を提案する。【解決手段】加工軌道と同一の仮想空間上に作成されたタッチセンシング軌道に沿って、ワークの表面上に設定された目標点に手先工具を接触させるタッチセンシング動作を実行させ、タッチセンシング動作時に検出した、目標点において手先工具がワークに接触した接触点における手先工具のツールセンタポイントの位置及び姿勢を表す第１の位置及び姿勢データと、手先工具をタッチセンシング軌道に沿って移動させた場合に想定される各目標点でのツールセンタポイントの位置及び姿勢を表す第２の位置及び姿勢データとに基づいて、基準座標系の補正量を算出し、算出した当該補正量に基づいて基準座標系を補正し、ワークの加工処理時には、補正した基準座標系を基準とする加工軌道に沿って手先工具を移動させるようにロボットを制御するようにした。【選択図】図６
2014018878.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの先端部に加工用の第１の手先工具又は計測用の第２の手先工具が取り付けられるロボットと、
ワークの加工処理時、仮想空間内の基準座標を基準として作成された加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットの位置及び姿勢を制御するロボット制御部と
を備え、
前記ロボット制御部は、
前記加工軌道と同一の仮想空間上に作成されたタッチセンシング軌道に沿って、前記ワークの表面上に設定された目標点に前記第２の手先工具を接触させるタッチセンシング動作を前記ロボットに実行させ、
前記タッチセンシング動作時に検出した、前記目標点において前記第２の手先工具が前記ワークに接触した接触点における前記第２の手先工具のツールセンタポイントの位置及び姿勢を表す第１の位置及び姿勢データと、前記第２の手先工具を前記タッチセンシング軌道に沿って移動させた場合に想定される、前記目標点において前記第２の手先工具が前記ワークに接触したときの当該ツールセンタポイントの位置及び姿勢を表す第２の位置及び姿勢データとに基づいて、前記仮想空間上の前記ワークと現実の前記ワークとを一致させるための前記基準座標系の補正量を算出し、
算出した当該補正量に基づいて前記基準座標系を補正し、
前記ワークの加工処理時には、補正した前記基準座標系を基準とする前記加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットを制御する
ことを特徴とするロボットシステム。
【請求項２】
前記ワークの表面上に前記目標点が複数設定され、
前記ロボット制御部は、
前記目標点ごとの前記第１及び第２の位置及び姿勢データに基づいて、最小二乗法により前記基準座標系の前記補正量を算出する
ことを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記第１及び第２の手先工具は同形状に形成され、
前記ロボット制御部は、
前記タッチセンシング動作時における前記第２の手先工具の姿勢が、前記加工処理時における前記第１の手先工具の姿勢と同一となるように前記ロボットを制御する
ことを特徴とする請求項１又は請求項２に記載のロボットシステム。
【請求項４】
ロボットアームの先端部に加工用の第１の手先工具又は計測用の第２の手先工具が取り付けられるロボットを制御対象として、ワークの加工処理時に、仮想空間内の基準座標を基準として作成された加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットの位置及び姿勢を制御するロボット制御装置において、
前記加工軌道と同一の仮想空間上に作成されたタッチセンシング軌道に沿って、前記ワークの表面上に設定された目標点に前記第２の手先工具を接触させるタッチセンシング動作を前記ロボットに実行させ、
前記タッチセンシング動作時に検出した、前記目標点において前記第２の手先工具が前記ワークに接触した接触点における前記第２の手先工具のツールセンタポイントの位置及び姿勢を表す第１の位置及び姿勢データと、前記第２の手先工具を前記タッチセンシング軌道に沿って移動させた場合に想定される、前記目標点において前記第２の手先工具が前記ワークに接触したときの当該ツールセンタポイントの位置及び姿勢を表す第２の位置及び姿勢データとに基づいて、前記仮想空間上の前記ワークと現実の前記ワークとを一致させるための前記基準座標系の補正量を算出し、
算出した当該補正量に基づいて前記基準座標系を補正し、
前記ワークの加工処理時には、補正した前記基準座標系を基準とする前記加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットを制御する
ことを特徴とするロボット制御装置。
【請求項５】
ロボットアームの先端部に加工用の第１の手先工具又は計測用の第２の手先工具が取り付けられるロボットと、ワークの加工処理時、仮想空間内の基準座標を基準として作成された加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットの位置及び姿勢を制御するロボット制御部とを有するロボットシステムにおけるロボット制御方法において、
前記ロボット制御部が、前記加工軌道と同一の仮想空間上に作成されたタッチセンシング軌道に沿って、前記ワークの表面上に設定された目標点に前記第２の手先工具を接触させるタッチセンシング動作を前記ロボットに実行させる第１のステップと、
前記ロボット制御部が、前記タッチセンシング動作時に検出した、前記目標点において前記第２の手先工具が前記ワークに接触した接触点における前記第２の手先工具のツールセンタポイントの位置及び姿勢を表す第１の位置及び姿勢データと、前記第２の手先工具を前記タッチセンシング軌道に沿って移動させた場合に想定される、前記目標点において前記第２の手先工具が前記ワークに接触したときの当該ツールセンタポイントの位置及び姿勢を表す第２の位置及び姿勢データとに基づいて、前記仮想空間上の前記ワークと現実の前記ワークとを一致させるための前記基準座標系の補正量を算出する第２のステップと、
前記ロボット制御部が、算出した当該補正量に基づいて前記基準座標系を補正する第３のステップと、
前記ロボット制御部が、前記ワークの加工処理時に、補正した前記基準座標系を基準とする前記加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットを制御する第４のステップと
を備えることを特徴とするロボット制御方法。
【請求項６】
前記ワークの表面上に前記目標点が複数設定され、
前記第２のステップにおいて、前記ロボット制御部は、
前記目標点ごとの前記第１及び第２の位置及び姿勢データに基づいて、最小二乗法により前記基準座標系の前記補正量を算出する
ことを特徴とする請求項５に記載のロボット制御方法。
【請求項７】
前記第１及び第２の手先工具は同形状に形成され、
前記第１のステップにおいて、前記ロボット制御部は、
前記タッチセンシング動作時における前記第２の手先工具の姿勢が、前記加工処理時における前記第１の手先工具の姿勢と同一となるように前記ロボットを制御する
ことを特徴とする請求項５又は請求項６に記載のロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム並びにロボット制御装置及び方法に関し、例えば多関節のロボットアームを有するロボットによってワーク（加工対象物）を加工処理するロボットシステムに適用して好適なものである。
【背景技術】
【０００２】
この種のロボットシステムにおいて、ロボットアームの先端に取り付けられる手先工具の上記加工処理時における軌道（以下、これを加工軌道と呼ぶ）をＣＡＤ（Computer Aided Design）モデルからオフラインで生成した場合、ＣＡＤモデル空間上で作成された加工軌道を現実のワークの位置及び姿勢に合わせて校正（キャリブレーション）する必要がある。
【０００３】
従来、このようなキャリブレーションは、ワークを保持するテーブルの隅部などの形状的な特徴を利用した教示操作により、現実のテーブル上に固定されたテーブル座標系をロボットに計測させるようにして行われている。
【０００４】
このような従来のキャリブレーション方法によれば、ＣＡＤモデル上の基準座標系と、ワークとの相対位置を、実物のテーブル上に固定されたテーブル座標系と、実物のワークの相対位置とに基づいて合わせることができる。すなわち、ＣＡＤモデル空間上において加工軌道をテーブル座標系基準で生成しておき、実空間上のテーブル座標系を教示することによって、加工軌道と実物のワークとの相対位置を合わせることができる。
【０００５】
しかしながら、上述のような教示操作では高精度な位置合わせが困難であるという問題もある。そこで、近年、本願特許出願人より、直交する３平面を有するワークに対するタッチセンシングにより、手先工具のワークの位置を計測し、計測結果に基づいて手先工具及び治具間の相対位置を補正する技術が提案されている（特許文献１）。ここで、タッチセンシングとは、ロボットのロボットアームの先端部に取り付けられた手先工具をワークの表面に押し付けてワークの位置を計測する技術をいう。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１５２５９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、この特許文献１には、ワークが直交する３平面を有しない場合、ワークを固定するテーブル等の治具に直交する３平面を設け、この３平面に対するタッチセンシング動作により得られたデータに基づいてキャリブレーションすることが開示されている。
【０００８】
しかしながら、この特許文献１に開示されたキャリブレーション方法によると、ワークが直交する３平面を有しない場合にはワークから離れた場所での計測データを用いてキャリブレーションを行うことになるため、絶対位置決め精度の低いロボットではキャリブレーションの精度が低くなる問題があった。
【０００９】
本発明は以上の点を考慮してなされたもので、簡易かつ精度良くキャリブレーションを行い得るロボットシステム並びにロボット制御装置及び方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明においては、ロボットシステムにおいて、ロボットアームの先端部に加工用の第１の手先工具又は計測用の第２の手先工具が取り付けられるロボットと、ワークの加工処理時、仮想空間内の基準座標を基準として作成された加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットの位置及び姿勢を制御するロボット制御部とを設け、前記ロボット制御部が、前記加工軌道と同一の仮想空間上に作成されたタッチセンシング軌道に沿って、前記ワークの表面上に設定された目標点に前記第２の手先工具を接触させるタッチセンシング動作を前記ロボットに実行させ、前記タッチセンシング動作時に検出した、前記目標点において前記第２の手先工具が前記ワークに接触した接触点における前記第２の手先工具のツールセンタポイントの位置及び姿勢を表す第１の位置及び姿勢データと、前記第２の手先工具を前記タッチセンシング軌道に沿って移動させた場合に想定される、前記目標点において前記第２の手先工具が前記ワークに接触したときの当該ツールセンタポイントの位置及び姿勢を表す第２の位置及び姿勢データとに基づいて、前記仮想空間上の前記ワークと現実の前記ワークとを一致させるための前記基準座標系の補正量を算出し、算出した当該補正量に基づいて前記基準座標系を補正し、前記ワークの加工処理時には、補正した前記基準座標系を基準とする前記加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットを制御するようにした。
【００１１】
また本発明においては、ロボットアームの先端部に加工用の第１の手先工具又は計測用の第２の手先工具が取り付けられるロボットを制御対象として、ワークの加工処理時に、仮想空間内の基準座標を基準として作成された加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットの位置及び姿勢を制御するロボット制御装置において、前記加工軌道と同一の仮想空間上に作成されたタッチセンシング軌道に沿って、前記ワークの表面上に設定された目標点に前記第２の手先工具を接触させるタッチセンシング動作を前記ロボットに実行させ、前記タッチセンシング動作時に検出した、前記目標点において前記第２の手先工具が前記ワークに接触した接触点における前記第２の手先工具のツールセンタポイントの位置及び姿勢を表す第１の位置及び姿勢データと、前記第２の手先工具を前記タッチセンシング軌道に沿って移動させた場合に想定される、前記目標点において前記第２の手先工具が前記ワークに接触したときの当該ツールセンタポイントの位置及び姿勢を表す第２の位置及び姿勢データとに基づいて、前記仮想空間上の前記ワークと現実の前記ワークとを一致させるための前記基準座標系の補正量を算出し、算出した当該補正量に基づいて前記基準座標系を補正し、前記ワークの加工処理時には、補正した前記基準座標系を基準とする前記加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットを制御するようにした。
【００１２】
さらに本発明においては、ロボットアームの先端部に加工用の第１の手先工具又は計測用の第２の手先工具が取り付けられるロボットと、ワークの加工処理時、仮想空間内の基準座標を基準として作成された加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットの位置及び姿勢を制御するロボット制御部とを有するロボットシステムにおけるロボット制御方法において、前記ロボット制御部が、前記加工軌道と同一の仮想空間上に作成されたタッチセンシング軌道に沿って、前記ワークの表面上に設定された目標点に前記第２の手先工具を接触させるタッチセンシング動作を前記ロボットに実行させる第１のステップと、前記ロボット制御部が、前記タッチセンシング動作時に検出した、前記目標点において前記第２の手先工具が前記ワークに接触した接触点における前記第２の手先工具のツールセンタポイントの位置及び姿勢を表す第１の位置及び姿勢データと、前記第２の手先工具を前記タッチセンシング軌道に沿って移動させた場合に想定される、前記目標点において前記第２の手先工具が前記ワークに接触したときの当該ツールセンタポイントの位置及び姿勢を表す第２の位置及び姿勢データとに基づいて、前記仮想空間上の前記ワークと現実の前記ワークとを一致させるための前記基準座標系の補正量を算出する第２のステップと、前記ロボット制御部が、算出した当該補正量に基づいて前記基準座標系を補正する第３のステップと、前記ロボット制御部が、前記ワークの加工処理時に、補正した前記基準座標系を基準とする前記加工軌道に沿って前記第１の手先工具のツールセンタポイントを移動させるように前記ロボットを制御する第４のステップとを設けるようにした。
【００１３】
従って、本発明のロボットシステム並びにロボット制御装置及び方法によれば、どのような形状の被加工対象に対しても専用の治具を用いることなく加工軌道のキャリブレーションを行うことができる。またタッチセンシング動作時に実際に手先工具がワークに接触した時点のツールセンタポイントの位置及び姿勢に基づいてキャリブレーションを行うため、高い精度でのキャリブレーションを行うことができる。
【発明の効果】
【００１４】
本発明によれば、簡易かつ精度良くキャリブレーションを行い得るロボットシステム並びにロボット制御装置及び方法を実現できる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態によるロボットシステムの概略構成を示す略線図である。
【図２】本実施の形態によるキャリブレーション機能の説明に供する概念図である。
【図３】ツールセンタポイントの説明に供する概念図である。
【図４】本実施の形態によるキャリブレーション機能の説明に供する概念図である。
【図５】本実施の形態によるキャリブレーション機能の説明に供する概念図である。
【図６】キャリブレーション処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下図面について、本発明の一実施の形態を詳述する。
【００１７】
（１）本実施の形態によるロボットシステムの構成
図１において、１は全体として本実施の形態によるロボットシステムを示す。このロボットシステム１は、テーブル２に固定されたワーク３に対してバリ取りなどの所定の加工処理を施すロボット４と、当該ロボット４の動作を制御するロボット制御部５とから構成される。
【００１８】
ロボット４は、基台１０上に設置された多関節のロボットアーム１１を備え、当該ロボットアーム１１の先端にフランジ部１２を介して力覚センサ１３が固定されている。また力覚センサ１３には、スピンドルモータ１４を介して手先工具１５が交換自在に取り付けられており、これにより手先工具１５がワーク３に接触したときに当該手先工具１５がワーク３から受ける負荷を、力覚センサ１３によって検出し得るようになされている。そして力覚センサ１３は、かかる負荷を検出した場合、その負荷の大きさに応じた電圧レベルのセンサ信号を出力する。
【００１９】
ロボット制御部５は、制御装置６及びコントローラ７から構成される。制御装置６は、ＣＰＵ（Central Processing Unit）２０及びメモリ２１等の情報処理資源を備えるコンピュータ装置であり、例えばパーソナルコンピュータから構成される。制御装置６は、図示しない３次元ＣＡＤ装置を用いてオフラインで作成された手先工具のツールセンタポイント（ＴＣＰ：Tool Center Point）の加工軌道の軌道データと、力覚センサ１３から出力されるセンサ信号と、コントローラ７から逐次与えられるロボット４の位置及び姿勢を表す位置及び姿勢データとに基づいてロボット４の動作軌道を計算し、かかる計算により得られたロボット４の動作軌道の軌道データをコントローラ７に送出する。
【００２０】
コントローラ７は、制御装置６と同様に、ＣＰＵ２２及びメモリ２３等の情報処理資源を備えるコンピュータ装置であり、例えばパーソナルコンピュータから構成される。コントローラ７は、制御装置６から与えられるロボット４の動作軌道の軌道データに基づいて、ロボット４が軌道データに従った動作軌道上で動作するようにロボット４の位置及び姿勢を制御する。
【００２１】
（２）本実施の形態によるキャリブレーション機能
次に、かかるロボットシステム１に搭載されたキャリブレーション機能について説明する。本ロボットシステム１には、予めオペレータにより作成されたワーク３の加工処理時における手先工具のツールセンタポイントの軌道（加工軌道）をキャリブレーションするキャリブレーション機能が搭載されている。このキャリブレーション機能は、かかる加工軌道が作成されたＣＡＤモデル空間（仮想空間）上のワーク３と、現実のワーク３とのずれ量をタッチセンシング動作により検出し、検出結果に基づいて上記加工軌道を補正する機能である。
【００２２】
実際上、本ロボットシステム１では、オペレータが３次元ＣＡＤ装置を用いてオフラインでＣＡＤモデル空間上に加工軌道を作成する際、上述のタッチセンシング動作時に用いる手先工具１５（以下、計測ピンとする）のツールセンタポイントが移動すべき軌道（以下、これをタッチセンシング軌道と呼ぶ）を同一ＣＡＤモデル空間上に生成する。つまり図２に示すように、タッチセンシング軌道ＯＲ１及び加工軌道ＯＲ２を、ＣＡＤモデル空間上に設定された同一の基準座標系ΣCADからの相対位置で記述する。このときの基準座標系ΣCADは、どこであっても良い。またタッチセンシング軌道ＯＲ１の基準座標系は、配置の設計データ等をもとに仮決めすれば良い。
【００２３】
そしてワーク３を加工処理する前に、上述のように作成されたタッチセンシング軌道ＯＲ１に沿って計測ピンを移動させることによって、ワーク３の表面上に設定された目標点Ｐ１〜Ｐ４に計測ピンを接触させるタッチセンシング動作を実行させ、実際に計測ピンがワーク３の表面に接触した時点における計測ピンのツールセンタポイントの位置及び姿勢を計測する。なお、ツールセンタポイントの位置及び姿勢とは、図１及び図３に示すように、（ロボット４の基台１０上に固定された座標系（以下、これをロボット座標系と呼ぶ）ΣRを基準として）空間上に座標系ΣCADを設定し、この座標系ΣCADを基準としたツールセンタポイントＴＣＰを原点とする座標系（ツールセンタポイント座標系）ΣTCPの位置及び姿勢をいう。
【００２４】
このとき図４に示すように、ＣＡＤモデル空間上のワーク３´の位置及び姿勢と、現実のワーク３の位置及び姿勢とがずれている（一致しない）場合、実際に計測ピンがワーク３の表面に接触したときの計測ピンのツールセンタポイントの位置及び姿勢は、ＣＡＤモデル空間上のタッチセンシング軌道ＯＲ１で想定されていた当該ツールセンタポイントの位置及び姿勢からずれる。
【００２５】
そこで、図５に示すように、タッチセンシング動作時に１又は複数の各目標点Ｐ１〜Ｐ４において計測ピンがワーク３に実際に接触したときの計測ピンのツールセンタポイントの位置及び姿勢と、タッチセンシング軌道ＯＲ１に沿って計測ピンを移動させた場合に想定されるそのときの計測ピンの位置及び姿勢とのずれ量に基づいて基準座標系ΣCADを補正することにより、ＣＡＤモデル空間上のワーク３´と、現実のワーク３とを一致させた補正基準座標系ΣCAD´を算出する。そして、ワーク３の加工処理時には、このようにして得られた補正基準座標系ΣCAD´を基準とする加工軌道ＯＲ２に沿って手先工具１５を移動させるようにロボット４を制御する。
【００２６】
以下、このようなキャリブレーション機能について、より具体的に説明する。
【００２７】
まずオペレータは、各目標点において計測ピンがワーク３の表面と接触したときの当該計測ピンのツールセンタポイントの位置及び姿勢と、その地点での面の法線方向ベクトルとから構成されるタッチセンシング軌道を、加工軌道と同一のＣＡＤモデル空間上に生成する。タッチセンシング軌道は、ワーク３の表面上の目標点に対して、ワーク３から一定距離離れた地点から計測ピンを近付けていくように作成する。この際、ワークの誤差がない理想的な状態での、各目標点において計測ピンがワーク３に接触するときの計測ピンのツールセンタポイントの位置及び姿勢を表す位置及び姿勢データを算出する。
【００２８】
そしてタッチセンシング動作時、計測ピンがワーク３の表面上の１つの目標点に接触したときに計測ピンがワーク３から受ける反力を力覚センサ１３により検出し、力覚センサ１３がこの反力を検出した時点における計測ピンのツールセンタポイントの位置及び姿勢を表す位置及び姿勢データを取得する。このようなツールセンタポイントの位置及び姿勢は、コントローラ７がロボット４から取得するロボット４の位置及び姿勢に基づき算出することができる。
【００２９】
以上のようなタッチセンシングによる計測ピンのツールセンタポイントの位置及び姿勢の計測を、ワーク３の表面上に設定された各目標点においてそれぞれ実行し、これら個々の目標点における計測ピンのツールセンタポイントの位置及び姿勢を表す位置及び姿勢データを記憶しておく。
【００３０】
そして、算出した位置及び姿勢データと、上述のようにタッチセンシング動作により取得した位置及び姿勢データとに基づいて、基準座標系ΣCADの補正量（並進量及び回転量）を計算する。かかる補正量としては、目標点が３点より少ない場合には並進量のみを算出し、目標点が３点以上（正確には、一直線状に並ばない点が３点以上含まれる）の場合には並進量と回転量とを算出する。
【００３１】
ここで、かかる基準座標系ΣCADの補正量のうち、並進量は、個々の目標点に対して実際に計測ピンがワーク３の表面と接触した点（以下、これを計測点と呼ぶ）における当該計測ピンのツールセンタポイントの重心の並進量として算出できる。例えば、目標点がＮ（Ｎ＞１）個あるものとして、これら目標点における計測ピンのツールセンタポイントの位置（以下、これを目標点ＴＣＰ位置と呼ぶ）CADｐTCPkを次式
【数１】
2014018878.tif 000003
ただしｋ＝１〜Ｎ
とすると、目標点ＴＣＰ位置CADｐTCPkの集合体の重心位置CADｐGは、次式
【数２】
2014018878.tif 000004
により算出される。
【００３２】
なお（１）式及び（２）式において、左上の添え字は基準となる座標系を表す。従って（１）式のCADｐTCPkは、ＣＡＤモデル空間上の基準座標系を基準とした目標点ｐTCPkにおける計測ピンのツールセンタポイントの位置を表し、（２）式のCADｐGは、当該基準座標系を基準とした目標点ＴＣＰ位置CADｐTCPkの集合体の重心位置ｐGの位置を表す。以下においても同様である。
【００３３】
また各目標点ＴＣＰ位置CADｐTCPkに対する実際の計測点における計測ピンのツールセンタポイントの位置（以下、これを計測点ＴＣＰ位置と呼ぶ）CADｐTCPk´を次式
【数３】
2014018878.tif 000005
ただしｋ＝１〜Ｎ  
とすると、計測点ＴＣＰ位置CADｐTCPk´の集合体の重心位置CADｐG´は、次式
【数４】
2014018878.tif 000006
により算出される。
【００３４】
従って、上述した基準座標系ΣCADの補正量のうちの並進成分CADｐp→p´は、（２）式で表される重心位置CADｐGと、（４）式で表される重心位置CADｐG´との差分として、次式
【数５】
2014018878.tif 000007
により算出することができる。
【００３５】
一方、各目標点ＴＣＰ位置CADｐTCPkを次式
【数６】
2014018878.tif 000008
ただしｋ＝１〜Ｎ                
とし、各計測点ＴＣＰ位置CADｐTCPk´を次式
【数７】
2014018878.tif 000009
ただしｋ＝１〜Ｎ                  
とすると、これら目標点ＴＣＰ位置CADｐTCPkと、計測点ＴＣＰ位置CADｐTCPk´との関係は、次式
【数８】
2014018878.tif 000010
と表すことができる。この（８）式において、CAD´ＲCADが、上述した基準座標系ΣCADの補正量の回転成分を表す回転行列である。
【００３６】
この場合において、目標点の数が十分多いと（８）式を満たす解は通常存在しないが、基準座標系ΣCADの補正量の回転成分を最小二乗近似解を次式により算出することができる。
【数９】
2014018878.tif 000011
【００３７】
ただし（９）式で算出される最小二乗近似解は回転行列とは限らない。例えば、軸方向の拡大又は縮小などを含む可能性があり、ＸとＹとの二乗誤差が最小となるような３×３の行列となる。そこで、特異値分解を次式
【数１０】
2014018878.tif 000012
とする。なお（１０）式において、Ｓは固有値が対角に並んだ行列を表し、Ｕは左特異行列を表す。従って、最小二乗近似解の回転行列は、次式
【数１１】
2014018878.tif 000013
により算出することができる。
【００３８】
以上のことから、基準座標系ΣCADを補正基準座標系ΣCAD´に補正するための同次変換行列CAD´ＴCADを次式
【数１２】
2014018878.tif 000014
とすると、ロボット座標系ΣR（図３）を基準とした基準座標系ΣCADは、次式で与えられる同次変換行列RＴCAD´によりロボット座標系ΣRを基準とした補正基準座標系ΣCAD´に補正される。
【数１３】
2014018878.tif 000015
【００３９】
（３）キャリブレーション処理
ここで、上述のようなキャリブレーション処理は、制御装置６のメモリ２１に格納された図示しない制御プログラムに基づき、図６に示す処理手順に従って、制御装置６のＣＰＵ２０の制御のもとに行われる。
【００４０】
これに先立ち、オペレータは、３次元ＣＡＤ装置を用いてワーク３のＣＡＤモデルをＣＡＤモデル空間上に作成する。またオペレータは、この後、上述のようにして作成したワーク３のＣＡＤモデルを一般的なＣＡＭ（Computer Aided Manufacturing）又はロボット用のＣＡＭに取り込み、このＣＡＭを用いて、ワーク３の加工処理時における手先工具１５のツールセンタポイントの軌道（加工軌道）と、タッチセンシング動作時における計測ピンのツールセンタポイントの軌道（タッチセンシング軌道）とを同一ＣＡＤモデル空間上に作成する。次いで、オペレータは、ワーク３をテーブル２上に所定状態に固定し、この後、図６のキャリブレーション処理を開始するよう制御装置６を操作する。
【００４１】
制御装置６のＣＰＵ２０は、かかる操作が行われると図６に示すキャリブレーション処理を開始し、まず、上述のようにＣＡＭを用いて作成されたタッチングセンシング軌道の軌道データに基づいて、計測ピンをワーク３の表面上に設定された最初の目標点の手前まで移動させるようロボット４を制御する（ＳＰ１）。
【００４２】
続いて、ＣＰＵ２０は、計測ピンをその目標点に押し付ける動作をロボット４に開始させ（ＳＰ２）、この後、力覚センサ１３から与えられるセンサ信号に基づいて、ロボット４の計測ピンがワーク３の表面に接触するのを待ち受ける（ＳＰ３：ＮＯ）。
【００４３】
ＣＰＵ２０は、やがて力覚センサ１３から出力されるセンサ信号に基づいてロボット４の計測ピンがワーク３の表面に接触したことを検知すると（ＳＰ３：ＹＥＳ）、そのときコントローラ７から与えられるそのときのロボット４の位置及び姿勢を表す位置及び姿勢データに基づいて、計測ピンのツールセンタポイントの位置及び姿勢を表す位置及び姿勢データを算出し、これを記憶する（ＳＰ４）。
【００４４】
次いで、ＣＰＵ２０は、タッチングセンシング軌道の軌道データに基づいて、ワーク３の表面上に設定されたすべての目標点について、ステップＳＰ１〜ステップＳＰ４の処理を実行し終えたか否かを判断する（ＳＰ５）。
【００４５】
ＣＰＵ２０は、この判断で否定結果を得るとステップＳＰ１に戻り（ＳＰ５：ＮＯ）、この後、目標点を順次他の目標点に切り替えながら、ステップＳＰ１〜ステップＳＰ５の処理を繰り返す。
【００４６】
そしてＣＰＵ２０は、やがてワーク３の表面上に設定されたすべての目標点についてステップＳＰ１〜ステップＳＰ５の処理を実行し終えると（ＳＰ５：ＹＥＳ）、上述した（５）式及び（１１）式により、基準座標系ΣCADの補正量（並進量及び回転量）を算出する（ＳＰ６）。
【００４７】
さらにＣＰＵ２０は、ステップＳＰ６において算出した補正量を利用して（１３）式により基準座標系ΣCADを補正し（ＳＰ７）、この後、このキャリブレーション処理を終了する。
【００４８】
なお、ＣＰＵ２０は、この後に実行される加工処理において、ステップＳＰ７において基準座標系ΣCADを補正することにより得られた補正基準座標系ΣCAD´を基準とする加工軌道上を手先工具１５のツールセンタポイントが移動するように、コントローラ７を介してロボット４の動作を制御する。
【００４９】
（４）本実施の形態の効果
以上の構成のロボットシステム１によれば、キャリブレーション処理に直交する３平面を必要としないため、どのような形状の被加工対象に対しても専用の治具を用いることなく加工軌道のキャリブレーションを行うことができる。
【００５０】
また本ロボットシステム１では、加工箇所の近辺で取得した計測データ（計測ピンの位置及び姿勢を表す位置及び姿勢データ）を用いてキャリブレーションを行うため、高い精度のキャリブレーションを行うことができる。すなわち、従来用いられているキャリブレーション技術は、ＣＡＤモデル空間内の基準座標系ΣCADと、実空間の基準座標系とを一致させるものであるが、本実施の形態のキャリブレーション技術はＣＡＤモデル空間上のワーク３´（図３）と、実空間上のワーク３とを一致させるようにＣＡＤモデル空間上の基準座標系ΣCADを補正し、結果として加工軌道をキャリブレーションするものである。このため、結果としてＣＡＤモデル空間の基準座標系ΣCADと実空間の座標系はむしろずれることになる場合もあるが、実空間での加工軌道をＣＡＤモデル空間上のワーク３´を基準として作成された加工軌道に極めて精度良く近付けることができる。
【００５１】
従って、本ロボットシステム１によれば、簡易かつ精度良くキャリブレーションを行うことができる。
【００５２】
因みに、本ロボットシステム１において、タッチセンシング動作時に使用する計測ピンをワーク３の加工処理時に使用する手先工具１５と同じ形状にし、タッチセンシング動作時の計測ピンの姿勢を加工処理時の手先工具１５の姿勢と同じ姿勢とすることによって、タッチセンシング軌道の作成を容易化できるという効果をも得ることができる。これは、このようにすることによって、ロボットシステム１の設計の際、ロボット４が加工軌道に沿って手先工具１５のツールセンタポイントを移動させ得るようにロボット４を選定しかつ配置設計を行うだけでタッチセンシング動作が実行可能であることが保証されるからである。
【００５３】
（５）他の実施の形態
なお上述の実施の形態においては、本発明を図１のように構成されたロボットシステム１に適用するようにした場合について述べたが、本発明はこれに限らず、ワークの加工処理時における手先工具１５の加工軌道を３次元ＣＡＤ装置を用いてオフラインで生成するこの他種々の構成のロボットシステムに広く適用することができる。
【００５４】
また上述の実施の形態においては、タッチセンシング動作時に手先工具１５がワーク３に接触したことを検出するためのセンサとして力覚センサ１３を適用するようにした場合について述べたが、本発明はこれに限らず、力覚センサ以外の接触式センサや非接触式センサでもよく、例えば非接触式の距離センサや通電スイッチ等を用いるようにしても良い。
【００５５】
さらに上述の実施の形態においては、ロボット４の動作を制御するロボット制御部５を制御装置６及びコントローラ７により構成するようにした場合について述べたが、本発明はこれに限らず、これら制御装置６及びコントローラ７を一体化するようにしても良い。
【００５６】
さらに上述の実施の形態においては、タッチセンシング動作により取得した計測ピンのツールセンタポイントの位置及び姿勢を表す位置及び姿勢データに基づいて最小二乗法を利用してＣＡＤモデル空間内の基準座標系ΣCADの補正量を求めるようにした場合について述べたが、本発明はこれに限らず、例えば、逐次最小二乗法によりかかる補正量を求めるようにしても良い。
【００５７】
さらに上述の実施の形態においては、ＣＡＤモデル空間内の基準座標系ΣCADを１度だけ補正した補正基準座標系ΣCAD´を求めるようにした場合について述べたが、本発明はこれに限らず、例えばこの補正基準座標系ΣCAD´を基準座標系ΣCADの場合と同様に補正するようにしても良く、さらに同様の補正を補正基準座標系ΣCAD´に対して繰り返し複数回行うようにしても良い。このようにすることによって、より精度良くキャリブレーションを行うことができる。
【産業上の利用可能性】
【００５８】
本発明は、例えば多関節のロボットアームを有するロボットによってワークを加工処理し、かつワークの加工処理時における手先工具の加工軌道をオフラインで生成するロボットシステムに広く適用することができる。
【符号の説明】
【００５９】
１……ロボットシステム、３……ワーク、４……ロボット、５……ロボット制御部、６……制御装置、７……コントローラ、１３……力覚センサ、１５……手先工具、２０……ＣＰＵ、２１……メモリ。
【図１】
2014018878.tif 000016
【図２】
2014018878.tif 000017
【図３】
2014018878.tif 000018
【図４】
2014018878.tif 000019
【図５】
2014018878.tif 000020
【図６】
2014018878.tif 000021