(57)【要約】【課題】位置及び姿勢の教示を厳密に行わなければならず、教示作業に非常に労力を要する。【解決手段】教示モードでは、ラフ教示点であるセンシング点においてセンシング命令が入力される（Ｓ２２）。この命令とセンシング点を記憶する（Ｓ２３）。狙い角・前進後退角が入力される（Ｓ２４）。センシングモードでは、センシング点にロボットを移動させ（Ｓ３２）、レーザセンサを検出動作させてワーク形状を取得し（Ｓ３３）、位置及び姿勢を算出して作業プログラムを作成する（Ｓ３５）。ワークに位置ずれが発生しない環境下において教示作業を大幅に簡略化できる。【選択図】図６
2011224769.tif 000002
【特許請求の範囲】
【請求項１】
ワークの特徴的部位の位置を検出する位置検出センサ及びツールをマニピュレータに備え、前記ワークに対する加工作業を実行するロボットの作業プログラム作成方法において、
前記ツールがセンシング点に位置する毎に、センシング命令が入力される第１ステップと、
前記センシング命令と前記センシング点の教示位置を関連づけて第１作業プログラムに記憶する第２ステップと、
前記第１作業プログラムのセンシング命令に基づき、前記センシング点の教示位置に前記ツールを移動させて前記位置検出センサを検出動作させ、検出結果に基づいて前記ワーク上の作業位置を取得し、この作業位置を第２作業プログラムに記憶又は第２作業プログラムから参照可能な外部変数に記憶する第３ステップとを含み、
前記第２作業プログラムを再生することにより前記ツールを移動させ、前記加工作業を実行するようにしたことを特徴とするロボットの作業プログラム作成方法。
【請求項２】
教示モード、センシングモード及び実行モードの各モード種別を有し、
前記教示モードでは前記第１作業プログラムを作成し、前記センシングモードでは前記第１作業プログラムを再生して前記第２作業プログラムを作成し、前記実行モードでは前記第２作業プログラムを再生して前記加工作業を実行することを特徴とする請求項１に記載のロボットの作業プログラム作成方法。
【請求項３】
前記ツールが溶接トーチであり、
前記第１ステップでは、前記溶接トーチが前記センシング点の教示位置に位置する際に、狙い角、前進後退角のうち少なくともいずれか一方が数値入力され、
前記第２ステップでは、前記狙い角、前進後退角のうち少なくともいずれか一方が前記センシング点の教示位置と関連づけて記憶され、
前記第３ステップでは、取得した複数の作業位置に基づく方向ベクトルにより溶接線座標を設定し、前記狙い角、及び前記前進後退角の少なくともいずれか一方に基づいて前記溶接線座標における溶接トーチの作業姿勢を算出し、前記第２作業プログラム又は前記外部変数に記憶することを特徴とする請求項１又は請求項２に記載のロボットの作業プログラム作成方法。
【請求項４】
ワークの特徴的部位の位置を検出する位置検出センサ及びツールをマニピュレータに備え、前記ワークに対する加工作業を実行するロボットの作業プログラム作成装置において、
前記ツールがセンシング点の教示位置に位置する毎に、センシング命令を入力するセンシング命令入力手段と、
該センシング命令と前記センシング点の教示位置を関連づけて第１作業プログラムに記憶する第１記憶手段と、
前記第１作業プログラムに記憶されたセンシング命令に基づき、前記センシング点の教示位置に前記ツールを移動制御する制御手段と、
前記センシング点の教示位置に前記ツールが位置した際に、前記センシング命令に基づいて前記位置検出センサを検出動作させ、検出結果に基づいて前記ワーク上の作業位置を取得する取得手段と、
前記取得した作業位置を、第２作業プログラム又はこの第２作業プログラムから参照可能な外部変数に記憶する第２記憶手段を備え、
前記第２作業プログラムを再生することにより前記ツールを移動させ、前記加工作業を実行するようにしたことを特徴とするロボットの作業プログラム作成装置。
【請求項５】
教示モード、センシングモード及び実行モードの各モード種別を有し、
前記教示モードでは、前記センシング命令入力手段によるセンシング命令と前記センシング点の教示位置を関連づけて前記第１作業プログラムを前記第１記憶手段に記憶して作成し、
前記センシングモードでは、前記制御手段が、前記第１作業プログラムを再生して、前記位置検出センサの検出結果である、前記取得手段が取得した前記ワーク上の作業位置を、前記第２作業プログラムに含ませて前記第２記憶手段が記憶し、又は前記外部変数として前記第２記憶手段が記憶し、
前記実行モードでは、前記第２作業プログラムを再生して前記加工作業を実行することを特徴とする請求項４に記載のロボットの作業プログラム作成装置。
【請求項６】
前記ツールが溶接トーチであり、
前記溶接トーチが前記センシング点の教示位置に位置する際に、前記教示位置の狙い角、前進後退角のうち少なくともいずれか一方を設定する姿勢設定手段と、
前記取得手段により取得した複数の作業位置に基づく方向ベクトルにより溶接線座標を設定する座標設定手段と、
前記狙い角、前進後退角のうち少なくともいずれか一方に基づいて前記溶接線座標の溶接トーチの作業姿勢を算出するトーチ姿勢算出手段を備え、
前記狙い角、前進後退角のうち少なくともいずれか一方を前記センシング点の教示位置と関連づけて前記第１記憶手段に記憶し、
前記溶接トーチの作業姿勢を、前記第２作業プログラム又は前記外部変数に取り込んで前記第２記憶手段に記憶することを特徴とする請求項４又は請求項５に記載のロボットの作業プログラム作成装置。
【請求項７】
前記モード種別を変更するモード種別変更手段を備え、
前記モード種別変更手段は、前記教示モードにおいて前記第１作業プログラムの作成が終了した際に、前記モード種別を前記センシングモードに自動的に変更することを特徴とする請求項６に記載のロボットの作業プログラム作成装置。
【請求項８】
前記位置検出センサが前記マニピュレータに対して取り外し可能に支持されていることを特徴とする請求項６又は請求項７に記載のロボットの作業プログラム作成装置。
【請求項９】
請求項７又は請求項８に記載のロボットの作業プログラム作成装置と、
前記第２作業プログラムを実行するロボット制御手段とを含むロボット制御システムであって、
前記ロボット制御手段が、実行モード時に前記第２作業プログラムに記憶された前記ワーク上の作業位置及び作業姿勢に前記ツールを移動させることを特徴とするロボット制御システム。
【請求項１０】
前記モード種別変更手段は、前記センシングモードにおいて前記第２作業プログラムの作成が終了した際に、前記モード種別を前記実行モードに自動的に変更することを特徴とする請求項９に記載のロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及びロボット制御システムに関するものである。
【背景技術】
【０００２】
例えば、アーク溶接では、トーチと呼ばれる工具の先端と接合部を厳密に一致させるように作業を教示する必要がある。加えてトーチの姿勢も作業品質を保つ上で重要なため、複雑な形状を持つ接合部の教示には多大な時間を要している。このような理由から、教示工数を低減させるための、いわゆるティーチレス化が従来から進められてきているが、完全なティーチレス化を実現したアーク溶接ロボットは存在しておらず、人による教示作業をある程度残している。
【０００３】
例えば、特許文献１の溶接トーチ姿勢の教示方法が公知である。特許文献１では、教示したトーチの位置から基準面を算出し、入力した狙い角及び前進後退角を使用して前記基準面からの姿勢を求めることにより、所望の溶接トーチ姿勢をとらせることができるようにしている。そして、特許文献１では、各トーチ位置について所望の狙い角及び前進後退角を反映した姿勢を生成して、トーチ位置を教示したプログラムに対して前記姿勢を書き込む。このように、特許文献１では、予め教示したトーチの位置から基準面を算出するようにしているため、作業者は、前記基準面における所望の狙い角及び前進後退角等の角度データを入力すれば、溶接トーチ姿勢を自動的に算出できる。そして、溶接トーチ姿勢の教示に際しては、ロボットに所望の姿勢をとらせる手動操作を行う必要がないため、教示作業を簡略化できる効果がある。
【０００４】
特許文献２では、予め設定されたワークの形状をレーザセンサなどにより認識することにより、開先位置を求め、トーチ先端の位置やトーチの姿勢を補正する方法が提案されている。特許文献２では、基準となる教示データを予めラフに作成しておき、溶接を行う再生時に、ロボットに取り付けたレーザセンサ等によって開先形状を撮像することによって、基準となる教示データを修正することが行われている。すなわち、レーザセンサの撮像結果に基づいて教示データを補正するため、ラフな教示データを予め作成しておくだけでよく、教示作業を簡略化することができる。
【０００５】
特許文献３では、レーザセンサによって溶接時にリアルタイムに溶接線倣いを行うことによって、所望のトーチ位置・姿勢を実現する溶接トーチ用ロボットが開示されている。特許文献３では、予め作成した教示データを、レーザセンサが撮像した撮像データに基づいて補正することにより、ワークに３次元的な位置ずれが発生した場合でも溶接を継続することが可能となっている。この特許文献３は、教示作業を簡略化すること自体を直接の目的としたものではないが、教示データはラフに作成しておき、溶接時に、センサ等の手段によって所望の溶接位置・溶接姿勢となるようリアルタイムに補正することで、教示作業を簡略化することができる可能性を示唆している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−１２３５３６号公報
【特許文献２】特許第３２００１０６号公報
【特許文献３】特開平９−７６０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１では、姿勢をトーチ等のツールの位置に基づいて基準面を決定しているために、位置の教示を厳密に行わなければならない。位置を教示する際は、ロボットを手動操作によって所望の位置に動かす必要があるために、教示点数が多い場合は、教示作業に非常に労力を要してしまうという課題を有している。さらに、特許文献１では、ワークの形状が少し違う場合でも前記ツールの位置を修正又は追加する作業が必要となるという課題も有している。
【０００８】
又、特許文献２、及び特許文献３は、ワークに発生する位置ずれを補正することを目的としている。この位置ずれは、ワークの加工誤差や設置誤差等に起因するものである。しかしながら、近年では、ワークの位置ずれを極力発生させないように、ワークの加工誤差の解消をするとともに、位置ずれが発生しないようにワーク固定用の治具等に工夫がなされて、作業対象のワークの９割以上のものは位置ずれが解消されている。
【０００９】
このため、位置ずれが発生しない環境下において、実作業（例えば、溶接ロボットであれば溶接）時にレーザセンサ等の位置検出センサを使用し、或いは実作業時に位置検出センサを取り付けておくこと自体に意味がない。
【００１０】
一方、ワークに位置ずれが発生しない環境下において、上述したレーザセンサ等の位置検出センサを利用した教示作業の簡略化を実現する場合、以下のような課題がある。
（１）教示データの再生時、すなわち、ツールによる実作業を行う毎に、レーザセンサ等の位置検出センサによる検出動作が行われるため、サイクルタイムに大きな影響を及ぼす。
【００１１】
（２）ロボット１台につき１台のレーザセンサが必要となるため、導入コストが高くなる課題が発生する。
（３）教示データの再生時、すなわち、ツールによる実作業時にもレーザセンサ等の位置検出センサを取り付けておく必要があるため、消費電力が大きくなる課題がある。
【００１２】
本発明の目的は、ワークに位置ずれが発生しない環境下において、教示モードでは教示作業を簡略化でき、ツールによる実作業時に位置検出センサによる検出動作を不要とすることによって、後に行われる実作業時のサイクルタイムを短くできるロボットの作業プログラム作成方法及びロボットの作業プログラム作成装置、並びにロボット制御システムを提供することにある。
【課題を解決するための手段】
【００１３】
上記問題点を解決するために、請求項１に記載の発明は、ワークの特徴的部位の位置を検出する位置検出センサ及びツールをマニピュレータに備え、前記ワークに対する加工作業を実行するロボットの作業プログラム作成方法において、前記ツールがセンシング点に位置する毎に、センシング命令が入力される第１ステップと、前記センシング命令と前記センシング点の教示位置を関連づけて第１作業プログラムに記憶する第２ステップと、前記第１作業プログラムのセンシング命令に基づき、前記センシング点の教示位置に前記ツールを移動させて前記位置検出センサを検出動作させ、検出結果に基づいて前記ワーク上の作業位置を取得し、この作業位置を第２作業プログラム又は第２作業プログラムから参照可能な外部変数に記憶する第３ステップとを含み、前記第２作業プログラムを再生することにより前記ツールを移動させ、前記加工作業を実行するようにしたことを特徴とするロボットの作業プログラム作成方法を要旨としている。
【００１４】
請求項２の発明は、請求項１において、教示モード、センシングモード及び実行モードの各モード種別を有し、前記教示モードでは前記第１作業プログラムを作成し、前記センシングモードでは前記第１作業プログラムを再生して前記第２作業プログラムを作成し、前記実行モードでは前記第２作業プログラムを再生して前記加工作業を実行することを特徴とする。
【００１５】
請求項３の発明は、請求項１又は請求項２において、前記ツールが溶接トーチであり、前記第１ステップでは、前記溶接トーチが前記センシング点の教示位置に位置する際に、狙い角、前進後退角のうち少なくともいずれか一方が数値入力され、前記第２ステップでは、前記狙い角、前進後退角のうち少なくともいずれか一方が前記センシング点の教示位置と関連づけて記憶され、前記第３ステップでは、取得した複数の作業位置に基づく方向ベクトルにより溶接線座標を設定し、前記狙い角、及び前記前進後退角の少なくともいずれか一方に基づいて前記溶接線座標における溶接トーチの作業姿勢を算出し、前記第２作業プログラム又は前記外部変数に記憶することを特徴とする。
【００１６】
請求項４の発明は、ワークの特徴的部位の位置を検出する位置検出センサ及びツールをマニピュレータに備え、前記ワークに対する加工作業を実行するロボットの作業プログラム作成装置において、前記ツールがセンシング点の教示位置に位置する毎に、センシング命令を入力するセンシング命令入力手段と、該センシング命令と前記センシング点の教示位置を関連づけて第１作業プログラムに記憶する第１記憶手段と、前記第１作業プログラムに記憶されたセンシング命令に基づき、前記センシング点の教示位置に前記ツールを移動制御する制御手段と、前記センシング点の教示位置に前記ツールが位置した際に、前記センシング命令に基づいて前記位置検出センサを検出動作させ、検出結果に基づいて前記ワーク上の作業位置を取得する取得手段と、前記取得した作業位置をロボットの第２作業プログラム又はこの第２作業プログラムから参照可能な外部変数に記憶する第２記憶手段を備え、前記第２作業プログラムを再生することにより前記ツールを移動させ、前記加工作業を実行するようにしたことを特徴とするロボットの作業プログラム作成装置を要旨としている。
【００１７】
請求項５の発明は、請求項４において、教示モード、センシングモード及び実行モードの各モード種別を有し、前記教示モードでは、前記センシング命令入力手段によるセンシング命令と前記センシング点の教示位置を関連づけて前記第１作業プログラムを前記第１記憶手段に記憶して作成し、前記センシングモードでは、前記制御手段が、前記第１作業プログラムを再生して、前記位置検出センサの検出結果である、前記取得手段が取得した前記ワーク上の作業位置を、前記第２作業プログラムに含ませて前記第２記憶手段が記憶し、又は前記外部変数として前記第２記憶手段が記憶し、前記実行モードでは、前記第２作業プログラムを再生して前記加工作業を実行することを特徴とする。
【００１８】
請求項６の発明は、請求項４又は請求項５において、前記ツールが溶接トーチであり、前記溶接トーチが前記センシング点の教示位置に位置する際に、前記教示位置の狙い角、前進後退角のうち少なくともいずれか一方を設定する姿勢設定手段と、前記取得手段により取得した複数の作業位置に基づく方向ベクトルにより溶接線座標を設定する座標設定手段と、前記狙い角、前進後退角のうち少なくともいずれか一方に基づいて前記溶接線座標の溶接トーチの作業姿勢を算出するトーチ姿勢算出手段を備え、前記狙い角、前進後退角のうち少なくともいずれか一方を前記センシング点の教示位置と関連づけて前記第１記憶手段に記憶し、前記溶接トーチの作業姿勢を前記第２作業プログラム又は前記外部変数に取り込んで前記第２記憶手段に記憶することを特徴とする。
【００１９】
請求項７の発明は、請求項６において、前記モード種別を変更するモード種別変更手段を備え、前記モード種別変更手段は、前記教示モードにおいて前記第１作業プログラムの作成が終了した際に、前記モード種別を前記センシングモードに自動的に変更することを特徴とする。
【００２０】
請求項８の発明は、請求項６又は請求項７において、前記位置検出センサが前記マニピュレータに対して取り外し可能に支持されていることを特徴とする。
請求項９の発明は、請求項７又は請求項８に記載のロボットの作業プログラム作成装置と、前記第２作業プログラムを実行するロボット制御手段とを含むロボット制御システムであって、前記ロボット制御手段が、実行モード時に前記第２作業プログラムに記憶された前記ワーク上の作業位置及び作業姿勢に前記マニピュレータのツールを移動させることを特徴とするロボット制御システムを要旨としている。
【００２１】
請求項１０の発明は、請求項９において、前記モード種別変更手段は、前記センシングモードにおいて前記第２作業プログラムの作成が終了した際に、前記モード種別を前記実行モードに自動的に変更することを特徴とする。
【発明の効果】
【００２２】
請求項１の発明によれば、ワークに位置ずれが発生しない環境下において、教示作業を大幅に簡略化することができる。より具体的には、教示モードではツールの先端位置をワークの特徴的部位の位置に厳密に合わせる教示を不要としたことによって、教示作業を大幅に簡略化することができる。
【００２３】
請求項２の発明によれば、教示モードで作成した第１作業プログラムに基づいてセンシングモードで位置検出センサによる検出動作を行い、この検出結果に応じて第２作業プログラムを作成するようにしている。つまり、この第２作業プログラムでは、ツールの先端位置とワークの特徴的部位の位置とが厳密に一致している。すなわち、第２作業プログラムを再生する実行モード（ツールによる実作業時）においては、位置検出センサによる検出動作を必要としないので、実作業時のサイクルタイムを短くすることができる。
【００２４】
請求項３の発明によれば、溶接ロボットの作業プログラム作成方法において、請求項１の上記効果を容易に実現することができる。又、請求項３によれば、狙い角、前進後退角のうち少なくともいずれか一方を数値入力できるようにしたことによって、溶接トーチに所望の姿勢を容易にとらせることができる。
【００２５】
請求項４の発明によれば、ワークに位置ずれが発生しない環境下において、教示モードでは教示作業を大幅に簡略化することができる。より具体的には、教示モードではツールの先端位置をワークの特徴的部位の位置に厳密に合わせる教示を不要としたことによって、教示作業を大幅に簡略化することができる。
【００２６】
請求項５の発明によれば、教示モードで作成した第１作業プログラムに基づいてセンシングモードで位置検出センサによる検出動作を行い、この検出結果に応じて第２作業プログラムを作成するようにしている。つまり、この第２作業プログラムでは、ツールの先端位置とワークの特徴的部位の位置とが厳密に一致している。すなわち、第２作業プログラムを再生する実行モード（ツールによる実作業時）においては、位置検出センサによる検出動作を必要としないので、実作業時のサイクルタイムを短くすることができる。
【００２７】
請求項６の発明によれば、溶接ロボットの作業プログラム作成装置において、請求項４の上記効果を容易に実現することができる。又、請求項６によれば、狙い角、前進後退角のうち少なくともいずれか一方を数値入力できるようにしたことによって、溶接トーチに所望の姿勢を容易にとらせることができる。
【００２８】
請求項７のロボットの作業プログラム作成装置によれば、教示モードからセンシングモードに自動的に移行するようにしたことによって、モード選択作業を省略することができる。
【００２９】
請求項８の発明によれば、ワークに位置ずれが発生しない環境下において、ツールによる実作業時に位置検出センサを必要としないので、マニピュレータから位置検出センサを取り外しておくことができる。すなわち、１台のレーザセンサを複数のロボットで使い回すことができる。
【００３０】
請求項９のロボット制御システムによれば、請求項４乃至請求項８のいずれかの効果を容易に実現することができる。
請求項１０のロボットの制御システムによれば、センシングモードから実行モードに自動的に移行するようにしたことによって、モード選択作業を省略することができる。
【図面の簡単な説明】
【００３１】
【図１】一実施形態のアーク溶接ロボット制御システムのブロック図。
【図２】（ａ）はツール座標系の説明図、（ｂ）はレーザセンサＬＳの取付状態を示すレーザセンサＬＳの斜視図。
【図３】ロボット制御装置ＲＣ、ティーチペンダントＴＰ、センサコントローラ、及びレーザセンサのブロック図。
【図４】各モードでの処理手順を示すフローチャート。
【図５】モード選択処理のフローチャート。
【図６】（ａ）は教示モード処理のフローチャート、（ｂ）はセンシングモード処理のフローチャート。
【図７】実行モード処理のフローチャート。
【図８】モード種別切替え処理のフローチャート。
【図９】開先の位置検出の説明図。
【図１０】狙い角の説明図。
【図１１】（ａ）は溶接線座標系の説明図、（ｂ）は前進後退角の説明図。
【図１２】ツール座標系、センサ座標系、メカニカルインターフェース座標系との関係の説明図。
【図１３】作業プログラムの例を示す説明図。
【図１４】教示モードのレーザセンサ、溶接トーチとの位置の説明図。
【図１５】センシングモードのレーザセンサ、溶接トーチとの位置の説明図。
【図１６】実行モードの溶接トーチの位置の説明図。
【発明を実施するための形態】
【００３２】
以下、本発明を、アーク溶接ロボットの作業プログラム作成方法、アーク溶接ロボットの作業プログラム作成装置、およびアーク溶接ロボット制御システムに具体化した一実施形態を図１〜１６を参照して説明する。なお、以下では、説明の便宜上、アーク溶接ロボットを単に溶接ロボットという。
【００３３】
図１は溶接ロボット制御システムの構成を示すブロック図である。図１に示すように溶接ロボット制御システム１０は、ワーク（作業対象物）Ｗに対して溶接トーチ１４の教示位置を教示するティーチペンダントＴＰと、溶接作業を行うマニピュレータＭ１を制御するロボット制御装置ＲＣとを備えている。本実施形態の作業プログラム作成装置ＳＣは、ティーチペンダントＴＰ、及びロボット制御装置ＲＣとにより構成されている。ロボット制御装置ＲＣはロボット制御手段に相当する。
【００３４】
マニピュレータＭ１は、フロア等に固定されるベース部材１２と、複数の軸を介して連結された複数のアーム１３とを備える。最も先端側に位置するアーム１３（すなわち、手首部）の先端部には、溶接トーチ１４が設けられる。溶接トーチ１４は、溶加材としてのワイヤ１５を内装し、図示しない送給装置によって送り出されたワイヤ１５の先端とワークＷとの間にアークを発生させ、その熱でワイヤ１５を溶着させることによりワークＷに対してアーク溶接を施す。アーム１３間には複数のモータ（図示しない）が配設されており、モータの駆動によって溶接トーチ１４を前後左右に自在に移動できるように構成されている。なお、前後とは、溶接トーチ１４が溶接線に沿って進行する方向を前とし、その１８０度反対方向を後ろとする。又、左右とは前記進行する方向を人が向いたときを基準として、左右という。又、マニピュレータＭ１の先端には、ワークＷの形状を検出する位置検出センサとしてのレーザセンサＬＳを備える。
【００３５】
前記ロボット制御装置ＲＣには、可搬式操作部としてのティーチペンダントＴＰが接続されている。図３に示すようにティーチペンダントＴＰにはテンキー（図示しない）、位置決め命令キー（図示しない）、センシング命令キー３１、及びモード選択キー３２等の各種キーや、溶接トーチ１４の姿勢を入力するための狙い角設定器３３、前進後退角設定器３４を有するキーボード（図示しない）を備えている。狙い角設定器３３、前進後退角設定器３４は、姿勢設定手段に相当する。又、ティーチペンダントＴＰには、液晶表示装置等からなるディスプレイ（図示しない）を備える。前記各種キー（図示しない）、狙い角設定器３３、前進後退角設定器３４の操作により、通信インターフェイス３５を介して各種の教示データがロボット制御装置ＲＣに数値入力される。ティーチペンダントＴＰは、教示モードにおいて、前記各種キーを手動操作すると、前記各種キー入力に基づいて、ロボット制御装置ＲＣはマニピュレータＭ１を作動させ、溶接トーチ１４を移動させることが可能である。センシング命令キー３１は、センシング命令入力手段に相当する。
【００３６】
ロボット制御装置ＲＣは、図３に示すようにコンピュータからなる。すなわち、ロボット制御装置ＲＣはＣＰＵ（中央処理装置）２０、マニピュレータＭ１を制御するための各種プログラムを記憶する書換可能なＲＯＭ２１や、作業メモリとなるＲＡＭ２２、各種データを記憶する書換可能な不揮発性メモリからなる記憶部２３を備える。ＣＰＵ２０は、制御手段、取得手段、座標設定手段、トーチ姿勢算出手段、及びモード種別変更手段に相当する。
【００３７】
ロボット制御装置ＲＣでは、ティーチペンダントＴＰの通信インターフェイス３５から送信された各種の教示データがキーボードインターフェイス２４を介して入力されるとともに、前記教示データが作業プログラムの作成に使用される。
【００３８】
記憶部２３は、第１記憶領域２３ａ、及び第２記憶領域２３ｂ等の記憶領域を有する。記憶部２３は、第１記憶手段及び第２記憶手段に相当する。
第１記憶領域２３ａは、レーザセンサＬＳにて視野範囲ＦＯＶ（図９参照）を測定して得られた距離情報（測距データ）を記憶するための領域である。
【００３９】
第２記憶領域２３ｂは、後述する教示モードで作成される第１作業プログラムと、センシングモードを経て作成される第２作業プログラムとを記憶するための領域である。
第１作業プログラム（以下では、単にセンシングプログラムという）には、次の教示データが格納される。
・センシング点等の各教示位置における位置データ
・狙い角設定器３３、前進後退角設定器３４から入力された狙い角、前進後退角の値
・各教示位置において入力された位置決め命令、センシング命令、溶接開始命令等の各種命令およびパラメータ
一方、第２作業プログラム（以下では、単に実行プログラムという）には、次の教示データが格納される。
・各センシング点でレーザセンサＬＳが取得したワークＷの開先位置データ
・狙い角設定器３３、前進後退角設定器３４から入力された狙い角、前進後退角に基づいて算出される、各開先位置におけるトーチ姿勢データ
前記開先位置データ及びトーチ姿勢データ（位置姿勢座標値）は、実行プログラムに直接記憶しても良いし、実行プログラムから参照可能な外部変数に記憶するようにしてもよい。或いは、実行プログラムに直接記憶するか、外部変数に記憶するかのどちらを採用するかを作業者が選択できるように構成してもよい。これらの場合、外部変数も第２記憶領域２３ｂに記憶される。以下では、前記開先位置データ及びトーチ姿勢データを、実行プログラムに直接記憶するようにした場合を例に説明する。
【００４０】
ロボット制御装置ＲＣは、前記モータ（図示しない）を駆動制御することにより、センシングモードでは上記センシングプログラムに従い、又、実行モードでは上記実行プログラムに従い、サーボドライバ２５を介してマニピュレータＭ１を動作させる。又、ロボット制御装置ＲＣは、溶接電流及び溶接電圧といった溶接条件を溶接電源ＷＰＳ（図１参照）に対して出力し、溶接電源ＷＰＳからパワーケーブルＰＫを通じて供給される電力によって溶接作業を行わせる。
【００４１】
レーザセンサＬＳは、レーザの発光及び受光によりワークＷまでの距離を測定する走査型のレーザ変位センサであり、マニピュレータＭ１の手首部の先端に搭載されている。レーザセンサＬＳは、レーザをワークＷに向けて発光する発光部４１と、ワークＷで反射したレーザを受光する受光部４２等を備える。前記発光部４１で発光されたレーザは、ワークＷで乱反射され、受光部４２で受光される。受光部４２は、例えばＣＣＤラインセンサ（ラインレーザセンサ）により構成されており、視野範囲ＦＯＶにおけるレーザセンサＬＳからワークＷまでの距離を測定するようにされている。
【００４２】
レーザセンサＬＳは、レーザ照射方向がツール座標系のいずれかの軸と平行となるようにセンサヘッドＬＳａが配置されている。図２（ａ）にはツールである溶接トーチ１４が示されている。ここでツール座標系は図２（ａ）のように、溶接トーチ１４の軸心にＺ軸を一致させたものとして表わされる。そして、本実施形態では、図２（ｂ）に示すように溶接トーチ１４に対して、レーザセンサＬＳのセンサヘッドＬＳａはレーザ照射方向がＺ−方向となるように、かつ、溶接トーチ１４の溶接進行方向がツール座標系のＸ軸になるように設定され、レーザセンサＬＳが前記Ｘ軸に平行になるように取り付けされる。レーザセンサＬＳ（すなわち、図２（ｂ）に示すセンサヘッドＬＳａは、溶接トーチ１４の先端から溶接進行方向側に所定距離離間した位置にレーザ照射するようにされている。溶接トーチ１４の先端と溶接進行方向側に所定距離離間したツール座標系上のレーザポイント間の距離をセンサの先見距離Ｔという。
【００４３】
レーザセンサＬＳは、ＣＰＵ４３（中央処理装置）、ＲＯＭ４４、ＲＡＭ４５及び通信インターフェイス４６を備えている。ＲＯＭ４４は、開先位置計測処理プログラム、開先基準各計測処理プログラム、及び開先形状認識処理プログラム等の各種プログラムが格納されている。又、ＲＡＭ４５は、前記プログラムの実行時の作業メモリである。
【００４４】
レーザセンサＬＳは、通信インターフェイス４６を介してセンサインターフェイスユニット５１の通信ＨＵＢ５２に接続されている。又、通信ＨＵＢ５２には、センサコントローラ５３の通信インターフェイス５４が接続されている。又、前記通信ＨＵＢ５２には、ロボット制御装置ＲＣの通信インターフェイス２６がセンサヘッドケーブルＨＣを介して接続されている。
【００４５】
センサコントローラ５３は、ＣＰＵ５５、ＲＯＭ５６、図示しないＲＡＭ及び書き換え可能な記憶装置５７を備えている。前記記憶装置５７は、例えばハードディスク、或いは書き換え可能な半導体メモリ等から構成されるとともに、開先形状、及びワークＷの板厚に応じた多数の開先認識のための開先認識データが格納されている。
【００４６】
又、ＲＯＭ５６には、開先形状設定器の機能を実現するプログラム、板厚設定器の機能を実現するプログラム等の各種ソフトウェアプログラムが格納されている。そして、センサコントローラ５３は、ティーチペンダントＴＰのキーボード（図示しない）が操作されて、通信インターフェイス３５、２６、通信ＨＵＢ５２及び通信インターフェイス５４を介して開先形状及びワークの板厚の設定に関する要求がセンサコントローラ５３に入力されると、その要求に応じた開先形状設定及び板厚設定がされる。又、その設定された開先形状及び板厚に応じた開先認識データが、通信インターフェイス５４、通信ＨＵＢ５２、及び通信インターフェイス４６を介してレーザセンサＬＳのＲＡＭ４５に格納される。
【００４７】
なお、以下では、特に断らない限り、「教示」とはティーチペンダントＴＰを使用して入力することをいう。
（作用）
上記のように構成された溶接ロボット制御システム１０の作用を図４〜８のフローチャートを参照して説明する。図４は処理手順を示すフローチャートである。
【００４８】
作業者によってティーチペンダントＴＰのモード選択キー３２が操作されると、操作結果に応じてＳ１０のモード選択実行処理が行われる。このモード選択実行処理により、Ｓ２０の教示モード処理、Ｓ３０のセンシングモード処理、或いはＳ４０の実行モード処理への移行が許容される。
【００４９】
ロボット制御装置ＲＣのＣＰＵ２０は、ＲＯＭ２１に格納したモード選択実行処理プログラムに従って、Ｓ１２において、ティーチペンダントＴＰから入力されたモード選択キー３２の入力結果、すなわち、モード種別に基づいて、前記モード選択キー３２の入力がいずれのモードかを判定する。Ｓ１２において、モード種別が「１」の場合、ＣＰＵ２０は、判定を「ＹＥＳ」と判定し、すなわち、モードは教示モードが選択されているものと判定してＳ２０に移行し、モード種別が「１」でない場合には「ＮＯ」と判定してＳ１４に移行する。
【００５０】
Ｓ１４では、ＣＰＵ２０は、ＲＯＭ２１に格納したセンサ接続確認処理プログラムに従ってレーザセンサＬＳがセンサインターフェイスユニット５１を介して通信インターフェイス２６に接続されているか否かを判定する。レーザセンサＬＳがセンサインターフェイスユニット５１を介して通信インターフェイス２６に接続されている場合には、Ｓ１６に移行し、そうでない場合には、実行モードが選択されているものと判定して、Ｓ４０に移行する。
【００５１】
Ｓ１６では、ＣＰＵ２０は、モード種別が「２」の場合、ＣＰＵ２０は、判定を「ＹＥＳ」と判定し、すなわち、センシングモードが選択されているものと判定してＳ３０に移行する。又、ＣＰＵ２０は、モード種別が「２」でない場合には「ＮＯ」と判定し、すなわち、実行モードが選択されているものと判定して、Ｓ４０に移行する。
【００５２】
（教示モード処理：Ｓ２０）
図６（ａ）に示すように、Ｓ２１では、作業者がティーチペンダントＴＰの手動操作で、溶接トーチ１４を移動させ、教示位置ｎ（なお、最初はｎ＝１）を決める。
【００５３】
Ｓ２２では、所望の教示位置に溶接トーチ１４が位置した状態で、ティーチペンダントＴＰの図示しない位置決め命令キー、又はセンシング命令キー３１がオン操作される。このＳ２２において、センシング命令キー３１がオン操作される場合は、第１ステップに相当する。
【００５４】
位置決め命令キーが操作されると、ＣＰＵ２０は、「位置決め命令」がティーチペンダントＴＰから入力されるため、Ｓ２２の判定を「ＮＯ」と判定し、Ｓ２６に移行した後、前記「位置決め命令」に基づいて、教示位置ｎの位置座標を記憶部２３の第２記憶領域２３ｂに記憶する。
【００５５】
又、センシング命令キー３１がオン操作されると、「センシング命令」が「位置決め命令、及びセンシング点の記憶命令」としてティーチペンダントＴＰから入力されるため、ＣＰＵ２０は、Ｓ２２の判定を「ＹＥＳ」と判定し、Ｓ２３に移行する。
【００５６】
Ｓ２３では、ＣＰＵ２０は、入力された「センシング命令」とともに、該教示位置ｎ（位置座標）をセンシング点として記憶部２３の第２記憶領域２３ｂに記憶する。Ｓ２３のステップは、第２ステップに相当する。以下、「センシング命令（位置決め命令、及びセンシング点の記憶命令として機能）」があった教示位置をセンシング点の教示位置という。又、図示しない位置決め命令キーによる「位置決め命令」があった教示位置をアプローチ点の教示位置という。
【００５７】
Ｓ２４では、作業者は、所望の溶接の狙い角をティーチペンダントＴＰの狙い角設定器３３から入力すると、ＣＰＵ２０はこの狙い角設定値をセンシング点の教示位置ｎに関連づけて記憶部２３の第２記憶領域２３ｂに記憶する。
【００５８】
又、作業者は、所望の溶接の前進後退角をティーチペンダントＴＰの前進後退角設定器３４から入力すると、ＣＰＵ２０はこの前進後退角設定値を前記教示位置ｎに関連づけて記憶部２３の第２記憶領域２３ｂに記憶する。なお、本実施形態では、狙い角及び前進後退角の両者を数値入力するようにしているが、狙い角及び前進後退角のいずれか一方を入力するようにしてもよい。このように狙い角及び前進後退角のいずれか一方を入力する場合、他方は、予めパラメータとして記憶部２３に予め格納しておき、このＳ２４のステップのときに、読み出すようにしてもよい。又、Ｓ２４において、センシング点の教示位置において実行する他の命令がある場合は、ティーチペンダントＴＰの図示しない各種命令キーを作業者が入力操作することにより、ＣＰＵ２０は、センシング点の教示位置と関連づけて各種命令を第２記憶領域２３ｂに記憶する。Ｓ２４において、例えば、操作されるキーとしては、「溶接開始命令」、或いは「溶接終了命令」があるが、これらの命令に限定されるものではない。又、センシング点の教示位置において後述する実行モードの各種実行条件、例えば、溶接電流、溶接電圧等がテンキー等により作業者により入力されて設定され、該センシング点の教示位置に関連づけされて、第２記憶領域２３ｂに記憶される。
【００５９】
Ｓ２５では、作業者は、次の教示位置がある場合は、Ｓ２１に戻り、先ほどと同様に、ティーチペンダントＴＰの手動操作で溶接トーチ１４を移動させ、次の教示位置を決める。以下、同様にＳ２１では、作業者はティーチペンダントＴＰを操作して「位置決め命令」又は「センシング命令」を入力して、教示位置を第２記憶領域２３ｂに記憶させる。
【００６０】
Ｓ２５において、次の教示位置がない場合は、作業者は、ティーチペンダントＴＰの教示モード終了の図示しない終了キーを操作する。
このとき、第２記憶領域２３ｂには、教示順に教示位置（アプローチ点及びセンシング点の教示位置を含む）が記憶される。さらに、センシング点の教示位置における各種命令（溶接開始命令、溶接終了命令等を含む）並びに各種実行条件が該センシング点の教示位置に関連付けされて記憶されることにより、後述するセンシングプログラムとして形成される。
【００６１】
又、上記終了キーの入力に基づいて、ＣＰＵ２０は、ＲＯＭ２１に格納したモード種別切替処理プログラムに従ってＳ６０に移行して、以下に説明するモード種別の変更処理を行う。
【００６２】
（モード種別の変更処理：Ｓ６０）
次にモード種別の変更処理について説明する。
図８は、モード種別の変更処理のフローチャートである。Ｓ１０２では、ＣＰＵ２０は、前のモード処理におけるモード種別が「１」であるか否かを判定し、モード種別が「１」の場合、Ｓ１０４に移行してモード種別を「２」に更新した後、この処理を終了する。Ｓ１０２において、モード種別が「１」でない場合は、Ｓ１０６に移行してモード種別が「２」であるか否かを判定する。
【００６３】
Ｓ１０６において、モード種別が「２」の場合は、Ｓ１０８に移行してモード種別を「３」に更新した後、処理を終了する。又、モード種別が「２」でない場合は、そのまま処理を終了する。
【００６４】
（センシングモード処理：Ｓ３０）
センシングモード処理を図６（ｂ）を参照して説明する。センシングモード処理は、教示モードで作成されたセンシングプログラムの再生処理である。
【００６５】
Ｓ３１では、ＣＰＵ２０は、各教示位置に関連づけされた「位置決め命令」、又は「センシング命令」に基づいてマニピュレータＭ１を移動制御する。すなわち、第２記憶領域２３ｂに教示順に記憶した教示位置ｎ（ｎ＝１，２…）を教示順に１つ読み出し、読み出したこの教示位置まで、溶接トーチ１４を移動する。なお、教示位置ｎの初期値は、ｎ＝１である。Ｓ３１は、第３ステップの一部を構成する。
【００６６】
Ｓ３２において、「センシング命令」がある場合、すなわち、移動した教示位置がセンシング点である場合には、Ｓ３３に移行し、教示位置がアプローチ点である場合には、Ｓ３５に移行する。
【００６７】
Ｓ３３では、「センシング命令」に基づいて移動したセンシング点の教示位置ｎ（ｎ＝１）において、ＲＯＭ２１に格納したセンシング実行処理プログラムにより、レーザセンサＬＳにレーザ発光命令を発行する。レーザセンサＬＳのＣＰＵ４３は、この命令に基づいてレーザ光を照射するように発光部４１を制御する。そして、ＣＰＵ４３は受光部４２にて受光した結果をレーザセンサＬＳの開先位置計測処理によりセンサ座標系の開先位置を計測する。又、開先基準角計測処理によりセンサ座標系の開先基準角θSAを計測する。なお、開先基準角θSAについては後述する。
【００６８】
開先位置計測処理について説明する。
（開先位置計測処理）
開先位置計測処理は、図９に示すように、センシング点ＰＡにおいて、センサ座標系の開先位置Ａの検出を行う処理である。図９において、ＦＯＶは、レーザセンサＬＳの視野範囲を示している。レーザセンサＬＳは、この視野範囲ＦＯＶの測距データに基づいて、ワークの特徴的部位の位置である開先位置を検出（すなわち、計測）する。なお、開先検出中、すなわちセンシング点ＰＡに溶接トーチ１４が位置しているとき、マニピュレータＭ１は停止している。
【００６９】
この開先位置計測処理は、例えば溶接開始点、及び溶接終了点を検出するために行われる。本実施形態では、センシング点ＰＡは溶接開始点を検出する教示位置となる。
具体的には、ＣＰＵ２０は、センシング点ＰＡを変換行列ＴＴＣを使用して、センサ座標系に変換した後に、レーザセンサＬＳが出力した検出点座標分（すなわち、先見距離Ｔ分）をシフトした点を図９に示すように開先位置Ａ（サーチ１点目）とする。
【００７０】
ここで、前記変換行列について説明する。
図１２には、ツールとしての溶接トーチ１４に関するツール座標系と、レーザセンサＬＳ、センサ座標系及びメカニカルインターフェース座標系の関係を示している。なお、図１２において、溶接トーチ１４はマニピュレータＭ１の出力フランジ４０に対してブラケット５０を介して取付けされている。又、レーザセンサＬＳはマニピュレータＭ１に設けられたブラケット５０に対し取付金具７０を介して取付られている。そして、取付金具７０はボルト７２によりブラケット５０に対して取り外し可能に取付けられている。このことにより、マニピュレータＭ１からマニピュレータＭ１から取り外し可能である。
【００７１】
レーザセンサＬＳで得られた開先位置に、指定したトーチ姿勢で移動できるロボットのポーズ（姿勢）を求めるためには、ツール座標系とセンサ座標系の前記変換行列ＴＴＣが必要となる。
【００７２】
図１２において、マニピュレータＭ１が６軸ロボットを構成している場合、ロボットの第６軸の中心である出力フランジ４０を原点とするメカニカルインターフェース座標系（ＸＭ，ＹＭ，ＺＭ）から、センサ座標系（Ｘｃ，Ｙｃ，Ｚｃ）への変換行列は、Ｊ６ＴＣである。又、メカニカルインターフェース座標系（ＸＭ，ＹＭ，ＺＭ）から、ツール座標系（ＸＴ，ＹＴ，ＺＴ）への変換行列は、Ｊ６ＴＴである。ツール座標系からセンサ座標系の変換行列はＴＴＣである。
【００７３】
このとき、ツール座標系から見たセンサ座標系への変換行列ＴＴＣは、以下のように、
【００７４】
【数１】
2011224769.tif 000003
で求められる。
【００７５】
ここで、フローチャート（図６（ｂ））のＳ３３に話を戻す。ＣＰＵ４３は、センサコントローラ５３からＲＡＭ４５に格納した開先認識データと、受光部４２にて受光した結果とを照合することにより、開先形状認識処理を行う。なお、この開先形状認識処理は公知であるため説明を省略する。
【００７６】
又、ＣＰＵ４３は、センサ座標系の開先位置Ａ、開先基準角θSAをレーザセンサＬＳからロボット制御装置ＲＣまで通信インターフェイス４６、センサインターフェイスユニット５１、通信インターフェイス２６を介して送信する。ロボット制御装置ＲＣのＣＰＵ２０は、受信したセンサ座標系の開先位置Ａ、開先基準角θSAを前記教示位置と関連づけて、第２記憶領域２３ｂに保存する。
【００７７】
なお、Ｓ３３では、センシングプログラムには、教示モードのときに作成した各種実行条件、並びに、溶接開始命令、溶接終了命令等の各種命令が記述されている。しかし、センシングモードでは、「位置決め命令」、「センシング命令」以外の命令をＣＰＵ２０は無視する。Ｓ３３は、第３ステップの一部に相当する。
【００７８】
Ｓ３４では、ＣＰＵ２０は次の教示位置ｎ＋１があるか否かを判定し、ある場合には、Ｓ３１に戻り、次の教示位置について先ほどと同様に処理を行う。
そして、例えば前記開先位置Ａが検出されていて、Ｓ３２からＳ３３に移行した場合、Ｓ３３では、センシング点ＰＢにおいて、溶接終了点となるセンサ座標系の開先位置Ｂを検出するための開先位置計測処理が、サーチ１点目と同様に行われる。この場合、溶接終了点の検出が行われる場合は、後述する開先基準角計測処理は省かれる。前記開先位置Ｂは、図９ではサーチ２点目となる。
【００７９】
なお、本実施形態では、説明の便宜上、次の溶接区間がない場合としているため、溶接終了点の検出が行われる場合、開先基準角計測処理を省略しているが、次の溶接区間のトーチ姿勢を変更する場合は開先基準角計測処理を省略しないようにしてもよい。
【００８０】
そして、ＣＰＵ４３は、計測結果の開先位置ＢをレーザセンサＬＳからロボット制御装置ＲＣまで通信インターフェイス４６、センサインターフェイスユニット５１、通信インターフェイス２６を介して送信する。ロボット制御装置ＲＣのＣＰＵ２０は、受信した前記開先位置Ｂを前記教示位置と関連づけて、第２記憶領域２３ｂに保存する。又、Ｓ３４において、ＣＰＵ２０は、次の教示位置がなければ、Ｓ３５に移行する。
【００８１】
Ｓ３５では、ＣＰＵ２０は、Ｓ３３の処理の結果、各センシング点ＰＡ，ＰＢにおいて、それぞれセンシングデータ（すなわち、開先位置、開先基準角）がある場合、ツール座標系変換処理、溶接線座標系設定処理、狙い角姿勢値の算出処理、及び前進後退角姿勢値の算出処理を行う。以下の説明では、説明の便宜上、開先位置を２点とした場合について説明するが、開先位置を３点以上の場合も同様である。
【００８２】
（ツール座標系変換処理）
ＣＰＵ２０は、センサ座標系の開先位置Ａ、Ｂをツール座標系の開先位置座標Ａ’、Ｂ’に変換する。そして、ＣＰＵ２０は、第２記憶領域２３ｂに格納しているセンシングプログラムのコピーに対してセンシング点ＰＡ，ＰＢの代わりに、ツール座標系の開先位置座標Ａ’、Ｂ’をそれぞれ更新する。この更新中の作業プログラムは、更新後においては後述する実行プログラムとして使用する。
【００８３】
（溶接線座標系設定処理）
次に溶接線座標系設定処理について説明する。
ＣＰＵ２０は、図１１（ａ）に示すように溶接進行方向として、開先位置座標Ａ’、Ｂ’を含む進行方向ベクトル
【００８４】
【数２】
2011224769.tif 000004
を溶接線座標系のＺ軸とし、Ｘ軸を前記Ｚ軸を法線とする平面に対して前記測距データに基づいて公知の方法で求めた前記開先基準角θSAを投影したものとする。又、ＣＰＵ２０は、溶接線座標系のＹ軸を右手系で決定する。
【００８５】
なお、レーザセンサＬＳのセンサ座標系Ｙｃ−Ｚｃ（図１２参照）から、Ｚｃと開先法線との角度との角度である開先基準角θSAが算出される。
以上、重ね継手の算出方法について説明したが、他の継手についても公知の技術により算出は可能である。
【００８６】
（狙い角姿勢値の算出処理）
狙い角姿勢値の算出処理について説明する。
図１０に示すように、ＣＰＵ２０は、レーザセンサＬＳで撮影したワークＷに対し、開先法線をＸ軸、ワークＷの表面をＹ軸、溶接方向をＺ軸となる座標系を設定する。
【００８７】
ＣＰＵ２０は、図１０に示すように、狙い角姿勢値は、前記Ｙ軸を基準(０度)として、Ｚ軸左ネジ周りの角度で算出する。
すなわち、θUAを狙い角設定値とし、開先基準角θSAをセンサ座標系のＺｃ軸に対する開先法線の前記平面に投影されたＸ軸の角度としたとき、ＣＰＵ２０は、溶接線座標系Ｚ軸周りに狙い角姿勢値として-(θUA -θSA -90)を算出する。このようにして、溶接トーチ姿勢のうちの狙い角姿勢値が求められる。
【００８８】
（前進後退角姿勢値の算出処理）
前進後退角姿勢値の算出処理では、ＣＰＵ２０は前進後退角姿勢値を算出する。具体的には、開先位置座標系Ａ’のＺ軸と垂直な姿勢を基準(０度)とし、Ｙ軸右ネジ周りの角度で前進後退角姿勢値が求められる。
【００８９】
すなわち、開先位置座標系Ａ’（点）のツール座標系Ｚ軸をＺＡとし、ＺＡ軸を溶接線座標系ＸＺ平面に投影した軸をＺＡ’軸としたとき、前進後退角姿勢値は以下のようにして求められる。
【００９０】
θＵＬを所望の前進後退角、すなわち、前進後退角設定値とし、θＳＬを溶接線座標系Ｘ軸に対するＺＡ'のＹ軸周りの角度としたとき、ＣＰＵ２０は溶接線座標系Ｙ軸周りに前進後退角姿勢値（θＵＬ−θＳＬ）を算出する。このようにして、溶接トーチ姿勢のうちの前進後退角姿勢値が求められる。
【００９１】
ＣＰＵ２０は、前述した狙い角姿勢値、前進後退角姿勢値は、第２記憶領域２３ｂに格納している前記更新中の作業プログラムにおいて、開先位置座標Ａ’における溶接トーチの作業姿勢として関連づけして記述する。Ｓ３５は第３ステップの一部に相当する。
【００９２】
このとき、第２記憶領域２３ｂには、後述する実行プログラムが生成される。実行プログラムには、センシング点の教示位置における各種命令（溶接開始命令、溶接終了命令等を含む）並びに各種実行条件が該センシング点の教示位置、開先位置（すなわち、開先位置座標Ａ'，Ｂ'）に関連付けされて記憶される。
【００９３】
上記のＳ３５の処理が終了した後、ＣＰＵ２０は、Ｓ７０のモード種別の変更処理に移行する。Ｓ７０のモード種別の変更処理は、Ｓ６０と同じであるため、説明を省略する。
（実行モード処理：Ｓ４０）
次に、実行モード処理を図７を参照して説明する。実行モード処理は、センシングモードで自動的に生成された実行プログラムの再生処理である。
【００９４】
Ｓ４２では、ＣＰＵ２０は、実行プログラムに従って「位置決め命令」、又は「センシング命令」に基づいてマニピュレータＭ１を移動制御し、アプローチ位置、又は開先位置に溶接トーチ１４を移動させる。
【００９５】
このとき、開先位置のときは、ＣＰＵ２０は、その開先位置に関連づけされた所望の狙い角姿勢値、及び前進後退角姿勢値の姿勢で溶接トーチ１４を移動する。又、その開示位置に関連づけされた各種命令を実行させる。例えば、溶接開始命令、ウィービング開始命令が教示されていれば、該開先位置に関連付けされた各種実行条件でそれを実行することになる。
【００９６】
Ｓ４４では、実行プログラムに次のアプローチ点、又は開先位置があれば、Ｓ４２に戻る。実行プログラムに次のアプローチ点、又は開先位置がなければ、ＣＰＵ２０は、Ｓ８０のモード種別の変更処理に移行する。Ｓ８０のモード種別の変更処理は、Ｓ６０と同じであるため、説明を省略する。
【００９７】
（実行プログラムの例）
次に、教示モードで教示が行われてＣＰＵ２０が生成し、記憶部２３に読み出し可能に記憶した実行プログラムの例を図１３〜１６を参照して説明する。なお、説明の便宜上、ワークＷとして、一対の鉄板がＬ字状に配置された隅肉継手の場合を説明するが、継手の種類は限定されるものではない。
【００９８】
（教示モード）
教示モードでは、図１４に示すように、作業者はティーチペンダントＴＰを操作してマニピュレータＭ１をジョグ送りし、溶接トーチ１４を原位置Ｇ、ワークＷの開先を検出するセンシング点ＰＡ、センシング点ＰＢ、及び前記原位置Ｇの順に移動させる。そして、それぞれの位置を教示ステップとして記憶することによってセンシングプログラムを作成する。又、作業者は各教示ステップにおいて、必要な教示データを入力する。なお、各教示ステップで教示したデータについては後述する。
【００９９】
図１３において、教示ステップＮｏ．の１〜７の命令の欄は、図１４のワークＷに対して教示されたものである。
教示ステップ１は、図１４に示すようにワークＷに対してアプローチするために設定される溶接トーチ１４の原位置Ｇである。この位置に溶接トーチ１４を位置させた後、作業者は、「位置決め命令」をティーチペンダントＴＰから入力する。なお、以下では、説明の便宜、ティーチペンダントＴＰを用いて入力する操作を、単に入力するという。
【０１００】
教示ステップ２は、ワークＷの開先における溶接開始点を検出するためのセンシング点ＰＡである。センシング点ＰＡに溶接トーチ１４を位置させた後、「センシング命令」を入力する。次ぐ教示ステップ３では、「溶接開始命令」を入力する。
【０１０１】
教示ステップ４は、ワークＷの開先における溶接終了点を検出するセンシング点ＰＢである。センシング点ＰＢに溶接トーチ１４を位置させた後、「センシング命令」を入力する。次ぐ教示ステップ５では、「溶接終了命令」を入力する。
【０１０２】
又、教示ステップ６は、原位置Ｇと同一の位置とする。すなわち、図１４に示すように溶接トーチ１４のワークＷから離間した待避させるために設定される溶接トーチ１４の位置である。この位置に溶接トーチ１４を待避させた後、作業者は、「位置決め命令」を入力する。以上の作業によって、センシングプログラムが作成される。なお、この例において、前記命令の他に各種実行条件も併せて入力するが、説明を簡単にするために省略している。
【０１０３】
ここで、特徴的なことは、センシング点の教示は、レーザセンサＬＳの視野範囲ＦＯＶ内に開先が位置すれば十分であることから、ラフに教示すればよくなることである。
次のセンシングモードでは、教示モードで作成された上記センシングプログラムに従って、ＣＰＵ２０は、マニピュレータＭ１を下記のように駆動制御する。
【０１０４】
（センシングモード）
図１５に示す教示ステップ１では、ＣＰＵ２０は「位置決め命令」により原位置Ｇに溶接トーチ１４を位置決め動作させる。
【０１０５】
教示ステップ２では、「センシング命令」により、ＣＰＵ２０は、図１５に示すように開先位置を検出するためのセンシング点ＰＡに移動させる。
又、教示ステップ２では、「センシング命令」によりレーザセンサＬＳによってセンシング動作させて、その検出結果に基づいて、開先位置座標Ａ’、及び開先基準角θSAを取得する。そして、ＣＰＵ２０は、ツール座標系変換処理、溶接線座標系設定処理、狙い角姿勢値の算出処理、及び前進後退角姿勢値の算出処理を、ＲＯＭ２１に記憶した各種プログラムに基づいて行う。続く教示ステップ３の溶接開始命令については、ＣＰＵ２０は、無視する。
【０１０６】
教示ステップ４では、「センシング命令」により、ＣＰＵ２０は、図１５に示すように開先位置を検出するためのセンシング点ＰＢに移動させる。
又、教示ステップ４では、「センシング命令」によりレーザセンサＬＳによってセンシング動作させて、その検出結果に基づいて、開先位置座標Ｂ’を取得する。続く、ステップ５の溶接終了命令については、ＣＰＵ２０は、無視する。ステップ６ではＣＰＵ２０は「位置決め命令」により原位置Ｇに溶接トーチ１４を位置決め動作させる。以上の処理によって、実行プログラムが作成される。
【０１０７】
ここで、特徴的なことは、次の実行モードでは、センシングモードで自動作成された実行プログラムに従って、ＣＰＵ２０は、マニピュレータＭ１を下記のように駆動制御することである。
【０１０８】
なお、実行モードに移行する前に、一旦、作業者は、ティーチペンダントを操作してＴＰロボットを停止させた状態とし、図１２に示すレーザセンサＬＳを、ブラケット５０から取り外しておく。これは、例えば、実行モードにおいて連続して加工するワークに位置ずれや寸法誤差等がほとんどない場合に適用できる。すなわち、センシングモードでのレーザセンサＬＳによる開先形状の取得と教示データ生成が完了したとき、レーザセンサを取り外してもよい。言い換えると、レーザセンサＬＳは、センシングモードにおいて、実行プログラムを作成するときにのみ使用する。このことによって、レーザセンサを、複数のロボットで使い回すことができるので、設備としての導入コストを大幅に低減することができる。
【０１０９】
（実行モード）
図１６に示す教示ステップ１では、ＣＰＵ２０は「位置決め命令」により原位置Ｇに溶接トーチ１４を位置決め動作させる。
【０１１０】
教示ステップ２では、「センシング命令」により、ＣＰＵ２０は、センシングモードで算出された狙い角姿勢値、前進後退角姿勢値の溶接トーチ姿勢で、溶接トーチ１４の先端を開先位置Ａ’に移動させる。
【０１１１】
溶接トーチ１４の先端が開先位置Ａ’に移動した後、続く教示ステップ３の溶接開始命令に基づいて、ＣＰＵ２０は溶接を開始する。
教示ステップ４では、「センシング命令」により、ＣＰＵ２０は開先位置Ａ’に位置したときの姿勢で、溶接トーチ１４の先端を開先位置Ｂ’に移動させる。溶接トーチ１４の先端が開先位置Ａ’に移動した後、続く教示ステップ５の溶接終了命令に基づいて、ＣＰＵ２０は溶接を終了する。
【０１１２】
教示ステップ６ではＣＰＵ２０は「位置決め命令」により原位置Ｇに溶接トーチ１４を位置決め動作させる。
本実施形態のロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置及び溶接ロボット制御システム１０によれば、下記の特徴がある。
【０１１３】
（１）本実施形態のロボットの作業プログラム作成方法は、第１ステップとしてのＳ２２（図６（ａ）参照）では、溶接トーチ１４（ツール）がセンシング点ＰＡ，ＰＢに位置する毎に、センシング命令が入力される。又、第２ステップとしてのＳ２３では、センシング命令の入力に応じて、該センシング命令とセンシング点ＰＡ，ＰＢの教示位置と関連づけて第１作業プログラムに記憶する。
【０１１４】
又、第３ステップでは、第１作業プログラムに記憶されたセンシング命令に基づいて該センシング命令に関連づけされたセンシング点ＰＡ，ＰＢに、マニピュレータＭ１を移動させる（図６（ｂ）のＳ３１参照）。又、センシング点ＰＡ，ＰＢに溶接トーチ１４が位置した際に、前記センシング命令に基づいてレーザセンサＬＳを検出動作させる（図６（ｂ）のＳ３３参照）。そして、その検出結果に基づいて前記ワークの開先位置を取得するとともに、取得した前記ワークＷの開先位置を前記センシング命令に関連づけて第２作業プログラムに記憶する（図６（ｂ）のＳ３５参照）。そして、前記第２作業プログラムに含まれる前記センシング命令に応じて前記ワークＷの開先位置にマニピュレータＭ１の溶接トーチ１４を移動させる。
【０１１５】
この結果、ワークＷに位置ずれが発生しない環境下において、教示作業をラフに教示できるため簡略化でき、後に行われる溶接トーチ１４による溶接時（実作業時）には、レーザセンサＬＳの作業が必要でないため、実作業時のサイクルタイムを短くできる。又、溶接トーチ１４の先端位置をワークＷの開先位置に合わせる教示が不要になるため、溶接トーチ１４の先端を丁寧にワークＷの開先位置に合わせなくてもラフな教示だけでよくなるとともに、溶接トーチ１４による溶接時には、溶接トーチ１４の先端をワークＷ開先位置まで移動できる。
【０１１６】
又、本方法によれば、センシング命令は、（ａ）センシング点の教示位置の記憶、（ｂ）センシング点への移動、（ｃ）センシングした開先位置の取得と記憶を自動的に選択することができるため、モードの確認が不要であり、複雑な教示も不要であり、間違った作業プログラムを作成する心配も無く、教示作業が容易になる。
【０１１７】
（２）本実施形態のロボットの作業プログラム作成方法では、教示モードで作成した第１作業プログラムに基づいてセンシングモードでレーザセンサＬＳ（位置検出センサ）による検出動作を行い、この検出結果に応じて第２作業プログラムを作成するようにしている。
【０１１８】
つまり、この第２作業プログラムでは、溶接トーチ１４（ツール）の先端位置とワークＷの特徴的部位の位置とが厳密に一致している。すなわち、第２作業プログラムを再生する実行モード（ツールによる実作業時）においては、レーザセンサＬＳによる検出動作を必要としないので、実作業時のサイクルタイムを短くすることができる。
【０１１９】
（３）本実施形態のロボットの作業プログラム作成方法では、第１ステップでは、溶接トーチ１４がセンシング点に位置する際に、狙い角、前進後退角の両者が数値入力される。第２ステップでは、狙い角、前進後退角の両者が記憶部２３に、該教示位置と関連づけて記憶される。又、第３ステップでは、取得した複数の特徴的部位に基づく方向ベクトル（進行方向ベクトル）により溶接線座標を設定し、前記狙い角、及び前記前進後退角に基づいて前記溶接線座標の溶接トーチの姿勢を算出する。そして、溶接トーチ１４の姿勢を第２作業プログラムに記憶する。
【０１２０】
この結果、本実施形態の溶接ロボットの作業プログラム作成方法において、狙い角、前進後退角の両者が数値入力されることにより、数値入力された狙い角、前進後退角の両者に応じた所望の姿勢をとらせることができる。
【０１２１】
（４）本実施形態の作業プログラム作成装置は、溶接トーチ１４がセンシング点に位置する毎にセンシング命令を入力するセンシング命令キー３１（センシング命令入力手段）と、センシング命令に基づき該センシング命令と前記センシング点の教示位置を関連づけて記憶する記憶部２３を備える。又、作業プログラム作成装置は、記憶部２３に記憶された第１作業プログラムのセンシング命令に基づいて該センシング命令に関連づけされた前記センシング点の教示位置にマニピュレータＭ１を移動制御するＣＰＵ２０（制御手段）を備える。又、前記センシング点の教示位置に溶接トーチ１４が位置した際に、前記センシング命令に基づいてレーザセンサＬＳを検出動作させてその検出結果に基づいてワークＷの開先位置を取得するＣＰＵ２０（取得手段）を備える。
【０１２２】
そして、作業プログラム作成装置は、取得したワークＷの開先位置を前記センシング命令に関連づけてロボットの第２作業プログラムに取り込んで記憶する記憶部２３（第２記憶手段）を備える。
【０１２３】
この結果、ワークに位置ずれが発生しない環境下において、教示作業を簡略化でき、後に行われる溶接トーチ１４による実作業時には、レーザセンサＬＳの作業が必要でないため、実作業時のサイクルタイムを短くできる。又、本実施形態によれば、溶接トーチ１４の先端位置をワークの特徴的部位の位置に合わせる教示が不要になり、ツールの先端を丁寧にワークの特徴的部位の位置に合わせなくても、ラフな教示だけでよくなり、ツールによる実作業時には、ツールの先端をワークの特徴的部位の位置まで移動できる。
【０１２４】
又、本作成装置によれば、センシング命令は、（ａ）センシング点の教示位置の記憶、（ｂ）センシング点への移動、（ｃ）センシングした開先位置の取得と記憶を自動的に選択することができるため、モードの確認が不要であり、複雑な教示も不要であり、間違った作業プログラムを作成する心配も無く、教示作業が容易になる。
【０１２５】
（５）本作成装置によれば、教示モードで作成した第１作業プログラムに基づいてセンシングモードでレーザセンサＬＳ（位置検出センサ）による検出動作を行い、この検出結果に応じて第２作業プログラムを作成するようにしている。つまり、この第２作業プログラムでは、溶接トーチ１４（ツール）の先端位置とワークＷの特徴的部位の位置とが厳密に一致している。すなわち、第２作業プログラムを再生する実行モード（ツールによる実作業時）においては、レーザセンサＬＳによる検出動作を必要としないので、実作業時のサイクルタイムを短くすることができる。
【０１２６】
（６）本実施形態の作業プログラム作成装置は、溶接トーチ１４がセンシング点に位置する際に、溶接時の狙い角、前進後退角の両者を設定する狙い角設定器３３，前進後退角設定器３４（姿勢設定手段）を備える。又、記憶部２３は、狙い角、前進後退角の両者を前記センシング点の教示位置と関連づけて記憶する。ＣＰＵ２０は取得した開先位置のツール系座標の位置間に基づく進行方向ベクトル（方向ベクトル）により溶接線座標を設定する座標設定手段として機能する。又、ＣＰＵ２０は、前記狙い角、及び／又は前記前進後退角に基づいて前記溶接線座標の溶接トーチ１４の溶接トーチ姿勢を算出するトーチ姿勢算出手段として機能する。又、記憶部２３は該溶接トーチの姿勢を記憶して前記第２作業プログラムに含ませる。
【０１２７】
この結果、本実施形態の作業プログラム作成装置によれば、狙い角、前進後退角の両者が数値入力されることにより、溶接トーチに所望の姿勢をとらせることができる。
（７）本実施形態の作業プログラム作成装置は、ＣＰＵ２０は、教示モードが終了した際に、モード種別をセンシングモードに自動的に変更するモード種別変更手段として機能する。この結果、センシングモードに自動的に移行することができ、作業者によるモード選択作業を省略することができる。
【０１２８】
（８）本実施形態の作業プログラム作成装置は、レーザセンサＬＳがマニピュレータＭ１に対して取り外し可能に支持されている。この結果、ワークＷに位置ずれが発生しない環境下においては、教示モードでは教示作業を簡略化でき、ツールによる実作業時に位置検出センサが必要でないため、マニピュレータＭ１から位置検出センサを取り外しができる。従って、比較的高価なレーザセンサＬＳを複数のロボットで使い回すことができ、設備としての導入コストを大幅に低減することができる。
【０１２９】
又、従来は、レーザセンサ等の位置検出センサを常に取り付けておく必要があるために、マニピュレータの先端に取り付けた位置検出センサ自身が、ツールの取り得る実作業姿勢に制限を与えてしまう。すなわち、位置検出センサ自身が干渉物となり、所望の実作業姿勢を取れない場合がある。本実施形態では、レーザセンサ等の位置検出センサを常に取り付けておく必要がなくなるため、実作業姿勢に制限をなくすことができる。
【０１３０】
（９）本実施形態のロボット制御システムは、前記作業プログラム作成装置と、前記作業プログラムを実行するロボット制御装置ＲＣ（ロボット制御手段）とを含む。そして、ロボット制御装置ＲＣが、実行モード時に前記第２作業プログラムに含まれるセンシング命令に応じてワークＷの開先位置にマニピュレータＭ１の溶接トーチ１４を移動させる。この結果、作業プログラム作成装置が作成した第２作業プログラムに従って実行モード時にワークの特徴的部位の位置に前記マニピュレータのツールを移動させることができる。
【０１３１】
又、本システムによれば、センシング命令は、（ａ）センシング点の教示位置の記憶、（ｂ）センシング点への移動、（ｃ）センシングした開先位置の取得と記憶、（ｄ）センシングした開先位置への移動を自動的に選択することができる。このため、モードの確認が不要であり、複雑な教示も不要であり、間違った作業プログラムを作成する心配も無く、教示作業が容易になる。
【０１３２】
（８）本実施形態のロボット制御システムは、ＣＰＵ２０（モード種別変更手段）は、センシングモードが終了する際に、モード種別を実行モードに自動的に変更するものである。又、ＣＰＵ２０は、モード種別に基づいて前記ロボット制御手段による、実行モードの第２作業プログラムの実行を許容する。この結果、本実施形態によれば、ＣＰＵ２０の判定結果により、実行モードに自動的に移行することができる。
【０１３３】
（１０）本実施形態では、教示／センシング／実行モードのモード種別、及びレーザセンサＬＳの接続の有無から、自動的に実行するべきモードを判断して、そのモードに応じて実行することができる。
【０１３４】
なお、本発明は前記実施形態に限定されるものではなく、下記のように構成してもよい。
・  前記実施形態のレーザセンサＬＳは、ラインレーザセンサを使用したが、レーザをミラーに当てて走査するスキャニング型のレーザ変位センサに代えてもよい。
【０１３５】
・  前記実施形態では、位置検出センサとしてレーザセンサＬＳを使用したが、汎用品の距離センサ、接触センサ等を利用しても良い。
・  前記実施形態では、溶接ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及び、溶接ロボット制御システムに具体化したが、これらに限定するものではない。スポット溶接ロボットの作業プログラム作成方法、作業プログラム作成装置、及び、スポット溶接ロボット制御システムに具体化することも可能である。さらに、塗装ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及び、塗装ロボット制御システムに具体化してもよい。この場合、溶接トーチに代えて、塗装を行う塗装ガンがツールとなる。或いは、搬送ロボットの作業プログラム作成方法、搬送ロボットの作業プログラム作成装置、及び、搬送ロボット制御システムに具体化してもよい。この場合、前記実施形態と異なり、狙い角、前進後退角は必要でないため、これらの数値入力、記憶等の処理については省略することができる。
【０１３６】
さらに、ハンドリングロボットの作業プログラム作成方法、搬送ロボットの作業プログラム作成装置、及び、搬送ロボット制御システムに具体化してもよい。この場合、溶接トーチに代えて、ハンドリングを行うハンドがツールとなる。
【０１３７】
・  前記実施形態では、いわゆる直接教示方式を採用した溶接ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及び溶接ロボット制御システムに具体化したが、直接教示方式に限定されるものではなく、オフライン教示方式であってもよい。オフライン教示方式とは、一般的に、ＣＡＤ等で生成されたワークＷのモデルデータをパーソナルコンピュータのＣＲＴに表示させて、教示点を教示する（作業プログラムを作成する）方式である。教示手段としては、オフラインティーチングシステムと呼ばれる、パーソナルコンピュータ上で実行されるアプリケーションプログラムと、マウスやキーボード等の入力装置とが用いられる。オフライン教示された作業プログラムは、ロボット制御装置ＲＣで再生可能にするため、データの変換を必要とする。このデータ変換の際に、変換誤差やマニピュレータＭ１の機体誤差等に起因して、教示された教示点の精度が落ちる（すなわち位置ズレが生じる）ことがある。位置ズレが生じると、実際のワークＷに合わせた再教示が必要となるという課題を有している。この課題に対し、前記実施形態を次のように適宜修正することにより、解決することができる。すなわち、溶接トーチ１４（ツール）がセンシング点に位置する毎に、センシング命令が入力される第１ステップと、センシング命令とセンシング点の教示位置を関連づけてセンシングプログラム（第１作業プログラム）に記憶する第２ステップとを、オフラインティーチングシステムを用いて実行する。言い換えると、オフラインティーチングシステムを用いてセンシングプログラムを作成する。
【０１３８】
次に、センシングプログラムのセンシング命令に基づき、センシング点の教示位置に溶接トーチ１４を移動させてレーザセンサＬＳ（位置検出センサ）を検出動作させ、検出結果に基づいてワークＷ上の作業位置を取得し、この作業位置を実行プログラム（第２作業プログラム）に記憶する。言い換えると、オフラインティーチングシステムを作成したセンシングプログラムを再生して、実行プログラムを作成する。そして、センシングプログラムを再生することにより溶接トーチ１４を移動させ、加工作業を実行する。
【０１３９】
以上のように、前記実施形態は、直接教示方式に限定されるものではなく、オフライン教示方式に具体化してもよい。この場合、センシング命令入力手段は、パーソナルコンピュータに備えられた入力装置であり、第１記憶手段はパーソナルコンピュータに備えられたハードディスク等の記憶媒体となる。
【符号の説明】
【０１４０】
Ｍ１…マニピュレータ、ＬＳ…レーザセンサ（位置検出センサ）、
Ｗ…ワーク、ＲＣ…ロボット制御装置（ロボット制御手段）、
ＳＣ…作業プログラム作成装置、
１０…溶接ロボット制御システム、１３…アーム、１４…溶接トーチ、
２０…ロボット制御装置ＲＣのＣＰＵ（制御手段、取得手段、座標設定手段、トーチ姿勢算出手段、及びモード種別変更手段）、
２３…記憶部（第１記憶手段、第２記憶手段）、
３１…センシング命令キー（センシング命令入力手段）。
【図１】
2011224769.tif 000005
【図２】
2011224769.tif 000006
【図３】
2011224769.tif 000007
【図４】
2011224769.tif 000008
【図５】
2011224769.tif 000009
【図６】
2011224769.tif 000010
【図７】
2011224769.tif 000011
【図８】
2011224769.tif 000012
【図９】
2011224769.tif 000013
【図１０】
2011224769.tif 000014
【図１１】
2011224769.tif 000015
【図１２】
2011224769.tif 000016
【図１３】
2011224769.tif 000017
【図１４】
2011224769.tif 000018
【図１５】
2011224769.tif 000019
【図１６】
2011224769.tif 000020