(57)【要約】【課題】  アーク溶接ロボットプログラムについて、前進角／ねらい角等の溶接条件の表示と、希望する溶接条件に合わせたプログラムの修正。【解決手段】  溶接条件の表示を行なうロボットプログラムを選択し、溶接を伴う動作命令行を選択する。各教示点につき、ロボットＲＢ１及びポジショナ３０の位置・姿勢を取得し、外周をほぼ一周する溶接を施すパイプ状のワークＷに対するトーチ先端点２の相対位置・姿勢を求める。楕円近似で溶接中心位置を取得する。各教示点につき、ねらい角及び前進角を求める。ロボットプログラムの動作シミュレーションを実行し、ワークに対するトーチ先端点の相対位置・姿勢の推移から、速度、ねらい角／前進角の推移を取得し、グラフ表示する。新たにねらい角と前進角を指定すると対応する教示位置・姿勢が取得され、各教示点の姿勢データが更新される。【選択図】          図３
2006039781.tif 000002
【特許請求の範囲】
【請求項１】
アーク溶接トーチをアーム先端部に搭載してアーク溶接を行なうロボットを含むロボットシステムの動作プログラムを記憶する手段と、
前記動作プログラムを実行し、周期的に前記プログラムの実行行、経過時間とそのときのロボットの位置・姿勢を取得する手段と、
前記取得したプログラムの実行行、ロボット位置・姿勢、時間を記憶する手段と、
前記アーク溶接トーチのねらい角を算出するための基準面を、前記記憶された動作プログラム中の３以上のロボットの位置・姿勢に基づいて算出する手段と、
前記記憶された時間、ロボットの位置・姿勢及び前記算出された基準面から、ねらい角、前進角の推移を求める手段と、
該求められたねらい角及び前進角の推移を表示する手段を備えたことを特徴とする、アーク溶接用装置。
【請求項２】
前記記憶された時間及びロボットの位置・姿勢から、速度を求める手段と、
該求められた速度を表示する手段とを備えたことを特徴とする、請求項１に記載のアーク溶接用装置。
【請求項３】
前記アーク溶接用装置が、ロボット制御装置、あるいは、ロボットシミュレーション装置のいずれかであることを特徴とする、請求項１または請求項２に記載のアーク溶接用装置。
【請求項４】
前記ねらい角及び前進角の推移、あるいは、前記ねらい角、前進角及び速度の推移をグラフ表示する手段を備えたことを特徴とする、請求項２乃至請求項３の内のいずれか１項に記載のアーク溶接用装置。
【請求項５】
前記グラフ上の１点を指定すると、対応する実行行を表示する手段をもつことを特徴とする、請求項４に記載のアーク溶接用装置。
【請求項６】
アーク溶接トーチをアーム先端部に搭載してアーク溶接を行なうロボットを含むロボットシステムの動作プログラムを記憶する手段と、
前記動作プログラムに関して、ねらい角、前進角、速度を含む溶接条件を指定する手段と、
前記動作プログラムを実行し、周期的に前記プログラムの実行行、経過時間とそのときのロボットの位置・姿勢を取得する手段と、
前記取得したプログラムの実行行、ロボット位置・姿勢及び時間を記憶する手段と、
前記アーク溶接トーチのねらい角を算出するための基準面を、前記記憶された動作プログラム中の３以上のロボットの位置・姿勢に基づいて算出する手段と、
前記動作プログラム中の行が指定された時、該指定行に対応して記憶されている教示点のロボット位置・姿勢と、前記算出された基準面とに基づいて、前記指定された溶接条件を実現するための修正ロボット位置・姿勢を算出する手段と、
前記指定行の前記ロボット位置・姿勢を前記修正ロボット位置・姿勢に修正する手段を備えたことを特徴とする、アーク溶接用装置。
【請求項７】
前記アーク溶接用装置が、ロボット制御装置、あるいは、ロボットシミュレーション装置のいずれかであることを特徴とする、請求項６に記載のアーク溶接用装置。
【請求項８】
前記ロボットシステムは、前記アーク溶接トーチをアーム先端部に搭載してアーク溶接を行なうロボットと、該ロボット以外のロボットを含む複数のロボットを含み、
前記動作プログラムは、前記複数のロボットを制御するための動作プログラムであることを特徴とする、請求項１乃至請求項７の内のいずれか１項に記載のアーク溶接用装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アーク溶接トーチをアーム先端部に搭載して行なうアーク溶接に関連して使用されるアーク溶接用装置に関し、更に詳しく言えば、アーク溶接を行なうロボットの動作プログラムについて、アーク溶接トーチの前進角、ねらい角などの溶接条件の表示や、希望する溶接条件に合わせて動作プログラムの位置データ修正に使用するアーク溶接用装置に関する。
【背景技術】
【０００２】
アーク溶接ロボットシステムの教示を行う典型的な方法の１つはいわゆるプレイバック方式によるものである。一般に、この方式では、ジョグ操作で実機ロボットを溶接線に沿って動かし、教示点毎にロボットの位置・姿勢を記憶していく。ロボットの姿勢については、溶接トーチが適正なねらい角、前進角を持つように定められる。そして、それら教示点を定めたロボットの溶接プログラムを実行し、溶接作業が行われる。
【０００３】
もう１つの典型的な方法としてオフラインプログラミングシステムを使用する方法がある。オフラインプログラミングシステムには、ロボット、溶接トーチ、ワーク、周辺物体等の形状・寸法、レイアウト等の情報がオフラインデータで与えられ、それに基づいてワークセルが定義される。ワークセルは、実際の作業現場を仮想空間上で再構成したものに相当する。動作プログラムにおける教示点のロボット位置・姿勢は、ワークセル中で動作するロボット（実機ではない）のとる位置・姿勢として定められる。ロボットの姿勢については、ワークセル中で定義されている溶接トーチが、ワークセル中で適正なねらい角、前進角を持つように定められる。そして、それら教示点を定めたロボットの溶接プログラムを実機ロボットを制御するロボット制御装置に転送して使用する。
【０００４】
上記した２つの方法の内、前者は、ジョグ操作で実機ロボットの位置と姿勢を目視で調整するため、短時間で適正な教示を行なうことは困難であった。特に、溶接品質を左右する重要な条件であるねらい角と前進角を正しく定めるには、ジョグ、教示、プログラム実行の作業を試行錯誤的に繰り返し行わなければならず、非常に工数が掛かるという問題を生じていた。
【０００５】
一方、後者のオフラインプログラミングシステムを使用する方法においても、実際に現場で適用する際には、オフラインプログラミングシステムのワークセルが定めているレイアウトと現場のレイアウトの間には殆ど例外なくずれがあり、オフラインで作成したプログラムを直接使えるケースは皆無と言っても良い。そこで、教示位置・姿勢に必要な修正を加えることになるが、その修正に伴い、前進角、ねらい角が変更されることになり、上記したプレイバック方式と同様の状況を招き、結局、工数が掛かるという問題点は改善されない。
【０００６】
従来方法が上記のような問題をかかえていることの１つの背景には、動作プログラムに前進角とねらい角を含む溶接条件を直接設定することができなかったという事情がある。また、そのことに関連して、動作プログラムからロボットの教示位置・姿勢は直ちに判るが、その教示位置・姿勢が対応する前進角とねらい角はオペレータに知らされず、別途計算しない限り判らないということがある。そのため、例えば前進角とねらい角を含む適正な溶接条件が判っていても、その条件からロボットの位置・姿勢を別途計算し、それを用いて動作プログラムの作成あるいは修正を行なう必要があった。
【０００７】
従って、アーク溶接ロボット用の動作プログラムを作成、あるいは、正しいかどうかを確認するのに時間がかかっていた。このような問題を簡便に解決する技術を開示した文献はこれまでのところ見当らない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、ロボットシステムを用いたアーク溶接における従来技術の上記問題点を解決することにある。即ち、本発明は、アーク溶接を行なうロボットの動作プログラムについて、アーク溶接トーチの前進角、ねらい角などの溶接条件の表示や、希望する溶接条件に合わせて動作プログラムの位置データ修正を行なうことができるアーク溶接用装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、上記課題を解決するために、アーク溶接を行うロボットの動作プログラムから前進角、ねらい角などの溶接条件を表示する機能や、指定した溶接条件が実現されるように動作プログラムの位置データを修正する機構を持つアーク溶接用装置を提案するものである。
【００１０】
より具体的に言えば、請求項１に規定した発明に係るアーク溶接用装置は、アーク溶接トーチをアーム先端部に搭載してアーク溶接を行なうロボットの動作プログラムを記憶する手段と、前記動作プログラムを実行し、周期的に前記プログラムの実行行、経過時間とそのときのロボットの位置・姿勢を取得する手段と、前記取得したプログラムの実行行、ロボット位置・姿勢、時間を記憶する手段と、前記アーク溶接トーチのねらい角を算出するための基準面を、前記記憶された動作プログラム中の３以上のロボットの位置・姿勢に基づいて算出する手段と、前記記憶された時間、ロボットの位置・姿勢及び前記算出された基準面から、ねらい角、前進角の推移を求める手段と、該求められたねらい角及び前進角の推移を表示する手段を備えることを特徴としている。
【００１１】
ここで、前記記憶された時間及びロボットの位置・姿勢から、速度を求める手段と、該求められた速度を表示する手段を更に設けることができる（請求項２）。また、前記アーク溶接用装置には、ロボット制御装置、あるいは、ロボットシミュレーション装置を利用することができる（請求項３）。前記ねらい角及び前進角の推移、あるいは、前記ねらい角、前進角及び速度の推移をグラフ表示する手段を設けても良い（請求項４）。その場合、前記グラフ上の1点を指定すると、対応する実行行を表示する手段を設けることが好ましい（請求項５）。
【００１２】
次に、請求項６に規定した発明に係るアーク溶接用装置は、アーク溶接トーチをアーム先端部に搭載してアーク溶接を行なうロボットの動作プログラムを記憶する手段と、前記動作プログラムに関して、ねらい角、前進角、速度を含む溶接条件を指定する手段と、前記動作プログラムを実行し、周期的に前記プログラムの実行行、経過時間とそのときのロボットの位置・姿勢を取得する手段と、前記取得したプログラムの実行行、ロボット位置・姿勢及び時間を記憶する手段と、前記アーク溶接トーチのねらい角を算出するための基準面を、前記記憶された動作プログラム中の３以上のロボットの位置・姿勢に基づいて算出する手段と、前記動作プログラム中の行が指定された時、該指定行に対応して記憶されている教示点のロボット位置・姿勢と、前記算出された基準面とに基づいて、前記指定された溶接条件を実現するための修正ロボット位置・姿勢を算出する手段と、前記指定行の前記ロボット位置・姿勢を前記修正ロボット位置・姿勢に修正する手段を備えることを特徴としている。
【００１３】
ここで、前記アーク溶接用装置には、ロボット制御装置、あるいは、ロボットシミュレーション装置が利用できる（請求項７）。なお、上記いずれの発明においても、前記ロボットシステムは、前記アーク溶接トーチをアーム先端部に搭載してアーク溶接を行なうロボットと、該ロボット以外のロボットを含む複数のロボットを含み、前記動作プログラムは、前記複数のロボットを制御するための動作プログラムとすることができる（請求項８）。
【発明の効果】
【００１４】
本装置によれば、オペレータは当該動作プログラムの教示内容に対応する、前進角、ねらい角を含む溶接条件を簡単に知ることができる。また、前進角とねらい角を含む溶接条件を指定すれば、その条件に適合する修正を動作プログラムに加えることができるようになる。これら機能により、アーク溶接ロボット用の動作プログラムの作成、適正さのチェック等に要する時間が短縮され、また、現場でプログラム修正を行なう場合の工数の削減を図ることができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。先ず図１、図２を参照して、アーク溶接ロボットに設定されるツール座標系とアーク溶接トーチの姿勢の関係、並びに、アーク溶接トーチの姿勢を記述する「ねらい角」及び「前進角」の一般的な定義について簡単に述べておく。図１に示すように、アーク溶接ロボットにおいては、アーム先端部に装着されたアーク溶接トーチ（以下、単に「トーチ」とも言う）１の先端２を原点、トーチ方向をＺ軸、トーチ前面に対応した方向となる頻度の高い方向をＸ軸としたツール座標系が設定されることが多い。なお、「トーチ前面」とは、溶接線接線方向の内溶接進行側を向く方向（溶接進行方向）３に面するトーチ面のことを言うものとする。以下、実施形態において採用されるアーク溶接ロボット（後述）にも、このようにツール座標系が定義されているものとする。
【００１６】
さて、ねらい角及び前進角と呼ばれる量は、トーチ姿勢を記述する量である。図２は、アーク溶接ロボットにおけるねらい角及び前進角を説明する図であり、直線ＡＢは直線状の溶接線の場合の例、円弧Ｑ１ＰＱ２は溶接線が円弧状である場合の例を示している。周知のように、ねらい角・前進角を定めるには、基準面を定義しなくてはならない。基準面はここでは両例共通して符号Γ0 で示されている。基準面は、通常、次のように決められる。
【００１７】
（１）曲線溶接経路Ｑ１ＰＱ２の場合、その経路で定義される平面を基準面Γ0 とする。  
（２）直線溶接経路ＡＢの場合、その経路ＡＢが存在するワーク部分を代表するワーク面を基準面Γ0 とする。  
符号＜ｎ＞はこのようにして決められた基準面Γ0 の向きを表わす法線ベクトルを表わし、符号Γ1 は点Ｐにおける溶接経路の接線を基準面Γ0 との交線とする、基準面Γ0 に対する垂面を表わしている。
今、基準面Γ0 に対してトーチ１の方向（ツール座標系のＺ軸方向）を表わす直線と溶接線の接線（直線区間であればＡＢ；以下、同様）が乗る平面Γ2 を考えた時、平面Γ2 が基準面Γ0 に対してなす角θが「ねらい角」である。
【００１８】
また、ツール先端点２から、平面Γ2 に乗る溶接線の接線に対する垂線ｇを立てた時、この垂線ｇに対して、トーチ１の方向（ツール座標系のＺ軸方向）を表わす直線がなす角φが「前進角=」である。  
ここで、図示した角度φの取り方において角度φが０度を下回った時には、前進角に代えて後退角の呼称が使用されることもあるが、本明細書では前進角（±符号付き）の呼称で統一する。このように、ねらい角θは溶接線周りの角度であり、前進角φは基準面Γ0 上でその点で溶接線に立てた垂線ｇ周りの角度である。なお、以下に説明する具体例では、略円筒状のパイプの周囲を周るような略円弧状の溶接線を想定するので、上記の（１）の決め方で基準面が決められる。
【００１９】
図３は本発明に従った実施形態におけるアーク溶接ロボットシステムの概略配置を示す図である。同図において、符号ＲＢ１はロボット（アーク溶接ロボット）を表わし、そのアーム先端部にアーク溶接トーチ１が装着されている。符号２はアーク溶接トーチ１の先端点である。ロボットＲＢ１はロボット制御装置１０にケーブルで接続されている。ロボット制御装置１０には、更に教示操作盤１１及びパーソナルコンピュータ２０が接続されている。なお、ロボット制御装置１０に接続されて同制御装置により制御されるとともに、溶接トーチ１に溶接電圧／接電流を供給する溶接電源や、溶接トーチ１への溶接ワイヤ供給に関連する装置については図示を省略した。
【００２０】
トーチ１でアーク溶接が施されるワークは、ここでは略円形の外周断面を持つパイプ状のワークＷで、ポジショナ３０のワークテーブル３１上に位置決め・固定されている。ポジショナ３０は回転部材３２と同回転部材３２を回転軸３３回りで回転駆動するサーボモータ（図示省略）を備えている。ポジショナ３０はロボット制御装置１０に接続され、その動作はロボットＲＢ１と同じくロボット制御装置１０によって制御される。本実施形態における溶接線としては、このパイプ状のワークＷをポジショナ３０で回転させながら、ワークＷの外周を一周する略円形の溶接線を想定する。
【００２１】
さて、本発明は既述の通り、ロボット制御装置１０またはロボットシミュレーション装置をアーク溶接用装置として使用することができるが、後者を本実施形態に適用するには、パーソナルコンピュータ２０をアーク溶接用装置として使用する。本発明ではいずれにしろ、教示点におけるロボットの位置・姿勢を記述した位置データ、指令速度の指令データ等を含む動作プログラムが用意されることが前提となる。ロボット制御装置１０をアーク溶接用装置として使用する場合には、動作プログラムをロボット制御装置１０内に用意する。この動作プログラムは例えば前述したジョグ操作によるプレイバックティーチングで作成したものである。
【００２２】
一方、パーソナルコンピュータ２０をアーク溶接用装置として使用する場合には、パーソナルコンピュータ２０内に上記ロボットＲＢ１、トーチ１、ポジショナ３０、ワークＷ等を含む配置に対応するワークセルが予め定義される。また、動作プログラムを実行した時のロボットＲＢ１及びポジショナ３０（但し、いずれもワークセル中で定義された仮想のもの）の動作をシミュレートするためのソフトウェアが装備される。このような形で、パーソナルコンピュータをロボットシミュレーション装置として使用すること自体は周知技術なので、詳細説明は省略する。
【００２３】
図４は、本実施形態において、ロボットの動作プログラムからねらい角、前進角、溶接速度を表示し、次いで、新たに希望するねらい角、前進角を指定（設定）して、それに応じた修正を動作プログラムに施すケースを例にとり、一連の処理の流れを記したフローチャートである。処理は、ロボット制御装置１０をアーク溶接用装置に用いた場合はロボット制御装置１０内で行なわれ、パーソナルコンピュータ２０をアーク溶接用装置に用いた場合はパーソナルコンピュータ２０内で行なわれる。また、ディスプレイとしては、前者のケースでは教示操作盤１１に付設されているＬＣＤが利用され、後者のケースではパーソナルコンピュータ２０に付設されているＬＣＤが利用されるものとする。
【００２４】
以下、このフローチャートについて説明するが、説明は先ず各ステップの要点を簡単に述べ、次いで、一部のステップについて詳細を記す形式で行なうことにする。  
ステップＳ１；溶接条件の表示を行なうロボットプログラム（動作プログラム）を選択する。プログラムの選択は、例えばオペレータがディスプレイ上に動作プログラムのリストを呼出し、画面上で指定する。  
ステップＳ２；選択したロボットプログラムの溶接を伴う動作命令行を選択する。図５（ａ）は、ステップＳ１で選択されたプログラムの溶接を伴う動作命令行及びその前後の部分を例示している。白抜きで描示された第１３〜第１５行がここで想定する溶接を伴う動作命令行である。命令は、「各軸移動でイチ［２］に位置決めし（第１２行）、次いで、イチ［３］を経てイチ［４］まで、イチ［２］〜イチ［４］が定める円弧経路に沿って移動し（第１３行）、更に、イチ［５］を経てイチ［６］までイチ［４］〜イチ［６］が定める円弧経路に沿って移動せよ」というものである（なお、溶接トーチオンの命令は、例えば直前の行に記されるが、ここでは描示を省略した）。
【００２５】
ここで、計５個の教示点イチ［２］〜イチ［６］は、図５（ｂ）に示すように、パイプ状のワークＷの外周に沿った１つの円弧Ｗ1 （中心Ｗ0 ）上の５点に対応した位置であり、その位置・姿勢データ（ロボットＲＢ１及びポジショナ３０のデータ）は位置データで記憶されている。ここで、イチ［２］とイチ［６］の「位置」は接近していることが通常である。「姿勢」については類似する場合、そうでない場合のいずれもあり得る。
【００２６】
なお、図５（ａ）には各教示点についてねらい角と前進角の数値が併記されているが、これは後述するステップＳ６が完了した時点で表示可能となるもので、本ステップ２の段階では数値欄はブランク（またはゼロ表示）となっているものである。但し、実際に本ステップが完了してからステップＳ６が完了するまでの時間は非常に短く、例えば数秒未満である。
【００２７】
ステップＳ３；各教示点につき、ロボット及びポジショナの位置・姿勢を取得する。ここでは、上記したイチ［２］〜イチ［６］について各々ロボット及びポジショナの位置・姿勢データが読み出される。  
ステップＳ４；各教示点につき、ワークＷに対するトーチ先端点２の相対位置・姿勢を取得する。取得のための計算内容等、詳細については後述する。
【００２８】
ステップＳ５；求めた各相対位置に基づき、楕円近似で溶接中心位置（姿勢を含む）を取得する。この溶接中心位置は、図５（ｂ）における円弧Ｗ1 の中心Ｗ0 に対応するもので、各教示点が乗る面上にある。本例ではこの面がねらい角／前進角を計算する際の基準面（前述したΓ0 に対応）となる。
【００２９】
ステップＳ６；各教示点につき、ねらい角及び前進角を計算して記憶する。計算方法等、詳細については後述する。このステップが完了すると、図５（ａ）で併記されているねらい角と前進角の数値欄に具体的な数値が表示できるようになる。  
ステップＳ７；当該ロボットプログラムの動作シミュレーションを実行する。シミュレーションはロボット制御装置１０内またはパーソナルコンピュータ２０内で行なわれるが、ロボット制御装置１０内で行なう場合、実機ロボットＲＢ１及びポジショナ３０は動作させる必要がない。いずれにしろ、シミュレーションの実行中に、補間周期毎のロボットＲＢ１及びポジショナ３０の各軸の値が経過時間データとともに記憶される。
【００３０】
ステップＳ８；ワークに対するトーチ先端点の相対位置・姿勢の推移を取得する。詳細については後述する。  
ステップＳ９；取得した相対位置・姿勢の推移から、速度推移を取得する。詳細については後述する。  
ステップＳ１０；取得した相対位置・姿勢の推移から、ねらい角及び前進角の推移を取得する。詳細については後述する。  
ステップＳ１１；ねらい角と前進角の推移、及び、速度推移を表示する。図８にグラフ形式での表示例を示した。グラフにおいて、横軸は動作シミュレーション開始時点をｔ＝０とした時間経過を表わし、ｔ＝Ｔは動作シミュレーション終了時点を表わしている。なお、ここでグラフを表示した画面上で、希望する点（例えば×印の位置）をオペレータが指定すると、その点が対応する時点ｔで実行（シミュレート）されている命令行（例えば前述した図５（ａ）中に示した第１３行〜第１５行の内のいずれか）が表示される。
【００３１】
ステップＳ１２；新たに、希望するねらい角と前進角を指定する。指定は、例えば教示操作盤１１あるいはパーソナルコンピュータ２０のキーボードを用いてオペレータが各教示点のねらい角と前進角の数値を入力することで行なわれる。一旦、図５（ａ）で併記したようなねらい角と前進角の数値の表示画面を呼出し、各数値の必要部分を書き直す手順を採用しても良い。
【００３２】
ステップＳ１３；指定されたねらい角と前進角に対応する教示位置・姿勢を取得する。詳細については後述する。  
ステップＳ１４；ステップ１３で指定された教示位置・姿勢に基づいて、各教示点の姿勢データを更新し、処理を終了する。
【００３３】
以上が、ねらい角／前進角、速度の推移の表示、及び、ねらい角／前進角の指定に合わせた動作プログラムの修正を行なう場合の流れの大略である。
次に、図６、図７を参照図に加えて詳細説明の補足を行なう。
（１）ワークＷに対する溶接トーチ先端点２の相対位置の取得について；関連ステップ＝Ｓ４、Ｓ８
ステップＳ４では、ステップＳ３でロボット及びポジショナの姿勢が取得済みとなっている。また、ステップＳ８では、ステップＳ７で、補間周期毎のロボットＲＢ１及びポジショナ３０の各軸の値が経過時間データとともに記憶されている。これを前提に、以下のようにして、ワークＷに対する溶接トーチ先端点２の相対位置を取得する。
【００３４】
図６に示したように、ロボットＲＢ１の基準位置（例えばベース座標系の原点）４の位置・姿勢から、トーチ１の先端点２の位置・姿勢への変換マトリックスをＭ1 とする。  
一方、ポジショナ３０の駆動部上に任意の座標系（ポジショナベース座標系と呼ぶ）を定義しておき、ポジショナ３０の基準位置（例えばポジショナベース座標系の原点）５からそのポジショナベース座標系への変換マトリックスをＭ2 とする。また、ロボットＲＢ１の基準位置４から、ポジショナ３０の基準位置５への変換マトリックスをＭ3 とする。更に、ポジショナ３０の動作位置を代表する任意の座標系（以下、ポジショナ動作代表座標系と呼ぶ）の原点６の位置・姿勢から、トーチ１の先端点２の位置・姿勢への変換マトリックスをＭ21とすると、Ｍ21は以下の式で表される。
【００３５】
Ｍ21＝Inv （Ｍ2 ）*Inv（Ｍ3 ） * Ｍ1 
同様にして、溶接動作を行う動作命令の各教示姿勢について、Ｍ21を取得する。  
このとき、各Ｍ21は、各教示姿勢におけるポジショナ３０のポジショナ動作代表座標系に対する、トーチ１の先端点２の相対位置、相対姿勢を示すことになる。  
（２）溶接動作の中心位置の取得について；関連ステップ＝Ｓ５、Ｓ１３、Ｓ１４
一般に、２つの位置・姿勢間の変換マトリックスは、（x, y, z, w, p, r）の形に変換できる。ここで、x, y, z は相対位置、w, p, r は相対姿勢を表わす。これを前提に述べると、溶接動作の中心位置の取得には、先ず、３次元空間上における各教示姿勢のＭ21のx, y, z を含む、平均的な平面を求める。３次元空間上の平面は一般に以下の式で表現される。  
x + By + Cz + D ＝0  
ここで、係数で作るベクトル（A, B, C）はこの平面の法線ベクトルを表している。
【００３６】
そこで、各教示姿勢のＭ21のx, y, z から、Newel の方法によって平面の法線ベクトルを求めることで、A, B, C を取得する。そして、取得したA, B, C と各教示姿勢のＭ21のx, y, z を平面の式に当てはめることにより、複数のD （定数項）の値を取得する。  
これら複数のD の平均値と、上記A, B, C に基づいて平均的な平面の式を決定する。  
取得した平面上に、各教示姿勢のＭ21のx, y, z を投影し（即ち、x, y, z が表わす点から取得した平面上に垂線を降ろし、該平面との交点を求め）、それら求めた各点を通る楕円の近似式を、最小自乗法によって取得する。
【００３７】
取得した楕円の中心を溶接動作の中心位置とする。この点は、図５（ｂ）に示した溶接線（円弧Ｗ1 ）の中心Ｗ0 に相当する。
【００３８】
また、中心位置と平面の法線ベクトルから、中心位置を原点とする中心座標系を定義しておく。この座標系については、次に説明する（３）の中で述べる。ワークＷが本例のようにパイプ状である場合、例えばその座標系のＺ軸方向がパイプの長軸に対応することになる。
（３）ねらい角、前進角の取得について；関連ステップ＝Ｓ６、Ｓ１０
図７に示したように、ポジショナ３０上の任意の一点（ここでは上記したポジショナ動作代表座標系の原点６を採用）から上記中心座標系への変換マトリックスをＭc とする。そして、中心座標系からＭ21への変換マトリックスをＭp とすると、Ｍp は以下の式で表される。
【００３９】
Ｍp ＝Inv （Ｍc ）* Ｍ21
ここで、Ｍp のx, y, z は、溶接動作の中心からみたトーチ先端点２の位置を、w, p, r は姿勢を表している。これを用いて、ねらい角及び前進角を計算することができる。
（４）溶接速度の取得について；関連ステップ＝Ｓ９
ステップＳ７のシミュレーション、あるいは、別途行なうロボットＲＢ１の動作状態のモニタリングによって、溶接動作中の各時点でのロボットＲＢ１及びポジショナ３０の位置・姿勢を取得する。これから、上記（１）で述べた手法により、ロボットＲＢ１の基準位置４に対するトーチ１の先端点２の位置を取得する。この先端位置の移動量を経過時間で割ることによって、各時点の溶接速度が取得できる。
（５）ねらい角、前進角を指定した条件での教示姿勢の取得について；関連ステップ＝Ｓ１２〜Ｓ１４
上記（１）〜（３）の方法によって、Ｍc 及び各教示姿勢のＭp を取得する。指定したねらい角、前進角に応じて、Ｍp の姿勢w, p, r を変えた新しいＭp'を計算する。  
今、ロボットＲＢ１の教示姿勢を変更してＭp'を満たすようにする場合、新しい教示姿勢Ｍ1'は以下の式で表すことができる。  
Ｍ1' ＝Ｍ3 *Ｍ2 *Ｍc *Ｍp'
各教示点について、これらの姿勢を計算し、位置データの各姿勢部分を更新することで、指定内容を動作プログラムに反映させることができる。
【００４０】
なお、以上説明した実施形態では、ワークＷをポジショナ３０で支持したが、図９に示したように、ポジショナ３０に代えて、トーチ１を搭載したロボットＲＢ１とは別のロボットＲＢ２を使用し、ロボットＲＢ２のハンドＨＤでワークＷを支持しても良い。２台のロボットＲＢ１、ＲＢ２はロボット制御装置１０で制御することができる。
【００４１】
この場合、前述の（１）におけるマトリックスＭ2 をロボットＲＢ２の基準位置（例えばロボットＲＢ２のベース座標系の原点）からロボットＲＢ２のツール座標系の位置・姿勢への変換マトリックスＭ3 をロボットＲＢ１の基準位置（例えばロボットＲＢ２のベース座標系の原点）からロボットＲＢ２の基準位置への変換マトリックスとすることで、ロボットＲＢ１及びポジショナ３０を用いた構成の場合と同等の扱いが可能になる。
【００４２】
但し、上記（５）については、新しい相対位置Ｍp'を満たすために、ロボットＲＢ１の教示姿勢を変更する替わりに、ワークＷを移動させるロボットＲＢ２の教示姿勢を変更することもできる。その場合、ロボットＲＢ２の新しい教示姿勢Ｍ2'は下記の式で表される。  
Ｍ2' ＝Inv（Ｍ3 ）*Ｍ1 *Inv（Ｍc * Ｍp'）
【図面の簡単な説明】
【００４３】
【図１】アーク溶接ロボットに設定されるツール座標系とアーク溶接トーチの姿勢の関係について説明する図である。
【図２】アーク溶接トーチの姿勢を記述する「ねらい角」及び「前進角」の一般的な定義について説明する図である。
【図３】本発明に従った実施形態におけるアーク溶接ロボットシステムの概略配置を示す図である。
【図４】本実施形態において、ロボットの動作プログラムからねらい角、前進角、溶接速度を表示し、次いで、新たに希望するねらい角、前進角を指定（設定）して、それに応じた修正を動作プログラムに施すケースを例にとり、一連の処理の流れを記したフローチャートである。
【図５】（ａ）は、実施形態で選択された動作命令行及びその前後の部分を例示するとともに、各教示点におけるねらい角、前進角の計算結果の例を併記したものである。また、（ｂ）は、各教示点とワーク上の位置との対応関係を例示した図である。
【図６】ワークに対する溶接トーチ先端点の相対位置の取得について説明する図である。
【図７】ねらい角、前進角の取得について説明する図である。
【図８】ねらい角、前進角及び速度の推移をグラフ表示した例を示す図である。
【図９】ポジショナに代えて、ワークを支持するロボットを用いた変形例における配置を示した図である。
【符号の説明】
【００４４】
１  トーチ（アーク溶接トーチ）
２  トーチの先端（ツール先端点）
３  溶接進行方向
４  ロボットＲＢ１上の基準位置
５    ポジショナ上の基準位置
１０  ロボット制御装置
１１  教示操作盤
２０  パーソナルコンピュータ
３０  ポジショナ
３１  ワークテーブル
３２  回転部材
３３  回転軸
ＲＢ１、ＲＢ２  ロボット
Ｗ  ワーク
Ｗ0   教示点が乗る円弧の中心
Ｗ1   教示点が乗る円弧
【図１】
2006039781.tif 000003
【図２】
2006039781.tif 000004
【図３】
2006039781.tif 000005
【図４】
2006039781.tif 000006
【図５】
2006039781.tif 000007
【図６】
2006039781.tif 000008
【図７】
2006039781.tif 000009
【図８】
2006039781.tif 000010
【図９】
2006039781.tif 000011