(57)【要約】【課題】作業ツールが作業中にレーザセンサを利用する倣い有効区間と作業ツールが作業中にレーザセンサを利用しない倣い無効区間において、倣い有効区間では位置姿勢制御を行い、倣い無効区間では教示姿勢となるように姿勢制御の切替えができるロボットの制御装置を提供する。【解決手段】溶接ロボットの制御装置はワークの形状を認識するレーザセンサを備える。レーザセンサを利用する倣い有効区間では、センサの検出結果に基づく目標位置姿勢に基づいて位置姿勢倣い制御を行うロボット制御部ＲＣを備える。ロボット制御部ＲＣは、倣い有効区間に隣接する前記センサを利用しない倣い無効区間では、倣い無効区間の教示点における教示データに含まれる教示姿勢となるようにロボットの姿勢制御を行うとともに、倣い有効区間の終了点の実位置と、前記目標位置姿勢の位置との差に基づいて位置制御を行う第１位置姿勢制御を行う。【選択図】図２
2010253668.tif 000002
【特許請求の範囲】
【請求項１】
作業ツールの作業に先行して作業対象物の形状を認識するセンサを備え、前記センサを利用する倣い有効区間では、前記センサの検出結果に基づく目標位置姿勢に基づいて位置姿勢倣い制御を行う制御手段を備えたロボットの制御装置において、
前記制御手段は、前記倣い有効区間に隣接する前記センサを利用しない倣い無効区間では、前記倣い無効区間の教示点における教示データに含まれる教示姿勢となるように前記ロボットの姿勢制御を行うとともに、前記倣い有効区間の終了点における実位置と、前記目標位置姿勢の位置との差に基づいて位置制御を行う第１位置姿勢制御を行うことを特徴とするロボットの制御装置。
【請求項２】
前記制御手段は、教示点間の補間点演算を行う補間点演算手段を有し、
前記補間点演算手段は、教示点でセットされている教示データに姿勢修正指示がある場合は、倣い区間中の倣い有効区間の補間点演算であるとして、前記センサの検出結果に基づいて姿勢修正のための演算を行い、教示点でセットされている教示データに前記姿勢修正指示がない場合には、倣い区間中の倣い無効区間の補間点演算であるとして、倣い無効区間の教示点における教示データに含まれる教示姿勢となるための演算を行うことを特徴とする請求項１に記載のロボットの制御装置。
【請求項３】
前記教示点の教示データには、倣い開始指令、又は倣い終了指令が含まれており、
最初の倣い開始指令を含む教示データがあった教示点から倣い終了指令を含む教示データがあった教示点までを前記倣い区間とすることを特徴とする請求項２に記載のロボットの制御装置。
【請求項４】
前記補間点演算手段は、姿勢修正を行う場合、姿勢制限値の範囲内で姿勢修正が行われるように演算を行うことを特徴とする請求項２又は請求項３に記載のロボットの制御装置。
【請求項５】
前記センサの検出結果に基づき、目標位置姿勢を算出する目標位置姿勢演算手段を備え、
前記補間点演算手段は、前記倣い有効区間では前記センサの検出結果に基づく前記教示点間の補間点演算として、前記目標位置姿勢に基づいて前記教示点間の補間点演算を行い、
又、前記補間点演算手段は、前記目標位置姿勢演算手段からの前記目標位置姿勢が得られない場合には、前記目標位置姿勢が得られない時の直前の補間点演算周期で得られた姿勢修正を保持することを特徴とする請求項２乃至請求項４のうちいずれか１項に記載のロボットの制御装置。
【請求項６】
前記補間点演算手段は、前記目標位置姿勢演算手段から前記目標位置姿勢が得られない回数を、前記補間点演算周期毎にカウントし、そのカウント値が所定閾値回数を超えたときには、そのカウント値に対応する累積姿勢修正分の姿勢修正を行うようにすることを特徴とする請求項５に記載のロボットの制御装置。
【請求項７】
前記制御手段は、教示点間の補間点演算を行う補間点演算手段を有し、
前記補間点演算手段は、前記倣い有効区間の終了点であって、前記倣い無効区間の開始点の教示データに姿勢補正指令がない場合、前記第１位置姿勢制御を行い、
前記開始点の教示データに姿勢補正指令がある場合、前記倣い有効区間の終了点における実姿勢と、前記教示データに基づく教示姿勢との差に基づいて前記ロボットの姿勢制御を行うとともに、前記倣い有効区間の終了点の実位置と、前記終了点の教示位置の差に基づいて位置制御を行う第２位置姿勢制御を行うことを特徴とする請求項１に記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに設けられる作業ツールと、前記作業ツールに配置され作業対象物の形状を検出するセンサとを備え、予め設定された主軌道に沿って前記作業ツールを動作させるとともに、前記センサの出力により前記作業ツールの動作を補正するロボットの制御装置に関する。
【背景技術】
【０００２】
ロボットに設けられる作業ツールと、前記作業ツールに配置され作業対象物の形状を検出するセンサとを有するとともに、予め設定された主軌道に沿って作業ツールを動作させて前記センサの出力により前記作業ツールの動作を補正するロボットとして、例えば、レーザセンサ倣い技術を実現するアーク溶接ロボットが公知である。
【０００３】
前記アーク溶接ロボットのシステムでは、図１６に示すように、マニピュレータＭの自由端に溶接トーチ５０とレーザセンサＬＳとが設けられている。そして、溶接トーチ５０よりも先行するレーザセンサＬＳが取得した測距データに基づいて、センサ制御部ＬＵは画像解析を行うことにより、開先の特徴点や物理量（開先に応じたギャップ量、開先角度、開先面積等）を含む開先情報を取得するとともに得られた特徴点をつなぎ合わせることにより溶接トーチ５０の３次元軌道を生成するようにしている。
【０００４】
ここで、求められた３次元軌道において、その接線ベクトルが進行方向ベクトルと定義される。センサ制御部ＬＵは、開先情報（すなわち、前記特徴点と物理量）に対して、開先内にある特徴線を基準角度と定義して基準角度に対する目標相対角度を与えることにより、進行方向ベクトルとあわせて、開先に対する溶接トーチ５０の目標姿勢を生成するようにしている。
【０００５】
例えば、図１７は、重ね継手に対してレーザセンサＬＳにてサンプリングした測距データに基づいて画像解析を行った場合の開先情報を示している。重ね継手の場合、図１７に示すように上板（図示しない）の端角となるポイントが特徴点となる。この場合、特徴点の通過する開先法線を基準角度にし、該基準角度に対する目標相対角度を与えることにより、進行方向ベクトルとあわせて、開先に対する溶接トーチ５０の目標姿勢を生成することができる。
【０００６】
図１８は、同じく重ね継手に対して得られた特徴点をつなぎ合わせることにより溶接トーチ５０の３次元軌道を生成した例である。
ところで、レーザセンサＬＳより得られた測距データに基づく開先情報だけでは、開先座標系に対する特徴点の位置・姿勢しか計算できない。そこで、ロボット制御部ＲＣは、ロボット座標系における溶接トーチ５０の現在座標をセンサ制御部ＬＵに送信している。
【０００７】
センサ制御部ＬＵは、受信した溶接トーチ５０のロボット座標系の現在座標、画像解析により取得された特徴点座標、予め付与されている速度（速度データ）により、ロボット座標系での目標位置（すなわち、目標座標）を演算してロボット制御部ＲＣに返信する。
【０００８】
ロボット制御部ＲＣでは、教示データから生成した補間点を、受信した前記目標位置（目標座標）と置き換えて、マニピュレータＭを動作させることにより倣いを行う。
なお、特許文献１では、溶接中にスキャニング式レーザセンサを先行させて、前進・後進角θを保持するように姿勢制御を行うことが開示されている。
【０００９】
又、特許文献２〜４では、プラズマ溶接の教示にあたり、距離検出型又はスキャニング型のレーザセンサを先行させ、前進・後進角を０度に自動設定するシステムが開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第２９３５６００号公報
【特許文献２】特開昭６４−３７６０２号公報
【特許文献３】特開昭６４−３７６０５号公報
【特許文献４】特開昭６４−３７６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、従来の技術においては、レーザセンサによる姿勢修正を行うことが可能である。
一方、図８に示すように、溶接区間の一部で溶接トーチ５０がワークＷの一部に極めて接近するようなケースでは、その区間は教示姿勢を保持しつつ位置修正のみを行い、その区間の前後では姿勢修正を行う、という運用を望む場合がある。
【００１２】
しかし、従来の姿勢修正倣いでは、１つの倣い区間ＮＲ（図１０参照）中では、姿勢修正を常に続ける、又は姿勢修正を行わない、という二者択一となっているため、このようなケースでは全区間姿勢修正を行わずに（位置修正のみで）運用する必要があった。図８の例では、干渉部Ｗａがあり、この干渉部Ｗａにおいて、溶接トーチ５０と干渉する虞があるが、従来は、このような場合、倣い区間ＮＲ全体において、姿勢修正を行わず、位置修正のみを行うようにする。
【００１３】
図１０、図８を例にすると、倣い区間ＮＲにおいて、Ｐａ，Ｐｂがそれぞれの教示点であり、Ｌは溶接線である。この図１０の例の倣い区間ＮＲで姿勢修正を行わない場合、教示点Ｐａでは、位置、倣い開始指令、姿勢修正指令（オフ）等を含む教示データが、教示点Ｐｂでは、位置、倣い終了指令等を含む教示データが設定される。
【００１４】
ここで、倣い区間とは、最初の倣い開始指令が設定された教示点と、倣い終了指令が設定された教示点の間の区間である。
なお、特許文献１は、倣い区間中は常に姿勢制御を行うようにしており、特許文献１の技術では、上記問題は解決できない。
【００１５】
又、特許文献２〜４では、ツールをワークに対して面に対して直角になるように教示するためのものであり、これらの技術においても、上記問題は解決できない。
又、レーザセンサが正しく計測できない溶接区間においては、倣い終了点の位置ずれは保持されることが望まれるが、姿勢ずれは保持しないで教示姿勢をとることが望まれる場合がある。ワークや冶具が複雑で、溶接トーチやレーザセンサのセンサヘッドが干渉してしまうことが想定される場合である。トーチ先端の少量の姿勢変化でもトーチ先端よりはなれたセンサヘッドは回転半径が大きくなるため大きく振られることがあり、ワークや冶具が複雑であると干渉する可能性がある。
【００１６】
本発明の目的は、作業ツールが作業中にレーザセンサを利用する倣い有効区間と作業ツールが作業中にレーザセンサを利用しない倣い無効区間において、倣い有効区間では位置姿勢制御を行い、倣い無効区間では教示姿勢となるように姿勢制御の切替えができるロボットの制御装置を提供することにある。
【課題を解決するための手段】
【００１７】
上記問題点を解決するために、請求項１の発明は、作業ツールの作業に先行して作業対象物の形状を認識するセンサを備え、前記センサを利用する倣い有効区間では、前記センサの検出結果に基づく目標位置姿勢に基づいて位置姿勢倣い制御を行う制御手段を備えたロボットの制御装置において、前記制御手段は、前記倣い有効区間に隣接する前記センサを利用しない倣い無効区間では、前記倣い無効区間の教示点における教示データに含まれる教示姿勢となるように前記ロボットの姿勢制御を行うとともに、前記倣い有効区間の終了点の実位置と、前記目標位置姿勢の位置との差に基づいて位置制御を行う第１位置姿勢制御を行うことを特徴とするロボットの制御装置を要旨とするものである。
【００１８】
なお、本明細書において、センサを利用するとは、センサの検出を利用することをいう。又、センサを利用しないとは、センサ自体が検出を行わない場合、及びセンサ自体は検出動作するが、その検出結果を利用しない場合を含む趣旨である。
【００１９】
請求項２の発明は、請求項１において、前記制御手段は、教示点間の補間点演算を行う補間点演算手段を有し、前記補間点演算手段は、教示点でセットされている教示データに姿勢修正指示がある場合は、倣い区間中の倣い有効区間の補間点演算であるとして、前記センサの検出結果に基づいて姿勢修正のための演算を行い、教示点でセットされている教示データに前記姿勢修正指示がない場合には、倣い区間中の倣い無効区間の補間点演算であるとして、倣い無効区間の教示点における教示データに含まれる教示姿勢となるための演算を行うことを特徴とする。
【００２０】
請求項３の発明は、請求項２において、前記教示点の教示データには、倣い開始指令、又は倣い終了指令が含まれており、最初の倣い開始指令を含む教示データがあった教示点から倣い終了指令を含む教示データがあった教示点までを前記倣い区間とすることを特徴とする。
【００２１】
請求項４の発明は、請求項２又は請求項３において、前記補間点演算手段は、姿勢修正を行う場合、姿勢制限値の範囲内で姿勢修正が行われるように演算を行うことを特徴とする。
【００２２】
請求項５の発明は、請求項２乃至請求項４のうちいずれか１項において、前記センサの検出結果に基づき、目標位置姿勢を算出する目標位置姿勢演算手段を備え、前記補間点演算手段は、前記倣い有効区間では前記センサの検出結果に基づく前記教示点間の補間点演算として、前記目標位置姿勢に基づいて前記教示点間の補間点演算を行い、又、前記補間点演算手段は、前記目標位置姿勢演算手段からの前記目標位置姿勢が得られない場合には、前記目標位置姿勢が得られない時の直前の補間点演算周期で得られた姿勢修正を保持することを特徴とする。
【００２３】
請求項６の発明は、請求項５において、前記補間点演算手段は、前記目標位置姿勢演算手段から前記目標位置姿勢が得られない回数を、前記補間点演算周期毎にカウントし、そのカウント値が所定閾値回数を超えたときには、そのカウント値に対応する累積姿勢修正分の姿勢修正を行うようにすることを特徴とする。
【００２４】
請求項７の発明は、請求項１において、前記制御手段は、教示点間の補間点演算を行う補間点演算手段を有し、前記補間点演算手段は、前記倣い有効区間の終了点で、かつ前記倣い無効区間の開始点の教示データに姿勢補正指令がない場合、前記第１位置姿勢制御を行い、前記開始点の教示データに姿勢補正指令がある場合、前記倣い有効区間の終了点における実姿勢と、前記教示データに基づく教示姿勢との差に基づいて前記ロボットの姿勢制御を行うとともに、前記倣い有効区間の終了点の実位置と、前記終了点の教示位置の差に基づいて位置制御を行う第２位置姿勢制御を行うことを特徴とする。
【発明の効果】
【００２５】
以上詳述したように、請求項１の発明によれば、作業ツールが作業中にレーザセンサを利用する倣い有効区間と作業ツールが作業中にレーザセンサを利用しない倣い無効区間において、倣い有効区間では位置姿勢制御を行い、倣い無効区間では教示姿勢となるように姿勢制御の切替えができる効果がある。
【００２６】
請求項２の発明によれば、姿勢修正指示の有無に応じて、倣い区間中の教示点間毎に姿勢修正のオンオフの切替えを行うことができる。
なお、特許文献１では、倣い区間中は常に姿勢制御を行う。それに対して、本件請求項２の発明では、倣い区間を、倣い有効区間と倣い無効区間とに区別して、教示プログラム又は自動で姿勢制御の有無を切替える点が異なる。又、特許文献２〜４では、ツールをワークに対して面に対して直角になるように教示するためのものである。それに対して、請求項２の発明では、自動倣い運転中に、リアルタイムに姿勢制御を行う点、さらに、倣い区間中に倣い有効区間と倣い無効区間とに区別してプログラムで姿勢制御の有無を切替える点が異なっている。
【００２７】
請求項３の発明によれば、最初の倣い開始指令を含む教示データがあった教示点から倣い終了指令を含む教示データがあった教示点までを倣い区間とし、この倣い区間の中において、教示データで設定した倣い有効区間と倣い無効区間とを区別して姿勢修正のオンオフの切替えを行うことができる。
【００２８】
請求項４の発明によれば、姿勢制限値の範囲内で姿勢修正が行われることから、急激な姿勢変化がなく、滑らかに姿勢修正を行うことができる。
請求項５の発明によれば、補間点演算手段は、前記目標位置姿勢演算手段からの前記目標位置及び目標姿勢が得られない場合には、前記目標位置及び目標姿勢が得られない時の直前の補間点演算周期で得られた姿勢修正を保持することができる。
【００２９】
請求項６の発明によれば、前記目標位置姿勢演算手段から前記目標位置及び目標姿勢が得られない回数のカウント値が、所定閾値回数を超えたときには、そのカウント値に対応する累積姿勢修正分の姿勢修正が行われるため、ワークに対する作業ツールの干渉の可能性を抑制することができる。
【００３０】
請求項７の発明によれば、倣い有効区間の終了点であって前記倣い無効区間の開始点の教示データに姿勢補正指令がない場合、第１位置姿勢制御を行うことができ、前記倣い無効区間の開始点の教示データに姿勢補正指令がある場合、第２位置姿勢制御を行うことができる。この結果、倣い無効区間の開始点の教示データに姿勢補正指令があるか否かに応じて、姿勢制御の切替えができる。
【図面の簡単な説明】
【００３１】
【図１】本発明を具体化した第１実施形態の溶接ロボットの制御装置の構成を示すブロック図。
【図２】ロボット制御部及びセンサ制御部の機能ブロック図。
【図３】ロボット制御部とセンサ制御部間の送受信の説明図。
【図４】ロボット制御部とセンサ制御部間の送受信の説明図。
【図５】ロボット制御部が実行する修正補間点算出処理プログラムのフローチャート。
【図６】ロボット制御部が実行する修正補間点算出処理プログラムのフローチャート。
【図７】ロボット制御部が実行する修正補間点算出処理プログラムのフローチャート。
【図８】作用の説明図。
【図９】溶接トーチの動作の説明図。
【図１０】倣い区間の説明図。
【図１１】倣い区間の説明図。
【図１２】第２実施形態のロボット制御部が実行する修正補間点算出処理プログラムのフローチャート。
【図１３】ロボット制御部が実行する修正補間点算出処理プログラムのフローチャート。
【図１４】第３実施形態のロボット制御部が実行する第１プログラムのフローチャート。
【図１５】第３実施形態のロボット制御部が実行する第２プログラムのフローチャート。
【図１６】溶接ロボットの制御装置の構成を示すブロック図。
【図１７】レーザセンサが測定するワークの２次元データ。
【図１８】ワークの特徴点から生成される３次元軌道を示す概略図。
【発明を実施するための形態】
【００３２】
（第１実施形態）
以下、本発明のロボットの制御装置をアーク溶接ロボットの制御装置に具体化した一実施形態を図１〜１１を参照して説明する。図１はアーク溶接ロボットの制御装置１０（以下、溶接ロボットの制御装置１０という）の構成を示すブロック図である。
【００３３】
溶接ロボットの制御装置１０は、ワーク（作業対象物）Ｗに対してアーク溶接を自動で行うように制御するものであり、溶接作業を行うマニピュレータＭと、マニピュレータＭを制御するロボット制御部ＲＣと、ワークＷの形状を検出するセンサとしてのレーザセンサＬＳと、レーザセンサＬＳを制御するセンサ制御部ＬＵとを備える。又、ロボット制御部ＲＣには、可搬式操作部としてのティーチペンダントＴＰが接続されている。ティーチペンダントＴＰは、図示しないキーボードを備え、キーボードにより各種の教示データがロボット制御部ＲＣに入力される。
【００３４】
マニピュレータＭは、フロア等に固定されるベース部材１２と、複数の軸を介して連結された複数のアーム１３とを備える。最も先端側に位置するアーム１３の先端部には、作業ツールとしての溶接トーチ１４が設けられる。溶接トーチ１４は、溶加材としてのワイヤ１５を内装している。溶接トーチ１４は図示しない送給装置によって送り出されたワイヤ１５の先端とワークＷとの間にアークを発生させ、その熱でワイヤ１５を溶着させることによりワークＷに対して溶接を施す。アーム１３間には複数のモータ（図示しない）が配設されており、モータの駆動によって溶接トーチ１４を前後左右に自在に移動できるように構成されている。
【００３５】
ロボット制御部ＲＣは、コンピュータから構成されており、前記モータを駆動制御することにより、予め設定された教示データの主軌道に沿って溶接トーチ１４を動作させる。ロボット制御部ＲＣは位置姿勢倣い制御を行う制御手段に相当する。
【００３６】
又、ロボット制御部ＲＣは、溶接電流及び溶接電圧といった溶接条件を溶接電源ＷＰＳに対して出力するとともに、溶接電源ＷＰＳからパワーケーブルＰＫを通じて供給される電力によって溶接作業を行わせる。
【００３７】
レーザセンサＬＳは、レーザの発光及び受光によりワークＷまでの距離を測定する走査型のレーザセンサであり、溶接トーチ１４に搭載され、溶接トーチ１４が溶接線に沿って進行する方向側における開先開放（すなわち、未溶接部位）部位の距離を測定する。レーザセンサはセンサに相当する。
【００３８】
センサ制御部ＬＵは、コンピュータから構成されている。センサ制御部ＬＵは、レーザセンサＬＳを駆動制御して、測定される距離情報からワークＷの開先形状を検出する。センサ制御部ＬＵは、レーザセンサＬＳを制御して、所定の範囲を走査しながら各サンプリング点について距離を測定して、２次元データを取得する。センサ制御部ＬＵは、複数のサンプリング点の２次元データからワークＷの開先形状を作成して、該開先形状からワークＷの特徴点を取得する。センサ制御部ＬＵは、溶接トーチ１４が溶接線に沿って移動した位置においても、同様の手法で距離を測定してワークＷの特徴点Ｄを取得する（図１８参照）。
【００３９】
そして、センサ制御部ＬＵは、取得された特徴点Ｄをつなぎ合わせることで特徴点の３次元軌道Ｅ（図１８参照）を生成する。センサ制御部ＬＵは、このように求めた３次元軌道Ｅから溶接トーチ１４の目標位置及び目標姿勢を設定する。以下、目標位置及び目標姿勢を目標位置姿勢という。すなわち、センサ制御部ＬＵは、３次元軌道Ｅの接線ベクトルを進行方向ベクトルｖとして目標位置を設定するとともに、ワークＷの法線に対して予め設定された所定の目標相対角度αを与えることで目標姿勢を設定する（図１７参照）。
【００４０】
なお、センサ制御部ＬＵは、目標位置姿勢を設定する際に、レーザセンサＬＳにより検出される開先情報だけでは、レーザセンサＬＳを基準としたセンサ座標系に対する位置及び姿勢しか算出できない。このため、センサ制御部ＬＵは、ロボット制御部ＲＣから溶接トーチ１４の現在位置及び姿勢（以下、現在位置姿勢という）を取得して、レーザセンサＬＳを基準としたセンサ座標系からマニピュレータＭを基準としたロボットの基準座標系への変換を適宜行う。
【００４１】
すなわち、センサ制御部ＬＵは、ロボット制御部ＲＣから取得した現在位置姿勢と、センサ制御部ＬＵに予め記憶されているセンサ座標系から基準座標系への同次変換行列と、レーザセンサＬＳにより検出される開先情報とから、基準座標系における目標位置及び姿勢を算出する。
【００４２】
次に、マニピュレータＭにより溶接作業が行われるときに、ロボット制御部ＲＣ及びセンサ制御部ＬＵが行う制御について説明する。なお、ロボット制御部ＲＣには、溶接作業が行われる前に、溶接が行われる際のマニピュレータＭの動作及び溶接条件等を示す教示データ、及び倣い区間を構成するための教示点が入力されている。図２にロボット制御部ＲＣ及びセンサ制御部ＬＵの機能ブロック図を示す。
【００４３】
ロボット制御部ＲＣは、教示データから溶接トーチ１４の主軌道補間点を算出するとともに、溶接トーチ１４の目標位置及び姿勢に基づいて補正を行う補間点算出処理部２３と、溶接トーチ１４の現在位置姿勢を算出する現在位置算出処理部２５と、センサ制御部ＬＵと通信を行うための通信処理部２７を備える。補間点算出処理部２３は補間点演算手段に相当する。又、現在位置算出処理部２５は現在位置算出手段に相当する。センサ制御部ＬＵは目標位置設定手段に相当する。
【００４４】
又、ロボット制御部ＲＣは、ロボット制御部ＲＣとセンサ制御部ＬＵ間の通信時の所定のコマンドを逐次カウントする。又、ロボット制御部ＲＣは、そのカウント数を格納するカウント記憶手段としての第１メモリ２８を備えている。さらに、ロボット制御部ＲＣは、各種のプログラムを格納するメモリを備える。例えば、ロボット制御部ＲＣは、補間点算出処理部２３及び現在位置算出処理部２５がそれぞれ行う処理を実行するプログラム、及び、教示データ、及び修正補間点算出処理プログラムをそれぞれ格納する第２メモリ２９を備えている。第２メモリ２９は、記憶手段に相当する。記憶手段は、読出し、書込み可能な不揮発性メモリからなり、例えばＥＥＰＲＯＭ等からなる。又、ロボット制御部ＲＣは、ＲＡＭからなる作業用メモリ３０を備えている。
【００４５】
補間点算出処理部２３は、溶接トーチ１４の移動に先行して、溶接トーチ１４の位置及び姿勢を示す複数の主軌道補間点を前記教示データから算出する。算出された主軌道補間点は、バッファ２４に格納されるとともに、順次現在位置算出処理部２５に送られる。
【００４６】
現在位置算出処理部２５は、マニピュレータＭに内蔵されているとともにモータ（図示しない）の回転位置を検出するエンコーダ等から読み出した位置検出値に基づいて、溶接トーチ１４の現在位置姿勢を算出する。前記算出された現在位置姿勢は、通信処理部２７を介してセンサ制御部ＬＵに送信される。
【００４７】
なお、通信処理部２７は、センサ制御部ＬＵに対して制御情報を送信する際に、その種類を明示するためのコマンドを付して送信したり、或いは通信開始や、通信終了等を示す各種コマンドを送信する。前記算出された現在位置姿勢を制御情報として通信処理部２７が送信する場合、例えば、前記制御情報の先頭にはコマンドとして「ＣＧ」が付される。
【００４８】
センサ制御部ＬＵは、通信処理部ＬＵａを介して前記現在位置姿勢を受信する。そして、センサ制御部ＬＵは、レーザセンサＬＳによるセンサ補正周期Ｓcycle（秒）で得られ
るワークＷの形状検出結果と受信した現在位置姿勢とを照らし合わせて、溶接トーチ１４の目標位置及び姿勢を設定（算出）する。そして、センサ制御部ＬＵは、設定（算出）された目標位置及び姿勢を、通信処理部ＬＵａを介してロボット制御部ＲＣの通信処理部２７に送信する。なお、通信処理部ＬＵａは、ロボット制御部ＲＣに対して制御情報を送信する際に、その種類を明示するためのコマンドを付して送信したり、或いは通信開始や、通信終了等を示す各種コマンドを送信する。ここで、前記設定（算出）された目標位置及び姿勢を制御情報として通信処理部ＬＵａが送信する場合、例えば、前記制御情報の先頭にはコマンドとして「ｃｃ」が付される。
【００４９】
ロボット制御部ＲＣの通信処理部２７は受信した目標位置及び姿勢を補間点算出処理部２３に入力する。そして、補間点算出処理部２３は、前記主軌道補間点を、前記受信した目標位置及び姿勢に基づいて修正補間点算出処理を行う。この修正補間点算出処理については、後述する。
【００５０】
なお、センサ制御部ＬＵは、溶接トーチ１４の目標位置及び姿勢を設定（算出）ができない場合がある。例えば、レーザセンサＬＳが被溶接物であるワークＷの開先を認識できなかった場合に発生する。開先が認識できない場合としては、ワークＷにおいて予め設定したプロファイルに、実際の形状が当てはまらない場合であって、ワークＷにおいて倣い区間中にある仮付けにより開先がなくなる場合や、或いはワークＷに大きな湾曲があり、開先上にレーザ光を照射できなくなった場合である。
【００５１】
この場合は、センサ制御部ＬＵは、溶接トーチ１４の目標位置及び姿勢を設定（算出）ができなかった、すなわち、目標位置等計算不成功を意味するコマンド「ｃｚ」をロボット制御部ＲＣに送信する。この場合、ロボット制御部ＲＣはこのコマンド「ｃｚ」を通信処理部２７を介して受信すると、これまでの補間点補正を保持する。
【００５２】
ここで、センサ制御部ＬＵとロボット制御部ＲＣで行う通信例について説明する。
図３は、センサ制御部ＬＵで目標位置等の計算が成功した事例であって、ロボット制御部ＲＣとセンサ制御部ＬＵ間の通信において、倣い開始から倣い終了までの通信例が示されている。図３において、ロボット制御部ＲＣから倣い開始コマンドＭＴが送信され、センサ制御部ＬＵでこのコマンドを受信すると、センサ制御部ＬＵから倣い開始レディコマンドｍｏが送信される。以後、ロボット制御部ＲＣからコマンドＣＧが付された現在位置姿勢の送信がされ、センサ制御部ＬＵでこれを受信すると、センサ制御部ＬＵでは、前述したように目標位置姿勢の設定（算出）がされる。そして、センサ制御部ＬＵは目標位置姿勢をロボット制御部ＲＣにコマンドｃｃを付して送信する。以後、同様に繰り返される。ここで、コマンドｃｃは、目標位置等の計算に成功した場合に該目標位置等に付されるコマンドであるため、レーザセンサＬＳがワークＷの形状を認識できた結果を示すことになる。
【００５３】
そして、倣いが終了される際には、ロボット制御部ＲＣから倣い終了指令コマンドＭＥがセンサ制御部ＬＵに送信される。そして、センサ制御部ＬＵはこのコマンドを受信すると、倣い終了コマンドとしてｍｏを送信する。ロボット制御部ＲＣは、このコマンドを受信することにより、倣いを終了する。
【００５４】
図４は、センサ制御部ＬＵで、目標位置姿勢の計算が不成功の事例が示されている。なお、図４での図３との重複説明は省略する。ここでは、目標位置姿勢の設定（すなわち、計算）が不成功の場合は、コマンドｃｚがロボット制御部ＲＣに送信される。図４の例では、続けてコマンドｃｚがロボット制御部ＲＣに送信されていることが示されている。コマンドｃｚは目標位置姿勢の計算に成功しなかった場合に送信されるコマンドであるため、レーザセンサＬＳがワークＷの形状を認識できなかった結果を示すことになる。
【００５５】
次に、センサ制御部ＬＵから目標位置姿勢を取得したときの、ロボット制御部ＲＣの補間点算出処理部２３が行う修正補間点算出処理の詳細を説明する。
（修正補間点算出処理）
図５〜７は、補間点算出処理部２３が修正補間点算出処理プログラムに従って実行する修正補間点算出処理のフローチャートであり、所定制御周期毎に実行する。本実施形態では、このプログラムは２０msec毎に実行するが、制御周期は限定されるものではない。この制御周期は、補間点演算周期に相当する。
【００５６】
Ｓ１０では、補間点算出処理部２３は、ロボットの現在位置姿勢をセンサ制御部ＬＵに送信する。Ｓ２０では、補間点算出処理部２３はセンサ制御部ＬＵから目標位置姿勢（ＰＯＳｔ，ＰＯＳＥｔ）を読み込む。Ｓ３０では、補間点算出処理部２３は、目標位置姿勢を受信した時の現在位置姿勢（ＰＯＳｍ，ＰＯＳＥｍ）を、作業用メモリ３０に退避する。Ｓ４０では、補間点算出処理部２３は、姿勢修正有効か否か、すなわち、姿勢修正が有効に設定されているか否かを、教示データに基づいて判定する。
【００５７】
ここで、各教示点において教示される教示データには、当該教示点から、次の教示点まで姿勢修正を行う場合、姿勢修正が有効で有る旨の教示データが設定されている。又、当該教示点から、次の教示点まで姿勢修正を行わない場合、姿勢修正が無効で有る旨の教示データが設定されている。この姿勢修正が有効である旨の教示データは、姿勢修正指示の有りのデータに相当する。又、姿勢修正が無効である旨の教示データは姿勢修正指示が無しのデータに相当する。
【００５８】
姿勢修正が有効に設定されている場合には、補間点算出処理部２３はＳ４０の判定を「ＹＥＳ」として、Ｓ５０に移行して、姿勢反映処理ルーチンを実行した後、Ｓ６０の公知の目標位置反映処理ルーチンを実行して、このフローチャートを、一旦終了する。なお、Ｓ５０の姿勢反映処理ルーチンについては後述する。又、姿勢修正が有効に設定されていない場合、すなわち、姿勢修正が無効に設定されている場合には、補間点算出処理部２３は、Ｓ７０に移行する。
【００５９】
又、Ｓ７０に移行した場合、補間点算出処理部２３は、姿勢修正履歴が有るか否かを判定する。この姿勢修正履歴が有るか否かの判定は、姿勢修正の補間点があったか否かを見ているのである。Ｓ７０において、姿勢修正履歴が無い場合には、補間点算出処理部２３は、Ｓ６０に移行して目標位置反映処理ルーチンを実行する。補間点算出処理部２３は、姿勢修正履歴が有る場合には、Ｓ８０で、目標姿勢を、目標位置姿勢を受信した時の現在姿勢ＰＯＳＥｍに置き換えた後、Ｓ５０の姿勢反映処理ルーチンを実行する。Ｓ８０で、目標姿勢を、目標位置姿勢を受信した時の現在姿勢ＰＯＳＥｍに置き換えることにより、急激な姿勢変化を起こさせないようにしている。この後、徐々にマニピュレータＭを教示姿勢にもっていきたいためである。これは、マニピュレータＭに無理な動作をさせないためである。
【００６０】
（姿勢反映処理ルーチン）
次に、姿勢反映処理ルーチンを図６を参照して説明する。
Ｓ１００では、補間点算出処理部２３は、姿勢制限値としての姿勢リミッタＲｌを第２メモリ２９から読み込む。姿勢リミッタＲｌは、マニピュレータＭを作動させるときの最大動作範囲を限定するためのものである。Ｓ１１０では、補間点算出処理部２３は、現在の処理がセンサ制御部ＬＵから目標位置姿勢を受信した直後か否かを判定する。本実施形態では、センサ制御部ＬＵからは、通常３０〜５０msec毎の周期で目標位置姿勢を受信しており、受信直後であれば、その旨を示すステータスフラグがセットされ、受信直後でなくなれば、図示しないタイマにより前記ステータスフラグがリセットされる。Ｓ１１０での判定が、受信直後であれば、Ｓ１２０に移行する。又、受信直後でなければ、Ｓ３００の姿勢保持処理ルーチンを実行した後、Ｓ２１０に移行する。なお、Ｓ３００の姿勢保持処理ルーチンは後述する。Ｓ１２０では、補間点算出処理部２３は今回の処理が倣い開始直後、すなわち、倣い開始指令（ＺＴ）があった直後か否かを判定する。倣い開始直後であれば、Ｓ１３０において、前補間点姿勢Ｍｐとして、教示データに含まれる教示目標姿勢（すなわち、教示姿勢）を設定して、Ｓ１５０に移行する。
【００６１】
一旦、Ｓ１３０を経た後は、倣い開始直後でなくなるため、補間点算出処理部２３はＳ１２０の判定では「ＮＯ」と判定した後、Ｓ１４０において、前補間点姿勢Ｍｐとして前回の制御周期で取得した前回補間点姿勢を設定する。
【００６２】
Ｓ１５０では、補間点算出処理部２３は、Ｓ１３０又はＳ１４０で設定された前補間点姿勢Ｍｐから目標姿勢への回転中心軸ベクトルＶｃを求める。次のＳ１６０では、補間点算出処理部２３は、回転中心軸ベクトルＶｃの周りの回転角Ｒｔを求め、さらに残回転角Ｒｒを、回転角Ｒｔから姿勢リミッタＲｌを減算することにより求めて、求めた残回転角Ｒｒを作業用メモリ３０のＲsaveに退避する。Ｓ１７０では、補間点算出処理部２３は、残回転角ＲｒがＲｒ＞０か否かを判定する。Ｒｒ＞０でなければ、補間点算出処理部２３はＳ２４０において、回転角Ｒｆとして姿勢リミッタＲｌを設定した後、Ｓ２５０において、作業用メモリ３０のＲsaveを０に設定してＳ１９０に移行する。
【００６３】
又、Ｓ１７０において、Ｒｒ＞０であれば、Ｓ１９０において、回転角Ｒｆとして回転角Ｒｔを設定する。次のＳ１９０では、補間点算出処理部２３は、回転中心軸ベクトルＶｃ周りに回転角Ｒｆ分回転する同次変換行列Ｍｆを求め、同次変換行列Ｍｆを作業用メモリ３０のＭsaveに退避する。Ｓ２００では、補間点算出処理部２３は、目標姿勢ＭＴpose（＝ＭｐＭｆ）を求める。前述のようにして目標姿勢ＭＴposeは、前補間点姿勢Ｍｐと同次変換行列Ｍｆに基づいて算出される。Ｓ２１０では、補間点算出処理部２３は、目標姿勢ＭＴposeの位置成分に、目標位置姿勢を受信した時の現在位置ＰＯＳｍを代入する。Ｓ２２０では、補間点算出処理部２３は、Ｓ２１０で求めた目標姿勢ＭＴposeを作業用メモリ３０のＭＴsaveに退避する。Ｓ２３０では、補間点算出処理部２３は、姿勢修正履歴フラグをＯＮに設定して、このフローチャートを一旦終了する。
【００６４】
（Ｓ３００：姿勢保持処理ルーチン）
次に、姿勢保持処理ルーチンを図７を参照して説明する。
この姿勢保持処理ルーチンの実行は、マニピュレータＭに大きな姿勢変化をさせる場合においても、できる限り姿勢リミッタＲｌの範囲で、マニピュレータＭを動作させるようにするのである。
【００６５】
Ｓ３１０では、補間点算出処理部２３は、姿勢修正履歴フラグがＯＮに設定され、かつ、Ｒsaveが０を越えた値となっているかを判定する。姿勢修正履歴フラグがＯＮに設定され、かつ、Ｒsaveが０を越えた値となっている場合には、Ｓ３２０に移行するとともに、姿勢修正履歴フラグがＯＮに設定されてない、または、Ｒsaveが０を越えた値となっていない場合には、Ｓ３８０に移行する。Ｓ３８０では、補間点算出処理部２３は、目標姿勢ＭＴposeとして、作業用メモリ３０のＭＴsaveに退避した値を反映させてこのルーチンを終了する。
【００６６】
Ｓ３２０では、補間点算出処理部２３は、姿勢リミッタＲｌを第２メモリ２９から読み込む。Ｓ３３０では、補間点算出処理部２３は、残回転角Ｒｒを、作業用メモリ３０のＲsaveの値から姿勢リミッタＲｌを減算することにより求める。Ｓ３４０では、補間点算出処理部２３は、残回転角ＲｒがＲｒ＞０か否かを判定する。Ｓ３４０において、Ｒｒ＞０でなければ（判定が「ＮＯ」）、Ｓ３９０において、補間点算出処理部２３は、回転角Ｒｆとして作業用メモリ３０のＲsaveを設定した後、Ｓ４００において、作業用メモリ３０のＲsaveを０に設定してＳ３６０に移行する。
【００６７】
又、Ｓ３４０において、Ｒｒ＞０であれば、Ｓ３５０において、回転角Ｒｆとして姿勢リミッタＲｌを設定した後、Ｓ３６０に移行する。このように残回転角Ｒｒが０を越える場合は、回転角Ｒｆとして姿勢リミッタＲｌがセットされるのである。Ｓ３６０では、前回の制御周期で、作業用メモリ３０にＭsaveに格納した同次変換行列Ｍｆの回転中心ベクトルの周りにさらに回転角Ｒｆで回転する同次変換行列を求め、それを同次変換行列Ｍｆとして更新する。Ｓ３７０では、補間点算出処理部２３は、目標姿勢ＭＴpose（＝ＭＴsaveＭｆ）を求める。前述のようにして目標姿勢ＭＴposeは、前回の制御周期において、Ｓ２２０で作業用メモリ３０のＭＴsaveに退避された値とＳ３６０で更新された同次変換行列Ｍｆに基づいて算出される。Ｓ３７０を処理すると、このルーチンを終了して、図６のＳ２１０に移行する。
【００６８】
このようにして、姿勢保持処理ルーチンにおいては、受信直後でない場合であって、姿勢修正履歴があり、かつＲsaveがある場合を除いては、マニピュレータＭの姿勢保持がされる。又、姿勢保持処理ルーチンにおいては、受信直後でない場合あって、姿勢修正履歴があり、かつＲsaveがある場合は、姿勢リミッタＲｌの範囲内で、目標姿勢ＭＴposeが設定される。
【００６９】
次に、上記の修正補間点算出処理プログラムに適した倣い区間を構成する複数の教示点の教示データの設定の例を表１を参照して説明する。この例では、教示点Ｓ１〜Ｓ４の区間を１つの倣い区間ＮＲとしている。
【００７０】
【表１】
2010253668.tif 000003
教示点Ｓ１〜Ｓ４には、表１の教示データの欄に示されているように各種指令Ｐ，ＡＳ（アークスタート），ＺＴ（倣い開始）、Ｌ（位置指令）、ＺＥ（倣い終了）が設定される。ここで、本例では、教示点Ｓ１〜Ｓ３では、それぞれ倣い開始を表わすＺＴが教示データとして設定され、教示点Ｓ４では、ＺＥが倣い終了を表わす倣い終了指令として設定される。本例に示すように、最初の倣い開始指令のＺＴから倣い終了指令迄が、１つの倣い区間として構成される。そして、ＺＴ指令のファイルに、図示はしないが、姿勢修正指示の有無を示す教示データが入力されて格納されている。
【００７１】
そして、図８の例では、教示点Ｓ１及び教示点Ｓ３のＺＴ指令のファイルには、姿勢修正有効の旨を表わす教示データがセットされている。又、教示点Ｓ２のＺＴ指令のファイルには、姿勢修正無効の旨を表わす教示データがセットされている。Ｓ２において、教示点Ｓ２のＺＴ指令のファイルに、姿勢修正無効の旨を表わす教示データがセットされるのは、教示点Ｓ２・Ｓ３間には、干渉部Ｗａが存在するからであり、この区間で、溶接トーチ１４の姿勢が変化すると干渉部Ｗａに溶接トーチ１４が干渉する虞があるからである。  
【００７２】
従って、図８の例では、図５〜７のフローチャートで示される処理が実行されると、図１１に示すように、倣い有効区間としての第１区間（Ｓ１・Ｓ２間）及び第３区間（Ｓ３・Ｓ４間）では、目標位置反映処理（図１１では、位置ＯＮで示す）、及び姿勢反映処理（図１１では、姿勢ＯＮで示す）が行われる。又、倣い無効区間としての第２区間（Ｓ２・Ｓ３間）では、目標位置反映処理（図１１では、位置ＯＮで示す）が行われるが、姿勢反映処理（図１１では、姿勢ＯＦＦで示す）は行われないことになる。
【００７３】
又、前記教示点Ｓ２は、倣い有効区間である第１区間（Ｓ１・Ｓ２間）の終了点であり、この終了点の実位置と、目標位置姿勢の位置との差に基づいて位置制御が行われることになる。第２区間（Ｓ２・Ｓ３間）でのロボット制御部ＲＣの制御は、第１位置姿勢制御に相当する。
【００７４】
【表２】
2010253668.tif 000004
表２は、図８の例を、従来の技術を使用して行う際、複数の教示点の教示データを設定する場合の参考例である。この参考例では、表２に示すように、教示点Ｓ２、Ｓ３、Ｓ４のそれぞれにおいて、倣い終了指令ＺＥが設定されるため、Ｓ１・Ｓ２間、Ｓ２・Ｓ３間、Ｓ３・Ｓ４間が、それぞれ第１倣い区間、第２倣い区間、第３倣い区間となる。そして、倣い区間を区切る教示点Ｓ２，Ｓ３において、それぞれ倣い終了指令ＺＥ、倣い開始指令ＺＴが設定されるとともに、アーク溶接終了指令ＡＥ及びアークスタート指令ＡＳも設定される。従って、本例の方が、姿勢反映処理を切替えても溶接および倣いを終了する必要がなく、かつ、教示点において、各種の指令を設定入力する場合には、入力が少なくすむ利点もある。
【００７５】
さて、本実施形態によれば、以下のような特徴がある。
（１）  本実施形態の溶接ロボットの制御装置は、溶接トーチ１４（作業ツール）の作業に先行してワークＷ（作業対象物）の形状を認識するレーザセンサＬＳ（センサ）を備える。レーザセンサＬＳを利用する第１区間（Ｓ１，Ｓ２間）、及び第３区間（Ｓ３，Ｓ４間）（倣い有効区間）では、前記センサの検出結果に基づく目標位置姿勢に基づいて位置姿勢倣い制御を行うロボット制御部ＲＣ（制御手段）を備える。
【００７６】
ロボット制御部ＲＣ（制御手段）は、倣い有効区間としての第１区間（Ｓ１・Ｓ２間）に隣接する前記センサを利用しない第２区間（Ｓ２・Ｓ３間）（倣い無効区間）では、倣い無効区間の教示点における教示データに含まれる教示姿勢となるようにロボットの姿勢制御を行うとともに、倣い有効区間の終了点の実位置と、前記目標位置姿勢の位置との差に基づいて位置制御を行う第１位置姿勢制御を行う。この結果、本実施形態では、溶接トーチ１４（作業ツール）が作業中にレーザセンサＬＳを利用する倣い有効区間としての第１区間（Ｓ１・Ｓ２間）、第３区間（（Ｓ３，Ｓ４間））と溶接トーチ１４（作業ツール）が作業中にレーザセンサＬＳを利用しない倣い無効区間としての第２区間（Ｓ２・Ｓ３間）において、倣い有効区間では位置姿勢制御を行うとともに、倣い無効区間では教示姿勢となるように姿勢制御の切替えができる効果がある。
【００７７】
（２）  本実施形態の溶接ロボットの制御装置では、ロボット制御部ＲＣ（制御手段）は、前記教示点間の補間点演算を行う補間点算出処理部２３（補間点演算手段）を備える。そして、補間点算出処理部２３は、教示点でセットされている教示データに姿勢修正指示がある場合は、倣い区間中の倣い有効区間の補間点演算であるとして、レーザセンサＬＳの検出結果に基づいて姿勢修正のための演算を行う。又、補間点算出処理部２３は、教示点でセットされている教示データに前記姿勢修正指示がない場合には、倣い区間中の倣い無効区間の補間点演算であるとして、倣い無効区間の教示点における教示データに含まれる教示姿勢となるための演算を行う。
【００７８】
この結果、本実施形態では、制御周期（補間点演算周期）毎に、姿勢修正指示の有無を判定するため、教示データで設定した教示点間毎に、姿勢修正のオンオフの切替えを行うことができる。
【００７９】
（３）  本実施形態の溶接ロボットの制御装置１０は、教示点の教示データには、倣い開始指令、又は倣い終了指令が含まれており、最初の倣い開始指令を含む教示データがあった教示点から倣い終了指令を含む教示データがあった教示点までを前記倣い区間とする。この結果、本実施形態によれば、最初の倣い開始指令を含む教示データがあった教示点から倣い終了指令を含む教示データがあった教示点までを倣い区間とし、この倣い区間の中において、教示データで設定した倣い有効区間と倣い無効区間とを区別して姿勢修正のオンオフの切替えを行うことができる。
【００８０】
（４）  本実施形態の溶接ロボットの制御装置では、補間点算出処理部２３は、姿勢修正を行う場合、姿勢リミッタＲｌ（姿勢制限値）の範囲内で姿勢修正が行われるように演算を行うようにされている。この結果、本実施形態の溶接ロボットの制御装置では、姿勢リミッタＲｌ（姿勢制限値）の範囲内で姿勢修正が行われることから、急激な姿勢変化がなく、滑らかに姿勢修正を行うことができる。
【００８１】
すなわち、図９で示す１４Ａは、姿勢修正前の場合であれば教示姿勢の溶接トーチの姿勢、又は、姿勢修正中であれば、前回の制御周期で修正したときの溶接トーチの姿勢を示している。図９で示す１４Ｂは、１４Ａで示される溶接トーチの姿勢の場合、姿勢リミッタＲｌで許容されている最大範囲の溶接トーチの姿勢である。又、図９で示す１４Ｃは、レーザセンサＬＳから取得した目標姿勢である。同図に示すように、１４Ａの位置の位置する溶接トーチは、１４Ｃで示す目標姿勢をセンサ制御部ＬＵから通知があっても、１４Ｂで示される位置までの姿勢の変化は許容されるが、目標姿勢までは変化しないことになる。なお、図９において、ＴＣＰ（Tool  Center  Point）は、溶接トーチ１４の姿勢の
基準となるポイントである。このように姿勢リミッタＲｌで制限することにより、急激に動作することがなくなり、滑らかな動作を実現することができる。
【００８２】
（第２実施形態）
次に、第２実施形態を図１２及び図１３を参照して説明する。第２実施形態は第１実施形態の溶接ロボットの制御装置のハード構成と同一の制御装置であるため、同一構成については、同一符号を付す。第２実施形態では、修正補間点算出処理プログラムが一部異なっているため、異なるところを中心に説明する。又、フローチャートにおいて、第１実施形態のステップ番号と同一ステップについては同一ステップ番号を付す。なお、第２実施形態では、センサ制御部ＬＵは、目標位置姿勢演算手段に相当する。
【００８３】
図１２に示すように、第２実施形態では、Ｓ４０において、補間点算出処理部２３の判定が「ＹＥＳ」の場合、すなわち、姿勢修正が有効に設定されている場合には、Ｓ４２に移行する。
【００８４】
Ｓ４２では、補間点算出処理部２３は、センサ制御部ＬＵからコマンドとして「ｃｃ」が送られてきたか否か、すなわち、この今回の制御周期の処理に入った際に、センサ制御部ＬＵからの目標位置姿勢を含む制御情報を受信した際にｃｃメッセージがあったか否かを判定する。ｃｃメッセージがあった場合には、補間点算出処理部２３は、センサ制御部ＬＵでの目標位置姿勢の計算が成功して、目標位置姿勢が送られてきているため、Ｓ４４において、ｃｚカウンタを０にリセットした後、Ｓ５０に移行する。なお、ｃｚカウンタは、第１メモリ２８（カウント記憶手段）にて構成されている。
【００８５】
Ｓ４２において、ｃｃメッセージがなかった場合には、補間点算出処理部２３は図１３に示すＳ５００に移行する。Ｓ５００では、補間点算出処理部２３は、センサ制御部ＬＵからコマンドとして「ｃｚ」が送られてきたか否か、すなわち、この今回の制御周期の処理に入った際に、センサ制御部ＬＵからの目標位置姿勢を含む制御情報を受信した際にｃｚメッセージがあったか否かを判定する。ｃｚメッセージがあった場合には、補間点算出処理部２３は、センサ制御部ＬＵでの目標位置姿勢の計算が成功していない場合であり、目標位置姿勢が送られてきていないため、Ｓ５１０に移行する。なお、ｃｚメッセージがない場合には、補間点算出処理部２３は、Ｓ５５０に移行して異常であるとして異常の場合に対応した異常処理を行う。
【００８６】
Ｓ５１０では、補間点算出処理部２３は、ｃｚカウンタを１加算した後、Ｓ５２０に移行する。Ｓ５２０では、ｃｚカウンタがＮ以上か否かを判定する。Ｎは、所定閾値回数に相当する。所定閾値回数Ｎは、後述する姿勢修正量の累積回数である。本実施形態では、例えば、所定閾値回数Ｎは４〜６回に設定されているが、この数値に限定されるものではない。Ｓ５２０において、ｃｚカウンタがＮ以上であれば、Ｓ５３０において、補間点算出処理部２３は、対応する教示姿勢を累積姿勢修正量分回転させた値に修正した後、Ｓ５０に移行する。なお、補間点算出処理部２３は、ｃｚカウンタがカウントする毎に、図示しない別ルーチンで姿勢修正量を累積して、累積した値を累積姿勢修正量としている。
【００８７】
又、Ｓ５２０において、ｃｚカウンタがＮ未満であれば、Ｓ５４０において、補間点算出処理部２３は、目標位置姿勢が得られない時の直前の補間点演算周期で得られた姿勢修正を保持した後、Ｓ５０に移行する。
【００８８】
本実施形態では、レーザセンサＬＳが開先認識のため、予め認識パータンを設定しているが、干渉物が、レーザセンサＬＳの視野に入る等することにより、認識パータンが合致しない場合がある。このような場合、センサ制御部ＬＵからロボット制御部ＲＣにｃｚメッセージがその区間連続してロボット制御部ＲＣに送信される。
【００８９】
そこで、本実施形態では、姿勢修正有効の区間において、ｃｚメッセージをセンサ制御部ＬＵからロボット制御部ＲＣが受信した場合、ｃｚメッセージの累積数がＮ未満のときは、ｃｚメッセージを受信する直前の目標姿勢を保持することになる。
【００９０】
さらに、ｃｚメッセージが一定数（Ｎ回）連続して受信した場合、その時点で、補間点算出処理部２３は、対応する教示姿勢を累積姿勢修正量分回転した姿勢に修正する（Ｓ５３０）。なお、姿勢リミッタＲｌによる処理は、第１実施形態と同様に行われる。この後、再度、ｃｃメッセージをロボット制御部ＲＣが受信し始めると、センサ制御部ＬＵから通知された目標姿勢への修正を開始することになる。このように、本実施形態では、姿勢修正が有効時であっても、何らかの要因でレーザセンサＬＳが開先の形状を認識できず、認識ができない区間（すなわち、ｃｚメッセージが送られてくる間の区間）が発生した場合、ワークＷに対する溶接トーチ１４の干渉の可能性を抑制することができることになる。
【００９１】
第２実施形態の溶接ロボットの制御装置では下記の特徴がある。
（１）  本実施形態の溶接ロボットの制御装置は、レーザセンサＬＳ（センサ）の出力に基づき、目標位置姿勢を算出するセンサ制御部ＬＵ（目標位置姿勢演算手段）を備えている。センサ制御部ＬＵは、レーザセンサＬＳの出力に基づく教示点間の補間点演算として、目標位置姿勢に基づいて前記教示点間の補間点演算を行う。又、補間点算出処理部２３（補間点演算手段）は、センサ制御部ＬＵからの目標位置姿勢が得られない場合には、目標位置姿勢が得られない時の直前の補間点演算周期で得られた姿勢修正を保持する。この結果、本実施形態の制御装置によれば、補間点算出処理部２３は、センサ制御部ＬＵからの目標位置姿勢が得られない場合には、目標位置姿勢が得られない時の直前の補間点演算周期で得られた姿勢修正を保持することができる。
【００９２】
（２）  本実施形態の溶接ロボットの制御装置は、補間点算出処理部２３（補間点演算手段）は、センサ制御部ＬＵから目標位置姿勢が得られない回数を、補間点演算周期毎にカウントするとともに、そのカウント値が所定閾値回数（Ｎ）を超えたときには、そのカウント値に対応する累積姿勢修正分の姿勢修正を行う。この結果、本実施形態の制御装置では、姿勢修正が有効時であっても、何らかの要因でレーザセンサＬＳが開先の形状を認識できず、認識ができない区間（すなわち、ｃｚメッセージが送られてくる間の区間）が発生した場合、ワークＷに対する溶接トーチ１４の干渉の可能性を抑制することができる。
【００９３】
（第３実施形態）
次に、第３実施形態を図１４、図１５を参照して説明する。本実施形態は第１実施形態の溶接ロボットの制御装置のハード構成と同一の制御装置であるため、同一構成については、同一符号を付す。本実施形態では、補間点算出処理部２３は制御手段に相当する。第３実施形態では、第１実施形態とプログラムが一部異なっているため、異なるところを中心に説明するが、説明の便宜上、フローチャートにおいて、第１実施形態のステップ番号と同一ステップについては同一ステップ番号を付す。
【００９４】
本実施形態の修正補間点算出処理プログラムは、第１実施形態の修正補間点算出処理プログラムにおいて、図１４に示すようにＳ７０，Ｓ８０が省略されているところが異なっている。そして、Ｓ４０において、姿勢修正が無効に設定されている場合、補間点算出処理部２３は、Ｓ６０に移行するところが、第１実施形態と異なっている。Ｓ１０〜Ｓ６０は第１実施形態と同一のため、説明を省略する。
【００９５】
本実施形態の修正補間点算出処理プログラムは、第１実施形態と同様に倣い区間を構成する最初の教示点において、教示データに最初の倣い開始指令ＺＴが含まれると起動され、倣い終了指令ＺＥを含む教示データが教示された倣い区間の教示点までの間、所定制御周期毎に実行される。
【００９６】
又、本実施形態では、図１５に示す姿勢量保持プログラムが補間点算出処理部２３により実行されるところが第１実施形態と異なっている。姿勢量保持プログラムは、記憶手段としての第２メモリ２９に記憶されている。
【００９７】
前記姿勢量保持プログラムは、倣い区間中の倣い有効区間が終了した後に前記倣い有効区間に隣接する倣い無効区間において、開始点となる教示点（すなわち、倣い有効区間の終了点）に設定されている教示データにセンサ制御部ＬＵからの目標位置姿勢を含む制御情報を利用しないアークスタートが含まれていると起動される。そして、前記プログラムは、アーク溶接終了指令を含む教示データが教示された教示点までの間に実行される。
【００９８】
このプログラムが起動されると、Ｓ６１０では、補間点算出処理部２３は、姿勢補正がオンとなっているか否かを教示点（すなわち、前記終了点）に設定された教示データに基づいて判断する。前記姿勢補正がオンとなっていることは、姿勢補正指令に相当する。すなわち、姿勢補正がオンとなっている場合、補間点算出処理部２３は当該倣い無効区間が姿勢量保持区間であると判定して、Ｓ６２０〜Ｓ７２０に移行することにより第２位置姿勢制御を行う。
【００９９】
又、Ｓ６１０において、姿勢補正がオンとなっていない場合には、補間点算出処理部２３は、Ｓ７３０〜７９０に移行することにより第１位置姿勢制御を行う。
Ｓ６２０では、補間点算出処理部２３は、前記倣い区間における教示時の終了点の位置（終了点位置）ＰＯＳｅｔと教示時の該終了点の姿勢ＰＯＳＥｅｔを、当該教示点の教示データから取得する。
【０１００】
Ｓ６３０では、補間点算出処理部２３は、前記倣い区間の終了点における位置ＰＯＳｍと、該終了点の姿勢ＰＯＳＥｍを、倣い時の現在位置算出処理部２５が算出した実位置、実姿勢から取得する。
【０１０１】
Ｓ６４０では、補間点算出処理部２３は、Ｓ６２０で取得した終了点の位置ＰＯＳｅｔと、Ｓ６３０で取得した終了点の位置ＰＯＳｍの差ＰＯＳｎを演算する。
Ｓ６６０では、補間点算出処理部２３は、教示時の終了点の姿勢ＰＯＳＥｅｔから、倣い時の終了点の姿勢ＰＯＳＥｍへの回転中心軸ベクトルＶｃを求める。
【０１０２】
Ｓ６７０では、補間点算出処理部２３は、回転中心軸ベクトルＶｃ周りの回転角Ｒｔを求める。
Ｓ６８０では、補間点算出処理部２３は、回転中心軸ベクトルＶｃ周りに回転角Ｒｔで回転する同次変換行列Ｍｆａを求める。
【０１０３】
上記のようにして、補間点算出処理部２３は、同次変換行列Ｍｆａを求めた後、補間点演算周期毎にＳ６９０〜Ｓ７２０を、溶接トーチ１４が姿勢量保持区間の終了点に達する迄、各教示点で設定されている教示データに基づき行う。
【０１０４】
すなわち、Ｓ６９０においては、補間点算出処理部２３は、姿勢量保持区間にある教示点毎に、各教示点毎に設定された教示姿勢と前記同次変換行列Ｍｆａに基づいて当該教示点の目標姿勢を算出する。具体的には、補間点算出処理部２３は、姿勢量保持区間の教示姿勢Ｍｐｔ１，２…に対する目標姿勢ＭＴｐｏｓｅ１，２…ｎを下記演算式で求める。
【０１０５】
ＭＴｐｏｓｅ１，２…ｎ＝Ｍｐｔ１，２…ｎ・Ｍｆａ
又、Ｓ７００では、補間点算出処理部２３は、目標姿勢ＭＴｐｏｓｅ１，２…ｎの位置成分に前記差ＰＯＳｎを代入する。
【０１０６】
以上のＳ６２０〜Ｓ７００迄が、姿勢反映処理となる。
Ｓ７１０では、補間点算出処理部２３は、公知の目標位置反映処理を行う。
Ｓ７１０の処理が終了すると、Ｓ７２０では、補間点算出処理部２３は、溶接トーチ１４の現在の位置が姿勢量保持区間にあるか否かを判定し、溶接トーチ１４の現在の位置が姿勢量保持区間にある場合には、Ｓ６９０にジャンプする。
【０１０７】
又、Ｓ７２０において、補間点算出処理部２３は、溶接トーチ１４の現在の位置が姿勢量保持区間の終了点の場合には、このフローチャートの処理を終了する。
次に、Ｓ６１０からＳ７３０に移行した場合について説明する。
【０１０８】
Ｓ７３０〜Ｓ７５０は、それぞれＳ６２０〜Ｓ６４０とそれぞれ同じであるため、説明を省略する。
Ｓ７６０では、補間点算出処理部２３は、倣い無効区間にある教示点毎に、各教示点毎に設定された教示姿勢勢Ｍｐｔ１，２…を目標姿勢ＭＴｐｏｓｅ１，２…ｎとする。
【０１０９】
Ｓ７７０では、補間点算出処理部２３は、目標姿勢ＭＴｐｏｓｅ１，２…ｎの位置成分にＳ７５０で取得した差ＰＯＳｎを代入する。
Ｓ７８０では、補間点算出処理部２３は、補間点算出処理部２３は、公知の目標位置反映処理を行う。
【０１１０】
Ｓ７９０では、補間点算出処理部２３は、溶接トーチ１４の現在の位置が倣い無効区間にあるか否かを判定し、溶接トーチ１４の現在の位置が倣い無効区間にある場合には、Ｓ６９０にジャンプする。
【０１１１】
又、Ｓ７９０において、補間点算出処理部２３は、溶接トーチ１４の現在の位置が倣い無効区間の終了点の場合には、このフローチャートの処理を終了する。
上記のように構成された溶接ロボットの制御装置では、下記の場合で使用することが可能である。レーザセンサＬＳにより倣い有効区間の後にも溶接を続け、倣い有効区間の終了点の位置ずれの保持と姿勢ずれの保持が必要な場合がある。例えば、ワークＷの溶接強度を増加させたり、ワークＷ端まで確実に溶接する角巻き溶接などである。なお、従来の技術では、位置ずれの保持はされるが、姿勢ずれの保持はされていない。ここで位置ずれの保持とは、レーザセンサＬＳの機能を使用した区間（すなわち、倣い有効区間）の終了点の位置を基準とすることをいう。又、姿勢ずれの保持とは、レーザセンサＬＳの機能を使用した区間（倣い有効区間）の終了点の姿勢を基準とすることをいう。
【０１１２】
又、一方、倣い区間においてもレーザセンサＬＳによる倣い機能を使わずに、溶接を行いたい場面がある。例えば、溶接区間中にレーザセンサＬＳにより正しく計測ができないほどのワーク形状の変化、表面状態の変化が起こることが想定される場合は、レーザセンサＬＳによる倣い機能を無効にして溶接を行う必要がある。この正しく計測できない区間を倣い無効区間として、倣い有効区間の終了点の位置ずれの保持と従来技術ではできなかった姿勢ずれの保持を行うことが望まれる。
【０１１３】
さらに、前述したレーザセンサＬＳが正しく計測できない区間においては、倣い有効区間の終了点の位置ずれは保持されることが望まれるが、姿勢ずれの保持を行わないで教示姿勢をとることが望まれる場合がある。例えば、ワークＷや冶具が複雑で、溶接トーチ１４やレーザセンサＬＳのセンサヘッドが干渉してしまうことが想定される場合である。溶接トーチ１４の先端の少量の姿勢変化でも前記先端より離れて位置するセンサヘッドは回転半径が大きくなるため大きく振られることがあり、ワークＷや冶具が複雑であると干渉する可能性がある。そのため、本実施形態のＳ６１０で行うように、前記倣い有効区間の終了点の姿勢を保持する場合と教示姿勢をとる場合とで切替えることができると、このような場合に対処することができる。
【０１１４】
本実施形態の溶接ロボットの制御装置では下記の特徴がある。
（１）  本実施形態の溶接ロボットの制御装置１０は、ロボット制御部ＲＣ（制御手段）は、教示点間の補間点演算を行う補間点算出処理部２３（補間点演算手段）を有する。補間点算出処理部２３は、倣い有効区間の終了点であって倣い無効区間の開始点の教示データに姿勢補正がオンとなっていない場合（姿勢補正指令がない場合）、第１位置姿勢制御を行う。又、補間点算出処理部２３は、開始点の教示データに姿勢補正がオンとなっている場合（姿勢補正指令がある場合）、倣い有効区間の終了点における実姿勢と、教示データに基づく教示姿勢との差に基づいてロボットの姿勢制御を行う。合わせて補間点算出処理部２３は、倣い有効区間の終了点の実位置と、前記終了点の教示位置の差に基づいて位置制御を行う第２位置姿勢制御を行う。
【０１１５】
この結果、本実施形態では、倣い無効区間の開始点の教示データに姿勢補正指令があるか否かに応じて、姿勢制御の切替えができる。
なお、本発明の実施形態は以下のように変更してもよい。
【０１１６】
○  前記各実施形態では、溶接ロボットの制御装置に具体化したが、溶接ロボットの制御装置に限定されるものではなく、他の作業用ロボットの制御装置、例えば、塗装ロボットの制御装置に具体化するようにしてもよい。この場合、塗装ロボットのマニピュレータに搭載される塗装ガンが作業ツールに相当する。
【０１１７】
○  前記実施形態では、センサとしてレーザセンサＬＳを使用したが、レーザセンサＬＳに限定されるものではない。ワークの表面までの測定距離が計測できるものであればよい。
【符号の説明】
【０１１８】
ＲＣ…ロボット制御部（制御手段）、
ＬＵ…センサ制御部（目標位置姿勢演算手段）、
ＬＳ…レーザセンサ（センサ）、Ｍ…マニピュレータ、
１４…溶接トーチ（作業ツール）、
２３…主軌道補間点算出処理部（補間点演算手段）、
２９…第２メモリ（記憶手段）。
【図１】
2010253668.tif 000005
【図２】
2010253668.tif 000006
【図３】
2010253668.tif 000007
【図４】
2010253668.tif 000008
【図５】
2010253668.tif 000009
【図６】
2010253668.tif 000010
【図７】
2010253668.tif 000011
【図８】
2010253668.tif 000012
【図９】
2010253668.tif 000013
【図１０】
2010253668.tif 000014
【図１１】
2010253668.tif 000015
【図１２】
2010253668.tif 000016
【図１３】
2010253668.tif 000017
【図１４】
2010253668.tif 000018
【図１５】
2010253668.tif 000019
【図１６】
2010253668.tif 000020
【図１７】
2010253668.tif 000021
【図１８】
2010253668.tif 000022