(57)【要約】【課題】複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できるアーク溶接ロボット制御方法を及びアーク溶接ロボット制御装置を提供する。【解決手段】トーチ１１の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際、補間周期毎のトーチ１１の位置姿勢を算出する。Ｐ点における位置と手動運転開始位置間の第１差分を算出する。トーチ１１の長手方向の周りに所定量回転させた場合のＰ点における位置と手動運転開始位置間の第２差分を算出する。第２差分が第１差分よりも小さい場合に、トーチ１１を、少なくともトーチ１１の長手方向の周りに所定回転量分回転させて手動運転させる。【選択図】図１
2011002888.tif 000002
【特許請求の範囲】
【請求項１】
複数のアームが、基本軸と手首軸からなる複数の関節軸を介して連結され、ロボットの先端に位置するアームに溶接トーチが設けられた溶接ロボットであって、手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボットの制御方法において、
前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際、補間周期毎の前記溶接トーチの位置姿勢を算出するとともに、前記ロボットに予め定めた指標点における補間周期分移動した位置（以下、補間分移動位置という）と、手動運転開始位置間の第１差分を算出し、
前記補間周期毎に、前記補間分移動位置において、前記溶接トーチの長手方向の周りに第１所定回転量分回転させた場合の前記指標点における位置と前記手動運転開始位置間の第２差分を算出し、
第２差分が第１差分よりも小さい場合に、前記溶接トーチを、少なくとも前記溶接トーチの長手方向の周りに前記所定回転量分回転させて手動運転させることを特徴とするアーク溶接ロボットの制御方法。
【請求項２】
前記第２差分が第１差分よりも小さい場合、
さらに、第１所定回転量と同じ又は異なる第２所定回転量をｎ（但し、ｎは自然数、且つｎ≧１）回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分と、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分を算出し、
（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、ｎを１つずつ増分し、
（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、前記溶接トーチの長手方向の周りに、（ｎ−１）回分の第２所定回転量分回転させて手動運転させることを特徴とする請求項１に記載のアーク溶接ロボットの制御方法。
【請求項３】
前記第２差分が第１差分よりも大きい場合には、
前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢で手動運転することを特徴とする請求項１又は請求項２に記載のアーク溶接ロボットの制御方法。
【請求項４】
複数のアームが、基本軸と手首軸からなる複数の関節軸を介して連結され、ロボットの先端に位置するアームに溶接トーチが設けられた溶接ロボットであって、手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボット制御装置において、
前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転指令があった際、補間周期毎の前記溶接トーチの位置姿勢を算出するとともに、前記ロボットに予め定めた指標点における補間周期分移動した位置（以下、補間分移動位置という）と、手動運転開始位置間の第１差分を算出する第１算出手段と、
前記補間周期毎に、前記補間分移動位置において、前記溶接トーチの長手方向の周りに所定回転量分回転させた場合の前記指標点における位置と前記手動運転開始位置間の第２差分を算出する第２算出手段と、
第２差分が第１差分よりも小さい場合に、前記溶接トーチを、少なくとも前記溶接トーチの長手方向の周りに前記所定回転量分回転させるように、前記基本軸及び手首軸の駆動アクチュエータを駆動する制御手段を備えることを特徴とするアーク溶接ロボット制御装置。
【請求項５】
前記制御手段は、前記第２差分が第１差分よりも小さい場合、
さらに、第１所定回転量と同じ又は異なる第２所定回転量をｎ（但し、ｎは自然数、且つｎ≧１）回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分と、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分を算出し、
（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、ｎを１つずつ増分し、
（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、前記溶接トーチの長手方向の周りに、（ｎ−１）回分の第２所定回転量分回転させるように、前記基本軸及び手首軸の駆動アクチュエータを駆動することを特徴とする請求項４に記載のアーク溶接ロボット制御装置。
【請求項６】
前記制御手段は、前記第２差分が第１差分よりも大きい場合には、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢に基づいて前記基本軸及び手首軸の駆動アクチュエータを駆動することを特徴とする請求項４又は請求項５に記載のアーク溶接ロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アーク溶接ロボットの制御方法、及びアーク溶接ロボット制御装置に関する。
【背景技術】
【０００２】
アーク溶接において、トーチ角は、前進・後退角と狙い角の２つからなる。前進・後退角と狙い角は、アーク溶接の品質を保つ上で、重要な条件である。この理由は、溶接部位の形状や重力方向に対するトーチの姿勢によって、トーチ角である前進・後退角と狙い角の適正値が変化するためである。
【０００３】
一般的なロボット教示では、オペレータは、ワークに対するトーチ角の良否を目視により判断している。この目視によるトーチ角の良否の判断は、本当に見た目だけで行う場合、及び、角度計を使用して行う場合を含む。いずれにしても、複雑な曲線を持つ溶接部位であると、オペレータはトーチ角を適切に判定しながら多くの教示点を記録することになり、多くの時間がかかる作業になることは言うまでも無い。
【０００４】
特許文献１では、このような課題を解決する方法が提案されている。既教示の作業プログラムのトーチ姿勢を、数値で指定された前進・後退角と狙い角となるように、ロボット制御装置が自動的に補正する方法である。この方法では、複雑な曲線を持つ溶接部位であっても、オペレータはトーチ角のことを考慮せず教示することができることから、教示作業の短縮が可能になることが期待される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１２３５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の方法を、実際の教示作業に照らすと以下のような問題を持っている。すなわち、トーチ角は、ワイヤ送給方向に向く軸の周りを回転方向とする冗長自由度（以下、トーチ回転方向）を持っており、溶接部位が複雑な形状の場合や溶接部の周りに干渉物が多い場合は、このトーチ回転方向の冗長自由度を適宜適切に選択しながらでないと、所望のトーチ角は教示できない。
【０００７】
本発明の１つの目的は、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できるアーク溶接ロボット制御方法を提供することにある。すなわち、本発明は、トーチ角のワイヤ送給方向に向く軸の周りを中心としたトーチ回転方向の冗長解を適宜、適切に選択することを、より簡単に行うことができるアーク溶接ロボットの制御方法を提供することにある。
【０００８】
本発明の他の目的は、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できるアーク溶接ロボット制御装置を提供することにある。すなわち、本発明は、トーチ角のワイヤ送給方向に向く軸の周りを中心としたトーチ回転方向の冗長解を適宜、適切に選択することを、より簡単に行うことができるアーク溶接ロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記問題点を解決するために、請求項１に記載の発明は、複数のアームが、基本軸と手首軸からなる複数の関節軸を介して連結され、ロボットの先端に位置するアームに溶接トーチが設けられた溶接ロボットであって、手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボットの制御方法において、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際、補間周期毎の前記溶接トーチの位置姿勢を算出するとともに、前記ロボットに予め定めた指標点における補間周期分移動した位置（以下、補間分移動位置という）と、手動運転開始位置間の第１差分を算出し、前記補間周期毎に、前記補間分移動位置において、前記溶接トーチの長手方向の周りに第１所定回転量分回転させた場合の前記指標点における位置と前記手動運転開始位置間の第２差分を算出し、第２差分が第１差分よりも小さい場合に、前記溶接トーチを、少なくとも前記溶接トーチの長手方向の周りに前記所定回転量分回転させて手動運転させることを特徴とするアーク溶接ロボットの制御方法を要旨とするものである。
【００１０】
請求項２の発明は、請求項１において、前記第２差分が第１差分よりも小さい場合、さらに、第１所定回転量と同じ又は異なる第２所定回転量をｎ（但し、ｎは自然数、且つｎ≧１）回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分と、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分を算出し、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、ｎを１つずつ増分し、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、前記溶接トーチの長手方向の周りに、（ｎ−１）回分の第２所定回転量分回転させて手動運転させることを特徴とする。
【００１１】
請求項３の発明は、請求項１又は請求項２において、前記第２差分が第１差分よりも大きい場合には、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢で手動運転することを特徴とする。
【００１２】
請求項４の発明は、複数のアームが、基本軸と手首軸からなる複数の関節軸を介して連結され、ロボットの先端に位置するアームに溶接トーチが設けられた溶接ロボットであって、手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボット制御装置において、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転指令があった際、補間周期毎の前記溶接トーチの位置姿勢を算出するとともに、前記ロボットに予め定めた指標点における補間周期分移動した位置（以下、補間分移動位置という）と、手動運転開始位置間の第１差分を算出する第１算出手段と、
前記補間周期毎に、前記補間分移動位置において、前記溶接トーチの長手方向の周りに第１所定回転量分回転させた場合の前記指標点における位置と前記手動運転開始位置間の第２差分を算出する第２算出手段と、第２差分が第１差分よりも小さい場合に、前記溶接トーチを、少なくとも前記溶接トーチの長手方向の周りに前記所定回転量分回転させるように、前記基本軸及び手首軸の駆動アクチュエータを駆動する制御手段を備えることを特徴とするアーク溶接ロボット制御装置を要旨とするものである。
【００１３】
請求項５の発明は、請求項４において、前記制御手段は、前記第２差分が第１差分よりも小さい場合、さらに、第１所定回転量と同じ又は異なる第２所定回転量をｎ（但し、ｎは自然数、且つｎ≧１）回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分と、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の指標点の位置と手動運転開始位置間の差分を算出し、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、ｎを１つずつ増分し、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、前記溶接トーチの長手方向の周りに、（ｎ−１）回分の第２所定回転量分回転させるように、前記基本軸及び手首軸の駆動アクチュエータを駆動することを特徴とする。
【００１４】
請求項６の発明は、請求項４又は請求項５において、前記制御手段は、前記第２差分が第１差分よりも大きい場合には、前記溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢に基づいて前記基本軸及び手首軸の駆動アクチュエータを駆動することを特徴とする。
【発明の効果】
【００１５】
以上詳述したように、請求項１のアーク溶接ロボット制御方法によれば、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できる。すなわち、請求項１の発明によれば、トーチ角のワイヤ送給方向に向く軸の周りを中心とした回転方向の冗長自由度における冗長解を適宜、適切に選択することを、より簡単に行うことができる。又、請求項１の発明によれば、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り（溶接トーチの長手方向の周り）回転自由度を使用して、できるだけロボットの基本軸であるＪ１軸からＪ３軸の角度の変化が少なくなるようにすることができる。
【００１６】
さらに、請求項１のアーク溶接ロボット制御方法によれば、所望の前進角・後退角、あるいは狙い角を維持しながら、トーチ周り（溶接トーチの長手方向の周り）の回転自由度を利用して、基本軸であるＪ１軸からＪ３軸の変化量を少なくするということは、トーチの姿勢変化によるロボット本体と周辺装置との干渉を防止することになり、安全な姿勢変化を提供できる。
【００１７】
請求項２の発明によれば、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、溶接トーチを、該溶接トーチの長手方向の周りに所定回転量を（ｎ−１）回分加算した分回転させて手動運転させる。このことにより、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り（溶接トーチの長手方向の周り）の回転自由度を使用して、できるだけロボットの基本軸であるＪ１軸からＪ３軸の角度の変化が少なくなるようにすることができる。
【００１８】
請求項３の発明によれば、第２差分が第１差分との大小関係により、選択的に、溶接トーチの長手方向の周りに回転させて手動運転させたり、或いは溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢でアーク溶接ロボットを制御することができる。
【００１９】
請求項４のアーク溶接ロボット制御装置によれば、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できる。すなわち、請求項４の発明によれば、トーチ角のワイヤ送給方向に向く軸の周りを中心とした回転方向の冗長自由度における冗長解を適宜、適切に選択することを、より簡単に行うことができる。又、請求項４の発明によれば、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り（溶接トーチの長手方向の周り）回転自由度を使用して、できるだけロボットの基本軸であるＪ１軸からＪ３軸の角度の変化が少なくなるようにすることができる。
【００２０】
さらに、請求項４のアーク溶接ロボット制御装置によれば、所望の前進角・後退角、あるいは狙い角を維持しながら、トーチ周り（溶接トーチの長手方向の周り）の回転自由度を利用して、基本軸であるＪ１軸からＪ３軸の変化量を少なくするということは、トーチの姿勢変化によるロボット本体と周辺装置との干渉を防止することになり、安全な姿勢変化を提供できる。
【００２１】
請求項５のアーク溶接ロボット制御装置によれば、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、溶接トーチを、該溶接トーチの長手方向の周りに所定回転量を（ｎ−１）回分加算した分回転させて手動運転させる。このことにより、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り（溶接トーチの長手方向の周り）の回転自由度を使用して、できるだけロボットの基本軸であるＪ１軸からＪ３軸の角度の変化が少なくなるようにすることができるアーク溶接ロボット制御装置を提供できる。
【００２２】
請求項６のアーク溶接ロボット制御装置によれば、第２差分が第１差分との大小関係により、選択的に、溶接トーチの長手方向の周りに回転させて手動運転させたり、或いは溶接トーチの進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎の前記溶接トーチの位置姿勢でアーク溶接ロボットを制御することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明を具体化した一実施形態のロボット制御装置の内部構成及びその周辺装置を示すブロック図。
【図２】同じくロボット制御装置のソフトウエアの機能ブロック図。
【図３】溶接経路の説明図。
【図４】（ａ）はトーチ角である前進・後退角の説明図、（ｂ）はトーチ角である狙い角の説明図。
【図５】（ａ）〜（ｄ）は前進・後退角の算出順序の説明図。
【図６】（ａ）は、狙い角基準面の説明図、（ｂ）はツール座標系の説明図。
【図７】（ａ）〜（ｃ）は、狙い角の算出順序の説明図。
【図８】（ａ）〜（ｄ）は進行座標系の作成順序の説明図。
【図９】各種座標系、及び同次変換行列の説明図。
【図１０】各種座標系、及び同次変換行列の説明図。
【図１１】（ａ）、（ｂ）は各種座標系、及び同次変換行列の説明図。
【図１２】ロボット制御装置に用いる制御プログラムのフローチャート図。
【図１３】（ａ）はトーチ周り（溶接トーチの長手方向の周り）に回転させない場合、前進角を変化させた場合のロボットの移動状態を示す説明図、（ｂ）は、トーチ周り（溶接トーチの長手方向の周り）に回転させた場合、前進角を変化させた場合のロボットの移動状態を示す説明図。
【発明を実施するための形態】
【００２４】
以下、本発明を、具体化した一実施形態を図１〜１３に従って説明する。
図１０に示すように、本実施形態で用いる多関節型ロボット装置の制御システムを示す。該制御システムには、アーク溶接を行う多関節型ロボット１００、ポジショナ２００、前記多関節型ロボット１００とポジショナ２００とを制御するロボット制御装置３００、及び前記多関節型ロボット１００とポジショナ２００とに駆動電力を供給する図示しない溶接電源装置を含む。
【００２５】
前記多関節型ロボット１００は、基台１００ａに設けられた数個のアーム１２ａ〜１２ｅと、溶接トーチ（ツール）１１と、図１に示すように各アーム間に存在する各関節の関節角度を変えるための６個（複数個）の駆動アクチュエータとしてのサーボモータ（駆動モータ）１３ａ〜１３ｆ（図９〜１０では、サーボモータ１３ｂは図示省略）とを備えている。なお、アームとサーボモータに付する符号は、溶接トーチ（以下、単にトーチという）１１側よりロボット１００が設置される基台１００ａ（すなわち、大地面）に向けてアルファベット順で示す。
【００２６】
図１に示すようにアーム（旋回ベース）１２ｅは、基台１００ａの上に取り付けられ、基本軸であるＪ１軸回りに旋回する。アーム１２ｅの上にはアーム１２ｄが取り付けられ、基本軸であるＪ２軸回りに揺動する。アーム１２ｄの上端にはアーム１２ｃが取り付けられ、基本軸であるＪ３軸回りに揺動する。アーム１２ｃの先端部には、アーム１２ｂが取り付けられて、アーム１２ｂの長手方向の手首軸としてのＪ４軸（すなわち、手首第１軸）回りに回転する。アーム１２ｂの先端部にはアーム１２ａが取り付けられて、手首軸としてのＪ４軸（手首第１軸）に直交する手首軸としてのＪ５軸（すなわち、手首第２軸）回りに揺動する。
【００２７】
アーム１２ａの先端部には回転体１２ｆが取り付けられて、Ｊ５軸（すなわち、手首第２軸）に直交する手首軸としてのＪ６軸（すなわち、手首第３軸）回りに回転する。回転体１２ｆには前記トーチ１１が取り付けられている。Ｊ１軸乃至軸Ｊ６軸は、サーボモータ１３ａ〜１３ｆにより回転駆動される。
【００２８】
これらサーボモータ１３ａ〜１３ｆには、ロボット制御装置３００のサーボドライバ３８ａ〜３８ｆ（図１参照）により回転駆動電力が供給されるともに、ロボット制御装置３００から送信される制御信号によって制御される。
【００２９】
又、前記トーチ１１は、アーム１２ａの先端のエンドエフェクタ１４を介して取り付けられている。この多関節型ロボット１００では、トーチ１１を用いてワーク（被溶接物）に対してアーク溶接（溶接）が行われる。
【００３０】
このように、多関節型ロボット１００は、複数個のサーボモータ１３ａ〜１３ｆがロボット制御装置３００により制御され、回転駆動されることによって、多関節型ロボット１００の各関節が回転し、且つアーム１２ａ〜１２ｅが移動する。これにより、エンドエフェクタ１４に取付けられたトーチ１１が上下前後左右に移動可能とされ、所望の位置とされるとともに、その姿勢も所望の状態とされる。
【００３１】
図１０に示すように多関節型ロボット１００のアーム１２ｃ近傍には、トーチ１１に対して溶接ワイヤ（図示しない）を送給するワイヤ送給装置１５が設けられている。前記溶接ワイヤには図示しない溶接電源装置からトーチ１１に高電圧の溶接電圧が供給されることにより、溶接ワイヤの先端とワークとの間にアークが発生し、その熱で溶接ワイヤが溶融することで、ワークが溶接される。
【００３２】
図１０に示すポジショナ２００は、多関節型ロボット１００のトーチ１１と対向し、ワークを回転又は傾斜させて当該ワークをトーチ１１による溶接に適する状態とする。図１０に示すように、
ポジショナ２００は、溶接時にワークが載置される略円形のワーク載置面２１０ａを有するワーク載置台２１０と、該ワーク載置台２１０を所定方向に回転又は傾斜自在に支持する支持台２２０とを備えている。
【００３３】
そして、前記トーチ１１は、その先端部がワーク載置面２１０ａに対向するように多関節型ロボット１００に設けられている。このようにして、ポジショナ２００がワークを自在に回転又は傾斜させるとともに、前述したように複数個のサーボモータ１３ａ〜１３ｆによってアーム１２ａ〜１２ｅを変位させることで、ワークがトーチ１１に対して溶接に適する所要の位置及び姿勢関係に設定される。
【００３４】
又、図１に示すように、本実施形態の制御システムにおいては、多関節型ロボット１００の手動制御にあたり、複数の座標系が用いられる。これらの座標系としては、多関節型ロボット１００側には、大地を基準に設定され、本制御システムで絶対的な基準となるワールド座標系（ＸWorld，ＹWorld，ＺWorld）、多関節型ロボット１００の基台１００ａを基準に設定されたベース座標系（ＸBase，ＹBase，ＺBase）、トーチ１１が取り付けられるエンドエフェクタ１４を基準に設定されたエンドエフェクタ座標系（ＸEnd，ＹEnd，ＺEnd）、トーチ１１を基準に設定されたツール座標系（ＸTool，ＹTool，ＺTool）が定義される。
【００３５】
又、多関節型ロボット１００側には、進行方向座標系、及びＪ５座標系が定義される。この進行方向座標系、及びＪ５座標系については後述する。
又、ポジショナ２００側には、ポジショナ２００の設置面を基準に設定されたポジショナ座標系（ＸPo，ＹPo，ＺPo）、及び、ポジショナ２００のワーク載置面２１０ａを基準に設定されたワーク座標系（ＸWork，ＹWork，ＺWork）が定義される。
【００３６】
本実施形態における多関節型ロボット１００の手動制御では、このように定義された複数の座標系を用いて、トーチ１１の位置及び姿勢が表現される。
図１に示すように、前記ロボット制御装置３００は、ＣＰＵ３１、多関節型ロボット１００の作業や動作を規定する作業プログラム（教示プログラムともいう）の各バッファ３２ａ〜３２ｄ等（図２参照）として機能するＲＡＭ３２、ＲＯＭ３３、及びタイマー（ＴＩＭＥＲ）３４を備えている。ＲＯＭ３３には、ロボットの動作制御を実行するための制御プログラムとその実行条件や制御定数などのデータが格納される。ＲＡＭ３２には、ＣＰＵ３１のワーキングエリアとして用いられ、計算途中のデータが一時的に格納される。タイマー３４は、定期時刻ごとに同期信号ＳＹＮＣを発生する。同期信号ＳＹＮＣは、サーボドライバ３８ａ〜３８ｆへの指令値の更新タイミングとして使用される。
【００３７】
さらに、該ロボット制御装置３００は、多関節型ロボット１００に対して手動制御によって教示された教示データが格納されるハードディスク３５、及び、手動制御時に使用し、ＴＰ３６ａが接続されるティーチペンダントＩ／Ｆ（インターフェース）３６を備えている。このＴＰ３６ａは、多関節型ロボット１００に前記作業プログラムを教示する教示手段として用いる。さらに、該ロボット制御装置３００は、操作ボックスＩ／Ｆ３７及びサーボドライバＩ／Ｆ３８を備えている。この操作ボックスＩ／Ｆ３７には、教示した作業プログラムのタイミングをＣＰＵ３１に与える操作ボックス３７ａが接続されている。又、サーボドライバＩ／Ｆ３８には、前記複数のサーボドライバ（サーボ機構）３８ａ〜３８ｆが接続されている。
【００３８】
以上説明したＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、タイマー３４、ハードディスク３５、ティーチペンダントＩ／Ｆ（ＴＰＩ／Ｆ）３６、操作ボックスＩ／Ｆ３７、及びサーボドライバＩ／Ｆ３８は、バス（ＢＵＳ）３９を介して相互に接続され、上述した各機能を実現すべく必要な信号をやりとりするように構成されている。
【００３９】
又、前記ＣＰＵ３１は、前記作業プログラム、ＴＰ３６ａや操作ボックス３７ａから送信される操作信号、又は、各サーボモータ１３ａ〜１３ｆに設けられた図示しないエンコーダからの現在位置情報等に基づいて、所定のデータ演算処理を行い、バス３９及びサーボドライバＩ／Ｆ３８を介して各サーボドライバ３８ａに動作指令を与える。これにより、サーボモータ１３ａ〜１３ｆが制御され回転駆動され、前述したように、トーチ１１がワークに対して溶接に適した所要の位置及び姿勢関係とされる。又、前記ＲＯＭ３３には、前記作業プログラムの他、この作業プログラムの実行条件を示すデータ、及び制御定数を示すデータ等が格納されている。
【００４０】
又、図１に示すように、前記ＴＰ３６ａは、多関節型ロボット１００を手動制御するときに作業者によって操作され、所定の操作情報が表示される表示装置３６ｂと所定の情報の入力に用いるキーボード３６ｃとを備えている。該キーボード３６ｃには、手動制御操作用のスイッチ（以下、「軸キー」と呼ぶ。）が１２個設けられている（図示省略）。このようにキーボード３６ｃに１２個の軸キーが設けられているのは、本実施形態のように多関節型ロボット１００を手動制御で操作する場合では、位置（３自由度）及び姿勢（３自由度）からなる計６自由度に対して、それぞれ正（＋）方向及び負（−）方向の２つの方向に対応する数の軸キーが使用される（６自由度×２つ＝１２個）ためである。
【００４１】
又、ハードディスク３５に記憶される教示データ（作業データ）の再生動作は、ＲＯＭ３３に格納されているロボット再生動作制御ソフトウェアをＣＰＵ３１が実行することにより、実現する。この再生動作のとき、ＣＰＵ３１は、図２に示す各部３１ａ〜３１ｅとして機能する。なお、図２には、再生動作時のデータの流れが示されている。
【００４２】
ここで、本実施形態のＣＰＵ３１は、第１算出手段、第２算出手段、及び制御手段に相当する。
図２に示すように、再生動作が開始されると動作命令読み出し部３１ａは、ハードディスク３５に記憶されている前記教示データ（作業データ）を含む教示プログラムから、ロボットの動作命令を取り出し、動作命令バッファ３２ａに格納する。軌道生成部３１ｂが、動作命令バッファ３２ａから動作コマンドを読み出し、ロボット先端に把持されるツール（トーチ１１）の作業軌道を三次元空間の直交座標上で計画する。計画された軌道データは、軌道生成部３１ｂにより、軌道バッファ３２ｂに格納される。
【００４３】
次に、補間点生成部３１ｃが、軌道バッファ３２ｂから軌道データを読み出し、その軌道を補間周期と呼ばれる規定時間毎に分割し、補間周期毎にツール（トーチ１１）が到達すべき位置・姿勢を補間点データとして計算する。計算された補間点データは、補間点生成部３１ｃにより補間点バッファ３２ｃに格納される。
【００４４】
次に、関節補間点生成部３１ｄが、補間点データを補間点バッファ３２ｃから読出し、該補間点データの内部で直交座標により表された位置・姿勢を、ロボットの関節位置に逆変換することで、各サーボドライバ３８ａ〜３８ｆへの位置指令が計算できる。この各サーボドライバ３８ａ〜３８ｆへの位置指令は、関節補間点バッファ３２ｄとしてＲＡＭ３２に一時的に記憶され、タイマー３４により発生される同期信号ＳＹＮＣに同期して各サーボドライバ３８ａ〜３８ｆへ通知される。ここで、各バッファ３２ａ〜３２ｄはＦＩＦＯバッファとなっており、先入れ・先出しで処理される。
【００４５】
（１．１）  狙い角の基準面（狙い角基準面ともいう）
次に、本実施形態において採用する狙い角の基準面の設定について説明する。狙い角の基準面の設定は、ＴＰ３６ａをオペレータが操作することで行う。
【００４６】
ここで、狙い角基準面の設定には、以下の２つの方法がある。
１つは、狙い角基準点Ｐrを指定し、これと開始点と目標点と併せた３点から狙い角を計算する方法である。他の１つはロボットのシステム内に存在する座標系の任意の面を指定する方法である。
【００４７】
１）開始点Ｐｓ、目標点Ｐｅならびに狙い角基準点Ｐｒから平面を規定する場合
ロボットによるアーク溶接作業は、図６（ａ）に示す溶接経路の開始点Ｐｓ、目標点（終了点）Ｐｅ、ならびにその間の特徴点（教示点）を予め記録することにより教示される。溶接経路を形成するための開始点Ｐｓ、目標点Ｐｅに加えて、狙い角基準点Ｐｒを付加することで、３つの点が規定され、この３点から狙いの基準となる平面ＰＬを求めることができる。
【００４８】
図６（ａ）に示すように、次に平面ＰＬに垂直な法線ベクトルＶｐ＝［Ｖｐｘ，Ｖｐｙ，Ｖｐｚ］を求める。平面ＰＬに垂直な法線ベクトルＶｐが決まれば、平面ＰＬ、すなわち、狙い角基準面が一意に決められるためである。Ｖｐは、開始点Ｐｓから目標点ＰｅへのベクトルＡと、開始点Ｐｓから狙い角基準点ＰｒへのベクトルＢの外積として算出可能である。
【００４９】
【数１】
2011002888.tif 000003
式（１）から、Ｖｐ＝［Ｖｐｘ，Ｖｐｙ，Ｖｐｚ］が求まれば、平面ＰＬは以下の式（２）で規定される。式（２）中で［Ｐｓｘ，Ｐｓｙ，Ｐｓｚ］は開始点Ｐｓのｘ，ｙ，ｚの各成分である。
【００５０】
【数２】
2011002888.tif 000004
なお、開始点Ｐｓ、目標点（終了点）Ｐｅ、ならびにその間の特徴点の教示の方法としては、ＴＰ３６ａを使用して、実際にロボットを当該位置に動かして後に記録しても良く、或いは、パソコンを使用したオフライン教示を使用した記録としてもよい。狙い角基準点Ｐｒについても同様である。
【００５１】
２）ロボットのシステム内に存在する座標系の任意の面を指定
ロボットのシステム内には、上述したように図１０に示す種々の座標系が存在しており、オペレータは手動運転などのロボットの動作の基準として、それらの座標系から任意に動作対象座標を選択することができる。
【００５２】
同様の考え方で、トーチ１１の狙い角基準面を、ロボットのシステム内に存在する任意の座標系の任意の平面に指定すること、面を定義するものである。
面の定義操作は、ＴＰ３６ａを使用しても良いし、パソコンを使用したオフライン教示を使用した操作としてもよい。
【００５３】
上述した狙い角基準点Ｐｒや、トーチ１１の狙い角基準面は、システム唯一の値としても良いし、アーク溶接線を定義する全ての教示点に付属する変数（パラメータ）としても良い。また、狙い角基準点Ｐｒや、トーチ１１の狙い角基準面を適宜記録するための命令として、ロボットの記録点と同じようにＴＰ３６ａからその都度教示してもよい。
【００５４】
（１．２）  トーチ角の計算方法
次に、本実施形態が採用するトーチ角の計算方法について説明する。
トーチ角は、前進・後退角と狙い角の２つを含む。
【００５５】
図３に示すように、通常のロボット溶接は、予め溶接経路に沿って、例えば記録点ａ〜ｄ（すなわち、教示点）を教示していき、記録点間を繋ぐようにロボット動作することで成り立っている。すなわち、常に隣り合う２つの記録点間をロボットは動作している。このように隣り合う２つの記録点（教示点）の位置と、現在のトーチ１１の姿勢、並びに前述した狙い角基準面の２つの情報から、前進・後退角と狙い角の２つのトーチ角が算出できる。
【００５６】
なお、前進・後進角は、図４（ａ）に示すように、溶接線ＹＳの接線に対する垂線Ｌａ（すなわち、法線）を立てた際に同垂線Ｌａに対してトーチ１１の長手方向軸線を表わす直線Ｌ１、Ｌ２がなす角度であり、垂線Ｌａに対して、Ｌ１のように０°を越える場合（＋）には、前進角といい、Ｌ２のように０°を下回る場合（すなわち、「−」）場合には、後退角という。ここで、トーチ１１の長手方向軸線は、ワイヤ送給方向に向く軸に相当する。
【００５７】
（１．２．１）  前進・後退角の算出
まず、前進・後退角を、２つの記録点の位置と、現在のトーチ１１の姿勢から計算する手順を、図５（ａ）〜（ｄ）を参照して説明する。
【００５８】
２つの記録点ａ，ｂの座標値を、それぞれ式（３）、式（４）とする。
なお、前記記録点の基準座標系は、図１０に示すワーク座標系やワールド座標系、或いはベース座標系が適宜選択される。基準座標系が何であるかは本発明の内容には影響しないので、ここでは特定はしない。
【００５９】
【数３】
2011002888.tif 000005
【００６０】
【数４】
2011002888.tif 000006
ここで、記録点ａから記録点ｂへのベクトルを進行ＺベクトルＦＷＤｚとして、下式（５）、式（６）から算出する。式（５）のＬＮＧａ２ｂは、記録点ａ，ｂ間の距離である。
【００６１】
【数５】
2011002888.tif 000007
【００６２】
【数６】
2011002888.tif 000008
次にトーチ長手ベクトルについて考える。
【００６３】
トーチ長手ベクトルは、図１０に示すツール座標系のＺベクトルとなる。どの座標系を基準座標系にしたツール座標系のＺ成分であるかは重要では無いが、通常は、基準座標系としてはワーク座標系やワールド座標系、或いはベース座標系が適宜選択される。
【００６４】
以下では、説明の便宜上、基準座標系をベース座標系にして説明する。
基準座標系から見たツール座標系の位置姿勢は、同次変換行列と呼ばれる行列式で表されるのが一般的である。
【００６５】
基準座標系から見たツール座標系の位置姿勢を表す同次変換行列をＸbase2Toolとする。Ｘbase2Toolは、ロボットの現在の関節角度ならびにロボットの手先に取り付けられたトーチ取り付け位置・姿勢情報を元に、順演算と呼ばれる計算手順で算出可能である。順演算は公知の技術であるため、ここでは、基準座標系から見たツール座標系の位置姿勢を表す同次変換行列Ｘbase2Toolが、以下の式（７）から求まっているとする。
【００６６】
【数７】
2011002888.tif 000009
図６（ｂ）に示すように、アーク溶接用のトーチ１１の場合、トーチ１１の長手方向をツール座標系のＺ方向として定義するのが一般的であり、同次変換行列Ｘbase2Toolも同様に定義されているとすると、式（７）中の第３列目が、基準座標系から見たトーチ長手方向を表すトーチ長手ベクトルＴＯＯＬｚとなる（図５（ａ）参照）。すなわち下式（８）である。
【００６７】
【数８】
2011002888.tif 000010
進行ＹベクトルＦＷＤｙは、進行ＺベクトルＦＷＤｚとトーチ長手ベクトルＴＯＯＬｚの外積で求められる（図５（ｂ）、図５（ｃ）参照）。
【００６８】
【数９】
2011002888.tif 000011
さらに、進行ＸベクトルＦＷＤｘは、進行ＹベクトルＦＷＤｙと進行ＺベクトルＦＷＤｚの外積で求められる（図５（ｄ）参照）。
【００６９】
【数１０】
2011002888.tif 000012
以上のように算出した進行ＸベクトルＦＷＤｘとトーチ長手ベクトルＴＯＯＬｚの成す角が、前進・後退角ＦｗＢｋＡｎｇとして計算できる。すなわち、ＦｗＢｋＡｎｇは以下の式（１１）で算出される。
【００７０】
【数１１】
2011002888.tif 000013
（１．２．２）  狙い角の算出
次に、本実施形態で採用している狙い角の算出を図７（ａ）〜図７（ｃ）を参照して説明する。
【００７１】
狙い角の算出では、先ず、狙い角基準面の法線ベクトルＶｐと、進行ＺベクトルＦＷＤｚを使用する（図７（ａ）参照）。法線ベクトルＶｐは、上記の式（１）で算出する。又、進行ＺベクトルＦＷＤｚも上述した式（５）、式（６）から算出する。
【００７２】
進行ＺベクトルＦＷＤｚと法線ベクトルＶｐの外積から、狙い基準ベクトルＡＩＭｖを下式（１２）で算出する（図７（ｂ）参照）。
【００７３】
【数１２】
2011002888.tif 000014
狙い基準ベクトルＡＩＭｖと進行ＸベクトルＦＷＤｘの成す角が、狙い角ＡｉｍＡｎｇとなる。なお、進行ＸベクトルＦＷＤｘは、式（１０）で算出し、狙い角ＡｉｍＡｎｇは式（１３）で算出する。
【００７４】
【数１３】
2011002888.tif 000015
（トーチ角のＴＰ３６ａによる表示）
なお、前記関節補間点生成部３１ｄでは、前述したように各サーボドライバ３８ａへの位置指令となるロボットの関節角度が逐次定期的に計算されている。そして、関節補間点生成部３１ｄでは、前記関節角度が更新される毎に、順演算と呼ばれる計算手順により基準座標系から見たツール座標系の位置姿勢を表す前記同次変換行列Ｘbase2Toolが求められている。同次変換行列Ｘbase2Tool、前記狙い角基準面、並びに前記トーチ角の計算方法の計算手順を使用することにより、常に最新のロボット姿勢に対応したトーチ角を計算する。このように算出されたトーチ角は、ＲＡＭ３２に一旦格納され、バス３９，ＴＰＩ／Ｆ３６を介してＴＰ３６ａに表示する。
【００７５】
（１．３）  前進・後退角と狙い角の変更手動運転
次に、本実施形態が採用している前進・後退角と狙い角の変更手動運転を図８（ａ）〜図８（ｄ）を参照して説明する。前進・後退角並びに狙い角を変更できる手動運転は、進行方向座標系基準でツール座標系の姿勢を変化させる手動運転である。
【００７６】
進行方向座標系とは、（１．２）「トーチ角の計算方法」で述べた進行Ｘベクトル、進行Ｙベクトル、進行ＺベクトルをそれぞれＸ，Ｙ，Ｚベクトルとした座標系（図８（ｄ）参照）で、原点はＴＣＰである。ＴＣＰはツール先端ポイントのことで、トーチ１１の場合には、トーチ１１の先端がＴＣＰとなる。なお、図８（ａ）、図８（ｄ）では、説明の便宜上、ＴＣＰの位置は、トーチ１１の先端から離間して図示されている。図８（ａ）〜図８（ｄ）は進行方向ベクトルの計算手順のイメージを示しており、計算の内容は（１．２．１）「前進・後退角の算出」で説明したものと同じであるため詳細説明は省略する。
【００７７】
式（６）、式（９）、及び式（１０）から求まる進行ＺベクトルＦＷＤｚ、進行ＹベクトルＦＷＤｙ、進行ＸベクトルＦＷＤｘをそれぞれＸ，Ｙ，Ｚベクトルした進行方向座標系ＸBase2Fwdは下式（１４）で算出する。式（１４）中の添字[1]，[2]，[3]はそれぞれベクトルの第１，２，３成分を表す。またＴＣＰｘ，ＴＣＰｙ，ＴＣＰｚは、それぞれ基準座標系からみたＴＣＰの位置のｘ，ｙ，ｚ成分である。
【００７８】
【数１４】
2011002888.tif 000016
進行方向座標系のＺ軸周りのトーチ姿勢変化が狙い角のみを変更する手動運転となり、進行方向座標系のＹ軸周りのトーチ姿勢変化が前進・後退角のみを変更する手動運転となる。
【００７９】
（１．３．１）  狙い角のみを変更する姿勢変化（手動運転）
図８（ｄ）に示す進行方向座標系のＺ軸周りのトーチ姿勢変化が狙い角のみを変更する手動運転では、例えば狙い角を現在の角度よりΔψだけ変化することを考える。この場合、ツール座標系を、進行方向座標系のＺ軸回転方向にΔψだけ変化させた同次変換行列を求める。
【００８０】
先ず、ロボットの現在の関節角度並びにロボットの手先に取り付けられたトーチ取り付け位置・姿勢情報を元に、順演算を使用して、基準座標系からみたツール座標系の同次変換行列Ｘbase2Toolを算出する。前述したように順演算は公知の技術であるので、ここでは、基準座標系から見たツール座標系の位置姿勢を表す同次変換行列Ｘbase2Toolが、以下の式から求まっているとして考える。
【００８１】
【数１５】
2011002888.tif 000017
又、式（１４）で示したように、基準座標系からみたトーチ角の基準となる進行方向座標系ＸBase2Fwdも既知である。進行方向座標系ＸBase2Fwd、並びに同次変換行列Ｘbase2Toolを使用すれば、図１１（ａ）、図１１（ｂ）からも判るように、ロボットの現在姿勢における進行方向座標系からみたツール座標系の位置姿勢を表す同次変換行列ＸFwd2Toolが以下の式を使用して算出する。
【００８２】
【数１６】
2011002888.tif 000018
進行方向座標系のＺ軸回転方向にΔψだけ変化させる回転変換行列ＸChgAngを式（１７）により算出する。
【００８３】
【数１７】
2011002888.tif 000019
上記したＸBase2Fwd、ＸChgAng、ＸFwd2Toolの３つから、以下の式（１８）により、進行方向座標系のＺ軸回転方向にΔψだけ変化させた後のツール座標系の位置姿勢を表す同次変換行列Ｘbase2Toolを算出する。
【００８４】
この同次変換行列Ｘbase2Toolを求める場合、ＸChgAngを、ＸFwd2Tool に対して左から掛けるものとする。これは、回転変換行列を同時変換行列に左から掛けることにより、ＸFwd2Toolの基底座標系の回転動作として変換するためである。
【００８５】
【数１８】
2011002888.tif 000020
式（１８）により算出したＸbase2Toolを使用すれば、トーチ１１が進行方向座標系のＺ軸回転方向にΔψだけ変化させるに必要なロボットの関節角度をＣＰＵ３１は逆演算により算出する。なお、逆演算については、ロボットの制御の一般的な技術であるので説明は省略する。
【００８６】
（１．３．２）  前進・後退角のみを変更する姿勢変化（手動運転）
図８（ｄ）に示す進行方向座標系のＹ軸周りのトーチ姿勢変化が前進・後退角のみを変更する手動運転となる。例えば前進・後退角を現在の角度よりΔθだけ変化させることを考える。この場合、ツール座標系を、進行方向座標系のＹ軸回転方向にΔθだけ変化させた同次変換行列を求める。
【００８７】
これは、（１．３．１）で説明した狙い角のみを変更する姿勢変化の場合と比較して、式（１７）で算出するＸchgAngの計算式が異なるだけである。具体的には式（１７）を下の式（１９）に置き換えることにより、進行方向座標系のＹ軸回転方向にΔθだけ変化させた同次変換行列を求める。
【００８８】
【数１９】
2011002888.tif 000021
なお、進行方向座標系のＸ軸周りのトーチ姿勢変化は、前進・後退角も狙い角も共に変化させる運転となり、トーチ角を所望の値するために使用するには好ましくない。
【００８９】
それに対して、進行方向座標系のＸ軸の代わりに、図８（ａ）〜図８（ｄ）に示すトーチ長手ベクトルＴＯＯＬｚを使用し、このベクトル周りの手動運転を行えば、狙い角も前進・後退角も変化させないようにトーチ長手回転方向に姿勢を変化させることができる。この動作は所望のトーチ角（狙い角、前進・後退角）がとれないときや、所望のトーチ角にした結果、ロボット姿勢が極端に伸びたり縮んだりしているときに、ロボットの姿勢を変化させるのに便利である。
【００９０】
（実施形態の作用）
上述したように、図８に示すトーチ長手ベクトルＴＯＯＬｚを使用し、このベクトル周り（以下ではトーチ周りともいう）にトーチ１１を回転運動させれば、狙い角、前進・後退角も変化させないようにトーチ姿勢変化をさせることができる。さらに、このことからトーチ長手ベクトルＴＯＯＬｚ周りへのトーチ回転運動の範囲内で、姿勢変化開始直前に比べてロボットの基本軸であるＪ１軸からＪ３軸の角度の変化が最も少ないトーチ角を選択することにより、開始位置から最短の移動量で、到達できる所望のトーチ角にすることができる。
【００９１】
本実施形態では、基本軸であるＪ１軸からＪ３軸の角度の変化が最も少ないことを、Ｊ５軸の回転中心点の移動距離で判定する。Ｊ５回転中心点は、Ｊ４軸とＪ５軸の交点である。以下、このＪ５回転中心点を、以下、Ｐ点という（図１参照）。Ｐ点は、指標点に相当する。Ｊ５回転中心点を原点とした、座標系をＪ５座標系という。
【００９２】
以下、トーチ姿勢における前進・後退角、若しくは、狙い角を、所望の値に変化させる手動運転において、トーチ長手ベクトル周りＴＯＯＬｚのトーチ回転運動を利用して、基本軸の角度の変化が最も少ないトーチ角が自動的に選択できる手動運転を図１２のフローチャートを参照して説明する。
【００９３】
図１２のフローチャートは、手動運転時においてトーチ１１のトーチ角のみを変更する手動運転指令があった場合、トーチ１１が移動する際に実行されるトーチ角変更のための手動制御プログラムのフローチャートであり、補間周期毎にＣＰＵ３１により実行される。ここで、手動運転（手動制御）は、トーチ角を変更する時間だけ、ＴＰ３６ａに設けられたキーボード３６ｃの軸キー等を操作している間のみ、ロボットを手動運転することができるモードである。又、説明の便宜上、既にＴＰ３６ａ等により、開始点Ｐｓとしての記録点、現在のトーチ１１の姿勢、並びにトーチ１１の狙い角基準面が前述したように設定されているものとする。
【００９４】
（Ｓ１：手動運転開始時のＰ点位置Ｐstrの算出）
Ｓ１で、ＣＰＵ３１は、手動運転開始時のトーチ１１の位置姿勢を求める。トーチ１１の位置姿勢は、基準座標系から見たツール座標系の位置姿勢のことであり、同次変換行列と呼ばれる行列式で表されるのが一般的である。
【００９５】
基準座標系から見たツール座標系の位置姿勢を表す同次変換行列をＸbase2Toolとする。Ｘbase2Toolは、ロボットの現在の関節角度ならびにロボットの手先に取り付けられたトーチ取り付け位置・姿勢情報を元に、順演算と呼ばれる計算手順で算出する。なお、順演算は公知の技術であるので、ここでは、基準座標系から見たツール座標系の位置姿勢を表す同次変換行列Ｘbase2Toolが、以下の式（２０）から求まっているものとする。
【００９６】
【数２０】
2011002888.tif 000022
Ｐ点位置を表すＰstrを含む、Ｊ５座標系Ｘbase2J5は、以下の式（２１）に基づいて算出される。Ｐstrは、手動運転開始位置に相当する。
【００９７】
【数２１】
2011002888.tif 000023
なお、式（２１）中、Ｘ−１End2Toolは、エンドエフェクタ座標系からツール座標系への同次変換行列である。又、Ｘ−１J52Endは、Ｊ５座標系からエンドエフェクタ座標系への同次変換行列である。
【００９８】
上記式（２１）は４×４で表される同次変換行列であり、この第４列目が、手動運転開始時のＰ点を表す位置ベクトルＰstrとなる。
（Ｓ２：手動運転後のトーチの位置姿勢の算出）
トーチ姿勢における、トーチ角のみ、すなわち、前進・後退角あるいは狙い角のみが変化するように手動運転する。ここでトーチ姿勢における、トーチ角のみ、すなわち、前進・後退角あるいは狙い角のみが変化するように手動運転する手段に関しては、前述した（１．１）狙い角の基準面、（１．２）トーチ角の計算方法、（１．３）前進・後退角と狙い角の変更手動運転で説明している。
【００９９】
ここでは、前述した（１．１）狙い角の基準面、（１．２）トーチ角の計算方法、（１．３）前進・後退角と狙い角の変更手動運転の手順に従い、所望のトーチ角を変化させた直後の１補間分におけるトーチの位置姿勢を表す同次変換行列を定義する。これは既に説明した式（１８）から算出されるＸbase2Toolが該当する。したがって、トーチ角の手動運転した後のトーチの位置姿勢Ａtは下記式で、ＣＰＵ３１に算出される。
【０１００】
【数２２】
2011002888.tif 000024
なお、ここで注意すべきは、式（１８）内のＸChgAngは微少角となることである。これは、このフローチャートが、補間周期で実行されていて、ロボットはこの補間周期と呼ばれる微少な計算周期で制御されるのが一般的であるからである。この手動運転においても、補間周期に該当する時間分の移動量のみを分解して計算する。従って、ここでの「手動運転後」とは、１補間分のトーチ角回転の計算が完了した直後を意味するものであり、オペレータの操作完了時では無い。
【０１０１】
（Ｓ３：手動運転後のＰ点位置Ｐmanを計算）
前記式（２２）は、４×４で表される同次変換行列であり、ＣＰＵ３１は、これを上記式（２１）に代入してＸbase2J5を算出する。得られたＪ５座標系Ｘbase2J5の第４列目が、所望のＰ点を表す位置ベクトルＰmanとなる。ＣＰＵ３１は、上記のようにしてこの位置ベクトルＰmanを算出する。この位置ベクトルＰmanは、補間分移動位置に相当する。
【０１０２】
（Ｓ４：トーチ周りにプラス回転）
ここでは、ＣＰＵ３１は、トーチ角（前進・後退角，狙い角を含む）に影響を与えないトーチ周りのプラス回転をするための計算を行う。なお、プラス回転とは、本実施形態では、右ねじ系で定義され、回した際に、右ネジが進行する場合の回転方向をプラス回転とする。このプラス回転、マイナスの回転は、左ネジで定義されていてもよい。
【０１０３】
ここで回転量を予め決められた微少の回転角度ＰＴ[rad]とすると、トーチ周りの回転を表す同次変換行列ＸChgPTを、下式（２３）でＣＰＵ３１は算出する。ＰＴは第１所定回転量に相当する。このＰＴの大きさは、適宜の値でよい。
【０１０４】
【数２３】
2011002888.tif 000025
さらに、ＣＰＵ３１は、ＸChgPTを、式（２２）で求めた手動運転後のトーチ位置姿勢を表す同次変換行列に右から積算することで、すなわち、式（２４）によりトーチ角（前進・後退角，狙い角）に影響を与えないトーチ周りのプラス回転した同次変換行列Ａplusを算出する。
【０１０５】
【数２４】
2011002888.tif 000026
又、ＣＰＵ３１は、Ｐ点位置を表す、Ｊ５座標系Ｘbase2Jを、上記式（２１）のＸbase2ToolをＡplusに置き換えた以下の式（２５）により算出する。
【０１０６】
【数２５】
2011002888.tif 000027
ここで、上記式（２５）も４×４で表される同次変換行列であり、この第４列目が、所望のＰ点を表す位置ベクトルＰplusとなる。
【０１０７】
（Ｓ５：トーチ周りにマイナス回転）
ここでは、ＣＰＵ３１は、トーチ角（前進・後退角，狙い角を含む）に影響を与えないトーチ周りのマイナス回転をするための計算を行う。
【０１０８】
ここで、ＣＰＵ３１は、上記のＳ４と同じ計算を微少量−ＰＴ[rad]とし、トーチ周りの回転を表す同次変換行列ＸChgPTを、下式（２６）で算出する。
【０１０９】
【数２６】
2011002888.tif 000028
さらに、ＣＰＵ３１は、ＸChgPTを、式（２２）で求めた手動運転後のトーチ位置姿勢を表す同次変換行列に右から積算することで、すなわち、式（２７）によりトーチ角（前進・後退角，狙い角）に影響を与えないトーチ周りのマイナス回転した同次変換行列Ａminusを算出する。
【０１１０】
【数２７】
2011002888.tif 000029
又、Ｐ点位置を表す、Ｊ５座標系Ｘbase2J5は、上記式（２１）のＸbase2ToolをＡminusに置き換えた以下の式（２８）から、ＣＰＵ３１は、算出する。具体的には、ＣＰＵ３１は、Ｐ点位置を表す、Ｊ５座標系Ｘbase2Jを、求めるに当たり、式（２３）を式（２６）に置き換え、式（２７）と式（２８）とを計算し、求めたＸbase2J5で表される同次変換行列の第４列目を、所望のＰ点を表す位置ベクトルＰminusとする。
【０１１１】
【数２８】
2011002888.tif 000030
（Ｓ６，Ｓ７，Ｓ８：トーチ周りの回転方向を決定）
Ｓ６，Ｓ７，Ｓ８の処理は、トーチ周りのプラス側，マイナス側のどちらに回転させるのが、基本軸であるＪ１軸からＪ３軸の変化量を少なくなるかを決定するための処理である。すなわち、この処理は、プラス側，マイナス側のどちらに回転させるのが、Ｐ点の移動量が少ないかを判定するための処理である。
【０１１２】
Ｓ６，Ｓ７，Ｓ８において、ＣＰＵ３１は、手動運転開始時のＰ点を表わす位置ベクトルＰstrからの、既に求めた以下の３つのＰ点との距離を求め、Ｐstrからの距離が最も移動量の少ないＰ点を決定する。
Ｐman：手動運転後のＰ点（所望のトーチ角に向かって１補間分だけ姿勢変化させた後のＰ点）
Ｐplus：Pmanからトーチ周りにプラス方向に微少回転させた後のＰ点
Ｐminus：Pmanからトーチ周りにマイナス方向に微少回転させた後のＰ点
Pstr ：手動運転開始時のＰ点
具体的には、ＣＰＵ３１は、Ｓ６，，Ｓ７，Ｓ８の判定処理を行う際、位置ベクトルと位置ベクトル間の距離を、以下の計算式で求める。
【０１１３】
【数２９】
2011002888.tif 000031
Ｌmanは、手動運転後のＰ点の位置ベクトルＰmanと手動運転開始時のＰ点を表わす位置ベクトルＰstrの距離である。Ｌmanは、第１差分に相当する。
【０１１４】
【数３０】
2011002888.tif 000032
Ｌplusは、トーチ周りにプラス方向に微少回転させた後のＰ点の位置ベクトルＰplusと手動運転開始時のＰ点を表わす位置ベクトルＰstrの距離である。
【０１１５】
【数３１】
2011002888.tif 000033
Ｌminusは、トーチ周りにマイナス方向に微少回転させた後のＰ点の位置ベクトルＰminusと手動運転開始時のＰ点を表わす位置ベクトルＰstrの距離である。ここで、Ｌplus及びＬminusは、第２差分に相当する。
【０１１６】
１）Ｌmanが一番小さいとき（Ｓ６で「ＹＥＳ」、かつＳ７で「ＹＥＳ」の場合）
本処理を終了し、Ｓ２で算出したトーチ角の手動運転した後のトーチの位置姿勢Ａtを手動運転の補間点として出力する。
【０１１７】
２）Ｌminusが一番小さいとき（Ｓ６で「ＹＥＳ」、かつＳ７で「ＮＯ」の場合、又は、Ｓ６で「ＮＯ」、かつＳ８で「ＮＯ」の場合）
トーチ周りのマイナス方向で、Ｐ点の移動量が最も小さいに回転角度をサーチするため、Ｓ９に進む。
３）Ｌplusが一番小さいとき（Ｓ６で「ＮＯ」、かつＳ８で「ＹＥＳ」の場合、又は、Ｓ６で「ＮＯ」、かつＳ８で「ＮＯ」の場合）
トーチ周りのプラス方向で、Ｐ点の移動量が最も小さいに回転角度をサーチするため、Ｓ１２に進む。
【０１１８】
（Ｓ９，Ｓ１２：トーチ周りの回転方向を設定）
Ｓ９，Ｓ１２は、トーチ周りの回転方向を設定するために、ＣＰＵ３１は、トーチ回転方向によって、回転符号を設定する。具体的には、Ｓ９では、ＣＰＵ３１は、回転符号ＳＤを「−１．０」に設定し、Ｓ１０へ移行する。又、Ｓ１２では、ＣＰＵ３１は、回転符号ＳＤを「＋１．０」に設定し、Ｓ１３に移行する。
【０１１９】
（Ｓ１０，Ｓ１３：比較用のＰ点位置の設定）
ＣＰＵ３１は、Ｐ点移動量が最小となるトーチ周りの角度をサーチするために、現時点のトーチ周り角でのＰ点を比較用Ｐ点位置Ｐrefに保管する。
【０１２０】
具体的には、Ｓ１０ではＣＰＵ３１は、比較用Ｐ点位置Ｐrefとして、Ｓ５で算出したＰminusの値を設定し、Ｓ１１に移行する。
又、Ｓ１３では、ＣＰＵ３１は、比較用Ｐ点位置Ｐrefとして、Ｓ４で算出したＰplusの値を設定し、Ｓ１４に移行する。
【０１２１】
（Ｓ１１，Ｓ１４：トーチの現在の位置姿勢の設定）
ここでの処理は、トーチ１１の現在の位置姿勢を表す同次変換行列を設定する。
具体的には、Ｓ１１では、ＣＰＵ３１は、現在のトーチ位置姿勢Ａｔとして、Ｓ５で得られたＡminusを設定し、Ｓ１５に移行する。
【０１２２】
又、Ｓ１４では、ＣＰＵ３１は、現在のトーチ位置姿勢Ａｔとして、Ｓ４で得られたＡplusを設定し、Ｓ１５に移行する。
（Ｓ１５：トーチ周り回転量ＲＡの計算）
Ｓ１５では、ＣＰＵ３１は、Ｓ９又はＳ１２で設定された回転符号ＳＤ、すなわち、トーチ回転方向に対して、さらに１ピッチ分だけ回転を進めた回転量ＲＡを算出する。本実施形態では、１ピッチとは、式（２３）で使用した微少の回転角度ＰＴ[rad]とするが、この値に限定されるものではない。すなわち、前記第１所定回転量と同じ値でもよく、或いは、異なる値であってもよい。このＳ１５での微少の回転角度ＰＴは第２所定回転量に相当する。この第２所定回転量の大きさは、適宜の値でよい。
【０１２３】
【数３２】
2011002888.tif 000034
（Ｓ１６：ＲＡ分回転させた場合のＰ点位置）
ＣＰＵ３１は、トーチ周りにＲＡ回転した場合の同次変換行列ＸChgPTを式（３３）により算出する。
【０１２４】
【数３３】
2011002888.tif 000035
ＣＰＵ３１は、さらに、式（３３）で求めたＸChgPTを、現在のトーチ位置姿勢を表す同次変換行列Ａtに右から積算することにより、トーチ角（前進・後退角，狙い角）に影響を与えないトーチ周りにＲＡ回転した同次変換行列Ａnewを算出する。
【０１２５】
【数３４】
2011002888.tif 000036
又、Ｐ点位置を表す、Ｊ５座標系Ｘbase2J5を、ＣＰＵ３１は、上記式（２１）のＸbase2ToolをＡnewに置き換えた以下の式（３５）から算出する。
【０１２６】
【数３５】
2011002888.tif 000037
上記式（３５）も４×４で表される同次変換行列であり、この第４列目が、所望のＰ点を表す位置ベクトルＰnewとなる。
【０１２７】
ＣＰＵ３１は、ＰnewとＰrefのどちらが、手動運転開始時のＰ点に近いかを、式（３６）、式（３７）を使用して、それぞれＬref、Ｌnewを算出する。
【０１２８】
【数３６】
2011002888.tif 000038
Ｌrefは、比較用Ｐ点位置Ｐrefの位置ベクトルと、手動運転開始時のＰ点を表わす位置ベクトルＰstrの距離である。
【０１２９】
【数３７】
2011002888.tif 000039
Ｌnewは、所望のＰ点を表す位置ベクトルＰnewと、手動運転開始時のＰ点を表わす位置ベクトルＰstrの距離である。
【０１３０】
そして、ＣＰＵ３１は、ＬrefとＬnewとを比較し、Ｐrefの方が手動運転開始時のＰ点に近い場合は、Ｐ点移動量が最小となるトーチ周りの角度がサーチできたとして、このフローチャートを終了する。
【０１３１】
Ｐnewの方が、手動運転開始時のＰ点に近い場合は、さらに近い角度を探すべく、Ｓ１８，Ｓ１９に移行する。
（Ｓ１８，Ｓ１９：更新処理）
Ｓ１８とＳ１９は、現在のトーチ位置姿勢とＰ点の位置を最後に計算したトーチ回転位置で更新する処理である。
【０１３２】
具体的には、ＣＰＵ３１は、Ｓ１８において、Ｓ１６で算出したＰnewを比較用Ｐ点位置Ｐrefとして設定する。
続く、Ｓ１９では、ＣＰＵ３１は、Ｓ１６で算出したＡnewを、現在のトーチ位置姿勢Ａｔとして設定する。この後、Ｓ１５〜Ｓ１７の処理を繰り返す。
【０１３３】
図１２のフローチャートの処理が終了した場合、ＣＰＵ３１は、最終的に得られた現在のトーチ位置姿勢Ａｔを補間点として出力する。ＣＰＵ３１は、この現在のトーチ位置姿勢Ａｔに基づき、ロボットの関節位置に逆変換することで、各サーボドライバ３８ａ〜３８ｆへの位置指令を計算し、この位置指令に基づいて、各サーボモータ１３ａ〜１３ｆを駆動制御する。
【０１３４】
さて、本実施形態によれば、以下のような特徴がある。
（１）  本実施形態の手動運転により前記溶接トーチのトーチ角を変更するアーク溶接ロボットの制御方法では、トーチ１１（溶接トーチ）の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際、補間周期毎のトーチ１１の位置姿勢を算出する（Ｓ２、Ｓ３）。又、前記ロボットに予め定めたＰ点（指標点）における位置ベクトルＰman（補間分移動位置）と、Ｐstr（手動運転開始位置）間のＬman（第１差分）を算出する（Ｓ６〜Ｓ８）。又、本制御方法では、補間周期毎に、ロボットに予め定めたＰ点（指標点）における位置ベクトルＰman（補間分移動位置）において、トーチ１１の長手方向の周りに±ＰＴ（第１所定回転量）分回転させた場合のＰ点（指標点）における位置とＰstr（手動運転開始位置）間のLplus，Ｌminus（第２差分）を算出する（Ｓ６〜Ｓ８）。そして、トーチ周りに回転した場合のLplus，Ｌminus（第２差分）が、トーチ周りに回転させない場合のＬman（第１差分）よりも小さい場合に、トーチ１１を、少なくともトーチ１１の長手方向の周りに前記所定回転量分回転させて手動運転させる。
【０１３５】
この結果、本実施形態の手動運転時のロボット制御方法によれば、複雑な溶接線形状を持つワークでも、全ての溶接教示点で、適切なトーチ角を簡単に教示できる。すなわち、本手動運転時のロボット制御方法によれば、トーチ角のワイヤ送給方向に向く軸の周りを中心とした回転方向の冗長自由度における冗長解を適宜、適切に選択することを、より簡単に行うことができる。又、本実施形態のロボットの手動運転時のロボット制御方法によれば、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周り回転自由度を使用して、できるだけロボットの基本軸であるＪ１軸からＪ３軸の角度の変化が少なくなるようにすることができる。
【０１３６】
さらに、本実施形態のロボットの手動運転時のロボット制御方法によれば、所望の前進角・後退角、あるいは狙い角を維持しながら、トーチ周りの回転自由度を利用して、基本軸であるＪ１軸からＪ３軸の変化量を少なくするということは、トーチの姿勢変化によるロボット本体と周辺装置との干渉を防止することになり、安全な姿勢変化を提供できる。例えは、図１３（ａ）、図１３（ｂ）は、トーチ１１を垂直にした状態から、それぞれ同じ前進角、例えば、１５度にするの際のロボットの概略図を示している。図１３（ａ）では、前進角をトーチ周りに回転させない場合において、ロボットの基本軸であるＪＩ軸〜Ｊ３軸の角度変化が大きくなる。それに対して図１３（ｂ）は、前進角をトーチ周りに回転させる場合においては、図１３（ａ）に比較して、ロボットの基本軸であるＪＩ軸〜Ｊ３軸の角度変化が大きくならない。
【０１３７】
（２）  本実施形態の手動運転時のロボット制御方法によれば、トーチ周りに回転した場合のLplus，Ｌminus（第２差分）が、トーチ周りに回転させない場合のＬman（第１差分）よりも小さい場合、さらに、ＰＴ（第１所定回転量）と同じＰＴ（第２所定回転量）をｎ（但し、ｎは自然数、且つｎ≧１）回加算してトーチ１１の長手方向の周りに回転させた場合のＰ点（指標点）の位置とＰstr（手動運転開始位置）間の差分と、（ｎ−１）回加算してトーチ１１の長手方向の周りに回転させた場合のＰ点（指標点）の位置と手動運転開始位置間の差分を算出する。そして、（ｎ−１）回加算してトーチ１１の長手方向の周りに回転させた場合の方が、ｎ回加算してトーチ１１の長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、ｎを１つずつ増分する。そして、（ｎ−１）回加算してトーチ１１の長手方向の周りに回転させた場合の方が、ｎ回加算してトーチ１１の長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、トーチ１１の長手方向の周りに、（ｎ−１）回分の第２所定回転量分回転させて手動運転させる。
【０１３８】
この結果、本実施形態の制御方法によれば、（ｎ−１）回加算してトーチ１１の長手方向の周りに回転させた場合の方が、ｎ回加算してトーチ１１の長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、トーチ１１を、トーチ１１の長手方向の周りに所定回転量を（ｎ−１）回分加算した分回転させて手動運転させる。このことにより、トーチ角である前進角・後退角、あるいは狙い角を変更したとき、トーチ周りの回転自由度を使用して、できるだけロボットの基本軸であるＪ１軸からＪ３軸の角度の変化が少なくなるようにすることができる。
【０１３９】
（３）  本実施形態の制御方法によれば、トーチ周りに回転した場合のLplus，Ｌminus（第２差分）が、トーチ周りに回転させない場合のＬman（第１差分）よりも大きい場合には、トーチ１１の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎のトーチ１１の位置姿勢で手動運転する。
【０１４０】
この結果、本実施形態の制御方法では、Lplus，Ｌminus（第２差分）がＬman（第１差分）との大小関係により、選択的に、トーチ１１の長手方向の周りに回転させて手動運転させたり、或いはトーチ１１の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転する際の補間周期毎のトーチ１１の位置姿勢でアーク溶接ロボットを制御することができる。
【０１４１】
（４）  本実施形態のアーク溶接ロボット制御装置３００は、トーチ１１の進行方向座標系の軸周りでトーチ角のみが変化するように手動運転指令があった際、補間周期毎のトーチ１１の位置姿勢を算出するとともに、ロボットに予め定めたＰ点（指標点）における位置ベクトルＰman（補間分移動位置）と、Ｐstr（手動運転開始位置）間のＬman（第１差分）を算出するＣＰＵ３１（第１算出手段）を備える。又、アーク溶接ロボット制御装置は、補間周期毎に、ロボットに予め定めたＰ点（指標点）における位置ベクトルＰman（補間分移動位置）において、トーチ１１の長手方向の周りに±ＰＴ（第１所定回転量）分回転させた場合のＰ点（指標点）における位置とＰstr（手動運転開始位置）間のLplus，Ｌminus（第２差分）を算出するＣＰＵ３１（第２算出手段）を備える。そして、アーク溶接ロボット制御装置３００は、トーチ周りに回転した場合のLplus，Ｌminus（第２差分）が、トーチ周りに回転させない場合のＬman（第１差分）よりも小さい場合に、トーチ１１を、少なくともトーチ１１の長手方向の周りに前記所定回転量分回転させるように、基本軸及び手首軸の駆動アクチュエータを駆動するＣＰＵ３１（制御手段）を備える。
【０１４２】
この結果、本実施形態のアーク溶接ロボット制御装置によれば、上記（１）の作用効果を奏するアーク溶接ロボット制御装置を提供できる。
（５）  本実施形態のアーク溶接ロボット制御装置のＣＰＵ３１（制御手段）は、トーチ周りに回転した場合のLplus，Ｌminus（第２差分）が、トーチ周りに回転させない場合のＬman（第１差分）よりも小さい場合、さらに、ＰＴ（第１所定回転量）と同じＰＴ（第２所定回転量）をｎ（但し、ｎは自然数、且つｎ≧１）回加算してトーチ１１の長手方向の周りに回転させた場合のＰ点（指標点）の位置とＰstr（手動運転開始位置）間の差分と、（ｎ−１）回加算してトーチ１１の長手方向の周りに回転させた場合のＰ点（指標点）の位置と手動運転開始位置間の差分を算出する。
【０１４３】
そして、ＣＰＵ３１は、（ｎ−１）回加算して溶接トーチの長手方向の周りに回転させた場合の方が、ｎ回加算して溶接トーチの長手方向の周りに回転させた場合の方よりも差分が大きくなるまで、ｎを１つずつ増分する。そして、（ｎ−１）回加算してトーチ１１の長手方向の周りに回転させた場合の方が、ｎ回加算してトーチ１１の長手方向の周りに回転させた場合の方よりも差分が大きくなった場合、トーチ１１の長手方向の周りに、（ｎ−１）回分の第２所定回転量分回転させて手動運転させように、基本軸（Ｊ１軸〜Ｊ３軸）及び手首軸のサーボモータ１３ａ〜１３ｆ（駆動アクチュエータ）を駆動する。
【０１４４】
この結果、本実施形態のアーク溶接ロボット制御装置では、上記（２）の作用効果を奏するアーク溶接ロボット制御装置を提供できる。
（６）  本実施形態のアーク溶接ロボット制御装置のＣＰＵ３１（制御手段）は、トーチ周りに回転した場合のLplus，Ｌminus（第２差分）が、トーチ周りに回転させない場合のＬman（第１差分）よりも大きい場合には、トーチ１１の進行方向座標系の軸周りでトーチ角のみが変化するように補間周期毎のトーチ１１の位置姿勢に基づいて基本軸及び手首軸のサーボモータ１３ａ〜１３ｆ（駆動アクチュエータ）を駆動する。
【０１４５】
この結果、本実施形態のアーク溶接ロボット制御装置では、上記（３）の作用効果を奏するアーク溶接ロボット制御装置を提供できる。
なお、本発明の実施形態は以下のように変更してもよい。
【０１４６】
・  前記実施形態では、指標点をＪ５回転中心点としたが、指標点はＪ５回転中心点に限定されるものではなく、ｊ４軸上、又はＪ５軸上の任意の点を指標点にすればよい。
【符号の説明】
【０１４７】
１３ａ〜１３ｆ…サーボモータ（駆動アクチュエータ）、
３１…ＣＰＵ（第１算出手段、第２算出手段、制御手段）、
１００…多関節型ロボット、
２００…ポジショナ、３００…アーク溶接ロボット制御装置。
【図１】
2011002888.tif 000040
【図２】
2011002888.tif 000041
【図３】
2011002888.tif 000042
【図４】
2011002888.tif 000043
【図５】
2011002888.tif 000044
【図６】
2011002888.tif 000045
【図７】
2011002888.tif 000046
【図８】
2011002888.tif 000047
【図９】
2011002888.tif 000048
【図１０】
2011002888.tif 000049
【図１１】
2011002888.tif 000050
【図１２】
2011002888.tif 000051
【図１３】
2011002888.tif 000052