(57)【特許請求の範囲】
【請求項１】
ワークをクランプする１台のマスタ自動機械と、前記マスタ自動機械と連動して動作するスレーブ自動機械とから構成される自動機械システムを制御する自動機械システムの制御装置であって、
前記スレーブ自動機械の座標系であるスレーブ座標系（ΣＲ）と、前記マスタ自動機械の座標系であるマスタ座標系（ΣＭ）との関係を表わすキャリブレーションデータ（Ｔ）を記憶する手段と、
前記ワークの教示位置に対するずれ量を検出するセンサからの入力に基づいて、前記ワークの教示位置に対するずれ量を検出し、検出したずれ量を前記ワークのスレーブ座標系におけるシフト量（Ｒｓ）として入力するスレーブ座標系シフト量入力部と、
スレーブ座標系（ΣＲ）における前記スレーブ自動機械の現在値（Ｐｃ）の位置及び姿勢データから、当該現在値（Ｐｃ）をスレーブ座標系（ΣＲ）上で表すフレーム（Ｒｃ）を作成し、マスタ座標系（ΣＭ）における前記マスタ自動機械の現在値（Ｐｃ）位置及び姿勢データから、当該現在値（Ｐｃ）をマスタ座標系（ΣＭ）上で表わすフレーム（Ｍｃ）を作成する制御点取得部と、
前記フレーム（Ｒｃ）と、スレーブ座標系におけるシフト量（Ｒｓ）と、キャリブレーションデータ（Ｔ）と、に基づいて、スレーブ座標系におけるシフト量（Ｒｓ）をマスタ座標系におけるシフト量（Ｍｓ）に変換するマスタ座標系シフト量変換部と、
前記フレーム（Ｍｃ）と、マスタ座標系におけるシフト量（Ｍｓ）と、キャリブレーションデータ（Ｔ）と、に基づいて、マスタ座標系におけるシフト量（Ｍｓ）をスレーブ座標系におけるシフト量（Ｒｓ）に変換するスレーブ座標系シフト量変換部とを備え、
スレーブ座標系シフト量入力部により、前記ワークの教示位置に対するずれ量をスレーブ座標系におけるシフト量（Ｒｓ）として入力する過程と、
入力された前記スレーブ座標系におけるシフト量（Ｒｓ）に基づいて、前記スレーブ自動機械の動作軌跡をシフトさせて前記スレーブ自動機械を動作させる過程と、
前記マスタ自動機械を動作させる過程と、
マスタ座標系シフト量変換部により前記マスタ自動機械の動作後の前記マスタ座標系におけるシフト量（Ｍｓ）をスレーブ座標系におけるシフト量（Ｒｓ）に変換する過程と、
当該変換したスレーブ座標系におけるシフト量（Ｒｓ）に基づいて、前記スレーブ自動機械の動作軌跡をシフトさせて、前記スレーブ自動機械を動作させる過程と、を実行する
ことを特徴とする自動機械の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動機械の制御装置において、ロボットとロボット、ロボットとポジショナを連動運転する制御装置に関する。
【背景技術】
【０００２】
従来の協調動作を行うロボットシステムの例を図６、図７に示して説明する。図６では、２つのロボットに関する演算を説明する。スレーブロボット101の座標系をΣＲとする。マスタロボット100の座標系をΣＭとする。マスタロボット100の動作に連動して、スレーブロボット101の動作が実行されるとする。変換行列Ｔは、ΣＲとΣＭの変換を表わすものである。ここで、点ＰｃをΣＭの座標系上で表わすとＭｃ、ΣＲの座標系上で表わすとＲｃという関係であるとすると、
【０００３】
Ｒｃ＝Ｔ・Ｍｃ
【０００４】
が成り立つ（例えば、非特許文献１）。
このような関係を利用して、マスタの動作に連動して、スレーブの目標位置を求めることにより、教示位置の補間演算を実行し、ロボット同士、またはロボットとポジショナなどの自動機械同士を協調動作していた（例えば、特許文献１）。
【０００５】
実際の溶接アプリケーションとして、多層盛溶接に関して説明する。マスタロボット100は、手先部に治具104が取り付けられており、治具104の上に溶接ワーク103をクランプしている。スレーブロボット101は、溶接トーチ102を手先部に備えている。多層盛溶接を行うワークは、大物が多いため、溶接ワークのセット誤差が大きい。このため、外部センサなどにより、ずれ量を検出して、教示位置をシフトする必要がある。図８に基づいて、シフト量と位置の関係について説明する。１層目の１パスの開始点P1を溶接する前には、溶接ワーク103のシフト量Ｓをタッチセンサなどを用いて演算する。ここで、シフト量は、位置及び回転を伴う変換行列である。以下に説明する座標については、座標系ΣＲ上の値である。シフト量Ｓを用いて、P1の位置をフレームＰｔとし、シフト後の位置P2のフレームＰａについて、次式が成り立つ。
【０００６】
Ｐａ＝Ｓ・Ｐｔ
【０００７】
以上のようにして、従来はシフト量を元に教示位置を演算していた。
これらの従来技術を組合せて、多層盛溶接を行う場合には、１層目のシフト量を２層目、３層目の教示位置に同じようにシフトし、協調動作を行っていた。
【特許文献１】特開２００３−１４５４６２号公報（第１０頁左列第３行〜第３７行）
【非特許文献１】Ｊｏｈｎ  Ｊ．Ｇｒａｉｇ著「ロボティクス」共立出版、１９９４年４月１５日、ｐ．３４−３５
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上に述べた従来のロボット制御装置では、１層目で求めたシフト量と、２層目で使用するシフト量を同一にする必要があった。つまり、１層目のシフト量は、２つのロボットの基準となる座標系ΣＲに対して同一であるために、２層目でワークを把持しているロボットを動作させ、ワークの位置や姿勢を変化させることができなかった。
【０００９】
本発明は、このような従来の構成が有していた問題を解決しようとするものであり、シフト動作を簡単に実現するロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の請求項１記載の自動機械の制御装置は、ワークをクランプする１台のマスタ自動機械と、前記マスタ自動機械と連動して動作するスレーブ自動機械とから構成される自動機械システムを制御する自動機械システムの制御装置であって、前記スレーブ自動機械の座標系であるスレーブ座標系（ΣＲ）と、前記マスタ自動機械の座標系であるマスタ座標系（ΣＭ）との関係を表わすキャリブレーションデータ（Ｔ）を記憶する手段と、前記ワークの教示位置に対するずれ量を検出するセンサからの入力に基づいて、前記ワークの教示位置に対するずれ量を検出し、検出したずれ量を前記ワークのスレーブ座標系におけるシフト量（Ｒｓ）として入力するスレーブ座標系シフト量入力部と、スレーブ座標系（ΣＲ）における前記スレーブ自動機械の現在値（Ｐｃ）の位置及び姿勢データから、当該現在値（Ｐｃ）をスレーブ座標系（ΣＲ）上で表すフレーム（Ｒｃ）を作成し、マスタ座標系（ΣＭ）における前記マスタ自動機械の現在値（Ｐｃ）位置及び姿勢データから、当該現在値（Ｐｃ）をマスタ座標系（ΣＭ）上で表わすフレーム（Ｍｃ）を作成する制御点取得部と、前記フレーム（Ｒｃ）と、スレーブ座標系におけるシフト量（Ｒｓ）と、キャリブレーションデータ（Ｔ）と、に基づいて、スレーブ座標系におけるシフト量（Ｒｓ）をマスタ座標系におけるシフト量（Ｍｓ）に変換するマスタ座標系シフト量変換部と、前記フレーム（Ｍｃ）と、マスタ座標系におけるシフト量（Ｍｓ）と、キャリブレーションデータ（Ｔ）と、に基づいて、マスタ座標系におけるシフト量（Ｍｓ）をスレーブ座標系におけるシフト量（Ｒｓ）に変換するスレーブ座標系シフト量変換部とを備え、スレーブ座標系シフト量入力部により、前記ワークの教示位置に対するずれ量をスレーブ座標系におけるシフト量（Ｒｓ）として入力する過程と、入力された前記スレーブ座標系におけるシフト量（Ｒｓ）に基づいて、前記スレーブ自動機械の動作軌跡をシフトさせて前記スレーブ自動機械を動作させる過程と、前記マスタ自動機械を動作させる過程と、マスタ座標系シフト量変換部により前記マスタ自動機械の動作後の前記マスタ座標系におけるシフト量（Ｍｓ）をスレーブ座標系におけるシフト量（Ｒｓ）に変換する過程と、当該変換したスレーブ座標系におけるシフト量（Ｒｓ）に基づいて、前記スレーブ自動機械の動作軌跡をシフトさせて、前記スレーブ自動機械を動作させる過程と、を実行することを特徴とするものである。
【発明の効果】
【００１３】
本発明を使用することで、ロボットやポジショナに保持されているワークのずれ量を教示軌跡に反映できるために、教示作業が非常に容易になるという格段の効果を奏するものである。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態として図１〜図５に基づいて説明する。
【実施例１】
【００１５】
本実施例のロボットシステムの概要を図１に基づいて説明する。マスタロボット１００は、手先部に治具１０４が取り付けられており、治具１０４の上に溶接ワーク１０３をクランプしている。スレーブロボット１０１は、溶接トーチ１０２を手先部に備えている。スレーブ座標系シフト量入力部は、スレーブ座標でのシフト量を入力するものである。例えば、外部センサなどにより、検出した溶接ワーク１０３のシフト量を入力する。制御点取得部３は、ロボット１００、１０１の各制御点を取得する処理を行う。各制御点は、直交ＸＹＺ軸の３軸、及び各軸の回転量を表わす行列で表現されている。座標系キャリブレーションデータ４は、スレーブの座標系とマスタの座標系の関係を表わすキャリブレーションデータである。マスタ座標系シフト量変換部２は、スレーブ座標系シフト量とロボット１００、１０１の制御点と、座標系キャリブレーションデータ４とから、スレーブ座標系シフト量をマスタ座標系シフト量に変換するものである。
【００１６】
以下に、詳細部分について図２に基づいて説明する。説明を簡単にするために、ワールド座標系をスレーブ座標系と同一に設定する。スレーブの座標系をΣＲ、マスタの座標系をΣＭ、座標系キャリブレーションデータを変換行列Ｔとする。ここで、点ＰｃをΣＭの座標系上で表わすとＭｃ、ΣＲの座標系上で表わすとＲｃ、スレーブ座標系シフト量Ｒｓとする。
【００１７】
制御点取得部3では、ロボット100及びロボット101の各々の座標系での現在値から、フレームを作成する。点Ｐｃの位置を（ｘ，ｙ，ｚ）、姿勢データを（α，β，γ）とする。ここで、α、β、γは、Ｘ軸、Ｙ軸、Ｚ軸回りの回転角度である。この位置及び姿勢から、フレームＲｃは、
【００１８】
【数１】
0004808920.tif 000002
【００１９】
となる。
よって、各座標系も同様に表現され、次式がなりたつ。
【００２０】
Ｒａ＝Ｒｓ・Ｒｃ  ・・・(1)
Ｍｃ＝Ｔ-1・Ｒｃ  ・・・(2)
Ｍａ＝Ｔ-1・Ｒａ  ・・・(3)
Ｍａ＝Ｍｓ・Ｍｃ  ・・・(4)
【００２１】
(1)、(2)、(3)式より、Ｍａ、Ｍｃを求め、(4)式より、
【００２２】
Ｍｓ＝Ｍａ・Ｍｃ-1  ＝（Ｔ-1・Ｒａ）・（Ｔ-1・Ｒｃ）-1
＝Ｔ-1・Ｒｓ・Ｒｃ・（Ｔ-1・Ｒｃ）-1  ・・・(5)
【００２３】
を求める。
【実施例２】
【００２４】
ここでは、マスタ座標系シフト量入力部５にマスタ座標系のシフト量が入力される。その後、スレーブ座標系シフト量変換部６にて、スレーブ座標系でのシフト量が演算されるものである。
以下、詳細について、図２を元に説明する。
（１）式より、
【００２５】
Ｒｓ＝Ｒａ・Ｒｃ-1  ・・・（6）
【００２６】
(2)、(3)、(4)式より、
【００２７】
Ｒｓ＝Ｒａ・Ｒｃ-1＝（Ｔ・Ｍａ）・（Ｔ・Ｍｃ）-1
＝Ｔ・Ｍｓ・Ｍｃ・（Ｔ・Ｍｃ）-1  ・・・(7)
【００２８】
となる。
このようにして、マスタ座標系のシフト量をスレーブ座標系のシフト量へ変換することができる。
【実施例３】
【００２９】
実際のアプリケーションについて、説明する。
図４（ａ）では、溶接トーチ102を保持しているスレーブロボットで、溶接ワーク103のずれ量を演算する。この演算量は、教示位置に対してシフト量として入力される。入力形態としては、ロボットの位置変数と呼ばれる位置を格納するユーザが使用する変数にセットされる。このセットの方法については、電気的に接触を感知するワイヤタッチによりずれ量を求める方法や、外部センサを取り付けてずれ量を求める方法、または画像処理センサなどによる光学的な検出方法などある。
【００３０】
ロボットプログラムの例を図５に示す。ＳＹＮＣＯＮは、協調動作の開始命令である。ＭＯＶＬは、直線動作をさせる命令である。ＳＦＴＯＮ  Ｐ０００のＰ０００が、スレーブ座標系シフト量入力部1に相当する。ＳＦＴＯＮにより、Ｐ０００の値で、以下のロボットの位置がシフトされる。つまり、ＳＦＴＯＦ命令が実行されるまでは、ＳＦＴＯＮ  Ｐ０００のシフト量でスレーブ側のロボット、つまり、溶接トーチ102を把持しているロボットの軌跡がシフトされる。
【００３１】
図４（ｂ）のように、マスタのロボットが治具１０４を移動させた場合を考える。図５のロボットプログラムのライン７では、ＣＮＶＲＴ命令によって、現在のスレーブ座標系のシフト量がマスタ座標系のシフト量に変換される。その後、ライン８では、マスタのロボットが移動する。例えば、溶接ワーク１０３の姿勢を変化させたりする。ライン９では、マスタ座標系のシフト量に変換されたシフト量をスレーブ座標系のシフト量に変換する。
以上のようにすれば、マスタがどのように変化しても、スレーブ座標系上のずれ量を確実にワークに追従して、軌跡に反映させることができる。
また、本実施例では、スレーブ座標系でのシフト量を求めたアプリケーションを説明したが、システム構成上、マスタ座標系でのシフト量を求める場合にも、同じように実現できる。さらに、実施例では、ロボットとロボットについて説明したが、ロボットとポジショナなどの組合せにも適用できる。マスタを１台、スレーブを３台、４台と増やしても同じように実現できる。
【産業上の利用可能性】
【００３２】
本発明は、ロボットとロボット、ロボットとポジショナを連動運転する自動機械の制御装置に関する。
【図面の簡単な説明】
【００３３】
【図１】本発明の第１実施例を示す構成図
【図２】本発明の第１、２実施例の座標系の説明図
【図３】本発明の第２実施例を示す構造図
【図４】本発明の第３実施例のアプリケーション例
【図５】本発明の第３実施例のプログラム例
【図６】従来技術の座標系の説明図
【図７】従来技術のアプリケーション例
【図８】シフト動作の説明図
【符号の説明】
【００３４】
1：スレーブ座標系シフト量入力部
2：マスタ座標系シフト量変換部
3：制御点取得部
4：座標系キャリブレーションデータ
5：マスタ座標系シフト量入力部
6：スレーブ座標系シフト量変換部
【図１】
0004808920.tif 000003
【図２】
0004808920.tif 000004
【図３】
0004808920.tif 000005
【図４】
0004808920.tif 000006
【図５】
0004808920.tif 000007
【図６】
0004808920.tif 000008
【図７】
0004808920.tif 000009
【図８】
0004808920.tif 000010