(57)【要約】【課題】センサなどを用いることなく、接触対象物との接触を検出し、接触対象物に対して過大な力を加えることなく、作業座標系で位置修正できる装置を提供する。【解決手段】上位指令部からの指令に基づいてロボットと外部軸とを制御するロボットの制御装置において、ロボットと外部軸とを含む実機部110、210を模擬したシミュレーション部120、220と、実機部110、210及びシミュレーション部120、220の同一状態量を比較して状態量比較値を出力する状態量比較部131、231と、状態量比較値と予め設定された検出しきい値とを比較して外部との接触を検出する接触検出部132、232と、接触検出部132、232の接触状態量に応じて、ロボット及び外部軸の位置を修正するための位置修正量を演算する修正量演算部33と、位置修正量を上位指令部からの指令に加算する指令修正部137、237とを備えることを特徴とするロボットの制御装置。【選択図】図１                      
2005125427.tif 000002
【特許請求の範囲】
【請求項１】
上位指令部からの指令に基づいてロボットと外部軸とを制御するロボットの制御装置において、
前記ロボットと前記外部軸とを含む実機部を模擬したシミュレーション部と、
前記実機部及び前記シミュレーション部の同一状態量を比較して状態量比較値を出力する状態量比較部と、
前記状態量比較値と予め設定された検出しきい値とを比較して外部との接触を検出する接触検出部と、
前記接触検出部の接触状態量に応じて、ロボット及び外部軸の位置を修正するための位置修正量を演算する修正量演算部と、
前記位置修正量を前記上位指令部からの指令に加算する指令修正部とを備えることを特徴とするロボットの制御装置。
【請求項２】
前記位置修正量を記憶する修正量記憶部とを備え、前記指令修正部は次の動作指令時に前記位置修正量を前記動作指令から減算することを特徴とする請求項１記載のロボットの制御装置。
【請求項３】
前記修正量演算部は、前記接触検出部からの接触状態量を基に、前記ロボット及び前記外部軸の少なくとも一方の位置修正量を演算することを特徴とする請求項１乃至２記載ロボットの制御装置。
【請求項４】
前記修正量演算部は、前記接触状態量が、予め設定された状態量になるように修正量を演算することを特徴とする請求項１及び３記載ロボットの制御装置。
【請求項５】
前記接触状態量は前記ロボット及び前記外部軸の検出位置であり、前記修正量演算部は、前記検出位置と動作指令を基に、前記ロボット及び前記外部軸への位置修正量を演算することを特徴とする請求項１乃至４記載ロボットの制御装置。
【請求項６】
前記指令修正部は、前記ロボット及び前記外部軸が接触対象物に接触するように動作指令を調整する指令調整部を備えることを特徴とする請求項１乃至５記載ロボットの制御装置。
【請求項７】
前記指令修正部は、予め設定された時間に基づいて前記ロボットに対する前記外部軸の動作指令を調整する時間調整部とを備えることを特徴とする請求項１乃至６記載ロボットの制御装置。
【請求項８】
前記指令修正部は、前記ロボット及び前記外部軸のエンドエフェクタの作業点が前記接触対象物と接触し、前記接触検出部で接触検出されるまでに前記接触対象物が撓む量をパラメータとして設定することを特徴とする請求項１乃至７記載ロボットの制御装置。
【請求項９】
前記検出しきい値、前記食い込み量、前記進み時間、前記撓み量をパラメータとして入力できる操作ペンダントを備えることを特徴とする請求項１乃至８記載のロボットの制御装置。
【請求項１０】
ロボットを操作する操作ペンダントを備え、前記操作ペンダントの操作画面上に、連続量又は離散量の形式で前記状態量を表示し、パラメータを調整可能とすることを特徴とする請求項１乃至９記載のびロボットの制御装置。
【請求項１１】
前記指令修正部は、前記接触対象物上の同じ加圧方向の作用点に対して、第１作用点で取得した位置修正量を第２作用点以降にある作用点の位置に対して修正することを特徴とする請求項１乃至１０記載ロボットの制御装置。
【請求項１２】
前記外部軸が接触対象物に加えた力により生じた前記外部軸の構造体の変形量との関係式を予め求めておき、接触検出した前記状態量に応じた変形量を、ロボットへの位置修正量とすることを特徴とする請求項１乃至１１記載ロボットの制御装置。
【請求項１３】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、
前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、
前記モータを模擬したモータモデルと、前記機構部を模擬した機構モデル部と、前記モータ制御部を模擬した制御モデル部とを有するシミュレーション部を有し、
前記モータ制御部及び前記モータ及び前記機構部を含む実機部及び前記シミュレーション部は並列に配置され、上位指令生成部からの動作指令をそれぞれに入力し、
前記実機部と前記シミュレーション部の同一状態量を比較し、
前記比較した状態量比較値と予め設定された検出しきい値を比較して外部との接触を検出し、
接触検出した状態量に応じて、ロボット及び外部軸の位置を修正することを特徴とするロボットの制御方法。
【請求項１４】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、
前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
プレイバック運転時に、第１ステップとして、前記外部軸を前記ロボットに対して先行動作させて接触対象物に接触させ、前記外部軸の前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記接触対象物に対する位置修正量を演算し、
第２ステップとして、第１ステップで求めた前記接触対象物の前記位置修正量を基に前記ロボット及び外部軸の位置を修正し、
第３ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することを特徴とするロボットの制御方法。
【請求項１５】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、
前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
プレイバック運転時に、第１ステップとして、前記ロボット又は前記外部軸を接触対象物に接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、前記接触力を基に前記接触対象物に対する位置修正量を演算し、
第２ステップとして、第１ステップで求めた前記位置修正量を基に前記ロボット及び前記外部軸の位置を修正し、
第３ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することを特徴とするロボットの制御方法。
【請求項１６】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、
前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
教示作業時に、第１ステップとして、前記外部軸を前記ロボットに対して先行動作させて接触対象物に接触させ、前記外部軸の前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記接触対象物に対する位置修正量を演算し、
第２ステップとして、第１ステップで求めた前記接触対象物の前記位置修正量を基に前記ロボット及び外部軸の位置を修正し、
第３ステップとして、前記修正されたロボット及び外部軸の現在位置を教示位置として記憶することを特徴とするロボットの制御方法。
【請求項１７】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、
前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
教示作業時に、第１ステップとして、前記ロボット又は前記外部軸を接触対象物に接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、前記接触力を基に前記接触対象物に対する位置修正量を演算し、
第２ステップとして、第１ステップで求めた前記位置修正量を基に前記ロボット及び前記外部軸の位置を修正し、
第３ステップとして、前記修正されたロボット及び前記外部軸の現在位置を教示位置として記憶することを特徴とするロボットの制御方法。
【請求項１８】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、
前記ロボット及び電動ガンの可動電極軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
プレイバック運転時に、第１ステップとして、前記電動ガンの可動電極を前記電動ガンの固定電極に対して動作させてワークに接触させ、前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記ワークに対する位置修正量を演算し、
第２ステップとして、第１ステップで求めた前記ワークの前記位置修正量を基に前記ロボット及び前記電動ガンの可動電極軸の位置を修正し、
第３ステップとして、溶接を実行し、
第４ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することを特徴とするロボットの制御方法。
【請求項１９】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、
前記ロボット及び電動ガンの可動電極軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
教示作業時に、第１ステップとして、前記電動ガンの可動電極を前記前記電動ガンの固定電極に対して動作させてワークに接触させ、前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記ワークに対する位置修正量を演算し、
第２ステップとして、第１ステップで求めた前記ワークの前記位置修正量を基に前記ロボット及び前記電動ガンの可動電極軸の位置を修正し、
第３ステップとして、前記修正されたロボット及び前記電動ガンの可動電極軸の現在位置を教示位置として記憶することを特徴とする溶接ロボットの制御方法。
【請求項２０】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、
前記ロボット及び電動ガンはモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
第１ステップとして、電極交換時に、前記電動ガンの可動電極と固定電極の先端を接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算し、  予め設定されたしきい値よりも大きくなった場合に前記可動電極軸を停止させ、前記可動電極軸の停止位置を基準位置１として記憶する過程と、
第２ステップとして、プレイバック運転中に可動電極と固定電極の先端を接触させて、第１ステップと同様な接触検出方法で前記可動電極軸を停止させ、前記可動電極軸の停止位置を全摩耗量として記憶する過程と、
第３ステップとして、前記電動ガンの可動電極を前記電動ガンの固定電極に対して先行動作させてワークに接触させ、第１ステップと同様な接触検出方法で前記可動電極軸を停止させ、前記可動電極軸の停止位置を基準位置２として記憶し、前記基準位置１と前記基準位置２との差から前記可動電極の摩耗量を演算し、前記全摩耗量と前記可動電極の摩耗量から前記固定電極の摩耗量を演算し、
第４ステップとして、第３ステップで求めた前記可動電極及び固定電極の摩耗量を基に前記ロボット及び電動ガンの可動電極軸の位置を修正して溶接を続けることを特徴とするロボットの制御方法。
【請求項２１】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、
前記ロボット及び電動ガンはモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
板厚の異なる複数枚の板を重ね合わせたワークを溶接するプレイバック運転時に、第１ステップとして、前記電動ガンの可動電極及び固定電極をワークに接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、
第２ステップとして、前記接触力を基に、ナゲット位置を移動させたい方向の電極の加圧力が小さくなるように前記ワークに対する位置修正量を演算し、
第３ステップとして、第２ステップで求めた前記位置修正量を基に前記ロボット及び電動ガンの可動電極の位置を修正して溶接することを特徴とするロボットの制御方法。
【請求項２２】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、
前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
溶接終了時に、第１ステップとして、前記シミュレーション部と前記実機部の状態量を比較することで、前記ロボット又は前記外部軸と接触対象物との接触力を演算して、
第２ステップとして、第１ステップで求めた前記接触力と予め設定された検出しきい値を比較し、
第３ステップとして、前記接触力が前記検出しきい値よりも大きい場合にはロボット及び前記外部軸を停止させるか、又は予め設定された溶着解除動作をさせるか、又は外部へ信号を出力させることを特徴とするロボットの制御方法。
【請求項２３】
モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、
前記ロボット及び電動ガンの可動電極軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、
プレイバック運転又は教示作業前に、第１ステップとして、前記電動ガンの可動電極軸が発生する力とその力により生じる前記電動ガンの固定電極側及び可動電極側のアームの撓み量との関係式を求め、
プレイバック運転又は教示作業時の加圧実行時に、第２ステップとして、前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量を比較することで検出した加圧力と前記関係式により、固定電極側及び可動電極側のアームの撓み量を求め、
第３ステップとして、前記撓み量から前記ロボットの位置修正量を求め、
第４ステップとして、前記位置修正量によりロボットを動作させ、可動電極及び固定電極の位置を維持することを特徴とする溶接ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ及びモータを駆動源とするロボットにおいて、モータ本体やロボット本体やエンドエフェクタ等がワーク等の他の物体との接触を検出し、位置を修正するロボットの制御装置および制御方法に関する。
【背景技術】
【０００２】
従来のロボットはロボットの関節軸毎に位置速度制御系にて制御が行われていた。このような制御系でワークとの接触を伴うようなスポット溶接やシーム溶接や組立作業のプレイバック再生を行う際、ワーク自体の位置ズレやロボットがワークを把持した位置のズレなどがあると、図１１に示す従来の位置速度制御系では、位置決め精度を高くするために大きく設定されたゲインや積分器の作用により、大きなトルクが発生し、ロボットやエンドエフェクタやワークを破損させる危険性がある。また、逆に、接触時の作用力不足で、作業不良になる場合もある。
【０００３】
例えば、ロボットと電動ガンを用いたスポット溶接において、ライン上をワークが搬送されてくる際に、ワークの加工誤差や位置決め誤差で、ワークが教示位置から位置ズレした場合を考える。位置ズレ量が大きいと、電動ガンの電極先端がワーク表面の教示点と接触できなくなるために通電できず、溶接不良でラインを停止させるという問題があった。また、位置ズレ量が小さく、電極とワークが接触した場合でも、ワークを変形させたままで溶接すると、溶接品質が低下したり、ワークや電動ガンを破損させたりする問題もあった。また、スポット溶接時の加圧と溶接熱により次第に電極が摩耗して、この摩耗量を適切に検出しないと電極とワークが接触せずに通電できないという問題もあった。
また、板厚の異なる複数枚の板を溶接する場合、上下の電極でワークに加える加圧力が均等であると、通電量が大きい場合にはワーク内に生成されるナゲットが薄板の表面に達してスパッタやチップ溶着を生じ、通電量が小さい場合にはナゲットが小さくて溶接強度が確保できないという問題があった。
更には、溶接終了位置から退避する際に、電極や芯線がワークと溶着すると、ワークや溶接冶具を破損させたり、ラインを停止させてしまったりするという問題があった。
【０００４】
また、加圧力に応じて電動ガンのガンアームが弾性変形して、電極の位置が予め教示された位置から移動してしまい、ワークに不要な力が加わり、溶接品質が低下したり、ワークや電動ガンを破損させたりする問題もあった。
このような問題に対して、ロボットに特別な装置を付加することなく作業座標系で柔軟に力制御を行う方式としては、作業座標系のガン加圧方向に関してサーボ系の剛性を下げ、ガン加圧と溶接を実行する方式がある（例えば、特許文献１参照）。
また、外力の推定をして力制御を行う方式としては、関節座標系の各軸のモータへの外乱を外乱オブザーバにより推定し、ヤコビ行列を用いた座標変換により外乱推定値を作業座標系の外力推定値に変換できる方式がある（例えば、特許文献２及び特許文献３参照）。
また、電極摩耗量を検出する方式として、電極の空打ちで全摩耗量を求めて２分割する方式や、外部に設けた測定器で電極摩耗量を測定する方式がある（例えば、特許文献４参照及び特許文献５）。
【０００５】
また、板厚の異なる複数枚の板をスポット溶接する方式として、薄板側の加圧力を厚板側の加圧力よりも大きくすることで、ナゲット位置を厚板側に移動させる方式がある（例えば、特許文献６参照及び特許文献７）。
また、溶着検出してロボットを停止させる方式として、外乱推定オブザーバにより外力を検出する方式や電流変化により外力を検出する方式がある（例えば、特許文献８及び特許文献９参照）。
また、ガンアームの弾性変形を補正する方式として、目標加圧力に応じたガンアームの変位量を読み出してロボット軸を移動させて、加圧力に達したかはモータの電流値により判別する方式がある（例えば、特許文献１０参照）。
【特許文献１】特開２０００−００５８８１号公報
【特許文献２】特開平１１−０５８２８５号公報
【特許文献３】特許２８１９４５６号公報
【特許文献４】特開平０６−３１２２７４号公報
【特許文献５】特開平０６−０３１４６０号公報
【特許文献６】特開平０９−２７７０６０号公報
【特許文献７】特開平１０−２４９５３７号公報
【特許文献８】特開平０５−１１６０９４号公報
【特許文献９】特開２００１−１７０７７８号公報
【特許文献１０】特開平０５−１５５０３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、従来のツール座標系で柔らかさ（バネ定数）を設定して空間内の方向別に外力に対する順応性の大小を指定する方式では、位置偏差が増大するとサーボモータの発生トルクが比例的に増大するため外力による位置偏差（移動距離）が大きな場合に対応できないという問題点がある。また、周辺機器やワークを取り除いて接触状態を解除しようとした場合にロボットは元の位置指令の場所に戻る力を発生させるため、再度周辺機器やワークと衝突を起して周辺機器やワークを破損させるなどの問題点を有している。
また、従来の関節座標系の外乱を外乱オブザーバにより推定し、ヤコビ行列を用いた座標変換により外乱推定値を作業座標系の外力推定値に変換する方式では、フィルタなどを使用することで検出時間にも遅れが発生し、また、摩擦や重力の影響が大きく正確な外力推定値を得ることが出来ないという問題点を有している。
【０００７】
また、電極の空打ちで全摩耗量を求めて２分割する方式では可動側と固定側の電極が均等に摩耗しない場合には対応できず、外部に設けた測定器で電極摩耗量を測定する方式では別途測定器が必要で測定器を配置する場所も必要という問題点を有している。
また、厚板側よりも薄板側の加圧力を大きくしてナゲット位置を厚板側に移動させる方式では、可動電極の駆動以外に電動ガン全体や固定電極側を上下させるための駆動源を別途必要としており、可動電極の駆動源のみしか持たない電動ガンでは対応できないという問題点を有している。
【０００８】
また、溶着検出を外乱推定オブザーバや電流変化で検出する方式では、上記と同様にフィルタ等の使用で検出遅れがあり、摩擦や重力の影響が大きく正確に検出することが出来ないという問題点を有している。
また、目標加圧力に応じたガンアームの変位量を読み出してロボット軸を移動させて、加圧力に達したかはモータの電流値により判別する方式では、実際の加圧開始から目標加圧力に達するまでの加圧力を検出できず、モータによる実際の加圧力と目標加圧力にずれが生じた場合には、モータによる加圧とロボット軸の補正移動の同期も取れないという問題点を有している。
【０００９】
そこで本発明は、センサなどを用いることなく、接触対象物との接触を検出し、接触対象物に対して過大な力を加えることなく、作業座標系で位置修正できることを目的とする。
また、スポット溶接において、電極摩耗量を測定器不要で精度良く検出し、ガンアームの弾性変形を精度良く補正し、可動電極の駆動源のみの電動ガンで板厚の異なる複数枚の板を溶接することを目的とする。更には、高感度に溶着検出することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の請求項１記載のロボット制御装置は、上位指令部からの指令に基づいてロボットと外部軸とを制御するロボットの制御装置において、前記ロボットと前記外部軸とを含む実機部を模擬したシミュレーション部と、前記実機部及び前記シミュレーション部の同一状態量を比較して状態量比較値を出力する状態量比較部と、前記状態量比較値と予め設定された検出しきい値とを比較して外部との接触を検出する接触検出部と、前記接触検出部の接触状態量に応じて、ロボット及び外部軸の位置を修正するための位置修正量を演算する修正量演算部と、前記位置修正量を前記上位指令部からの指令に加算する指令修正部とを備えることを特徴とするロボットの制御装置。
【００１１】
本発明の請求項２記載のロボット制御装置は、前記位置修正量を記憶する修正量記憶部とを備え、前記指令修正部は次の動作指令時に前記位置修正量を前記動作指令から減算することを特徴とするものである。
【００１２】
本発明の請求項３記載のロボット制御装置は、前記修正量演算部は、前記接触検出部からの接触状態量を基に、前記ロボット及び前記外部軸の少なくとも一方の位置修正量を演算することを特徴とするものである。
【００１３】
本発明の請求項４記載のロボット制御装置は、前記修正量演算部は、前記接触状態量が、予め設定された状態量になるように修正量を演算することを特徴とするものである。
【００１４】
本発明の請求項５記載のロボット制御装置は、前記接触状態量は前記ロボット及び前記外部軸の検出位置であり、前記修正量演算部は、前記検出位置と動作指令を基に、前記ロボット及び前記外部軸への位置修正量を演算することを特徴とするものである。
【００１５】
本発明の請求項６記載のロボット制御装置は、前記指令修正部は、前記ロボット及び前記外部軸が接触対象物に接触するように動作指令を調整する指令調整部を備えることを特徴とするものである。
【００１６】
本発明の請求項７記載のロボット制御装置は、前記指令修正部は、予め設定された時間に基づいて前記ロボットに対する前記外部軸の動作指令を調整する時間調整部とを備えることを特徴とするものである。
本発明の請求項８記載のロボット制御装置は、前記指令修正部は、前記ロボット及び前記外部軸のエンドエフェクタの作業点が前記接触対象物と接触し、前記接触検出部で接触検出されるまでに前記接触対象物が撓む量をパラメータとして設定することを特徴とするものである。
【００１７】
本発明の請求項９記載のロボット制御装置は、前記検出しきい値、前記食い込み量、前記進み時間、前記撓み量をパラメータとして入力できる操作ペンダントを備えることを特徴とするものである。
【００１８】
本発明の請求項１０記載のロボット制御装置は、ロボットを操作する操作ペンダントを備え、前記操作ペンダントの操作画面上に、連続量又は離散量の形式で前記状態量を表示し、パラメータを調整可能とすることを特徴とするものである。
【００１９】
本発明の請求項１１記載のロボット制御装置は、前記指令修正部は、前記接触対象物上の同じ加圧方向の作用点に対して、第１作用点で取得した位置修正量を第２作用点以降にある作用点の位置に対して修正することを特徴とするものである。
【００２０】
本発明の請求項１２記載のロボット制御装置は、前記外部軸が接触対象物に加えた力により生じた前記外部軸の構造体の変形量との関係式を予め求めておき、接触検出した前記状態量に応じた変形量を、ロボットへの位置修正量とすることを特徴とするものである。
【００２１】
本発明の請求項１３記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータを模擬したモータモデルと、前記機構部を模擬した機構モデル部と、前記モータ制御部を模擬した制御モデル部とを有するシミュレーション部を有し、前記モータ制御部及び前記モータ及び前記機構部を含む実機部及び前記シミュレーション部は並列に配置され、上位指令生成部からの動作指令をそれぞれに入力し、前記実機部と前記シミュレーション部の同一状態量を比較し、前記比較した状態量比較値と予め設定された検出しきい値を比較して外部との接触を検出し、接触検出した状態量に応じて、ロボット及び外部軸の位置を修正することを特徴とするものである。
【００２２】
本発明の請求項１４記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、プレイバック運転時に、第１ステップとして、前記外部軸を前記ロボットに対して先行動作させて接触対象物に接触させ、前記外部軸の前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記接触対象物に対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記接触対象物の前記位置修正量を基に前記ロボット及び外部軸の位置を修正し、第３ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することを特徴とするものである。
【００２３】
本発明の請求項１５記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、プレイバック運転時に、第１ステップとして、前記ロボット又は前記外部軸を接触対象物に接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、前記接触力を基に前記接触対象物に対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記位置修正量を基に前記ロボット及び前記外部軸の位置を修正し、第３ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することを特徴とするものである。
【００２４】
本発明の請求項１６記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、教示作業時に、第１ステップとして、前記外部軸を前記ロボットに対して先行動作させて接触対象物に接触させ、前記外部軸の前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記接触対象物に対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記接触対象物の前記位置修正量を基に前記ロボット及び外部軸の位置を修正し、第３ステップとして、前記修正されたロボット及び外部軸の現在位置を教示位置として記憶することを特徴とするものである。
【００２５】
本発明の請求項１７記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボットと外部軸とを制御するロボットの制御方法において、前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、教示作業時に、第１ステップとして、前記ロボット又は前記外部軸を接触対象物に接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、前記接触力を基に前記接触対象物に対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記位置修正量を基に前記ロボット及び前記外部軸の位置を修正し、第３ステップとして、前記修正されたロボット及び前記外部軸の現在位置を教示位置として記憶することを特徴とするものである。
【００２６】
本発明の請求項１８記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、前記ロボット及び電動ガンの可動電極軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、プレイバック運転時に、第１ステップとして、前記電動ガンの可動電極を前記電動ガンの固定電極に対して動作させてワークに接触させ、前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記ワークに対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記ワークの前記位置修正量を基に前記ロボット及び前記電動ガンの可動電極軸の位置を修正し、第３ステップとして、溶接を実行し、第４ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することを特徴とするものである。
【００２７】
本発明の請求項１９記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、前記ロボット及び電動ガンの可動電極軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、教示作業時に、第１ステップとして、前記電動ガンの可動電極を前記前記電動ガンの固定電極に対して動作させてワークに接触させ、前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記ワークに対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記ワークの前記位置修正量を基に前記ロボット及び前記電動ガンの可動電極軸の位置を修正し、第３ステップとして、前記修正されたロボット及び前記電動ガンの可動電極軸の現在位置を教示位置として記憶することを特徴とするものである。
【００２８】
本発明の請求項２０記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、前記ロボット及び電動ガンはモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、第１ステップとして、電極交換時に、前記電動ガンの可動電極と固定電極の先端を接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算し、  予め設定されたしきい値よりも大きくなった場合に前記可動電極軸を停止させ、前記可動電極軸の停止位置を基準位置１として記憶する過程と、第２ステップとして、プレイバック運転中に可動電極と固定電極の先端を接触させて、第１ステップと同様な接触検出方法で前記可動電極軸を停止させ、前記可動電極軸の停止位置を全摩耗量として記憶する過程と、第３ステップとして、前記電動ガンの可動電極を前記電動ガンの固定電極に対して先行動作させてワークに接触させ、第１ステップと同様な接触検出方法で前記可動電極軸を停止させ、前記可動電極軸の停止位置を基準位置２として記憶し、前記基準位置１と前記基準位置２との差から前記可動電極の摩耗量を演算し、前記全摩耗量と前記可動電極の摩耗量から前記固定電極の摩耗量を演算し、第４ステップとして、第３ステップで求めた前記可動電極及び固定電極の摩耗量を基に前記ロボット及び電動ガンの可動電極軸の位置を修正して溶接を続けることを特徴とするものである。
【００２９】
本発明の請求項２１記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、前記ロボット及び電動ガンはモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、板厚の異なる複数枚の板を重ね合わせたワークを溶接するプレイバック運転時に、第１ステップとして、前記電動ガンの可動電極及び固定電極をワークに接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、第２ステップとして、前記接触力を基に、ナゲット位置を移動させたい方向の電極の加圧力が小さくなるように前記ワークに対する位置修正量を演算し、第３ステップとして、第２ステップで求めた前記位置修正量を基に前記ロボット及び電動ガンの可動電極の位置を修正して溶接することを特徴とするものである。
【００３０】
本発明の請求項２２記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、前記ロボット及び前記外部軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、溶接終了時に、第１ステップとして、前記シミュレーション部と前記実機部の状態量を比較することで、前記ロボット又は前記外部軸と接触対象物との接触力を演算して、第２ステップとして、第１ステップで求めた前記接触力と予め設定された検出しきい値を比較し、第３ステップとして、前記接触力が前記検出しきい値よりも大きい場合にはロボット及び前記外部軸を停止させるか、又は予め設定された溶着解除動作をさせるか、又は外部へ信号を出力させることを特徴とするものである。
【００３１】
本発明の請求項２３記載のロボット制御方法は、モータ制御部の指令に基づいてモータを駆動し、前記モータに接続される駆動機構部を有するロボット及び前記ロボットの先端に取り付けた電動ガンによりスポット溶接を行うロボットの制御方法において、前記ロボット及び電動ガンの可動電極軸はモータにより駆動される機構部とモータ制御部を有し、前記モータ制御部と前記モータと前記機構部からなる実機部をシミュレーションするシミュレーション部とを備え、プレイバック運転又は教示作業前に、第１ステップとして、前記電動ガンの可動電極軸が発生する力とその力により生じる前記電動ガンの固定電極側及び可動電極側のアームの撓み量との関係式を求め、プレイバック運転又は教示作業時の加圧実行時に、第２ステップとして、前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量を比較することで検出した加圧力と前記関係式により、固定電極側及び可動電極側のアームの撓み量を求め、第３ステップとして、前記撓み量から前記ロボットの位置修正量を求め、第４ステップとして、前記位置修正量によりロボットを動作させ、可動電極及び固定電極の位置を維持することを特徴とするものである。
【発明の効果】
【００３２】
以上述べたように、請求項１のロボット及び外部軸の制御装置によれば、実機部及びシミュレーション部を並列に配置し、上位指令生成部から同一の指令を入力し、前記実機部及び前記シミュレーション部の内部状態量を比較して内部状態量比較値を作成し、予め設定された検出しきい値と比較して接触検出及びロボット及び外部軸の位置を修正することにより、接触対象物が作業座標系で位置ズレしていた場合にも、簡単な処理で高感度に接触検出して、ロボット及び外部軸で位置ズレを吸収することができる。
請求項２記載のロボットの制御装置によれば、位置修正量を記憶しておき、次の動作時に前記位置修正量を動作指令から減算することで、上位で生成された動作指令と位置修正された現在位置を一致させて、過大な力が発生しないようにできる。
請求項３及び４記載のロボットの制御装置によれば、検出した力及びトルク状態量を基に位置修正量を演算し、予め設定した力及びトルクになるように力を制御することで、位置ズレを吸収して、接触状態を保ったままで任意の加圧状態を得ることができる。
【００３３】
請求項５記載のロボットの制御装置によれば、検出位置と動作指令を基に、ロボット及び外部軸への位置修正量を演算することで、簡単な処理で高感度に接触検出して、ロボット及び外部軸で位置ズレを吸収することができる。
請求項６記載のロボットの制御装置によれば、予め設定された食い込み量だけ、ロボット及び外部軸の動作指令を接触対象物の内部に設けることで、目標位置よりも接触対象物の内部方向に位置ズレした場合にも対応して、接触することができる。
請求項７記載のロボットの制御装置によれば、予め設定された進み時間だけ、ロボットに対する外部軸の動作指令を進めることで、接触対象物に外部軸を先に接触させ、外部軸のみで接触対象物の位置ズレ量を検出することができる。
【００３４】
請求項８記載のロボットの制御装置によれば、前記接触検出部で検出されるまでに前記接触対象物が撓む量をパラメータとして設定することで、接触対象物の剛性が低い場合にも、撓み量分も位置補正して、動作指令の位置で接触対象物と接触することができる。
請求項９及び１０記載のロボットの制御装置によれば、制御装置に付属した操作ペンダントの操作画面から、前記検出しきい値、前記食い込み量、前記進み時間、前記撓み量をパラメータとして入力し、接触前後の前記状態量を連続量又は離散量の形式で表示し、パラメータの調整をすることで、作業者が直感的定量的に検出状態を把握でき、前記パラメータを容易に調整することができる。
【００３５】
請求項１１記載のロボットの制御装置によれば、接触対象物上の同じ加圧方向の作用点に対して、第１作用点で取得した位置修正量を第２作用点以降にある作用点の位置に対して修正することで、接触時に毎回実行していた演算負荷を減少させて、位置補正をすることができる。
請求項１２記載のスポット溶接を行うロボットの制御装置によれば、前記外部軸が接触対象物に加えた力及びトルクとそれにより生じた前記外部軸の構造体の変形量との関係式を予め求めておき、接触検出した前記力及びトルク状態量に応じた変形量を、ロボットへの位置修正量とすることにより、外部軸の作業対象物に対する力及びトルクと連動してロボットを動作でき、作業位置を保つことができる。また、作業対象物に不要な力が加わらない。
【００３６】
請求項１３記載のロボットの制御方法によれば、実機部及びシミュレーション部を並列に配置し、上位指令生成部から同一の指令を入力し、前記実機部及び前記シミュレーション部の内部状態量を比較して内部状態量比較値を作成し、予め設定された検出しきい値と比較して接触検出及びロボット及び外部軸の位置を修正することにより、接触対象物が作業座標系で位置ズレしていた場合にも、簡単な処理で高感度に接触検出して、ロボット及び外部軸で位置ズレを吸収することができる。
請求項１４記載のロボットの制御方法によれば、プレイバック運転時に、第１ステップとして、前記外部軸を前記ロボットに対して先行動作させて接触対象物に接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記接触対象物に対する位置修正量を演算し、第２ステップとして、第1ステップで求めた前記接触対象物の前記位置修正量を基に前記ロボットの位置を修正し、第３ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することにより、接触対象物が作業座標系で位置ズレしていた場合にも、簡単な処理で高感度に接触検出して、ロボット及び外部軸で位置ズレを吸収することができ、次の動作命令時に上位で生成された動作指令と位置修正された現在位置を一致させ、過大な力が発生しないようにできる。
【００３７】
請求項１５記載のロボットの制御方法によれば、プレイバック運転時に、第１ステップとして、前記ロボット又は前記外部軸を接触対象物に接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、前記接触力を基に前記接触対象物に対する位置修正量を演算し、第２ステップとして、第1ステップで求めた前記位置修正量を基に前記ロボットの位置を修正し、第３ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することにより、位置ズレを吸収して、接触状態を保ったままで任意の加圧状態を得ることができる。
請求項１６記載のロボットの制御方法によれば、教示作業時に、第１ステップとして、前記外部軸を前記ロボットに対して先行動作させて接触対象物に接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記接触対象物に対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記接触対象物の前記位置修正量を基に前記ロボットの位置を修正し、第３ステップとして、前記修正されたロボットの現在位置を教示位置として記憶することにより、作業者が目視できない状況でもワークとの接触状態を保って簡単に教示することができる。
【００３８】
請求項１７記載のスポット溶接を行うロボットの制御方法によれば、教示作業時に、第１ステップとして、前記ロボット又は前記外部軸を接触対象物に接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、前記接触力を基に前記接触対象物に対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記位置修正量を基に前記ロボットの位置を修正し、第３ステップとして、前記修正されたロボットの現在位置を教示位置として記憶することにより、作業者が目視できない状況でも予め設定された力でワークとの接触状態を保って教示することができる。
請求項１８記載のスポット溶接を行うロボットの制御方法によれば、プレイバック運転時に、第１ステップとして、前記電動ガンを前記ロボットに対して先行動作させてワークに接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記ワークに対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記ワークの前記位置修正量を基に前記ロボットの位置を修正し、第３ステップとして、溶接を実行し、第４ステップとして、次の動作命令時に第２ステップで修正した前記位置修正量を動作指令から減算することで、前記ワークが位置ズレしていた場合でもワークに過大な力を加えることなく、前記位置ズレを吸収して加圧及び溶接することができる。
【００３９】
請求項１９記載のスポット溶接を行うロボットの制御方法によれば、教示作業時に、第１ステップとして、前記電動ガンを前記ロボットに対して先行動作させてワークに接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触検出して前記ワークに対する位置修正量を演算し、第２ステップとして、第１ステップで求めた前記ワークの前記位置修正量を基に前記ロボットの位置を修正し、第３ステップとして、前記修正されたロボットの現在位置を教示位置として記憶することにより、作業者が目視できない状況でもワークとの接触状態を保って簡単に可動電極と固定電極のスポット加圧点を教示することができる。
請求項２０記載のスポット溶接を行うロボットの制御方法によれば、第１ステップとして、電極交換時に可動電極と固定電極の先端を接触させて可動電極軸の停止位置を基準位置１として記憶し、第２ステップとして、プレイバック運転中に第１ステップと同様に可動電極と固定電極の先端を接触させて可動電極軸の停止位置を全摩耗量として記憶し、第３ステップとして、可動電極を固定電極に対して先行動作させてワークに接触させて可動電極軸を停止させ、可動電極軸の停止位置を基準位置２として記憶し、基準位置１と基準位置２との差から可動電極の摩耗量を演算し、全摩耗量と可動電極の摩耗量から固定電極の摩耗量を演算し、第４ステップとして、第３ステップで求めた可動電極及び固定電極の摩耗量を基にロボット及び電動ガンの可動電極軸の位置を修正して溶接を続けることにより、可動側と固定側の電極が均等に摩耗しない場合には対応でき、外部測定器が不要で、電極摩耗量を精度良く検出して溶接を続行することができる。
【００４０】
請求項２１記載のスポット溶接を行うロボットの制御方法によれば、板厚の異なる複数枚の板を重ね合わせたワークを溶接するプレイバック運転時に、第１ステップとして、前記電動ガンの可動電極及び固定電極をワークに接触させ、前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算して、第２ステップとして、前記接触力を基に、ナゲット位置を移動させたい方向の電極の加圧力が小さくなるように前記ワークに対する位置修正量を演算し、第３ステップとして、第２ステップで求めた前記位置修正量を基に前記ロボット及び電動ガンの位置を修正して溶接することにより、厚板側よりも薄板側の加圧力を大きくしてナゲット位置を厚板側に移動させて溶接することができ、電動ガン自体に可動電極の駆動源のみしか持たない電動ガンでも対応できる。
請求項２２記載のスポット溶接を行うロボットの制御方法によれば、スポット溶接終了時に、第１ステップとして、前記シミュレーション部と前記実機部の状態量を比較することで、前記ロボット又は前記外部軸とワークとの接触力を演算して、第２ステップとして、第１ステップで求めた前記接触力と予め設定された検出しきい値を比較し、第３ステップとして、前記接触力が前記検出しきい値よりも大きい場合にはロボット及び前記外部軸を停止させるか、又は予め設定された溶着解除動作をさせるか、又は外部へ信号を出力させることにより、検出遅れが無く、摩擦や重力の影響を受けずに高感度に溶着を検出して、回避行動を取ることができる。
【００４１】
請求項２３記載のスポット溶接を行うロボットの制御方法によれば、プレイバック運転又は教示作業前に、第１ステップとして、前記電動ガンの可動電極軸が発生する力とその力により生じる前記電動ガンの固定電極側及び可動電極側のアームの撓み量との関係式を求め、プレイバック運転又は教示作業時の加圧実行時に、第２ステップとして、前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量を比較することで検出した加圧力と前記関係式により、固定電極側及び可動電極側のアームの撓み量を求め、第３ステップとして、前記撓み量から前記ロボットの位置修正量を求め、第４ステップとして、前記位置修正量によりロボットを動作させ、可動電極及び固定電極の位置を維持することにより、電動ガンのワークに対する加圧力の発生と連動させてロボットを動作でき、溶接位置を保ったままでスポット溶接を実行することができる。また、ワークに不要な力が加わらず、溶接品質を向上できる。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００４３】
本発明の第１の基本構成を図１、図２及び図１８に示して説明する。ここでは、説明の簡略化のため、本制御装置で駆動する外部軸のモータは１軸とする。
図１において、ロボット及び外部軸の制御は、ロボットを制御するロボット軸制御系10と外部軸を制御する外部軸制御系20に分けることができる。ここで、外部軸とは、ロボット軸以外にモータで駆動される軸であり、ロボットに接するか又はロボット近傍に配置される。
ロボット軸制御系10には、図２(a)に示すように、実機部110とシミュレーション部120で構成されている。実機部110は、機構部112と、前記機構部112に接続されたモータ113と、前記モータ113を制御するモータ制御部111で構成されている。シミュレーション部120は、前記機構部112の動力学系を模擬した機構モデル部122と、前記モータ113の動力学系を模擬したモータモデル部123と、モータ制御部111を模擬した制御モデル部122で構成されている。
モータを制御する制御装置内で、前記実機部110及び前記シミュレーション部120は並列に配置されており、それぞれ上位指令生成部50から同一の指令を入力とする。前記実機部110及び前記シミュレーション部120では、入力された指令に応じて機構部112及び機構部モデル122を制御するためのトルク指令を、それぞれモータ113及びモータモデル123に出力する。
【００４４】
ここで、前記シミュレーション部120でトルク指令を求める演算は機構部112を剛体モデルとすると、以下の式１〜３を解くことができ、演算量が少ないために制御装置のＣＰＵの負担にならず、マルチタスク構成のＣＰＵを使用すれば、実機部の制御と並列して演算することもできる。
【００４５】
Tref= Ｊ*Kv*( Kp*(θref - θfb ) - Ｖfb)   ・・・（式１）
ここで、Tref：トルク指令
Ｊ：モータのロータイナーシャ＋機構部のイナーシャ（減速機を含む）
Kv：速度ループゲイン
Kp：位置ループゲイン
θref：上位指令生成部50から位置指令
θfb：位置フィードバック
Ｖfb：速度フィードバック
【００４６】
Ｖfb -= Σ( dt * Tref / J )  ・・・（式２）
ここで、
dt：演算周期時間
Σ：積分
【００４７】
θfb = Σ( dt * Ｖfb )  ・・・（式３）
【００４８】
ここで、外部軸制御系20にも、図２(b)に示すように、前記ロボット軸制御系10と同様に、実機部210とシミュレーション部220を有している。そのため、ここでは前記ロボット軸制御系10に関して説明する。
シミュレーション部120では実機部110のサーボ系の遅れや機構の特性などを含んだモータの運動特性を反映できているので、実機部110とシミュレーション部120の内部状態量（位置指令、位置フィードバック、位置偏差、速度指令、速度フィードバック、速度偏差など）は、ほぼ一致する。
そこで、モータ113に接続された負荷と外部の周辺機器との衝突は、実機部110の内部状態量にのみ作用し、シミュレーション部120の内部状態量には変化を与えない。この違いにより外部の周辺機器との衝突を検出することができる。ここで、シミュレーション部120には実機部110と同一の指令を入力しているので、動作指令がステップ波形のように高周波成分を含んで急激に変化した場合でも、シミュレーション部120と実機部110の内部状態量は同じ応答を示すために、両者の内部状態量を比較することで指令による内部状態量の変化をキャンセルでき、衝突検出の感度に影響を与えない。
【００４９】
状態量比較部131では、前記実機部110と前記シミュレーション部120における前記モータ制御部111と前記制御モデル部121の同一状態量（例えば、位置偏差や速度フィードバックやトルク指令など）を、または、前記機構部113と前記機構モデル部122の同一状態量（例えば、位置フィードバックなど）を比較して、状態量比較値を作成する。ここで、状態量比較値は、状態量の瞬間値か、状態量の一定時間毎の蓄積値か、状態量の微分値で作成される。
接触検出部132では、前記状態量比較値と予め作業内容に応じて設定された検出しきい値を比較することで、モータ113に接続された負荷と外部との衝突を検出し、衝突検出された時点で接触状態量を発生させる。
図１に示すように、修正量演算部33では、前記ロボット軸制御系10と前記外部軸制御系20からの前記接触状態量を基に、ロボット軸位置修正量及び外部軸位置修正量を作成する。ここで、前記ロボット軸制御系10で検出した接触状態量に応じて、ロボット軸のみを位置修正するか、外部軸も併せて修正するかは選択できるものとする。また、前記外部軸制御系20で検出した場合も同様であり、前記ロボット軸制御系10と前記外部軸制御系20で検出した接触状態量を合成することで、ロボット軸及び外部軸の位置修正量を作成しても良い。
【００５０】
前記ロボット軸位置修正量及び外部軸位置修正量は修正量記憶部34に記憶され、同時に前記ロボット軸制御系10と前記外部軸制御系20の位置指令にそれぞれ加算される。これにより、ロボット軸又は外部軸が接触対象物に接触した場合には、その接触状態量に応じて、ロボット軸又は外部軸を位置修正することで、接触対象物に過大な力を加えることなく、作業を続行することができる。また、接触後に、接触状態を保ったままで予め設定された加圧力で接触対象物を加圧するようにしても良い。
【００５１】
以下に、本発明の第１の具体的実施例を説明する。
本実施例では、図３、図２０及び図２３に示すように、電動ガン402を使用したロボット401によるスポット溶接用途を例に説明する。溶接対象物であるワーク405がライン上を搬送されてくる際に、ワーク405の加工誤差や位置決め誤差で、ワーク405が予め登録された教示位置から電動ガン402の開閉方向に位置ズレした場合の補正方法（イコライジング機能）について考える。
プレイバック運転では、ロボット401の手先に配置した電動ガン402の可動電極403と固定電極404は、ワーク405表面上に予め登録された教示点に移動する。しかし、前記電動ガン402の開閉方向の位置ズレ量が大きいと、通電できずに溶接不良となってライン停止を招いたり、位置決め精度を高くするために大きく設定されたゲインや積分器の作用により大きなトルクが発生して、ワーク405や電動ガン402を破損させたりする可能性がある。また、前記位置ズレ量が小さくてもワーク405を変形させたまま溶接して溶接品質が低下してしまう。そこで、前記ワーク405の位置ズレをロボット401及び電動ガン402で検出して、実時間で位置補正する必要がある。
【００５２】
以下では、ワーク405の位置ズレに対して、ロボット401及び電動ガン402による位置ズレ検出及び補正の方法について説明する。
ワーク405の位置ズレが無い正常状態を、図４(a)〜(c)に示す。
ワーク405が非常に薄い場合には、可動電極側と固定電極側の教示点はＡ点で交わる。この教示点Ａに向かって、可動電極403及び固定電極404は、(a)の予め登録された小開位置から同時に下降及び上昇を開始する。図４(b)で、可動電極403及び固定電極404は、同時に教示点Ａに到達してワーク405に接触し、本加圧することでワーク405を溶接することができる。図４(c)では、開放命令により小開位置への移動を実施する。
【００５３】
次に、ワーク405の位置ズレがある状態を、図４(d)〜(f)に示す。
（１）     位置ズレ検出
図４(d)に示すように、教示位置から可動電極側に位置ズレ量αがある。可動電極403及び固定電極404は、小開位置から同時に下降及び上昇を開始する。
図４(e)に示すように、固定電極404よりも先に可動電極403がワーク405に教示位置よりもαだけ上側にあるＢ点で接触する。固定電極は教示位置に到達するが位置ズレがあるためにワーク405と接触しない。
ここで、ワーク405と可動電極403の接触は、図５に示すように、ガン軸制御系20の実機部210とシミュレーション部220の内部状態量を比較することで検出する。ここでは、内部状態量としてモータ制御部211と制御モデル部221の出力である実機トルク指令とモデルトルク指令を用いる。状態量比較部231内で、接触によって実機部210の前記実機トルク指令の急激な変動が生じるため、状態量比較値として前記実機トルク指令と前記モデルトルク指令の差分を作成する。
【００５４】
接触検出部232では、前記状態量比較値と予め作業内容に応じて設定された検出しきい値を比較することで、モータ213に接続された機構部212（ここでは可動電極403）とワーク405との衝突を検出し、衝突検出された時点で接触状態量としてガン軸接触力を発生させる。ガン軸接触力は、トルク指令の差分である前記状態量比較値を、減速機の構成に応じて力の単位系に変換することで求めることができる。
ここでは、ワーク405が教示位置から可動電極側に位置ズレして、ガン軸制御系20の接触力を求める過程を述べたが、ワーク405が教示位置から固定電極側に位置ズレした場合も同様である。ただし、ロボット各軸のトルク指令の差分である前記状態量比較値を力の単位系に変換する過程が異なる。
【００５５】
ロボット軸制御系10の接触検出部132では、一般的にヤコビアンと呼ばれる関節座標系と作業座標系の微小変位関係式を求め、その転値逆行列を用いることで、複数の関節座標系における前記状態量比較値（トルク）から作業座標系のロボット軸接触力（力）を算出することができる。ここで、作業座標系の１軸は電動ガン402の開閉方向と一致させることで、開閉方向に作用する接触力を演算することができる。
図４(e)の状態では、ガン軸制御系20の接触力はＦであるが、ロボット軸制御系10の接触力は０である。
【００５６】
（２）     修正量演算
修正量演算部33では、前記ガン軸接触力と前記ロボット軸接触力を基に、予め設定された目標接触力ＦＲＥＦで、可動電極403と固定電極404がワーク405に均等に接触するように、ロボット軸位置修正量及びガン軸位置修正量を作成する。
【００５７】
（２−１）インピーダンス制御
インピーダンス制御部331において、ガン軸制御系20の接触力はＦで、目標接触力はＦＲＥＦであるため、その差分値Ｆ−ＦＲＥＦを（式４）に代入することで、ガン軸制御系20の作業座標系における位置修正量Ｘを求めることができる。
【００５８】
【数１】
2005125427.tif 000003
【００５９】
（式４）において、速度と加速度に関して以下の式を代入すると、
【００６０】
【数２】
2005125427.tif 000004
【００６１】
また、ロボット軸の作業座標系における位置修正量Ｘも同様に求めることができる。ロボット軸の接触力は０であるため、式４の演算によりワーク405に接触して目標接触力ＦＲＥＦで接触するように、位置修正量Ｘが演算される。
また、前記ロボット軸と前記ガン軸で検出した接触力を合成することで、ロボット軸及び外部軸の位置修正量を作成しても良い。
【００６２】
（２−２）座標変換
ロボット軸とガン軸の作業座標系における位置修正量Ｘが求められたので、その値をロボット軸とガン軸の関節座標系座標系の値に変換する必要がある。座標変換部332内で、ロボット軸に関しては、前述のヤコビアンの逆行列を用いることで、作業座標系の位置修正量Ｘを関節座標系の位置修正値θＲＯＢＯＴに変換することができる。同様に、ガン軸に関しては減速機の構成に応じて関節座標系の位置修正値θＧＵＮに変換する。
前記ロボット軸の位置修正量θＲＯＢＯＴ及びガン軸位置修正量θＧＵＮは修正量記憶部34に記憶され、同時に前記ロボット軸制御系10と前記ガン軸制御系20の位置指令にそれぞれ加算される。これにより、可動電極403と固定電極404は、図４(f) に示すように、目標加圧力ＦＲＥＦでワーク405に接触することができる。
【００６３】
（３）加圧力制御
接触後の本加圧時には、接触状態を保ったままで予め設定された別の目標加圧力で接触対象物を加圧する。これは、ワーク405間に隙間がある場合に、接触時より大きい目標加圧力で加圧することでワーク間の隙間を潰す必要があるためである。
【００６４】
（４）指令補正
本加圧終了後に、小開位置への開放命令又は次の教示点への移動命令が来た場合に、修正量記憶部34で記憶しておいたロボット軸位置修正量及び外部軸位置修正量分だけ補正する必要がある。これは、上位指令生成部からは教示位置Ａに移動する指令が来ており、上記処理により位置ズレしたＢ点に現在位置が変更されている。そのため、そのまま次の小開位置や次の教示点への移動を行うと、上位指令生成部からは教示位置Ａから小開位置へ移動するための指令が来ることとなり、特に可動電極側では更にワーク405に対して押し付ける動作をして、ワーク405を破損させる危険性がある。そのため、上位指令生成部から送られてくる教示位置Ａから小開位置へ移動するための指令より、修正量記憶部34で記憶しておいたロボット軸位置修正量及び外部軸位置修正量を減算する必要がある。
また別の方法として、開放命令が出される前に、予め上位指令生成部に現在位置を修正量分だけ変更された位置で再作成するように要求する方法でも良い。
これらの方法により、上位指令生成部からは修正量によって変更された現在の位置から小開位置又は次の教示点へ移動する指令が送られるようになる。
【００６５】
以上より、ワークが位置ズレしている場合でも、ワークと電極の接触を高感度に検出して、予め設定された目標力でワークを加圧することができる。
また、図２２に示すように、教示作業時に可動電極と固定電極をワークと接触させ、ワーク位置を求め、そのワーク位置に応じてロボット軸及び外部軸を動作させることで、教示位置として記憶するようにしても良い。
【実施例２】
【００６６】
以下に、本発明の第２の具体的実施例を、図４、図６及び図１９に示して説明する。
本実施例では、前記第１の実施例で接触検出してから位置補正する過程が異なる。前記第１の実施例では、接触検出時の力を求め、インピーダンス制御により位置補正をしていたが、本実施例では接触検出した位置と予め教示された位置からワーク405の位置ズレ量αを求め、この位置ズレ量αにより位置補正するものである。
以下では、ワーク405の位置ズレ量αの検出及び補正方法について説明する。ここでは、第１の実施例と同様に、図４(d)に示すように教示位置から可動電極側に位置ズレ量αがある場合を考える。
【００６７】
（１）     位置ズレ検出
可動電極403及び固定電極404は、小開位置から同時に下降及び上昇を開始する。図４(e)に示すように、固定電極404よりも先に可動電極403がワーク405に教示位置よりもαだけ上側にあるＢ点で接触する。固定電極404は教示位置に到達するが、位置ズレがあるためにワーク405と接触しない。
ここで、ワーク405と可動電極403の接触は、図６に示すように、ガン軸制御系20の実機部210とシミュレーション部220の内部状態量を比較することで検出する。ここでは、状態量比較値として前記実機トルク指令と前記モデルトルク指令の差分の微分値を作成する。ここで、微分値を用いる理由は、差分値の急激な変化を捕らえるためである。また、微分値を作成する前に、衝突時に発生する周波数より高い周波数の信号はフィルタ等で削除しても良い。
【００６８】
接触検出部232では、前記状態量比較値と予め作業内容に応じて設定された検出しきい値を比較することで、可動電極403とワーク405との衝突を検出することができ、衝突が検出された場合にはガン軸接触検出情報が出力される。
また、ロボット軸制御系10の接触検出部132においても同様に、状態量比較部131で求められた状態量比較値と検出しきい値を比較することで、固定電極404とワーク405との衝突を検出することができ、衝突が検出された場合にはロボット軸接触検出情報が出力される。
修正量演算部33内の接触判断部334では、前記ガン軸接触検出情報と前記ロボット軸接触検出情報から、可動電極403と固定電極404のどちらが先にワーク405に接触したかを判断する。ここでは、前記ガン軸接触検出情報が先に接触判断部334に入力される。この時には前記ロボット軸接触検出情報は入力されていない。そのため、ワーク405が可動電極側に位置ズレしていることが分かる。ここで、前記ガン軸接触検出情報と前記ロボット軸接触検出情報が同時に入力された場合には、ワーク405は位置ズレしていないと判断される。
【００６９】
（２）修正量演算
（２−１）位置ズレ量αの演算
前記ガン軸接触検出情報は補正量算出部335に送られる。前記補正量算出部335では、前記ガン軸接触検出情報が入力された時点での実機部210のモータ213の位置応答である接触検出位置と位置指令を取り込む。この時点で、以下の式により、関節座標系における位置ズレ量αＧＵＮを求めることができる。
【００７０】
位置ズレ量αＧＵＮ＝接触検出位置−位置指令  ・・・（式６）
【００７１】
求められた前記位置ズレ量αＧＵＮは関節座標系のモータ角度であるため、座標変換部332において、減速機の構成に応じて前記位置ズレ量αＧＵＮを作業座標系の位置ズレ量αに変換する。例えば、減速機がボールネジであった場合には、関節座標系の角度にボールネジのピッチを乗算することで、作業座標系の位置に変換することができる。
また、固定電極403が先にワーク405に接触した場合でも同様に、前記ロボット軸接触検出情報が補正量算出部335に出力された時点で、実機部110のモータ113の位置応答である接触検出位置と位置指令を取り込む。これにより、ロボット各軸の関節座標系における位置ズレ量αＲＯＢＯＴを求める。次に、ロボット軸制御系10においても、前述のヤコビアンを用いることで、関節座標系の位置ズレ量αＲＯＢＯＴを作業座標系の位置ズレ量αに変換することができる。
【００７２】
（２−２）座標変換
可動電極403が固定電極404よりも先にワーク405に接触して位置ズレ量αを求めた場合、ガン軸の位置修正量θＧＵＮは位置ズレ量αと同じであるが、ロボット軸の位置修正量θＲＯＢＯＴは求められていない。よって、ガン軸の接触検出で求められた位置ズレ量αから、ロボット軸の位置修正量θＲＯＢＯＴを求める必要がある。これには、座標変換部332内で、前述のヤコビアンの逆行列を用いることで、作業座標系の位置ズレ量αを関節座標系の位置修正量θＲＯＢＯＴに変換することができる。
ここで、図４(e)に示すように、可動電極403はワーク405に既に接触しているため、位置の補正は固定電極404のみで良い。そのため、前記ロボット軸の位置修正量θＲＯＢＯＴ及びガン軸位置修正量θＧＵＮは修正量記憶部34に記憶され、前記ロボット軸制御系10と位置修正量θＲＯＢＯＴが加算される。ただし、固定電極404が位置ズレ量αだけ上昇することで可動電極403の位置も上昇してしまうため、固定電極404の動作に合わせて可動電極403の位置を位置ズレ量αだけ下降させる必要がある。
以上の処理により、可動電極403と固定電極404は、図４(ｆ)に示すように、ワーク405に接触することができる。
【００７３】
（３）加圧力制御
接触後の本加圧時には、実施例１の方法を用いることで、接触状態を保ったまま予め設定された別の目標加圧力で接触対象物を加圧する。
【００７４】
以降の（４）指令補正の処理は、前記第１の実施例と同じであるため省略する。
以上より、ワークが位置ズレしている場合でも、ワークと電極の接触を高感度に検出して、予め設定された目標力でワークを加圧することができる。
【実施例３】
【００７５】
以下に、本発明の第３の具体的実施例を、図７及び図８に示して説明する。
本実施例では、前記第２の実施例で接触検出させる際の可動電極への指令方法が異なる。前記第２の実施例では、小開位置から可動電極と固定電極を同時にワーク表面上の教示位置に動作させていたが、本実施例では固定電極に対して可動電極の動作開始を早く開始して、固定電極よりも可動電極がワークに先に接触させる。これは、可動電極を駆動する外部軸モータに対して、固定電極を駆動するロボットのモータ容量や摩擦が大きく、可動電極で検出させる方が検出精度が高いためである。
以下では、ワーク405の位置ズレ量αの検出及び補正方法について説明する。ここでは、教示位置から固定電極側にワーク405の位置ズレがある場合を考える。
図７に示すように、ロボット軸制御系10及びガン軸制御系20に時間調整部135及び235を設ける。また、ガン軸制御系20に指令調整部236を設ける。
前記時間調整部135及び235では、位相進み補償を行うことで予め設定された進み時間だけ、ロボット軸に対するガン軸の動作指令を進めるか、バッファなどを用いることで予め設定された進み時間だけ、ガン軸に対するロボット軸の動作指令を遅らせる処理を行う。これにより、小開位置からワーク表面上の目標位置に移動する際に、可動電極403が先に動作を開始し、進み時間が経過した後、固定電極404が動作を開始する。
【００７６】
前記指令調整部236では、予め設定された指令調整量を上位指令生成部からの動作指令に加算する。前記指令調整量は可動電極403の目標位置をワーク表面よりも固定電極側に持たせるものである。これは、ワーク405が固定電極側に位置ズレしていた場合、可動電極403がワーク表面の目標位置に移動するだけでは、教示位置に可動電極403が到達してもワーク405と接触しない。そのため、ワークの位置ズレ量を考慮した第２の教示位置をワーク表面よりも固定電極側に生成する。ここで、指令調整量は想定される位置ズレ量αよりも大きい値を設定する。    
また、可動電極403の接触検出後に修正量の演算を実行する際には、第２の教示位置ではなく予め教示された教示位置と接触検出位置から位置ズレ量αを求める必要がある。これは本来あるべきワークの教示位置からのズレ量を求めるためである。
接触検出の方法、修正量の演算、加圧力制御、指令補正の処理は、前記第１及び第２の実施例と同じであるため省略する。
以下では、ワーク405の位置ズレに対して、ロボット401及び電動ガン402による位置ズレ検出及び補正の方法について説明する。
【００７７】
ワーク405の位置ズレが無い正常状態を、図８(a)〜(c)に示す。
図８(a)に示すように、可動電極403の教示位置Ａから指令調整部236により想定される位置ズレ量αよりも大きい指令調整量で第２の目標位置Ｃを作成する。
可動電極403は小開位置から第２の教示位置Ｃに、固定電極404は小開位置から教示位置Ａに移動する。このとき、時間調整部135及び235において、固定電極よりも先に可動電極を予め設定された時間調整量（数十〜数百ms）の時間だけ位置指令を進ませる。
ここでは位置ズレが無いため、図８(b)に示すように、可動電極403は第２の教示位置Ｃに到達することなく教示位置Ａでワーク405と接触し、その接触がガン軸制御系20の接触検出部232で検出される。接触検出後、位置ズレ量α（ここでは０）が演算されて、ロボット軸の位置修正量（ここでは０）が演算され、ロボット軸が動作する。
固定電極404と可動電極403がワーク405に接触後、本加圧を実行し、ワーク405を溶接する。図８(c)に示すように、開放命令により小開位置への移動を実施する。
【００７８】
次に、ワーク405の位置ズレがある状態を、図８(d)〜(f)に示す。
図８(d)に示すように、教示位置から固定電極側に位置ズレ量αがある。可動電極403は固定電極404よりも時間調整量だけ先に小開位置から下降を開始し、続いて固定電極404が小開位置から上昇を開始する。
図８(e)に示すように、固定電極404よりも先に可動電極403が、教示位置Ａよりもαだけ固定電極側にあるＢ点でワーク405に接触する。このとき、固定電極404は教示位置Ａに向かって移動中である。可動電極403とワーク405の接触は、ガン軸制御系20の接触検出部232で検出され、ロボット軸の位置修正量が演算される。ここでは、接触検出位置Ｂに到達するようにロボット軸及びガン軸の指令が修正され、図８(f)に示すように固定電極及び可動電極をワークに接触させることができる。
固定電極404と可動電極403がワーク405に接触後、本加圧を実行し、ワーク405を溶接する。図８(c)に示すように、開放命令により小開位置又は次の教示位置への移動を実施する際には、前述の第１の実施例と同様にロボット軸の指令補正を行う必要がある。
【００７９】
以上より、固定電極に対して可動電極を先行動作させ、可動電極の第２の目標位置をワークより固定電極よりに生成することで、固定電極よりも先に可動電極をワークに接触させて位置ズレ量αを求めて補正することで、固定電極及び可動電極をワークに接触させることができる。
また、図２１及び図２４に示すように、教示作業時に外部軸（可動電極）をロボット軸（固定電極）に対して先行して動作させ、ワークと接触させ、ワーク位置を求め、そのワーク位置に応じてロボット軸及び外部軸を動作させることで、教示位置として記憶するようにしても良い。
【実施例４】
【００８０】
以下に、本発明の第４の具体的実施例を、図９に示して説明する。
本実施例では、前記第２の実施例で位置ズレ量αを求めるタイミングが異なる。前記第２の実施例では、可動電極及び固定電極とワークを教示位置で接触させる際に毎回位置ズレ量αを求めていたが、本実施例ではワーク上の同一加圧方向の溶接点を溶接する際には、第１溶接点で取得した位置ズレ量αを第２溶接点以降も使用する点が異なる。これは、同一ワークの教示点に対する溶接点の位置ズレ量αは同じになることを用いて、演算処理を減らすことができる。
【００８１】
可動電極403及び固定電極404とワーク405の接触を検出する過程は前記第２の実施例と同様であるため省略する。そのため、ここではガン軸制御系又はロボット軸制御系でワークとの接触が検出された後の説明をする。
図９に示すように、補正量算出部335からの出力である位置ズレ量αを記憶させる第２修正量記憶部341を設ける。ワーク上の同一平面における第１番目の教示点を溶接する際には、補正量算出部335からの出力された位置ズレ量αは修正量演算部33の座標変換部332を通り、修正量記憶部34に送られ、ロボット軸位置修正量として位置指令に加算される。ここで、前記位置ズレ量αは前記第２修正量記憶部341に記憶される。次に、ワーク上の同一加圧方向の第２溶接点以降の教示点を溶接する際には、記憶された前記位置ズレ量αを座標変換部332に送り、第２修正量を作成する。前記第２修正量は位置指令と加算され、補正動作が行われる。この時、修正量記憶部34の出力であるロボット軸位置修正量は０とする。
【００８２】
ここで、ワーク405が薄く剛性が低い場合には、可動電極403又は固定電極404がワーク405と接触しても直ぐには検出できずにワーク405を撓ませて溶接してしまい、溶接品質が低下する場合がある。この場合には、作業座標系で予め設定したワーク撓み量を位置ズレ量αに加算して補償することで、補正後の位置を教示位置と一致させることができる。この時、ワーク撓み量はワーク405の教示点に応じて複数記憶できる構成とする。また、毎回位置ズレ量αを求めて補償する場合には、このワーク撓み量を補正量算出部335に入力して、位置ズレ量αに加算する構成でも良い。
また、例えば、平面Ａを溶接後、平面Ａとは傾きが違う平面Ｂを溶接し、再度平面Ａ又は平面Ａと同一の傾きを持つ平面を溶接する際には、平面Ａで求めた位置ズレ量αＡを再度使用することで演算処理を少なくすることもできる。
【００８３】
更には、図示しないが初回に求められた前記位置ズレ量αを上位指令生成部に送り、位置指令自体を変更し、ロボット軸制御系10とガン軸制御系20の位置指令とする構成でも良い。
以上より、ワークの同一加圧方向の溶接点では初回に求めた位置ズレ量を記憶して、次回以降にはその記憶値から補正量を求めることで、接触検出処理を無くし、演算負荷を減らすことができる。
【実施例５】
【００８４】
以下に、本発明の第５の具体的実施例を、図１０に示して説明する。
本実施例では、前記第４の実施例で、ロボット401を駆動する制御装置400に接続された操作ペンダント406の操作画面から、前記接触検出部132及び232に入力される前記検出しきい値と、前記時間調整部235に入力される前記時間調整量と、前記指令調整部236に入力される前記指令調整量と、前記第２修正量記憶部341に入力される前記ワーク撓み量をパラメータとして入力し、状態量比較値を操作画面に表示してパラメータの調整を容易にするものである。
図１０(a)に示すように、操作ペンダント406の操作画面上から、前記パラメータの値を入力する。例えば、図１０(b)に示すように、前記接触検出部132及び232に入力されたガン軸検出しきい値とロボット軸検出しきい値及びガン軸検出力とロボット軸検出力は、横軸を時間として連続的に観測できるように表示される。作業者はそれぞれの軸の前記検出しきい値と前記検出力を観測しながら、小開位置から本加圧にいたる動作時に、誤検出しないように前記検出しきい値を調整する。
【００８５】
以上より、パラメータと状態量が連続的な変化量で表示されるため、作業者は直感的定量的に判断することができ、調整作業を容易に進めることができる。
【実施例６】
【００８６】
以下に、本発明の第６の具体的実施例を、図１１、図１２及び図２５に示して説明する。
本実施例では、前記第１の実施例で加圧力の制御方法が異なる。前記第１の実施例では、ロボット軸とガン軸で個別に接触力を求めて、それぞれが目標接触力ＦＲＥＦになるように制御されていたが、本実施例ではロボット軸とガン軸の接触力の差を意図的に大きくなるように制御する点が異なる。これは、ワーク上下に作用する接触力に差を設けることで、ワーク内部に発生するナゲット位置をワーク中心より接触力の小さい方に移動させて、板厚の異なる板を重ね合わせたワークを溶接するものである。
可動電極403及び固定電極404とワーク405の接触を検出する過程（１）や、（２−２）修正量演算の座標変換や、ワークとの接触が検出された後の加圧力制御（３）や、指令補正の過程（４）は、前記第１の実施例と同様であるため省略する。そのため、ここではガン軸制御系又はロボット軸制御系で、（２−１）修正量演算のインピーダンス制御について説明する。
ここでは、可動電極403側が薄板で、固定電極404側が厚板の２枚を重ね合わせたワークを例に説明する。
【００８７】
（２−１）修正量演算のインピーダンス制御
図１１に示すように、修正量演算部33では、前記ガン軸接触力と前記ロボット軸接触力及び予め設定された目標接触力ＦＲＥＦと目標加圧力差ΔＦを基に、可動電極403とワーク405がＦＲＥＦ＋ΔＦで、固定電極404とワーク405がＦＲＥＦ−ΔＦで、接触するように、ロボット軸位置修正量及びガン軸位置修正量を作成する。この前記位置修正量でロボット軸及びガン軸を動作させることで、固定電極404のチップとワーク405間との接触抵抗が可動電極403のチップとワーク405との接触抵抗よりも大きくなり、ナゲットを厚板側に移動させることができる。
【００８８】
次に、本実施例の作用を図１２に示して説明する。第１の実施例のように可動電極403とワーク405間の目標加圧力Ｆｕｐと、固定電極404とワーク405間の目標加圧力Ｆｄｏｗｎを同じにして、溶接強度を確保するために十分な大きさのナゲットを発生させる。その結果、図１２(a)に示すように、ナゲットはワーク405の内部の薄板と厚板の接触部分に発生して、薄板側のナゲットが薄板の表面に達して、スパッタやチップ溶着を生じてしまう場合がある。逆に通電量を減少させて各ナゲットを小さくすると、図１２(b)に示すように、薄板側のナゲットは薄板の表面に達しないが、溶接強度不足を生じてしまう。
そのため、可動電極403及び固定電極404とワーク405間の目標加圧力ＦＲＥＦの差が、予め設定された加圧力差ΔＦになるように、ロボット軸及びガン軸をそれぞれ制御する。その結果、図１２(c)に示すように、ナゲットはワーク405の内部で厚板寄りに発生するため、スパッタやチップ溶着の発生を防止したまま、十分な大きさのナゲットを発生させて、溶接強度を確保して溶接することができる。
【実施例７】
【００８９】
以下に、本発明の第７の具体的実施例を、図１３、１４及び図２６に示して説明する。
本実施例では、前記第２の実施例で位置ズレ検出対象が異なる。前記第２の実施例では、ワーク405が予め登録された教示位置から電動ガン402の開閉方向に位置ズレした場合の補正方法（イコライジング機能）について考えたが、本実施例ではワークの位置ズレが無い場合で電極摩耗による位置ズレの補正方法に対応する点が異なる。これは、電極の摩耗量を検出して、摩耗量分だけ可動電極と固定電極の位置を補正することで溶接を続行するものである。
可動電極403及び固定電極404とワーク405の接触を検出する原理は前記第２の実施例の過程（１）は同じであるので、ここでは電極摩耗量の検出方法について述べる。
【００９０】
（１）      電極交換後の基準位置１の記憶
図１３(a)に示すように、摩耗電極を新しい電極に交換した際に、前記電動ガンの可動電極403と固定電極404の先端を接触させる。この時、図１４に示すように、状態量比較部231で前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量（例えば、速度フィードバック値（以降速度ＦＢ）やトルク指令など）を比較し、接触検出部232で可動電極403の固定電極404との接触力を演算し、接触判断部334で予め設定されたしきい値よりも大きくなった場合に実機部210に停止命令を送り、前記可動電極軸を停止させる。この前記可動電極軸の停止位置Ｘ１を、基準位置１として基準位置記憶部35に記憶する。
【００９１】
（２）      プレイバック運転中の全摩耗量の測定
図１３(b)に示すように、プレイバック運転中に、可動電極403及び固定電極404の全摩耗量ΔLを測定する。この測定は、予め設定された打点数を溶接後に実行するか、予め設定された時間を経過後に実行するかは選択できるものとする。また、この全摩耗量の測定は溶接開始前のエアカット動作中に実行する。
前記電動ガンの可動電極403と固定電極404の先端を接触させ、（１）と同様に、前記可動電極軸を停止させて、前記可動電極軸の停止位置Ｘ２をとして、前記基準位置記憶部35に記憶する。この時点で、全摩耗量ΔＬは、前記可動電極403と固定電極404における各電極の摩耗量の総和であり、補正量演算部335において、前記基準位置１であるＸ１から前記基準位置２であるＸ２を差分することで、全摩耗量ΔLを演算することができる。
【００９２】
（３）      プレイバック運転中の基準位置２の測定
予め教示された溶接点に移動する過程において、可動電極403の摩耗量を測定する。この可動電極403及び固定電極の目標位置は、前述の第３の実施例に示したように、ワーク内部にずらして実行する。
前記電動ガンの可動電極403を前記電動ガンの固定電極404に対して先行動作させてワーク405に接触させ、前記電動ガンの可動電極軸の前記シミュレーション部と前記実機部の状態量を比較することで接触力を演算し、予め設定されたしきい値よりも大きくなった場合に前記可動電極軸を停止させる。この時、摩耗が無い場合は図１３(c)に示すように予め教示された位置で接触するが、摩耗がある場合には図１３(d)に示すように本来の教示位置からΔL１だけ下がった位置で接触する。このΔL１は前記可動電極403の摩耗量であり、補正量演算部335において、可動電極403の移動量として検出できる。
最後に、補正量演算部335において、前記全摩耗量ΔLから前記可動電極403の摩耗量ΔL１を差分することで、前記固定電極の摩耗量ΔL２を演算することができる。
【００９３】
（４）     位置補正
（３）で求めた前記可動電極403の摩耗量ΔL１及び固定電極404の摩耗量ΔL２を基に、前記ロボット及び電動ガンの可動電極軸の位置を実時間で修正して、溶接を続けることができる。位置補正の方法については、第２の実施例の（２）修正量演算と同様であるため、ここでは省略する。
【実施例８】
【００９４】
以下に、本発明の第８の具体的実施例を、図１５及び図２７に示して説明する。
本実施例では、前記第２の実施例で（４）指令補正後に溶着検出の処理を追加したものである。詳しくは、前記第２の実施例では、本加圧終了後に、小開位置への開放命令又は次の教示点への移動命令が来ると、修正量記憶部34で記憶しておいたロボット軸位置修正量及び外部軸位置修正量分だけ補正した後で、開放動作や次教示点への移動を行っていた。本実施例では前記開放動作や次教示点への移動の際に、電極の溶着検出をする。
可動電極403及び固定電極404とワーク405の接触を検出する過程（１）から指令補正までの過程（４）は、前記第２の実施例と同様であるため省略する。そのため、ここではガン軸制御系又はロボット軸制御系で、（５）溶着検出について説明する。
【００９５】
（５）溶着検出
可動電極403又は固定電極404とワーク405の溶着を検出する過程は前記第２の実施例の（１）と同じで、ロボット軸制御系10及びガン軸制御系20の実機部110及び210とシミュレーション部120及び220の内部状態量を比較することで溶着を検出する。ロボット軸制御系10とガン軸制御系20は同じ検出方法であるため、ここではガン軸制御系20について説明する。
内部状態量としては、例えば、モータ制御部211と制御モデル部221の出力である実機トルク指令とモデルトルク指令を用いる。状態量比較部231内で、電極溶着によって実機部210の前記実機トルク指令の急激な変動が生じるため、状態量比較値として前記実機トルク指令と前記モデルトルク指令の差分を作成する。
【００９６】
接触検出部232では、前記状態量比較値と予め作業内容に応じて設定された溶着検出しきい値を比較することで、モータ213に接続された機構部212（ここでは可動電極403）とワーク405との溶着を検出し、溶着検出された時点でガン軸溶着検出情報が出力される。また、ロボット軸制御系10の接触検出部132においても同様に、状態量比較部131で求められた状態量比較値と検出しきい値を比較することで、固定電極404とワーク405との溶着を検出することができ、溶着が検出された場合にはロボット軸溶着検出情報が出力される。
修正量演算部33内の接触判断部334では、前記ガン軸溶着検出情報と前記ロボット軸溶着検出情報から、可動電極403又は固定電極404がワーク405に溶着したかを判断する。どちらかの溶着検出情報が接触判断部334に入力されると、接触判断部334から溶着処理選択部336に溶着検出の信号が出力される。溶着処理選択部336では、ロボット軸制御系10及びガン軸制御系20の実機部110及び210に対して、ロボット及び前記可動電極軸を停止させる停止命令か、予め設定された溶着解除動作をさせる解除動作指令を出力するか、外部の機器へ溶着発生信号を出力させる命令のいずれかを選択する。ここでは、溶着解除動作指令を例に説明する。
【００９７】
溶着解除動作指令としては、例えば、電極チップ回りに電動ガン402を回転させ、その回転中に再通電を与えて電極とワーク405を溶融させる方式を選択する。
これらの動作信号は前記指令修正部137、237に加算することで、前記電動ガン402を回転させることができる。
このように、溶着検出して自動的に解除命令を出力して溶着を解除する動作を行わせることで、ラインを停止させることなく、溶接を続行できる。
【実施例９】
【００９８】
以下に、本発明の第９の具体的実施例を、図１６、図１７及び図２８に示して説明する。
本実施例では、前記第２の実施例で、電動ガン402のガンアーム部分の撓み補正処理を追加したものである。詳しくは、前記第２の実施例で、実作業前に電動ガンの加圧力とガンアームの撓み量の関係式を予め測定しておき、実作業時には、加圧時の加圧力に応じた撓み量により、ロボット401に補正動作を行わせるものである。ここでは電動ガン402としてＣ型ガンを例に説明を行うが、Ｘ型ガンでも同様である。また、撓み量ΔＸは可動電極403の開閉方向の値とする。
【００９９】
図１６(a)に示すように、電動ガン402のガンアーム部分は可動電極軸からの加圧力を受けて大きく変形してしまい、可動電極及び固定電極の位置が本来の教示位置からずれてしまうため、ロボットによりそのずれ量を補正する。以下では、補正方法について説明する。
（１）加圧力と撓み量の関係式作成
作業者は実作業前に電動ガンのガンアーム部分に関する加圧力と撓み量の関係式を作成する。電動ガンの可動電極を固定電極に接触させて、可動電極軸のモータが発生しているトルクから加圧力を求める。また、モータに接続されたエンコーダなどの位置検出器から位置を求める。これらの情報を複数の加圧力で求めることで、図１６(b)に示すようなグラフを得ることで、以下のような撓み係数の関係式を導くことができる。
【０１００】
撓み量ΔＸ＝撓み係数×加圧力Ｆ  ・・・（式７）
【０１０１】
（２）加圧力の検出
プレイバック運転又は教示作業時において、加圧動作を行う際に、図１７に示すように、ガン軸制御系20の実機部210とシミュレーション部220の内部状態量を状態量比較部231で比較することで、可動電極403がワーク405に加えている加圧力（ガン軸接触力）を求める。
接触検出部232では、前記状態量比較値と予め作業内容に応じて設定された検出しきい値を比較することで、モータ213に接続された機構部212（ここでは可動電極403）とワーク405との衝突を検出し、衝突検出された時点で接触状態量としてガン軸接触力を発生させる。ガン軸接触力は、トルク指令の差分である前記状態量比較値を、減速機の構成に応じて力の単位系に変換することで求めることができる。または、目標加圧力から撓み量ΔＸを求めてもよい。
【０１０２】
（３）撓み量の演算
修正量演算部33の撓み量演算部337において、求められた加圧力と前記撓み係数から、作業座標系におけるガンアーム部分の撓み量ΔＸを演算する。
【０１０３】
（４）ロボットの位置修正量の演算
ロボット軸の作業座標系における撓み量ΔＸが求められたので、その値をロボット軸の関節座標系座標系の値に変換する必要がある。座標変換部332内で、ロボット軸に関しては、前述のヤコビアンの逆行列を用いることで、作業座標系の撓み量ΔＸを関節座標系の位置修正値θＲＯＢＯＴに変換することができる。前記ロボット軸の位置修正量θＲＯＢＯＴは修正量記憶部34に記憶され、同時に前記ロボット軸制御系10の位置指令に加算される。
これにより、電動ガン405の加圧力に同期してロボット401が補正動作を実施することとなり、図１６(c)に示すように、可動電極403及び固定電極404の位置を教示位置に保ってワーク405を変形させずに加圧動作を実行できる。
また、加圧後の減圧の際にも、検出された加圧力に応じてロボットの補正動作を実施することで、可動電極403及び固定電極404の位置を教示位置に保つことができる。
【産業上の利用可能性】
【０１０４】
本発明は、モータ及びモータを駆動源とするロボットにおいて、モータ本体やロボット本体やエンドエフェクタ等がワーク等の他の物体との接触を検出し、位置を修正するロボットの制御装置および制御方法に有効である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の第１の基本構成図
【図２】本発明の第１の基本構成を展開した図
【図３】本発明の第１の具体的実施例を表す機構図
【図４】本発明の第１の具体的実施例における作用図
【図５】本発明の第１の具体的実施例を表す図
【図６】本発明の第２の具体的実施例を表す図
【図７】本発明の第３の具体的実施例を表す図
【図８】本発明の第３の具体的実施例における作用図
【図９】本発明の第４の具体的実施例を表す図
【図１０】本発明の第５の具体的実施例を表す図
【図１１】本発明の第６の具体的実施例を表す図
【図１２】本発明の第６の具体的実施例における作用図
【図１３】本発明の第７の具体的実施例を表す図
【図１４】本発明の第７の具体的実施例における作用図
【図１５】本発明の第８の具体的実施例を表す図
【図１６】本発明の第９の具体的実施例における作用図
【図１７】本発明の第９の具体的実施例を表す図
【図１８】本発明の第１の基本構成を表すフローチャート
【図１９】本発明の第２の具体的実施例を表すフローチャート
【図２０】本発明の第１の具体的実施例を表すフローチャート
【図２１】本発明の第３の具体的実施例を表すフローチャート
【図２２】本発明の第１の具体的実施例を表すフローチャート
【図２３】本発明の第１の具体的実施例を表すフローチャート
【図２４】本発明の第３の具体的実施例を表すフローチャート
【図２５】本発明の第６の具体的実施例を表すフローチャート
【図２６】本発明の第７の具体的実施例を表すフローチャート
【図２７】本発明の第８の具体的実施例を表すフローチャート
【図２８】本発明の第９の具体的実施例を表すフローチャート
【図２９】従来の制御方式を示す図
【符号の説明】
【０１０６】
１０：ロボット軸制御系
１１０，２１０：実機部
１１１，２１１：モータ制御部
１１２，２１２：機構部
１１３，２１３：モータ
１２０，２２０：シミュレーション部
１２１，２２１：制御モデル部
１２２，２２２：機構モデル部
１２３，２２３：モータモデル
１３１，２３１：状態量比較部
１３２，２３２：接触検出部
１３５，２３５：時間調整部
２３６：指令調整部
１３７，２３７：指令修正部
２０：外部軸（ガン軸）制御系
３３：修正量演算部
３３１：インプ−ダンス制御部
３３２：座標変換部
３３４：接触判断部
３３５：補正量算出部
３３６：溶着処理選択部
３３７：撓み量演算部
３４：修正量記憶部
３４１：第２修正量記憶部
３５：基準位置記憶部
４００：制御装置
４０１：ロボット
４０２：電動ガン
４０３：可動電極
４０４：固定電極
４０５：ワーク
４０６：操作ペンダント
【図１】
2005125427.tif 000005
【図２】
2005125427.tif 000006
【図３】
2005125427.tif 000007
【図４】
2005125427.tif 000008
【図５】
2005125427.tif 000009
【図６】
2005125427.tif 000010
【図７】
2005125427.tif 000011
【図８】
2005125427.tif 000012
【図９】
2005125427.tif 000013
【図１０】
2005125427.tif 000014
【図１１】
2005125427.tif 000015
【図１２】
2005125427.tif 000016
【図１３】
2005125427.tif 000017
【図１４】
2005125427.tif 000018
【図１５】
2005125427.tif 000019
【図１６】
2005125427.tif 000020
【図１７】
2005125427.tif 000021
【図１８】
2005125427.tif 000022
【図１９】
2005125427.tif 000023
【図２０】
2005125427.tif 000024
【図２１】
2005125427.tif 000025
【図２２】
2005125427.tif 000026
【図２３】
2005125427.tif 000027
【図２４】
2005125427.tif 000028
【図２５】
2005125427.tif 000029
【図２６】
2005125427.tif 000030
【図２７】
2005125427.tif 000031
【図２８】
2005125427.tif 000032
【図２９】
2005125427.tif 000033