(57)【特許請求の範囲】
【請求項１】
第１のロボットを第２のロボットに置換する（以下、単に置換という）場合において第１のロボットに教示した教示点を第２のロボットの教示点に変換するロボットの教示点の変換方法であって、
置換前及び置換後にそれぞれ前記第１及び第２のロボットの手先に取り付けられた位置計測器により前記第１又は第２のロボット以外の一直線上にない３点以上の基準空間位置を計測するステップと、
前記置換前に前記位置計測器により計測された前記３点以上の基準空間位置の計測値の組と置換後に前記位置計測器により計測された前記３点以上の基準空間位置計測値の組との２組の計測値を用いて、前記第１のロボットから前記第２のロボットへの置換時の据付誤差と、置換前の前記第１のロボット及び置換後の前記第２のロボットのそれぞれのベース座標系における手先位置を特定するための手先位置特定パラメータとを推定するステップと、
前記推定した据付誤差及び手先位置特定パラメータを用いて、前記第１のロボットに教示した教示点を前記第２のロボットの教示点に変換するステップと、
を含み、
前記手先位置特定パラメータは、ロボットのリンクパラメータ、剛性及びエンコーダゼロ点の少なくとも一つのパラメータである、ロボットの教示点の変換方法。
【請求項２】
前記教示点を変換するステップは、
前記第１のロボットの教示点と前記推定した第１のロボットの手先位置特定パラメータとを用いて運動学を解くことにより、置換前の手先位置を算出するステップと、
置換前の手先位置及び前記置換時の据付誤差を用いて、前記第２のロボットから見た手先位置を算出するステップと、
第２のロボットから見た手先位置と前記推定した第２のロボットの手先位置特定パラメータとを用いて逆運動学を解くことにより、第２のロボットから見た教示点を算出するステップと、
を更に含む、請求項１に記載のロボットの教示点の変換方法。
【請求項３】
第１のロボットを第２のロボットに置換する（以下、単に置換という）場合において第１のロボットに教示した教示点を第２のロボットの教示点に変換するロボットの教示点変換装置であって、
置換前に前記第１のロボットの手先に取り付けられた位置計測器により計測された前記第１のロボット以外の一直線上にない３点以上の基準空間位置の計測値の組と置換後に前記第２のロボットの手先に取り付けられた位置計測器により計測された前記３点以上の基準空間位置の計測値の組との２組の計測値を記憶する記憶器と、
前記記憶器に記憶された前記３点以上の基準空間位置の２組の計測値を用いて、前記第１のロボットから前記第２のロボットへの置換時の据付誤差と、置換前の前記第１のロボット及び置換後の前記第２のロボットのそれぞれのベース座標系における手先位置を特定するための手先位置特定パラメータとを推定し、前記推定した据付誤差及び手先位置特定パラメータを用いて、前記第１のロボットに教示した教示点を前記第２のロボットの教示点に変換する変換器と、
を備え、
前記手先位置特定パラメータは、ロボットのリンクパラメータ、剛性及びエンコーダゼロ点の少なくとも一つのパラメータである、ロボットの教示点の変換装置。
【請求項４】
前記変換器は、
前記第１のロボットの教示点と前記推定した第１のロボットの手先位置特定パラメータとを用いて運動学を解くことにより、置換前の手先位置を算出し、置換前の手先位置及び前記置換時の据付誤差を用いて前記第２のロボットから見た手先位置を算出し、且つ、第２のロボットから見た手先位置と前記推定した第２のロボットの手先位置特定パラメータとを用いて逆運動学を解くことにより、第２のロボットから見た教示点を算出するようにして、前記教示点を変換するよう構成されている、請求項３に記載のロボットの教示点の変換装置。
【請求項５】
第１のロボットを第２のロボットに置換する（以下、単に置換という）場合における第１のロボット又は第２のロボットと、
前記第１又は第２のロボットの手先に取り付けられる位置計測器と、
前記第１又は第２のロボット以外の一直線上にない３点以上の基準空間位置を示すマーカを含む治具と、
置換前に前記第１のロボットの手先に取り付けられた位置計測器により計測された前記３点以上の基準空間位置の計測値の組と置換後に前記第２のロボットの手先に取り付けられた位置計測器により計測された前記３点以上の基準空間位置の計測値の組との２組の計測値を記憶する記憶器と、前記記憶器に記憶された前記３点以上の基準空間位置の２組の計測値を用いて、前記第１のロボットから前記第２のロボットへの置換時の据付誤差と、置換前の前記第１のロボット及び置換後の前記第２のロボットのそれぞれのベース座標系における手先位置を特定するための手先位置特定パラメータとを推定し、前記推定した据付誤差及び手先位置特定パラメータを用いて前記第１のロボットに教示した教示点を前記第２のロボットの教示点に変換する変換器と、を含み、第１のロボットに教示した教示点を第２のロボットの教示点に変換するように構成された教示点変換装置とを備え、
前記手先位置特定パラメータは、ロボットのリンクパラメータ、剛性及びエンコーダゼロ点の少なくとも一つのパラメータである、ロボットセル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを交換する際、置換前のロボットで教示した位置を、置換後のロボットで高精度に再現する手法及び装置に関する。
【背景技術】
【０００２】
ロボットの老朽化や故障等により、ロボット又はその部品を交換した場合、ロボットの据付位置の誤差（以下、据付誤差という）、又はリンクパラメータの個体差（公差）の影響で、置換後のロボットの手先位置が例えば数ｍｍ程度ずれてしまい、教示点を修正する必要がある。
【０００３】
一方、床面又はワーク上の特徴点を置換前後のロボットで３点以上計測し、ロボットの手先位置が変わらないように座標変換することで、据付誤差等を削減する方法が知られている（例えば特許文献１を参照）。その他、カメラを常時ロボットに取り付けておき、全ての教示点をカメラで撮影する手法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７３３３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の方法は、あるロボットを移設するための方法であるため、据付誤差を解消するための単純な座標変換しか考慮していない。このため、あるロボットを他のロボットに置き換える場合のように、２台のロボットに僅かな差異がある場合、ロボットの個体差の影響を補正できず、誤差が大きくなる。従って、従来の方法はロボットを１台しか扱わない移設等の場合には有効であるが、ロボットを複数台扱う置換の場合にはロボットの個体差が考慮されないため、教示点の再現精度が悪くなる。
【０００６】
このような課題は、老朽化や故障に伴うロボット交換に限らず、一般的なロボット交換であれば直面する課題である。
【０００７】
本発明はこのような課題を解決するためになされたものであり、第１のロボットを第２のロボットに置換する場合において第１のロボットに教示した教示点を第２のロボットにより高精度に再現することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明のある態様に係るロボットの教示点の変換方法は、第１のロボットを第２のロボットに置換する（以下、単に置換という）場合において第１のロボットに教示した教示点を第２のロボットの教示点に変換するロボットの教示点の変換方法であって、置換前及び置換後にそれぞれ前記第１及び第２のロボットの手先に取り付けられた位置計測器により前記第１又は第２のロボット以外の一直線上にない３点以上の基準空間位置を計測するステップと、前記置換前に前記位置計測器により計測された前記３点以上の基準空間位置の計測値の組と置換後に前記位置計測器により計測された前記３点以上の基準空間位置計測値の組との２組の計測値を用いて、前記第１のロボットから前記第２のロボットへの置換時の据付誤差と、置換前の前記第１のロボット及び置換後の前記第２のロボットのそれぞれのベース座標系における手先位置を特定するための手先位置特定パラメータとを推定するステップと、前記推定した据付誤差及び手先位置特定パラメータを用いて、前記第１のロボットに教示した教示点を前記第２のロボットの教示点に変換するステップと、を含む。
【０００９】
前記教示点を変換するステップは、前記第１のロボットの教示点と前記推定した第１のロボットの手先位置特定パラメータとを用いて運動学を解くことにより、置換前の手先位置を算出するステップと、置換前の手先位置及び前記置換時の据付誤差を用いて、前記第２のロボットから見た手先位置を算出するステップと、第２のロボットから見た手先位置と前記推定した第２のロボットの手先位置特定パラメータとを用いて逆運動学を解くことにより、第２のロボットから見た教示点を算出するステップと、を更に含んでもよい。
【００１０】
前記手先位置特定パラメータは、ロボットのリンクパラメータ、剛性及びエンコーダゼロ点の少なくとも一つのパラメータでもよい。
【００１１】
本発明のその他の態様に係るロボットの教示点の変換装置は、第１のロボットを第２のロボットに置換する（以下、単に置換という）場合において第１のロボットに教示した教示点を第２のロボットの教示点に変換するロボットの教示点変換装置であって、置換前に前記第１のロボットの手先に取り付けられた位置計測器により計測された前記第１のロボット以外の一直線上にない３点以上の基準空間位置の計測値の組と置換後に前記第２のロボットの手先に取り付けられた位置計測器により計測された前記３点以上の基準空間位置の計測値の組との２組の計測値を記憶する記憶器と、前記記憶器に記憶された前記３点以上の基準空間位置の２組の計測値を用いて、前記第１のロボットから前記第２のロボットへの置換時の据付誤差と、置換前の前記第１のロボット及び置換後の前記第２のロボットのそれぞれのベース座標系における手先位置を特定するための手先位置特定パラメータとを推定し、前記推定した据付誤差及び手先位置特定パラメータを用いて、前記第１のロボットに教示した教示点を前記第２のロボットの教示点に変換する変換器と、を備える。
【００１２】
前記変換器は、前記第１のロボットの教示点と前記推定した第１のロボットの手先位置特定パラメータとを用いて運動学を解くことにより、置換前の手先位置を算出し、置換前の手先位置及び前記置換時の据付誤差を用いて前記第２のロボットから見た手先位置を算出し、且つ、第２のロボットから見た手先位置と前記推定した第２のロボットの手先位置特定パラメータとを用いて逆運動学を解くことにより、第２のロボットから見た教示点を算出するようにして、前記教示点を変換するよう構成されていてもよい。
【００１３】
前記手先位置特定パラメータは、ロボットのリンクパラメータ、剛性及びエンコーダゼロ点の少なくとも一つのパラメータでもよい。
【００１４】
前記位置計測器は、前記第１及び第２のロボットの手先に取り付け又は取り外し可能に構成されていてもよい。この位置検出器は例えばカメラでもよい。
【００１５】
本発明のその他の態様に係るロボットセルは、第１のロボットを第２のロボットに置換する（以下、単に置換という）場合における第１のロボット又は第２のロボットと、前記第１又は第２のロボットの手先に取り付けられる位置計測器と、前記第１又は第２のロボット以外の一直線上にない３点以上の基準空間位置を示すマーカを含む治具と、置換前に前記第１のロボットの手先に取り付けられた位置計測器により計測された前記３点以上の基準空間位置の計測値の組と置換後に前記第２のロボットの手先に取り付けられた位置計測器により計測された前記３点以上の基準空間位置の計測値の組との２組の計測値を記憶する記憶器と、前記記憶器に記憶された前記３点以上の基準空間位置の２組の計測値を用いて、前記第１のロボットから前記第２のロボットへの置換時の据付誤差と、置換前の前記第１のロボット及び置換後の前記第２のロボットのそれぞれのベース座標系における手先位置を特定するための手先位置特定パラメータとを推定し、前記推定した据付誤差及び手先位置特定パラメータを用いて前記第１のロボットに教示した教示点を前記第２のロボットの教示点に変換する変換器と、を含み、第１のロボットに教示した教示点を第２のロボットの教示点に変換するように構成された教示点変換装置とを備える。
【発明の効果】
【００１６】
本発明により、第１のロボットを第２のロボットに置換する場合において第１のロボットに教示した教示点を第２のロボットにより高精度に再現することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１に係るロボットの教示点の変換方法を実施するためのロボットシステムの全体構成図である。
【図２】図１のマーカボードの構成を示す平面図である。
【図３】図１のロボット制御装置の構成を示すブロック図である。
【図４】図１の教示点変換装置の構成を示すブロック図である。
【図５】図１のロボットの置換に伴う作業の流れを示したフローチャートである。
【図６】図５の置換前作業の具体的な手順を示したフローチャートである。
【図７】カメラによるマーカボードの計測の概要を示す模式図である。
【図８】図５の置換後作業の具体的な手順を示したフローチャートである。
【図９】カメラ座標系とマーカボード座標系との関係を示す模式図である。
【図１０】置換前後のロボットのベース、フランジ及びカメラの各座標系の関係を示す模式図である。
【図１１】図８の教示点変換処理の手順を示すフローチャートである。
【図１２】本発明の実施の形態２に係るロボットセルの概要を示す模式図である。
【発明を実施するための形態】
【００１８】
以下、本発明に係る実施形態について図面を参照しつつ説明する。以下では同一又は相当する要素には同一の参照符号を付してその重複する説明を省略する。
【００１９】
（実施の形態１）
［構成］
図１は、本発明の実施の形態１に係るロボットの教示点の変換方法を実施するためのロボットシステムの全体構成図である。図１に示すように、ロボットシステム１は、ロボット２と、計測用治具３と、位置計測器４と、ロボット制御装置５と、教示点変換装置６と、を備え、これらの機器（計測用治具３を除く）は有線または無線により通信可能に接続されている。
【００２０】
ロボット２は、ワークＷに対して作業を行うロボットであり、本実施の形態では産業用ロボットを想定しているがこれに限定されず、例えば家庭用のロボットでもよい。本実施の形態では、ロボット２は、床面等の載置面に設置される基台（ベース）１０と、ベース１０から突出するアーム１１とを有する。ベース１０の上面を基準とした座標系をベース座標系２０ｂと呼ぶ。アーム１１には、ロボット制御装置５からの指令により動作する複数の関節１１ａ〜１１ｄが設けられ、その先端にはフランジ状のツール取付部１１ｅ（以下、「フランジ」ともいう）が設けられている。フランジ１１ｅを基準とした座標系をフランジ座標系２０ｆと呼ぶ。なお、関節は回転動作しても直動動作してもよい。隣接する関節はリンクによって接続される。
【００２１】
関節１１ａ〜１１ｄにはそれぞれの関節の角度を検出可能な角度検出器の一例であるエンコーダ（図示せず）などが組み込まれており、関節１１ａ〜１１ｄの角度と、アーム１１を構成するリンクの寸法とにより、フランジ１１ｅのベース座標系２０ｂにおける位置及び姿勢が特定できるようになっている。フランジ１１ｅにはツール１２が取り付けられている。図１の例では、ツール１２は先端部が円筒状の溶接トーチであるが、特に限定されない。また、ロボット２の作業対象であるワークＷは作業台１５の上に取り付け治具（図示せず）を介して固定されている。
【００２２】
位置計測器４は、ロボット２の手先に取り付けられる。本実施の形態では、位置計測器４は、ロボット２のアーム１１先端のツール１２に取り付け又は取り外し可能に構成されたカメラである。カメラ４により撮像された所定の座標系（以下、「カメラ座標系２０ｃ」と呼ぶ）における二次元の座標データを生成する。位置計測器４は、生成した測定点の座標データを教示点変換装置６に出力する。
【００２３】
計測用治具３は、ロボット２の置換時にロボット２以外の動かない場所（図１では床面又は作業台１５の上）に配置される。計測用治具３は、本実施の形態ではマーカボードである。図２は、マーカボード３の構成を示す平面図である。図２に示すように、マーカボード３は、正方形状のボード３０と、ボード３０上に付された３点以上の基準空間位置を示すマーカ３１とを備える。マーカボード３の四隅のうちの一つを基準とした所定の座標系をマーカボード座標系２０ｍと呼ぶ。本実施の形態では３つのマーカ３１が、マーカボード座標系２０ｍから一直線上にない位置に付されている。マーカボード３は置換前のロボット２の周囲の任意の位置に３枚配置され固定されている。各マーカボード３は固定せずに位置決めピン等のマーカで同じ位置に戻せるように配置されてもよい。
【００２４】
図３は、図１のロボット制御装置５の構成を示すブロック図である。図３に示すように、ロボット制御装置５は、演算部５１と、記憶部５２と、通信インターフェース５３と、入出力インターフェース５４と、ロボットを駆動するためのサーボ制御部５５とを備える。教示点変換装置６の機能がロボット制御装置５に含まれても良い。
【００２５】
演算部５１は、ロボット制御のための演算処理を行い、ロボット２の制御指令を生成する。サーボ制御部５５は、演算部５１により生成された制御指令に基づいて、ロボット２の関節１１ａ〜１１ｄの各軸の動作を制御するように構成されている。記憶部５２は、ロボット制御装置５の基本プログラム、ロボット２の動作プログラム（例えば溶接プログラム）、及び後述する教示点の変換に関連した処理を行うためのデータ等の情報を記憶する。通信インターフェース５３は、教示点変換装置６に接続されている。この通信インターフェース５３を介して、ロボット制御装置５は教示点変換装置６との間で通信を行い、後述する計測に関連する指令を送信し又は計測結果等のデータを受信する。入出力インターフェース５４は、教示操作用端末（例えばティーチペンダント、図示しない）に接続される。ロボット制御装置５は、教示操作用端末のマニュアル操作を通してロボット２を動作させるとともに、ロボット２の動作プログラムの作成、修正、登録、又は各種パラメータの設定と共に、教示された動作プログラムのプレイバック等を実行する。
【００２６】
図４は、図１の教示点変換装置６の構成を示すブロック図である。図４に示すように、演算部６１と、記憶部６２と、カメラインターフェース６３と、モニタインターフェース６４と、通信インターフェース６５とを備える。
【００２７】
演算部６１は、記憶部６２と接続されている。また、演算部６１は、カメラインターフェース６３を介してカメラ４と接続され、モニタインターフェース６４を介して表示装置１３と接続され、通信インターフェース６５を介してロボット制御装置５と接続されている。
【００２８】
演算部６１は、ロボット制御装置５からロボット２の姿勢に対応する各関節１１ａ〜１１ｄの角度を取得する。また、演算部６１は、図示しない入力部から入力される撮影指令に従ってカメラ４に撮影指令信号を送信し、カメラ４により撮影された映像信号を受信する。演算部６１は、受信した映像信号を画像処理して、画像内の特定の点又は形状特徴の位置を検出し、それに基づいてマーカ３１の三次元位置を算出する。そして、マーカ３１の三次元位置をその撮影時におけるロボット２の各関節１１ａ〜１１ｄの角度と対応させて記憶部６２に記憶させる。また、演算部６１は、後述するパラメータ推定処理及び教示点変換処理を行う。さらに、演算部６１は、カメラ４の撮影中の画像、過去の画像、画像処理が施された画像等を必要に応じて表示装置１３に表示させる。
【００２９】
以上のような構成のロボットシステム１においてロボット２が老朽化又は故障により、新しいロボットに置換する場合において旧い第１のロボット２に教示した教示点を新しい第２のロボット２の教示点に変換する作業が必要になる。図５はロボット２の置換に伴う作業の流れを示したフローチャートである。この作業は、図５に示すように、置換前に予め行う作業（ステップ１）と、ロボット２の実際の置換作業（ステップ２）と、置換後に行う作業（ステップ３）に大別される。以下、具体的に説明する。
【００３０】
［置換前作業］
図６は、置換前作業の具体的な手順を示したフローチャートである。図６に示すように、まず、作業者はロボット２にカメラ４を取付ける（ステップ６１）。ここではカメラ４はロボット２のアーム１１先端のツール１２に取り付けられる。
【００３１】
次に、作業者はロボット２の周囲の任意の位置にマーカボード３を配置する（ステップ６２）。ここでは３枚のマーカボード３が、ロボット２の周囲の任意の床面又は作業台の上に配置されて固定される。
【００３２】
次に、作業者は、上述の教示操作用端末（図示せず）によってロボット２を操作し、教示点変換装置６の入力部から撮影指令を入力してカメラ４によりマーカ３１を計測する（ステップ６３）。図７は、カメラ４によるマーカボードの計測の概要を示す模式図である。図７に示すように、カメラ４によりマーカボード３に対してロボット２の姿勢を変えて例えば３回計測する。計測回数は３回に限られない。ここで計測とは、カメラ４でマーカボード３を撮影すること及びロボット２の各関節の角度を保存することを含む。この保存は、上述のように、教示点変換装置６の演算部６１がマーカ３１の三次元位置をその撮影時におけるロボット２の各関節１１ａ〜１１ｄの角度と対応させて記憶部６２に記憶させることによって行われる。各マーカボード３に対してロボット２の姿勢を変えながら計測を複数回行い、用意したマーカボードに対して計測を行う。計測終了後はカメラ４をロボット２から取り外してもよい。これらの作業をロボット２の設置時等、遅くともロボット２の置換要求が発生する前に予め行っておく。
【００３３】
その後、教示点を作成し、作業を実行する（ステップ６４及びステップ６５）。ここでロボット２が溶接ロボットの場合には、溶接作業のための教示点を生成し、溶接作業を行う。ロボット２が老朽化又は故障等の置換要求があるまで作業は行われる。
【００３４】
［ロボット置換作業］
ロボットが老朽化又は故障した場合に新しいロボットへ置き換える。このような置換であっても、厳密にはロボットのリンクパラメータ又は剛性に個体差がある。このため、置換前の教示点を置換後のロボットに与えても手先位置がずれてしまう。
【００３５】
［置換後作業］
図８は、置換後作業の具体的な手順を示したフローチャートである。図８に示すように、まず、作業者はロボット２にカメラ４を取付ける（ステップ８１）。その後、置換前作業と同様に、置換前に行ったマーカの計測を、置換後のロボット２でも行う（ステップ８２）。ここで、少なくとも１枚のマーカボード３を置換前と同位置に配置する。必要に応じて置換前にはマーカボード３を配置しなかった位置に配置してもよいし、置換前にはマーカボード３を配置した位置に配置しなくてもよい。そしてマーカボード３を少なくとも１枚は計測する。ここでマーカボード３を計測するロボット２の姿勢は置換前後で異なっていてもよい。
【００３６】
また、教示点変換装置６（正確には演算部６１）は、置換前後で計測した計測結果を用いて、各カメラ４位置からみたマーカ位置を算出する。具体的には、置換前後で撮影した画像を、画像処理（例えばパターンマッチング）することにより、画像上のどの位置にマーカ３１が在るのかを求める。図９は、カメラ座標系２０ｃとマーカボード座標系２０ｍとの関係を示す模式図である。図９に示すように、画像処理で得られた画像上のマーカ位置をｕｉｍｇ，カメラ座標系２０ｃから見たマーカ位置をｘｃ＿ｍｋ，カメラ４の内部パラメータをＫ，マーカボード座標系２０ｍとカメラ座標系２０ｃの間の変換行列をＴｃ＿ｂｄ，ボード座標系２０ｍから見たマーカ位置をｘｂｄ＿ｍｋとする。ここでカメラ座標系２０ｃから見たマーカ位置のｚ成分をｓとする。この場合、次の式（１）が成り立つ。
ｕｉｍｇ＝（１／ｓ）＊Ｋ＊Ｔｃ＿ｂｄ＊ｘｂｄ＿ｍｋ・・・（１）
【００３７】
式（１）は、マーカボード３上のマーカ３１の数だけ連立させることができるため、公知の手法により、未知数である変換行列Ｔｃ＿ｂｄを求めることができる。具体的には、式（１）の左辺から右辺を引いた二乗和を、連立させた式の数だけ加算するような評価関数を作成する。そして、最急勾配法等の手法により評価関数を最小化するような変換行列Ｔｃ＿ｂｄを求める。
【００３８】
これにより、次式（２）によりカメラ座標系２０ｃから見たマーカ位置ｘｃ＿ｍｋを求めることができる。
ｘｃ＿ｍｋ＝Ｔｃ＿ｂｄ＊ｘｂｄ＿ｍｋ・・・（２）
【００３９】
このとき置換前後を通じて得られた画像全てに対してカメラ座標系２０ｃから各マーカ位置を算出する。算出結果を計測データとともに保存する。尚、置換前の画像に対するカメラ座標系２０ｃから各マーカ位置の算出は、置換後でなくても置換前に行ってもよい。
【００４０】
次に、教示点変換装置６は、置換前後のカメラ４からのマーカ位置を用いて、置換え時の据付誤差及び置換前後のパラメータを推定する（図８のステップ８３）。ここでパラメータとは、置換前後のロボットのそれぞれのベース座標系２０ｂにおける手先位置を特定するためのパラメータであって、本実施の形態では、ロボット２のリンクパラメータ及び剛性のパラメータである。
【００４１】
図１０は、置換前後のロボットのベース、フランジ及びカメラの各座標系の関係を示す模式図である。図１０に示すように、置換前及び置換後のロボットのベース座標系２０ｂからフランジ座標系２０ｆへの変換行列をＴｂ１＿ｆ１及びＴｂ２＿ｆ２とする。置換前及び置換後のロボットのフランジ座標系２０ｆからカメラ座標系２０ｃへの変換行列をＴｆ１＿ｃ１及びＴｆ２＿ｃ２とする。置換前及び置換後のカメラ座標系２０ｃからマーカへのベクトルをｘｃ１＿ｍｋ及びｘｃ２＿ｍｋとする。置換前のロボットのベース座標系２０ｂから見たマーカ位置をｘｂ１＿ｍｋとする。置換前後のロボットのベース座標系２０ｂ間の変換行列をＴｂ１＿ｂ２とする。
【００４２】
ここでＴｆ１＿ｃ１及びＴｆ２＿ｃ２は置換前後のカメラ４の取付位置であるが、カメラ４の取付位置は予め設定されていてもよいし、リンクパラメータと同様に最初は未知としておいて後述の方法で求めてもよい。尚、カメラのキャリブレーションについては周知であるので、詳細な説明を省略する（例えば特開２００５−１４９２９９号公報を参照）。
【００４３】
また、Ｔｂ１＿ｆ１及びＴｂ２＿ｆ２は、パラメータ（リンクパラメータ及び剛性パラメータ）及び関節角度が分かれば運動学により算出可能である。ここでは関節角度は計測時に保存されているので既知であるが、リンクパラメータ及び剛性パラメータは未知数であり、置換時の据付誤差を意味するＴｂ１＿ｂ２もまた未知数である。また、カメラ４の取付位置が未知の場合にはカメラの取付位置Ｔｆ１＿ｃ1、Ｔｆ２＿ｃ２も未知数となる。
【００４４】
置換前のロボットについては次式（３）が成り立つ。
ｘｂ１＿ｍｋ＝Ｔｂ１＿ｆ１＊Ｔｆ１＿ｃ1＊ｘｃ１＿ｍｋ・・（３）
一方、置換後のロボットについては次式（４）が成り立つ。
ｘｂ１＿ｍｋ＝Ｔｂ１＿ｂ２＊Ｔｂ２＿ｆ２＊Ｔｆ２＿ｃ２＊ｘｃ２＿ｍｋ・・（４）
【００４５】
式（３），（４）は、計測した姿勢×マーカの数だけ連立させることができるので、式（３），（４）に含まれている未知数である、据付誤差Ｔｂ１＿ｂ２、リンクパラメータ及び剛性パラメータは、一般的な既知の手法で求めることができる。具体的には、式（３），（４）のそれぞれの左辺から右辺を引いた二乗和を、連立させた式の数だけ加算するような評価関数を作成する。そして、最急勾配法等の手法により評価関数を最小化するような据付誤差Ｔｂ１＿ｂ２、リンクパラメータ及び剛性パラメータをそれぞれ求める。このようにして置換え時の据付誤差及び置換前後のパラメータ（リンクパラメータ及び剛性パラメータ）が推定される。
【００４６】
次に、教示点変換装置６は、置き換え前の教示点（関節角度）を、置き換え後のロボットの教示点（関節角度）に変換する（図８のステップ８４）。ステップ８３で求めた、置換時の据付誤差、置き換え後のロボットのリンクパラメータ及び剛性を用いることにより、置換前に教示点として使っていた関節角度を、置換後のロボット用に交換する。尚、教示点が関節角度ではなく、手先位置に換算されている場合には、予めノミナルのリンクパラメータを用いて逆運動学を解くことにより、関節角度に変換しておく。
【００４７】
図１１は、教示点変換処理の手順を示すフローチャートである。図１１に示すように、教示点変換装置６は、まず、置換前の手先位置を算出する（ステップ１１１）。具体的には、置換前のロボットの教示点（関節角度）、推定した置換前のリンクパラメータ及び剛性を用いて、剛性による撓みやリンクパラメータを考慮した運動学を解くことにより、置換前の教示点（関節角度）から置換前の手先位置ｘｂ１＿ｃｍｄを算出する。
【００４８】
次に、教示点変換装置６は、置換後の手先位置を算出する（ステップ１１２）。具体的には置換前の手先位置ｘｂ１＿ｃｍｄ、及び推定した置換時の据付誤差Ｔｂ１＿ｂ２を用いて次式（５）により、置換後のロボットから見た手先位置ｘｂ２＿ｃｍｄを算出する。
ｘｂ２＿ｃｍｄ＝Ｔｂ１＿ｂ２＊ｘｂ１＿ｃｍｄ・・・（５）
【００４９】
最後に、教示点変換装置６は、置換後のロボットの教示点を算出する（ステップ１１３）。具体的には、置換後のリンクパラメータ、剛性、及び算出した置換後の手先位置ｘｂ２＿ｃｍｄを用いて、剛性による撓みやリンクパラメータを考慮した逆運動学を解くことにより、置換後のロボットの教示点（関節角度）を算出する。関節角度を置換え後のロボットに与えることにより、リンクパラメータ、剛性量に個体差のあるロボットであっても、手先位置を変化させない教示点を生成することができる。
【００５０】
また、交換後のロボットの教示点を手先位置で与えたいときには、得られた関節角度をノミナルのリンクパラメータを用いて運動学を解くことにより手先位置を求めてもよい。
【００５１】
また、ロボット制御装置５の内部演算処理がノミナルのパラメータで演算する場合には本実施の形態のように最初と最後でノミナルのパラメータを使用するのが適しているがこれに限られるものではなく、内部演算処理がノミナルのパラメータで演算しない場合にはコントローラに合わせたパラメータで処理を行ってもよい。
【００５２】
以上の本実施の形態によれば、ロボット置換時の据付位置の誤差だけでなく、互いに置換される一対のロボットの手先位置を特定するためのパラメータをも推定し、それらの情報を用いて、置換前のロボットに教示した教示点を、置換後のロボットの教示点に変換する。これにより、置換後の教示点を高精度に再現することができる。また、従来のようにカメラを常時ロボットに取り付けておく手法では、溶接作業等の狭い場所ではカメラが邪魔になりロボットの動きが制限され、必要となる画像処理の内容が複雑になるが、本発明によれば、そのような問題は解消される。
【００５３】
尚、本実施の形態では、ロボットが老朽化又は故障した場合のロボットの置き換えについて説明したが、これに限定されるものではなく、一般的なロボットの置き換えであってもよい。
【００５４】
また、本実施の形態では、教示点を変換するステップ８４（図８）は、置換前のロボットの教示点と推定したロボットのパラメータとを用いて、運動学を解くことにより、置換前の手先位置を算出するステップ１１１（図１１）と、置換前の手先位置及び置換時の据付誤差を用いて、置換後のロボットから見た手先位置を算出するステップ１１２（図１１）と、置換後のロボットから見た手先位置と、推定した置換後のロボットのパラメータを用いて、逆運動学を解くことにより、置換後のロボットから見た教示点を算出するステップ１１３（図１１）を更に含むことにより、ロボットアームの動力学モデルを用いて置換後の教示点を算出することができる。
【００５５】
また、本実施の形態では、ロボットの手先位置を特定するためのパラメータは、ロボットのリンクパラメータ及び剛性パラメータとしたが、これに限られるものではない。ロボットのリンクパラメータ、剛性及びエンコーダゼロ点の少なくとも一つのパラメータを用いることにより、置換前後のロボットのそれぞれのベース座標系２０ｂにおける手先位置をより高精度に特定することができる。
【００５６】
また、本実施の形態では、位置計測器４は、第１及び第２のロボットの手先に取り付け又は取り外し可能に構成されるようにしたことで、作業中だけロボット２に取り付けて、溶接作業等の自動化対象の作業時には取り外すことができるので、作業中のロボットの動きが制限されることはなく、動作の自由度を向上することができる。
【００５７】
（実施の形態２）
図１２は、本発明の実施の形態２に係るロボットセルの概要を示す模式図である。図１２に示すように、ロボット２と、ロボット２の手先に取り付けられるカメラ４と、ロボット２以外の一直線上にない３点以上の基準空間位置を含むマーカボード３とを備えたロボットセル１００を例示するものである。ロボット２、カメラ４、及びマーカボード３は実施の形態１のものと同じである。
【００５８】
このような構成であっても、上述の実施の形態１と同様に、教示点変換装置６によって実施の形態１と同様な効果を得ることができる。更に、本実施の形態では、ロボットセル１００にマーカボード３を常設し、予めロボット２との位置関係を計測しておくことで、未知数の数を減らし、計測数を減らすことができる。
【００５９】
尚、本方法、装置およびロボットセルは、置換前後でロボット２の構成（例えば関節構成やリンク構成）が同じ場合はもちろんのこと、置換前後のロボット２の構成が異なる場合にも適用可能である。
【００６０】
（その他の実施の形態）
また、上記実施の形態１及び２では、位置計測器４は、カメラとしたが、例えば、超音波探知器、３次元空間上の位置を特定可能な３次元デジタイザ、２次元デジタイザ、ＧＰＳ、磁気式の位置計測システム、レーザ変位計等でもよい。
【００６１】
尚、上記実施の形態１及び２では計測用治具３はマーカボードとしたが、ロボット２以外の一直線上にない３点以上の基準空間位置を含む構成であればこれに限定されない。
【００６２】
尚、本実施の形態では、マーカボード３は固定したが、マーカボード３がポジショナ又は走行軸に沿って移動する構成でもよい。
【００６３】
尚、上記実施の形態１及び２では、ロボット２本体が置換する場合の教示点変換処理について説明したが、これに限定されるものではなく、ロボット２の部品交換の場合、気温変化によるロボットのリンクパラメータが変化する場合（例えば置換前の作業を気温の高い夏季に行い、置換後の作業を気温の高い冬季に行うことにより、夏季に教示した教示点を冬季用に変換する）にも教示点の変換処理を行ってもよい。
【００６４】
また、上記実施の形態１及び２では、ロボット制御装置５が、教示操作用端末のマニュアル操作を通してロボット２を動作させるような構成であったが、ロボット制御装置５の操作盤を操作してロボット２を動作させてもよいし、教示点変換装置６からの指令に応じてロボット２を動作させるような構成でもよい。
【００６５】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び機能の少なくとも一方の詳細を実質的に変更できる。
【産業上の利用可能性】
【００６６】
本発明は、老朽化や故障に伴うロボット交換に限らず、一般的なロボット交換の際に有用である。
【符号の説明】
【００６７】
１  ロボットシステム
２  ロボット本体
３  計測用治具（マーカボード）
４  位置計測器（カメラ）
５  ロボット制御装置
６  教示点変換装置
１０  基台
１１  アーム
１２  ツール
１３  表示装置
１５  作業台
２０ｂ  ベース座標系
２０ｃ  カメラ座標系
２０ｆ  フランジ座標系
２０ｍ  マーカボード座標系
３０  ボード
３１  基準空間位置（マーカ）
１００  ロボットセル
Ｗ  ワーク
【図１】
0006466661.tif 000002
【図２】
0006466661.tif 000003
【図３】
0006466661.tif 000004
【図４】
0006466661.tif 000005
【図５】
0006466661.tif 000006
【図６】
0006466661.tif 000007
【図７】
0006466661.tif 000008
【図８】
0006466661.tif 000009
【図９】
0006466661.tif 000010
【図１０】
0006466661.tif 000011
【図１１】
0006466661.tif 000012
【図１２】
0006466661.tif 000013