(57)【特許請求の範囲】
【請求項１】
モータを用いてアームを動作させるロボットの制御方法であって、
前記アームが停止する前に、前記モータに入力される位置指令に、バックラッシュ補正値を加える加算ステップと、
前記アームが停止中に、前記位置指令に加算された前記バックラッシュ補正値を減少させる減算ステップと、
を備える
ロボットの制御方法。
【請求項２】
前記加算ステップにおいて、前記バックラッシュ補正値は、前記アームの進行方向に加算される請求項１に記載のロボットの制御方法。
【請求項３】
前記加算ステップの期間よりも、前記減算ステップの期間の方が長い請求項１に記載のロボットの制御方法。
【請求項４】
前記加算ステップと前記減算ステップとの間に、前記バックラッシュ補正値を維持する維持ステップをさらに備える請求項１に記載のロボットの制御方法。
【請求項５】
モータを用いて、ワイヤが装着されたアームを動作させるとともに、前記ワイヤを用いてワークの溶接を行う溶接方法であって、
前記アームが停止する前に、前記モータに入力される位置指令に、バックラッシュ補正値を加える加算ステップと、
前記アームが停止中に、前記位置指令に加算された前記バックラッシュ補正値を減少させる減算ステップと、
前記アームの停止後に、前記ワイヤと前記ワークとの間でアークを発生させるアーク発生ステップと、
前記アークの発生後に、前記アームを移動させることにより前記ワイヤを移動させて、前記ワークの溶接を行う溶接ステップと、
を備える
溶接方法。
【請求項６】
前記加算ステップにおいて、前記バックラッシュ補正値は、前記アームの進行方向に加算される請求項５に記載の溶接方法。
【請求項７】
前記加算ステップの期間よりも、前記減算ステップの期間の方が長い請求項５に記載の溶接方法。
【請求項８】
前記加算ステップと前記減算ステップとの間に、前記バックラッシュ補正値を維持する維持ステップをさらに備える請求項５に記載の溶接方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本開示は、ロボットの制御方法に関し、特に、バックラッシュ（Ｂａｃｋｌａｓｈ）による位置ずれを補正するロボットの制御方法及び溶接方法に関する。
【背景技術】
【０００２】  従来、減速機を介してサーボモータの駆動によって部品を動作させる制御機器において、サーボモータに指令した部品の位置と、実際の部品の位置とが、減速機のガタ（隙間）の分ずれてしまう、いわゆるバックラッシュという現象が発生する。サーボモータの駆動方向が反転するとバックラッシュのずれ方向も反転する。【０００３】  バックラッシュが発生すると、例えば、動作方向が違えば、サーボモータ位置が同じでも、実施の停止位置は同じにならない。ティーチング・プレイバックロボットで、ティーチング時とプレイバック時で動作方向が異なれば、ティーチング時の位置とプレイバック時の位置に誤差が生じる。ティーチング時は、目標位置に対してアームの先端位置を前後させて、具体的には、モータ回転方向を反転させて、微調整することが多く、どの方向で停止させたかは不明な場合が多い。つまりプレイバック後にティーチング修正が必要な場合がある。【０００４】  また、アームの先端位置を反転動作させる場合、バックラッシュにより、実際の位置は、減速機のガタ（隙間）の分、移動量が相殺される。そのため、アームの先端位置は、指定した量、移動しない。よって、アームの先端位置は、狙った位置に中々到達せず、ティーチング工数が増加する場合がある。【０００５】  そこで、従来、サーボモータの駆動方向の反転を検知し、反転前後で、サーボモータの位置指令信号に、符号の異なる補正信号を加算し、バックラッシュ補正を行う技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２５０６１４号公報
【発明の概要】
【０００７】
本開示のロボットの制御方法は、モータを用いてアームを動作させるロボットの制御方法であって、
アームが停止する前に、モータに入力される位置指令に、バックラッシュ補正値を加える加算ステップと、
アームが停止中に、位置指令に加算されたバックラッシュ補正値を減少させる減算ステップと、
を備える。
【０００８】
また、本開示の溶接方法は、モータを用いて、ワイヤが装着されたアームを動作させるとともに、ワイヤを用いてワークの溶接を行う溶接方法であって、
アームが停止する前に、モータに入力される位置指令に、バックラッシュ補正値を加える加算ステップと、
アームが停止中に、位置指令に加算されたバックラッシュ補正値を減少させる減算ステップと、
アームの停止後に、ワイヤとワークとの間でアークを発生させるアーク発生ステップと、
アークの発生後に、アームを移動させることによりワイヤを移動させて、ワークの溶接を行う溶接ステップと、
を備える。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態に係る垂直多関節の６軸ロボットの概略構成図である。
【図２】図２は、実施の形態に係るロボットメカの概略模式図である。
【図３】図３は、実施の形態に係る垂直多関節ロボットの位置制御に関する構成を示すブロック図である。
【図４】図４は、実施の形態に係るロボット駆動制御系のブロック線図である。
【図５Ａ】図５Ａは、実施の形態に係るロボットメカのＸ軸方向から見た図である。
【図５Ｂ】図５Ｂは、実施の形態に係るロボットメカのＹ軸方向から見た図である。
【図５Ｃ】図５Ｃは、実施の形態に係るロボットメカのＺ軸方向から見た図である。
【図６Ａ】図６Ａは、比較例に係る、Ｙ軸方向でのロボットアームの移動を示す図である。
【図６Ｂ】図６Ｂは、比較例に係る、アームを駆動するモータのＹ軸方向の位置の時間経過を示す図である。
【図６Ｃ】図６Ｃは、比較例に係る、アーム先端のＹ軸方向の位置の時間経過を示す図である。
【図７】図７は、比較例に係るロボットメカの移動、停止、反転移動を時系列で示す図である。
【図８Ａ】図８Ａは、別の比較例に係る、Ｙ軸方向でのロボットアームの移動を示す図である。
【図８Ｂ】図８Ｂは、別の比較例に係る、アームを駆動するモータのＹ軸方向の位置の時間経過を示す図である。
【図８Ｃ】図８Ｃは、別の比較例に係る、アーム先端のＹ軸方向の位置の時間経過を示す図である。
【図９】図９は、別の比較例に係るロボットメカの移動、停止、反転移動を時系列で示す図である。
【図１０Ａ】図１０Ａは、実施の形態に係るバックラッシュ補正値の時間変化を示す図である。
【図１０Ｂ】図１０Ｂは、実施の形態に係るバックラッシュ補正に対するアーム先端位置との時間応答遅れを示す図である。
【図１１Ａ】図１１Ａは、実施の形態に係る、Ｙ軸方向でのロボットアームの移動を示す図である。
【図１１Ｂ】図１１Ｂは、実施の形態に係る、アームを駆動するモータのＹ軸方向の位置の時間経過を示す図である。
【図１１Ｃ】図１１Ｃは、実施の形態に係る、アーム先端のＹ軸方向の位置の時間経過を示す図である。
【図１２】図１２は、実施の形態に係るロボットメカの移動、停止、反転移動を時系列で示す図である。
【図１３】図１３は、比較例に係る垂直多関節ロボットの位置制御に関する構成を示すブロック図である。
【図１４】図１４は、比較例に係る、ロボット駆動制御系のブロック線図である。
【図１５Ａ】図１５Ａは、別の比較例における、アーク溶接のプロセスフローを示す図であり、ワークに対する溶接トーチの移動を示す図である。
【図１５Ｂ】図１５Ｂは、別の比較例における、アーク溶接のプロセスフローを示す図であり、溶接ワイヤへの通電を示す図である。
【図１５Ｃ】図１５Ｃは、別の比較例における、アーク溶接のプロセスフローを示す図であり、スパッタの発生を示す図である。
【図１５Ｄ】図１５Ｄは、別の比較例における、アーク溶接のプロセスフローを示す図であり、ワーク表面に沿った溶接トーチの移動を示す図である。
【図１６Ａ】図１６Ａは、実施の形態における、アーク溶接のプロセスフローを示す図であり、ワークに対する溶接トーチの移動を示す図である。
【図１６Ｂ】図１６Ｂは、実施の形態における、アーク溶接のプロセスフローを示す図であり、溶接ワイヤへの通電を示す図である。
【図１６Ｃ】図１６Ｃは、実施の形態における、アーク溶接のプロセスフローを示す図であり、スパッタの発生を示す図である。
【図１６Ｄ】図１６Ｄは、実施の形態における、アーク溶接のプロセスフローを示す図であり、ワーク表面に沿った溶接トーチの移動を示す図である。
【発明を実施するための形態】
【００１０】  ロボットが停止後に反転動作する場合に、特許文献１に開示されるようなバックラッシュ補正を適用した場合、反転動作の位置指令にバックラッシュ補正分が加算されるため、動作開始直後の速度が上昇する場合がある。
【００１１】  以下、本実施の形態を図面に基づいて詳細に説明する。以下の好ましい実施形態の説明は、本質的に例示に過ぎない。
【００１２】  （ロボット及びその制御系の構成）  図１は、実施の形態に係る、垂直多関節の６軸ロボットの概略構成図である。
【００１３】  図２は、実施の形態に係るロボットメカの概略模式図である。
【００１４】  図３は、実施の形態に係る垂直多関節ロボットの位置制御に関する構成を示すブロック図である。具体的には、図３は、ロボットメカ６１とロボット制御装置６２の内部構成の概略を示すブロック図である。
【００１５】  なお、図２では、モータを介した２つのアームの関係を図示している。
【００１６】  図１に示すように、ロボット６０は、ロボットメカ６１とロボット制御装置６２とから構成される。また、ロボットメカ６１は、複数のアーム６３および関節軸６４を有しており、各関節軸の近傍に設けられた減速機を用いて駆動される。
【００１７】  図２に示すように、ロボットメカ６１においては、第１アーム１と、第２アーム９と、モータ２と、減速機３と、が機械的に結合している。
【００１８】  ただし、図２では、説明を平易にするために、ロボットメカ６１の一部分の概要のみを図示している。
【００１９】  具体的には、モータ取り付けのベースとなる第１アーム１にモータ２、減速機３、ベアリング４が固定されている。減速機２次側７の回転部には負荷である第２アーム９が結合され、第２アーム９が駆動される。
【００２０】  なお、モータ２としては、例えば、サーボモータが用いられる。
【００２１】  減速機１次側６はモータ２内のロータ５に結合され、モータ回転軸に対してモータ回転速度ωＭで回転する。減速機３は減速比Ｒｇで、モータ回転速度ωＭを負荷回転速度ωＬに減速する。Ｒｇ  ＝  ωＭ／ωＬ                    （１）  なお、減速機３は減速機１次側６と減速機２次側７の間にガタ（隙間）及びバネ成分が存在するので、式（１）が成立するのは、減速機１次側６が減速機２次側７に接触し、ガタ（隙間）が一方に寄せられバネの伸びが一定となった定常状態のみである。
【００２２】  図３に示すように、ロボット制御装置６２の内部に設けられた操作・教示部６５で指示され、記憶された軌跡に従い、メイン制御部６６から、ロボットの各軸への位置指令であるθ１ｃｏｍからθ６ｃｏｍが出力される。なお、本実施の形態において、軸数は６である。
【００２３】  さらに、その位置指令に追従するように、ロボットの各軸に対応するサーボ制御部６７（第１のサーボ制御部）が、ロボットメカ６１内のモータ６８（第１のモータ）をそれぞれ制御する。そして、減速機５３（第１の減速機）を介してアーム６９（第１のアーム）が駆動する。
【００２４】  なお、モータ６８としては、例えばサーボモータが用いられる。
【００２５】  具体的には、サーボ制御部６７からモータ６８に電流制御指令ＩＭが出力され、モータ６８の駆動電流が制御される。また、モータ６８に対応するエンコーダ５１（第１のエンコーダ）から、モータ６８の回転位置θＭがサーボ制御部６７にフィードバックされて、電流制御指令ＩＭが調整される。ここで、例えば、図３のアーム６９（第１のアーム）は、図２の第１アームに相当する。例えば、図３の減速機５３（第１の減速機）は、図２の減速機３に相当する。例えば、図３のモータ６８（第１のモータ）は、図２のモータ２に相当する。
【００２６】  また、ロボット制御装置６２には、バックラッシュ補正値演算ブロック５５が設けられており、バックラッシュ補正値演算ブロック５５は、位置指令であるθｃｏｍ（以下θ１ｃｏｍからθ６ｃｏｍをθｃｏｍと称する）からバックラッシュ補正値θＢＬを演算し、サーボ制御部６７へ出力する。ここで、バックラッシュ補正値とは、バックラッシュによる位置決め誤差を補正する値である。
【００２７】  図４は、本実施の形態に係る、ロボット駆動制御系のブロック線図である。
【００２８】  なお、図４では、図２に示す系の１軸（Ｙ軸）のみの駆動制御を図示している。
【００２９】  図２に示す、第１アーム１と、モータ２と、減速機３と、ベアリング４と、第２アーム９と、図３に示すエンコーダ５１と、を有する系の制御モデルが、図４におけるブロック４０（ロボットメカの制御系モデル）に相当する。
【００３０】  ブロック４０においては、減速機１次側６と減速機２次側７の間に存在するガタ及びバネ成分をバネ定数Ｋｓとしている。
【００３１】  また、ブロック４０において、Ｋｔはモータ２のトルク定数である。１／Ｒｇは（数１）に示す減速比の逆数である。１／（ＪＭｓ＋ＤＭ）はモータ伝達関数である。１／（ＪＬｓ＋ＤＬ）は負荷伝達関数である。Ｂａｃｋｌａｓｈは減速機３のガタを示すバックラッシュに対応する伝達関数である。ｓは微分要素である。１／ｓは積分要素である。Ｔｄは負荷である第２アーム９に加わる外力である。また、位置制御ブロック２０におけるＫＰＰは、位置ループ中の比例ゲインである。速度制御ブロック３０におけるＫＰは速度比例ゲインである。ＫＩは速度積分ゲインである。
【００３２】  モータ伝達関数において、ＪＭはロータ５と減速機１次側６とを合わせた回転軸回りの慣性モーメントである。ＤＭはモータ２側の粘性摩擦係数である。また、負荷伝達関数において、ＪＬは負荷である第２アーム９と減速機２次側７とを合わせた回転軸回りの慣性モーメントである。ＤＬは減速機３側の粘性摩擦係数である。
【００３３】  図４に示すように、モータの位置指令θｃｏｍは、サーボ制御部６７の位置制御ブロック２０に入力される。
【００３４】  また、位置指令θｃｏｍは、バックラッシュ補正値演算ブロック５５でバックラッシュ補正値θＢＬに変換された後、もとの位置指令θｃｏｍに加算される。また、位置指令θｃｏｍには、エンコーダ５１からモータ回転位置θＭがフィードバックされて、これらの情報からモータの速度指令ωｃｏｍが生成され、速度制御ブロック３０に入力される。
【００３５】  なお、バックラッシュ補正値演算ブロック５５では、位置指令θｃｏｍの停止方向から、停止時に加算するバックラッシュ補正値θＢＬを演算する。なお、「停止方向」とは、停止するまで進んでいた方向のことである。
【００３６】  速度指令ωｃｏｍに、エンコーダ５１からのモータ位置θＭから得られるモータ速度ωＭがフィードバックされて、速度制御ブロック３０からモータの電流制御指令ＩＭ（加速度に相当）が生成される。
【００３７】
図５Ａ〜図５Ｃは、３軸方向から見たロボットメカ６１の一例である。図５Ａ、図５Ｂ、図５Ｃは、ロボットメカ６１を、それぞれＸ軸、Ｙ軸、Ｚ軸方向から見た図である。
【００３８】  ロボットメカ６１は、先端に溶接ワイヤ７５を有する溶接トーチ７４がアーム７２に装着されている。各関節軸に対応するモータ７３を駆動させることにより、溶接トーチ７４はＸ軸、Ｙ軸、Ｚ軸のいずれの方向にも移動しうる。
【００３９】  ここで、アーム先端７１をＹ軸方向に微少移動（０．５ｍｍピッチで移動）させる場合の第１軸ＡＸにおけるバックラッシュ現象を考える。なお、アーム先端７１は、溶接ワイヤ７５の突き出し部分を含む溶接トーチ７４の先端とする。
【００４０】  第１軸ＡＸのアーム回転位置θＬは円軌道になるが、ここに示す例では、Ｘ＝１２００ｍｍの位置でＹ方向に１ｍｍ程度移動し、ほぼ直線移動と見なせる。よって、第１軸ＡＸの回転動作により、アーム先端７１はＹ軸方向に直線的に移動するとして、以降に説明する。
【００４１】  なお、以降の説明で、アーム先端位置換算のモータ位置ＹＭ、アーム先端位置ＹＡ、アーム先端速度換算のモータ速度ＶＭ、アーム先端速度ＶＡ、アーム先端位置に換算するバックラッシュ補正値ＹＢＬは、式（２−１）から式（２−５）で表わされる演算で計算されるものとする。
【００４２】  なお、これらの値は、Ｙ軸方向での値である。
【００４３】  ＹＭ  ＝  ＫＹＭ  ×  θＭ                  （２−１）  ＹＡ  ＝  ＫＹＡ  ×  θＬ                  （２−２）  ＶＭ  ＝  ＫＶＭ  ×  ωＭ                  （２−３）  ＶＡ  ＝  ＫＶＡ  ×  ωＬ                  （２−４）  ＹＢＬ  ＝  ＫＹＭ  ×  θＢＬ              （２−５）ここで、記号は以下の値を示している。
【００４４】  θＭ  ：モータの回転位置  θＬ  ：アーム先端の回転位置  ωＭ  ：モータの回転速度  ωＬ  ：アーム先端のモータ速度  θＢＬ：モータのバックラッシュ補正位置  ＫＹＭ：モータの回転位置θＭからアーム先端位置換算のモータ位置ＹＭへの換算係数  ＫＹＡ：アームの回転位置θＬからＹ軸方向のアーム先端位置ＹＡへの換算係数  ＫＶＭ：モータの回転速度ωＭからアーム先端速度換算のモータ速度ＶＭへの換算係数  ＫＶＡ：アームの回転速度ωＬからＹ軸方向のアーム先端速度ＶＡの換算係数  ＫＹＭ：モータのバックラッシュ補正位置からアーム先端位置換算のＹ軸方向のモータ補正位置ＹＢＬへの換算係数  なお、いずれの換算係数もアームの姿勢で変化する。
【００４５】
（アーム先端位置及びアーム先端速度に与えるバックラッシュ補正の影響）
図６Ａ〜図６Ｃは、比較例に係る、ロボットメカの動作を示す図である。図６Ａは、Ｙ軸方向でのロボットアーム（アーム）の移動を示す図である。図６Ｂは、アームを駆動するモータのＹ軸方向の位置の時間経過を示す図である。図６Ｃは、アーム先端のＹ軸方向の位置の時間経過を示す図である。
【００４６】  図７は、図６Ａ〜図６Ｃに示すロボットメカの移動、停止、反転移動の詳細を時系列で示す図である。
【００４７】  図８Ａ〜図８Ｃは、別の比較例に係る、ロボットメカの動作を示す図である。図８Ａは、Ｙ軸方向でのロボットアームの移動を示す図である。図８Ｂは、アームを駆動するモータのＹ軸方向の位置の時間経過を示す図である。図８Ｃは、アーム先端のＹ軸方向の位置の時間経過を示す図である。
【００４８】  図９は、図８Ａ〜図８Ｃに示すロボットメカの移動、停止、反転移動の詳細を時系列で示す図である。
【００４９】  図１０Ａ、図１０Ｂは、本実施の形態に係る、バックラッシュ補正を説明する図である。図１０Ａは、バックラッシュ補正値の時間変化を示す図である。図１０Ｂは、バックラッシュ補正に対するアーム先端位置の時間応答遅れを示す図である。なお、バックラッシュ補正値は、式（２−５）で表わされるＹＢＬで表示している。
【００５０】  図１１Ａ〜図１１Ｃは、本実施の形態に係る、ロボットメカの動作を示す図である。図１１Ａは、Ｙ軸方向でのロボットアームの移動を示す図である。図１１Ｂは、アームを駆動するモータのＹ軸方向の位置の時間経過を示す図である。図１１Ｃは、アーム先端のＹ軸方向の位置の時間経過を示す図である。
【００５１】  図１２は、図１１Ａ〜図１１Ｃに示すロボットメカの移動、停止、反転移動の詳細を時系列で示す図である。
【００５２】  図１３は、比較例に係る垂直多関節ロボットの位置制御に関する構成であり、具体的には、ロボットメカ６１とロボット制御装置６２の内部構成の概略を示すブロック図である。
【００５３】  図１４は、比較例に係る、ロボット駆動制御系のブロック線図である。
【００５４】  ここで、比較例とは、図６Ａ〜６Ｃ、図７、図１３、図１４に示す動作および構成の制御系である。比較例は、具体的には、本実施の形態に係る制御系において、バックラッシュ補正値演算ブロック５５を有さない場合にあたる。つまり、この比較例では、バックラッシュ補正を行わない。
【００５５】  また、別の比較例とは、図８Ａ〜８Ｃ、図９に示す動作および構成の制御系である。別の比較例は、本実施の形態に示す構成とほぼ同様であるが、後述するように、位置指令に対するバックラッシュ補正値の加減方法等が、本実施の形態とは異なる。
【００５６】  また、以降の説明において、ＶＭｉ、ＹＡｉ、θＭｉ（ｉ＝０、１）等と表示するとき、添字ｉが０の場合は、比較例におけるモータ位置ＹＭやアーム先端位置ＹＡやモータ回転位置θＭ等を表わしている。添字ｉが１の場合は、別の比較例におけるモータ位置ＹＭやアーム先端位置ＹＡやモータ回転位置θＭ等を表わしている。添字が無い場合は、本実施の形態におけるモータ位置ＹＭやアーム先端位置ＹＡやモータ回転位置θＭ等である。
【００５７】  なお、添字の有無にかかわらず、ＶＭｉ、ＹＡｉ、ＶＭｉ、ＶＡｉ、ＹＢＬｉは、それぞれ、上記の式（２−１）から式（２−５）で表現される値である。
【００５８】  また、ロボットメカのＹ軸方向の移動制御について、以降、説明する。
【００５９】  まず、比較例について説明する。
【００６０】  図６Ａに示すように、バックラッシュ補正を行わない場合、アーム先端７１は、−Ｙ方向に移動してａ点で停止する。このとき、図６Ｂに示すように、モータ位置ＹＭ０は目標位置（０ｍｍ）に到達しているが、図６Ｃに示すように、アーム先端位置ＹＡ０はバックラッシュにより目標位置の手前（０．１ｍｍ）で停止している。
【００６１】  次にアーム先端７１は、−Ｙ方向へ０．５ｍｍ移動してｂ点に停止する。このとき、図６Ｂに示すように、モータ位置ＹＭ０は目標位置（−０．５ｍｍ）に到達しているが、図６Ｃに示すように、アーム先端位置ＹＡ０はバックラッシュにより目標位置の手前（−０．４ｍｍ）で停止している。ただし、ａ点からｂ点へ移動する際のアーム先端位置ＹＡ０の移動量は目標値通り（−０．５ｍｍ）である。
【００６２】  ｂ点からｃ点への移動は、ａ点からｂ点への移動と同様である。
【００６３】  次に、＋Ｙ方向へ＋０．５ｍｍ移動してｄ点に停止する。ｃ点からｄ点への移動では、これまでと動作方向が逆になり、モータ７３の回転方向が反転する。このとき、モータ位置ＹＭ０は目標位置（−０．５ｍｍ）のｄ点に到達しているが、図６Ｃに示すように、アーム先端位置ＹＡ０はバックラッシュにより目標位置の手前（−０．６ｍｍ）で停止している。さらに、ｃ点からｄ点への移動において、アーム先端位置ＹＡ０の移動量は目標値（０．５ｍｍ）より小さくなる（０．３ｍｍ）。動作方向が反転する箇所では、アーム先端位置ＹＡ０は、目標位置に到達しないばかりか、移動量も小さくなる。
【００６４】  つまり、バックラッシュ補正を行わない場合、アーム先端を一方向に前進及び後退させると、元の位置へ戻らない。この比較例では、目標位置のｄ点へアーム先端を戻すには、移動量を０．２ｍｍにして＋方向へもう一度移動させるか、ｅ点まで移動させた後に−０．５ｍｍ戻すかであり、教示時の工数を増やしてしまう。
【００６５】  この様子を、図７を用いてさらに説明する。なお、ＶＭＤ０はモータの回転方向を、ＶＡＤ０はアーム先端位置ＶＡ０の移動方向を、それぞれ表わしている。
【００６６】  図７に示す時刻ｔｏにおいて、減速機１次側６が時計方向に回転し、ＹＭ０の位置で停止したとき、減速機２次側７の位置、つまりアーム先端位置ＹＡ０は、減速機３のガタ（隙間）に起因するバックラッシュの影響でΔＹ０の分、目標の手前で停止する。なお、説明を平易にするために、図７において、グラフの縦軸はｃ点を基準（＝０）としている。
【００６７】  アームが、ｃ点からｄ点へ反転移動する際、時刻ｔｑに至るまでは、モータ位置ＹＭ０が正の方向に変化しても、減速機のガタ（隙間）の分で空回りし、アーム先端位置ＹＡ０は変化しないままである。つまり、モータ速度ＶＭ０が正側に増加しているのに対し、アーム先端速度ＶＡ０は０のままである。
【００６８】  時刻ｔｑの時点から、アーム先端位置ＹＡ０は正の方向に変化し始め、モータ位置ＹＭ０がｄ点に対応する位置へ到達した時点で停止する（時刻ｔｒ）。ただし、アーム先端位置ＹＡ０は減速機のガタ（隙間）の分、目標の手前で停止する。
【００６９】  ここに示す比較例では、ｃ点からｄ点への移動において、モータ位置ＹＭ０は、０．５ｍｍ進んでいるのに対し、アーム先端位置ＹＡ０は０．３ｍｍしか進んでいないことになる。
【００７０】  つまり、バックラッシュ補正を行わない場合には、制御目標値に対するアーム先端の位置ずれが大きくなることがわかる。特に、ロボットアームが移動、停止、反転移動を順に行うようにモータの駆動制御を行う場合に、位置ずれが大きくなる。
【００７１】  次に、別の比較例について説明する。
【００７２】  別の比較例では、バックラッシュ補正自体は行われるが、図８Ｂに示すように、バックラッシュによるズレ（０．１ｍｍ）だけ進行方向にアーム先端バックラッシュ補正値ＹＢＬ１を加算している。これは、例えば、図３、図４に示す制御系に対し、アーム先端バックラッシュ補正値ＹＢＬ１に相当するバックラッシュ補正値θＢＬ１を位置指令θｃｏｍへ加算することにあたる。
【００７３】  上記の補正を行うことで、図８Ｃに示すように、アーム先端位置ＹＡ１は、ずれることなく目標位置へ到達する。
【００７４】  しかしながら、このバックラッシュ補正を、上述のように、ロボットアームが移動、停止、反転移動を順に行う場合に適用した場合、反転動作の位置指令にバックラッシュ補正分が加算されるため、動作開始直後の速度が上昇する場合がある。
【００７５】  これについて、図９を用いてさらに説明する。
【００７６】  図９に示す時刻ｔｏにおいて、減速機１次側６が時計方向に回転し、ＹＭ１の位置で停止したとき、減速機２次側７の位置、つまりアーム先端位置ＹＡ１は、バックラッシュ補正により、目標位置で停止する（ΔＹ１＝０）。なお、図９において、グラフの縦軸の基準をｃ点としているのは、図７と同様である。
【００７７】  アームが、ｃ点からｄ点へ反転移動する際、時刻ｔｑに至るまでは、モータ位置ＹＭ１が正の方向に変化しても、減速機のガタ（隙間）の分、空回りし、アーム先端位置ＹＡ１は変化しないままである。よって、モータ速度ＶＭ１が正側に増加しているのに対し、アーム先端速度ＶＡ１は０のままである。
【００７８】  ただし、位置指令にバックラッシュ補正値が加算されるため、モータ速度ＶＭ１にバックラッシュ補正分の速度が重畳し、時刻ｔｑで、アーム先端位置ＹＡ１が正の方向に変化し始める時のアーム先端速度ＶＡ１が、図７に示すバックラッシュ補正が無い場合のアーム先端速度ＶＡ０に比べ高くなっている。
【００７９】  また、動作方向が反転しない場合は、位置指令へのバックラッシュ補正値の加算量に変化が無いため、順転時と反転時とでアーム先端速度ＶＡ１が異なることになる。
【００８０】  そこで、本実施の形態に示すように、ロボットの停止前に、位置指令の進行方向にバックラッシュ補正値を加算し、ロボットの停止中に、バックラッシュ補正値を漸減させることが必要となる。
【００８１】  以下、このことについて詳述する。
【００８２】  図１０Ａにおいて、期間ｔ１の開始時点は、アームの停止判定がなされた時点である。この時点から、期間ｔ１では、回転位置指令θｃｏｍの停止時に合わせて、停止方向にバックラッシュ補正値ＹＢＬが加算される。位置指令θｃｏｍの停止後、期間ｔ２では、バックラッシュ補正値ＹＢＬが保持され、その後、期間ｔ３では、バックラッシュ補正値ＹＢＬは漸減して、０となる。なお、ＡＹＢＬはアーム先端位置に換算するバックラッシュ補正値ＹＢＬの振幅を、ＡθＢＬはモータのバックラッシュ補正位置θＢＬの振幅を、それぞれ表わしている。
【００８３】  期間ｔ２で、バックラッシュ補正値ＹＢＬを保持している理由は、図１０Ｂに示すように、バックラッシュ補正値ＹＢＬの変化に対して、実際のアーム先端位置ＹＡに追従遅れが生じ、ゼロを超える有限の期間ｔ２を設けないと、アーム先端位置ＹＡがバックラッシュ補正値ＹＢＬに到達しない可能性があるからである。
【００８４】  ただし、アーム先端位置ＹＡの追従遅れが無視できるような場合は、期間ｔ２をゼロにしてもよい。
【００８５】  また、期間ｔ３は期間ｔ１よりも長くなるよう設定している。
【００８６】  減速機３のガタに起因したロボットメカ６１内の摩擦抵抗の影響を考慮して、期間ｔ１では、短時間でバックラッシュ補正値ＹＢＬに到達するよう設定している。
【００８７】  一方、期間ｔ３では、同じ摩擦抵抗の影響により、モータ位置ＹＭが逆戻りするのを防止するため、期間ｔ１よりも長い期間ｔ３をかけて、バックラッシュ補正値ＹＢＬを漸減させている。
【００８８】  なお、アーム先端位置の追従遅れが無視できるものとして、図１１Ｂ及び図１２に示す本実施の形態の一例では、図１０Ａに示す期間ｔ２は０としている。
【００８９】  図１１Ｂに示すように、アーム先端７１が停止する前に、停止方向にバックラッシュ補正値ＹＢＬが加算され、アーム先端７１の停止後、バックラッシュ補正値ＹＢＬが漸減して０となる。これは、図１０Ａに示す補正と同じであり、アーム先端７１が停止し、次に移動する毎に、上記の補正が繰り返される。また、アーム先端７１が停止し、次に反転移動する際にも、同様に、停止方向にバックラッシュ補正値ＹＢＬが加算され、アーム先端７１の停止後、バックラッシュ補正値ＹＢＬが漸減して０となる。なお、「停止方向」とは、停止するまで進んでいた方向のことである。
【００９０】  上記の補正を行うことで、図１１Ｃに示すように、アーム先端位置ＹＡはずれることなく目標位置へ到達する。
【００９１】  次に、本実施の形態に係るバックラッシュ補正が、アーム先端速度ＶＡに与える影響について、図１２を用いて説明する。
【００９２】  減速機１次側６が時計方向に回転し、バックラッシュ補正値ＹＢＬが加算された位置までモータ位置ＹＭが動作したとき、減速機２次側７の位置つまりアーム先端位置ＹＡはバックラッシュ補正により、目標位置で停止する（ΔＹ＝０）。図１２の縦軸は説明を平易にするために、ｃ点の位置を基準（＝０）としている。
【００９３】  図１２に示す時刻ｔｏにおいて、減速機１次側６が時計方向に回転し、バックラッシュ補正値ＹＢＬが加算された位置までモータ位置ＹＭが移動したとき、減速機２次側７の位置、つまりアーム先端位置ＹＡは、バックラッシュ補正により、目標位置で停止する（ΔＹ＝０）。なお、図１２において、グラフの縦軸の基準をｃ点としているのは、図７、図９と同様である。
【００９４】  次に、バックラッシュ補正値ＹＢＬの絶対値は漸減し、時刻ｔｐにおいて、モータ位置ＹＭは、バックラッシュ補正無しの場合と同様に０となる。つまり、モータ位置ＹＭは、減速機３のガタ（隙間）の中央付近で停止することとなる。
【００９５】  次に、アームは、ｃ点からｄ点への反転移動を開始するが、図１２に示すように、時刻ｔｑの手前で、モータ位置ＹＭが正の方向に変化しても、減速機のガタ（隙間）の分、空回りし、時刻ｔｑまでは、アーム先端位置ＹＡは変化せず、０のままである。
【００９６】  ただし、ｃ点からの移動開始時は、位置指令にバックラッシュ補正分が加算されないので、時刻ｔｑにおいて、アーム先端位置ＹＡが動き出す時のアーム先端速度ＶＡは、バックラッシュ補正が無い場合のアーム先端速度ＶＡ０に比べ高くならないことがわかる。
【００９７】  そして、減速機１次側６は反時計方向に回転し続け、バックラッシュ補正値ＹＢＬが加算された位置までモータ位置ＹＭが動作したとき（時刻ｔｒ）、アーム先端位置ＹＡは、バックラッシュ補正により、目標位置であるｄ点で停止する（ΔＹ＝０）。その後、バックラッシュ補正値ＹＢＬの絶対値は漸減し、時刻ｔｓにおいて、モータ位置ＹＭはバックラッシュ補正無しの場合と同様に０となる。つまり、モータ位置ＹＭは、減速機３のガタの中央付近で停止することとなる。
【００９８】  以上、説明したように、本実施の形態によれば、ロボットの停止前に、位置指令の進行方向にバックラッシュ補正値を加算し、ロボット停止中に、そのバックラッシュ補正値を漸減させることで、ロボットアームの移動において、アーム先端位置ＹＡが目標位置に対して正確に移動できるようになる。これと同時に、アームが停止し、移動する際のアーム先端速度ＶＡの上昇を抑制できる。
【００９９】  特に、ロボットアームが停止し、反転移動を行う際のアーム先端速度ＶＡの上昇を確実に抑制できる。
【０１００】  また、本実施の形態に係るロボットの制御方法は、特に溶接ロボットに適用した場合に非常に有用である。
【０１０１】  溶接ロボットを用いたアーク溶接では、溶接開始点で一旦停止し、アーク発生後、溶接方向へロボットアームの移動が開始される。
【０１０２】  溶接開始点への移動方向と溶接方向が逆の場合、別の比較例に示したようなバックラッシュ補正を行うと、溶接方向への移動開始直後の速度が大きくなる。このことは、溶接の仕上がりに深刻な影響をもたらす。
【０１０３】  図１５Ａ〜図１５Ｄは、別の比較例における、アーク溶接のプロセスフローを示す図である。
【０１０４】  図１６Ａ〜図１６Ｄは、本実施の形態に係る、アーク溶接のプロセスフローを示す図である。
【０１０５】  図１５Ａに示すように、ロボットが停止した状態で、溶接トーチ７４に装着された溶接ワイヤ７５が、ワーク８０の方へ送られ始める。図１５Ｂに示すように、溶接ワイヤ７５がワーク８０に到達すると、溶接ワイヤ７５に電流が流れ、ジュール熱が発生する。
【０１０６】  このジュール熱により、図１５Ｃに示すように、溶接ワイヤ７５がはじけスタートスパッタが発生し、溶接ワイヤ７５とワーク８０との間に空隙ができアークが発生する。
【０１０７】  図１５Ｄに示すように、アークが発生した後、溶接ワイヤ７５が融解し、ワーク８０に溶け落ちながら、溶接トーチ７４が溶接方向へ移動することで、溶接ワイヤ７５の移動軌跡に沿って溶接ビードが形成される。
【０１０８】  しかし、アーク発生後、ワイヤ融解が始まるまでの溶接トーチ７４の移動速度、すなわち、アーム先端速度ＶＡ１が大きいと、ビードが形成されずアークによる焼け跡のみが残る現象が発生するばかりか、アーク切れが発生し、溶接がうまくいかない場合がある。この場合、アークによる焼け跡の痕跡が、図１５ＤのＴＲ１に残る。
【０１０９】  また、上述したように、順転時と反転時とで、アーム先端速度ＶＡ１が異なることになる。
【０１１０】  いずれにせよ、アーク発生の開始時（以下、アークスタートという）は、ロボットの動作を含め微妙なタイミング調整が必要で、バックラッシュ補正が、アークスタートに影響を与えることは許されない。
【０１１１】  一方、本実施の形態によれば、図１６Ｄに示すように、アーク発生後のアーム先端速度ＶＡが、図１５Ｄに示した場合に比べ大きくならず、溶接開始時のプロセスの安定性に影響を与えない。
【０１１２】  また、アームの停止から移動を開始する時点は、モータ位置ＹＭは減速機のガタの中心付近から動作するので、動作方向が反転するか否かに関わらず、その挙動は変わらない。
【０１１３】  なお、アームの動作停止時、つまり、アーク発生が終了するときに、バックラッシュ補正値ＹＢＬが加算されるので、アーム先端速度ＶＡは若干上昇するが、この時は、すでに定常状態で安定している溶接プロセスを中断するだけなので、プロセスへの影響は殆ど無い。
【０１１４】  また、動作停止時に加算するバックラッシュ補正値ＹＢＬは、その後、漸減して０にしており、図８Ｂ、図９に示したバックラッシュ補正値ＹＢＬ１の半分になる。そのため、モータ速度ＶＭに重畳されるバックラッシュ補正分の速度も半減される。つまり、アーム先端速度ＶＡへの上昇が抑制されている。
【０１１５】  なお、本実施の形態では、ロボットアームの直線的な移動制御を例にとって説明したが、上記の制御方法は、直線上の移動制御に限られず、曲線上の移動制御に適用してもよい。また、３次元構造の対象物を加工等する場合にも適用可能である。
【０１１６】  また、アームの移動制御に限られず、自動搬送機等の産業用機械に適用してもよい。
【０１１７】  また、本実施の形態では、主に、溶接ロボットの制御について説明したが、上記の制御方法は、溶接ロボットに限定されず、他の用途で使用される産業用ロボットへも適用可能である。
【０１１８】  本開示のロボットは、ロボットの停止後、再び動作するときに、その動作開始速度の急激な上昇を抑制しつつ、バックラッシュ補正を行うことができる。
【０１１９】  本開示のロボットは、ロボットの停止前後で、バックラッシュ補正値を変化させて、動作開始速度の上昇を抑制するようにしている。
【０１２０】  具体的には、サーボモータを用いてロボットアームの運動制御を行うロボットの制御方法であって、ロボットアームが停止する前に、サーボモータに入力される位置指令にバックラッシュ補正値を加算するステップと、ロボットアームが停止中に、バックラッシュ補正値を漸減するステップと、を備え、バックラッシュ補正値は、ロボットアームの移動方向に対応して正の値を採るように設定している。
【０１２１】  この方法によれば、ロボットアームの停止前後で、バックラッシュ補正を行いつつ、ロボットアームの移動再開時には、位置指令にバックラッシュ補正値が加算されないため、ロボットアームの移動速度の上昇を抑制できる。ロボットアームの停止前後で、移動方向が反転する場合には、反転時のロボットアームの移動速度の上昇を抑制できる。
【０１２２】  また、バックラッシュ補正を行うことにより、ロボットアームを目標位置に正確に到達できる。
【０１２３】  ここでバックラッシュ補正値を加算する期間よりも、バックラッシュ補正値を漸減する期間の方が長くなるように設定する、のが好ましい。
【０１２４】  この方法によれば、減速機のガタ（隙間）に起因したロボット内の摩擦抵抗の影響により、モータ位置が逆戻りするのを防止でき、正確なバックラッシュ補正が行える。
【０１２５】  また、ここに開示する溶接方法は、サーボモータを用いて、ワイヤが装着されたロボットアームの運動制御を行うとともに、ワイヤを用いてワークの溶接を行う溶接方法である。ロボットアームの停止後に、ワイヤとワークとの間でアークを発生させるステップと、アークの発生後に、ロボットアームを移動させることで、ワイヤを移動させて、その移動軌跡に沿ってワークの溶接を行うステップと、を備えている。ロボットアームが停止する前に、サーボモータに入力される位置指令にバックラッシュ補正値を加算し、ロボットアームが停止中に、バックラッシュ補正値を漸減し、バックラッシュ補正値は、ロボットアームの移動方向に対応して正の値を採るように設定している。
【０１２６】  この方法によれば、ロボットアームの停止前後で、バックラッシュ補正を行いつつ、ロボットアームの移動再開時には、位置指令にバックラッシュ補正値が加算されないため、ロボットアームの移動速度の上昇を抑制できる。反転動作を含めた、ロボットアームの停止後の移動速度の上昇を抑制することで、溶接ビードの不形成やアーク焼けの痕跡が残らない良好な溶接を行うことが可能となる。
【０１２７】  また、バックラッシュ補正を行うことにより、ワイヤ先端を目標位置に正確に到達させることができ、溶接精度が向上する。
【０１２８】  ここで、バックラッシュ補正値を加算する期間よりも、バックラッシュ補正値を漸減する期間の方が長くなるように設定する、のが好ましい。
【０１２９】  この方法によれば、減速機のガタに起因したロボット内の摩擦抵抗の影響により、モータ位置が逆戻りするのを防止でき、正確なバックラッシュ補正が行える。
【０１３０】  本開示のロボットの制御方法によると、ロボットアームの停止直後の動作開始速度がバックラッシュ補正の影響で上昇するのを抑制しつつ、ロボットアームを目標位置に正確に到達できる。
【産業上の利用可能性】
【０１３１】  本開示のロボット制御方法は、ロボットの停止直後の動作開始速度が増加することなくバックラッシュ補正を行うことができ、溶接ロボットなどの産業用ロボットに適用する上で有用である。
【符号の説明】
【０１３２】１  第１アーム２  モータ３  減速機４  ベアリング６  減速機１次側７  減速機２次側９  第２アーム２０  位置制御ブロック３０  速度制御ブロック４０  ブロック５１  エンコーダ５３  減速機５５  バックラッシュ補正値演算ブロック６０  ロボット６１  ロボットメカ６２  ロボット制御装置６３  アーム６４  関節軸６５  操作・教示部６６  メイン制御部６７  サーボ制御部６８  モータ６９  アーム７１  アーム先端７２  アーム７３  モータ７４  溶接トーチ７５  溶接ワイヤ８０  ワークＡＸ  第１軸
【図１】
0006712724.tif 000002
【図２】
0006712724.tif 000003
【図３】
0006712724.tif 000004
【図４】
0006712724.tif 000005
【図５Ａ】
0006712724.tif 000006
【図５Ｂ】
0006712724.tif 000007
【図５Ｃ】
0006712724.tif 000008
【図６Ａ】
0006712724.tif 000009
【図６Ｂ】
0006712724.tif 000010
【図６Ｃ】
0006712724.tif 000011
【図７】
0006712724.tif 000012
【図８Ａ】
0006712724.tif 000013
【図８Ｂ】
0006712724.tif 000014
【図８Ｃ】
0006712724.tif 000015
【図９】
0006712724.tif 000016
【図１０Ａ】
0006712724.tif 000017
【図１０Ｂ】
0006712724.tif 000018
【図１１Ａ】
0006712724.tif 000019
【図１１Ｂ】
0006712724.tif 000020
【図１１Ｃ】
0006712724.tif 000021
【図１２】
0006712724.tif 000022
【図１３】
0006712724.tif 000023
【図１４】
0006712724.tif 000024
【図１５Ａ】
0006712724.tif 000025
【図１５Ｂ】
0006712724.tif 000026
【図１５Ｃ】
0006712724.tif 000027
【図１５Ｄ】
0006712724.tif 000028
【図１６Ａ】
0006712724.tif 000029
【図１６Ｂ】
0006712724.tif 000030
【図１６Ｃ】
0006712724.tif 000031
【図１６Ｄ】
0006712724.tif 000032