説明

制御方法及び制御装置

【課題】産業用ロボットなどの制御対象の周期的な挙動幅(往復移動の振幅)を、減速機にバックラッシュがない場合と同じにする、又は位置指令信号の振幅と同じにすることできる制御方法及び制御装置を提供する。
【解決手段】周期的な運動を行うアーム5のバックラッシュを補償しつつアーム5の位置制御を行う制御装置3において、アーム5の位置を指示する位置指令信号にバックラッシュを補償するバックラッシュ量信号をシフトしたうえで加算し、最終位置指令信号を生成して、生成した最終位置指令信号に基づいてアーム5の位置制御を行う制御部15を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ、減速機などから構成される産業用ロボット等の位置制御に好適な制御方法及び制御装置に関する。
【背景技術】
【0002】
例えば、溶接ロボットなどは垂直多関節型の6軸の産業用ロボットであり、そのアームの先端には溶接トーチなどから構成される溶接ツールが設けられている。このような溶接ロボットの駆動部である関節部などは、駆動源であるモータと、このモータの駆動力をアームに伝達する減速機とで構成されている。関節部のモータには、モータの回転位置を検出するエンコーダ等の位置検出器が設けられている。
【0003】
このような関節部を有する溶接ロボットに対して、モータの回転位置を指示する位置指令信号が外部から与えられる。このとき、位置検出器が検出するモータの位置情報が、位置指令信号が示す指令位置と一致するようにモータの回転が制御される。このような制御によるモータの回転が減速機を介してアームに伝わり、アーム先端に設けられた溶接トーチなどが所望の位置へ移動する。
【0004】
ところで、周知のように複数の歯車が組み合わされた減速機にはバックラッシュが存在し、このバックラッシュはアームの位置ずれの一因となる。そのため、減速機のバックラッシュ量を予め把握しておき、そのバックラッシュ量を補償する補正信号を位置指令信号に加算して位置指令補正信号を生成し、その後、この位置指令補正信号を溶接ロボットに与えることで、アームの位置ずれを解消するという試みがなされている。
【0005】
アームの位置ずれを解消する手段として、以下の特許文献1及び特許文献2に開示された技術がある。
【0006】
特許文献1には、指令位置信号と前記位置検出手段の出力信号である位置信号とを比較し、前記指令位置信号が指定する所定位置に前記腕の先端が占位するよう制御するサーボ機構である位置制御部と、腕毎に所定の位置へ動作させ、その時の位置検出手段の位置信号と腕の位置との関係を対応ずける位置合わせの時と同一方向に、予め設定しておく減速機のバックラッシュ量以上モータが回転した後に、モータの回転方向が反転したことを検出したとき、前記バックラッシュ量に対応する補正量を指令位置信号に加算するバックラッシュ補正を行ないバックラッシュの影響を除去するバックラッシュ補正部を有することを特徴とするロボットの制御装置が開示されている。
この制御装置によれば、常に適確なバックラッシュ補正を実施することができ、ロボットの手先位置を指令位置に正確に追従させることができるとされている。
【0007】
特許文献2には、制御対象の位置指令値を監視して当該制御対象の制御方向を検出する制御方向検出手段と、上記制御方向検出手段により検出された制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新する補正指令値更新手段と、上記補正指令値更新手段により更新されたバックラッシュの補正指令値を上記位置指令値に加算し、その加算結果に基づいて上記制御対象を駆動するモータの回転を制御する制御手段とを備えた数値制御装置が開示されている。
この数値制御装置によれば、バックラッシュを補償しつつ制御対象の移動方向が反転するときに生じる弾性変形を精度よく補償することができるとされている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】実用新案登録第2564722号公報
【特許文献2】特開2004−234205号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1に開示のロボットの制御装置によっても、常に適確なバックラッシュ補正を実施することが困難な場合がある。
例えば、ウィービング溶接などにおいてロボットのアームを溶接線に対して左右に揺動させるような場合、図2(a)に示す従来の手順によってバックラッシュ補正(バックラッシュ補償)を行っても、アームの運動に作用するバックラッシュの影響を解消することは困難である。
【0010】
従来のバックラッシュ補正について、以下、図2(a)を基に説明する。
ウィービング溶接においてアームを左右に揺動させる場合、言い換えれば、モータの回転位置を指示する位置指令信号θr(t)が正弦波のような周期信号である場合、アームの往復運動(特に往復反転時)は、減速機のバックラッシュの影響で位置指令信号θr(t)よりも位相が遅れてしまう。このため、アームの運動方向が実際に反転する前に位置指令信号θr(t)が示す制御方向が反転することになる。また、バックラッシュ量を補償するためのステップ状のバックラッシュ量信号θB(t)が表す方向は位置指令信号θr(t)の制御方向の反転と同じタイミング(位置指令信号θr(t)のピーク位置)で反転する。従って、アームの往復運動が本来反転すべき位置の手前で制御方向が反転する位置指令信号θr(t)に、同じく手前で反転するバックラッシュ量信号θB(t)が加算されて最終位置指令信号θFr(t)が生成される。図2(a)に示す最終位置指令信号θFr(t)の波形では、位置指令信号θr(t)のピーク位置でバックラッシュ量信号θB(t)に起因するステップ状の段差が形成されている。
【0011】
この最終位置指令信号θFr(t)をロボットに入力してアームを制御しても、最終位置指令信号θFr(t)が示す制御方向は、アームの往復運動が本来反転すべき位置の手前で反転する。そのため、実線で示すアームの往復運動の振幅(アームの回転角度θA(t))は、破線で示す元の位置指令信号θr(t)が示す振幅よりも小さくなってしまい、アームの往復運動に作用するバックラッシュの影響を解消することはできない。
【0012】
つまり、特許文献1によっても、減速機にバックラッシュがなく、それ故にバックラッシュ量を補償する補正信号を加算することなく位置指令信号を直接ロボットに入力した場合と比較して、アームの挙動幅(往復移動の振幅)が小さくなるという問題がある。
特許文献2に開示の数値制御装置は、伝達関数型フィルタを有している。この伝達関数型フィルタは、アームに作用する摩擦からそのアームの位置とモータの位置との偏差に至るまでの伝達関数がモデル化されたものである。このフィルタによって、矩形波のバックラッシュ量信号を滑らかな信号に変換している。
【0013】
しかし、特許文献1と同様、位置指令信号が正弦波のような周期信号である場合、アームの往復運動は位置指令信号より位相が遅れるため、アームの運動方向が実際に反転する前に、位置指令信号が反転してバックラッシュ量信号も反転する。このため、たとえバックラッシュ量信号をフィルタにより滑らかにしても、特許文献1と同様に、減速機にバックラッシュがない場合と比較して、アームの往復運動の振幅が小さくなるという問題がある。
【0014】
上述の問題に鑑みて、本発明は、産業用ロボットなどの制御対象の位置を指示する位置指令信号が正弦波のような周期信号である場合に、当該制御対象の挙動幅(往復移動の振幅)を、減速機にバックラッシュがない場合と同じにする、又は位置指令信号の振幅と同じにすることが可能な制御方法及び制御装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
上記の目的を達成するため、本発明は、以下の技術的手段を採用した。
本発明に係る制御方法は、周期的な運動を行う制御対象のバックラッシュを補償しつつ当該制御対象の位置制御を行う制御方法であって、前記制御対象の位置を指示する位置指令信号に前記バックラッシュを補償するバックラッシュ量信号をシフトしたうえで加算し、最終位置指令信号を生成する最終位置指令信号生成ステップと、前記最終位置指令信号生成ステップで生成した最終位置指令信号に基づいて前記制御対象の位置制御を行う位置制御ステップと、を備えることを特徴とする。
【0016】
好ましくは、前記最終位置指令信号生成ステップは、前記位置指令信号を生成する位置指令信号生成ステップと、前記位置指令信号生成ステップで生成された位置指令信号に基づいて前記制御対象の制御方向を検出する制御方向検出ステップと、前記制御方向検出ステップで検出した制御方向に応じて、前記制御対象のバックラッシュ量を補償するためのバックラッシュ量信号を生成するバックラッシュ量計算ステップと、前記バックラッシュ量計算ステップで生成されたバックラッシュ量信号を前記位置指令信号に対して所定遅れ時間だけ遅らせたバックラッシュ補正信号を生成する遅れ時間計算ステップと、前記遅れ時間計算ステップで生成されたバックラッシュ補正信号を前記位置指令信号に加算して最終位置指令信号を生成する信号加算ステップと、を有し、前記位置制御ステップは、前記信号加算ステップで生成された最終位置指令信号に基づいて、前記制御対象の位置を制御するとよい。
【0017】
ここで、好ましくは、周期信号からなる位置指令信号の周期の半分以下の時間を、前記遅れ時間計算ステップで用いられる所定遅れ時間としているとよい。
また、好ましくは、周期信号からなる位置指令信号に基づいて駆動した前記制御対象の実績出力を予め求めておき、前記位置指令信号と前記実績出力との位相差を求め、求めた位相差を遅れ時間計算ステップが用いる所定遅れ時間としているとよい。
【0018】
また、好ましくは、制御対象をモデル化した制御モデルを準備しておき、周期信号からなる位置指令信号を制御モデルに入力した際のモデル出力を求め、前記位置指令信号とモデル出力との位相差を求め、求めた位相差を遅れ時間計算ステップが用いる所定遅れ時間としているとよい。
また、好ましくは、ステップ信号からなる位置指令信号に基づいて駆動した前記制御対象の実績出力を予め求めておき、前記実績出力が位置指令信号が指示する位置となるまでの応答時間に基づく時定数を求めて、前記時定数を遅れ時間計算ステップが用いる所定遅れ時間としているとよい。
【0019】
本発明に係る制御装置は、周期的な運動を行う制御対象のバックラッシュを補償しつつ当該制御対象の位置制御を行う制御装置であって、前記制御対象の位置を指示する位置指令信号に前記バックラッシュを補償するバックラッシュ量信号をシフトしたうえで加算し、最終位置指令信号を生成して、生成した最終位置指令信号に基づいて前記制御対象の位置制御を行う制御部を備えることを特徴とする。
【0020】
好ましくは、前記制御部は、前記位置指令信号を生成する位置指令信号生成部と、前記位置指令信号生成部で生成された位置指令信号に基づいて前記制御対象の制御方向を検出する制御方向検出部と、前記制御方向検出部が検出した制御方向に応じて、前記制御対象のバックラッシュ量を補償するためのバックラッシュ量信号を生成するバックラッシュ量計算部と、前記バックラッシュ量計算部で生成されたバックラッシュ量信号を前記位置指令信号に対して所定遅れ時間だけ遅らせたバックラッシュ補正信号を生成する遅れ時間計算部と、前記遅れ時間計算部で生成されたバックラッシュ補正信号を前記位置指令信号に加算して最終位置指令信号を生成する信号加算部と、前記信号加算部で生成された最終位置指令信号に基づいて、前記制御対象の位置を制御する位置制御部と、を有するとよい。
【発明の効果】
【0021】
本発明による制御方法及び制御装置を用いれば、産業用ロボットなどの制御対象の位置を指示する位置指令信号が正弦波のような周期信号である場合に、当該制御対象の挙動幅(往復移動の振幅)を、減速機にバックラッシュがない場合と同じにする、又は位置指令信号の振幅と同じにすることできる。
【図面の簡単な説明】
【0022】
【図1】本発明の第1実施形態による制御装置及びロボットの概略構成を示す図である。
【図2】バックラッシュ量補償における各信号の時間変化を表すグラフであり、(a)は従来のバックラッシュ量補償における信号変化を表し、(b)は本発明の第1実施形態におけるバックラッシュ量補償における信号変化を示す。
【図3】バックラッシュを有する減速機の角度伝達を示す図である。
【図4】第1実施形態によるバックラッシュ量補償における処理のフローチャートである。
【図5】第1実施形態によるバックラッシュ量補償における信号変化を詳細に示す図である。
【図6】第1実施形態によるバックラッシュ量補償の効果を説明する図である。
【図7】本発明の第2実施形態によるアームの回転角度の周波数応答を表すグラフである。
【図8】第2実施形態によるバックラッシュ量補償の効果を説明する図である。
【図9】本発明の第3実施形態によるアームの回転角度のステップ応答を表すグラフである。
【図10】第3実施形態によるバックラッシュ量補償の効果を説明する図である。
【図11】本発明の第4実施形態によるバックラッシュ量補償において、最終位置指令信号からアームの回転角度までをモデル化したブロック線図である。
【発明を実施するための形態】
【0023】
以下、本発明の各実施形態を、図面に基づき説明する。なお、以下の説明では、同一の構成要素には同一の符号を付している。また、同一の構成要素に関しては、名称も機能も同じである。したがって、同一のものについての詳細な説明は繰返さない。
【0024】
[第1実施形態]
図面を参照しながら、本発明の第1実施形態によるアームの制御方法及び制御装置について説明する。
まず、本実施形態に係る制御方法及び制御装置が適用されるロボットシステム1の全体構成について説明する。
図1に示すように、ロボットシステム1は、溶接作業を行うロボット(溶接ロボット)2と、溶接ロボット2の動作を制御する制御装置3と、パソコン等の情報処理装置で構成される教示データ作成装置とを含む。図1において、教示データ作成装置は図示されていない。
【0025】
溶接ロボット2は垂直多関節型の6軸の産業用ロボットであり、その先端に溶接トーチなどから構成される溶接ツール4が設けられている。この溶接ロボット2はそれ自体を移動させるスライダ(図示せず)に搭載されていてもよい。
図1に示すように、溶接ロボット2の各アームを接続する関節は、モータ6、減速機7、及びエンコーダ8を有している。例えば溶接ツール4が取り付けられるアーム5は、減速機7を介してモータ6に接続されている。制御対象であるモータ6は、後述する制御装置3の指示によって回転し、そのモータ6の回転は減速機7で減速されて、同じく制御対象であるアーム5に伝達される。
【0026】
エンコーダ8は、モータ6に設けられた装置であり、モータ6の回転角度を検出すると共に、検出した回転角度を回転角度信号として制御装置3に出力する。
ところで、モータ6に備えられた減速機7は、複数の歯車で構成されているためにバックラッシュを有している。このバックラッシュの影響により、正方向に運動している減速機7を逆方向に運動させるためにモータ6の回転方向を反転させた際、その反転の瞬間において、モータ6が逆方向の回転を始めてから減速機7が逆方向の運動を開始(出力)するまでの時間差が生じる。つまり、バックラッシュの存在によって、モータ6の回転方向の反転時にモータ6の回転と減速機7の運動(出力)が一致しなくなるといった誤差現象が生じる。
【0027】
このバックラッシュによる誤差を補償(誤差現象を解消)するために、本発明の制御装置3は、バックラッシュ量計算部9、遅れ時間計算部10などを備えている、これらに関しては、後ほど詳しく説明する。
ところで、ロボットシステム1を構成する制御装置3は、溶接ロボット2の動作を、予め教示した教示プログラムに従って制御するものである。教示プログラムは、制御装置3に接続された教示ペンダントを使用して作成する場合や、図示しない教示データ作成装置を使用してオフラインで作成する場合がある。いずれの場合であっても、教示プログラムは、溶接ロボット2が実際に溶接作業を行う前に予め作成される。教示データ作成装置を用いて作成された教示プログラムは、磁気的又は電気的にデータを記憶した媒体等を介して制御装置3に渡されたり、データ通信により制御装置3に転送されたりする。
【0028】
このような制御装置3は、位置指令信号生成部11、制御方向検出部12、バックラッシュ量計算部9、遅れ時間計算部10、信号加算部13、及び位置制御部14からなる制御部15を有している。
図1及び図2を参照しながら、制御装置3の各構成要素について説明する。
位置指令信号生成部11は、アーム5の回転角度位置を制御するために、アーム5の回転角度位置に対応したモータ6の回転角度位置を指定するための位置指令信号θr(t)を生成し、出力するものである。
【0029】
図2(b)に示すように、位置指令信号θr(t)は、正弦波のように周期的に変動するものであって、モータ6の回転角度位置を指示する(回転制御方向が周期的に変動するように指示する)信号である。この周期的に変動する信号は、ウィービング溶接などにおいてアーム5を溶接線に対して左右に揺動させる際に発せられる。
制御方向検出部12は、位置指令信号生成部11から出力された位置指令信号からモータ6の回転制御方向を検出し、その制御方向に応じて正又は負の値1のステップ状制御方向信号を出力するものである。
【0030】
制御方向信号は、位置指令信号θr(t)のピーク位置を境にして値の正負が入れ替わる。つまり、制御方向信号の波形は、位置指令信号θr(t)のピーク位置を境にして値1から値−1へ、その逆に値−1から値1へステップ状に変動する。
制御方向検出部12は、その制御方向が反転しない場合は、同じ値の制御方向信号を出力し続ける。また、初期状態において制御方向検出部12は、値ゼロの制御方向信号を出力する。
【0031】
バックラッシュ量計算部9は、制御方向検出部12から出力された制御方向信号に所定のバックラッシュ補償ゲインBを乗じてバックラッシュ量信号θB(t)を生成し、出力するものである。バックラッシュ量信号θB(t)は、正又は負の値1のステップ状制御方向信号にバックラッシュ補償ゲインBを乗じた信号であるので、制御方向信号と同じくステップ状の波形を有している。
【0032】
図2(b)に示すバックラッシュ量信号θB(t)は、制御方向信号にバックラッシュ補償ゲインBを乗じて得られるものである。よって、バックラッシュ量信号θB(t)の値は、制御方向信号と同じく位置指令信号θr(t)のピーク位置を境にして正から負へ、その逆に負から正へステップ状に変動する。つまり、位置指令信号θr(t)のピーク位置と、バックラッシュ量信号θB(t)のステップ状の変動位置とは同じ時間となっている。
【0033】
なお、バックラッシュ補償ゲインBの値は、バックラッシュ量信号θB(t)の値が減速機7のバックラッシュ量に対応する大きさとなるように設定される。
遅れ時間計算部10は、バックラッシュ量計算部9から出力されたバックラッシュ量信号θB(t)を一定時間L(遅れ時間L)だけ遅れさせたバックラッシュ補正信号θBL(t)を生成し、出力するものである。
【0034】
図2(b)に示すバックラッシュ補正信号θBL(t)は、バックラッシュ量信号θB(t)を遅れ時間Lだけ遅れさせた(シフトした)波形を示している。つまり、バックラッシュ補正信号θBL(t)の値がステップ状に変動する位置は、位置指令信号θr(t)のピーク位置から遅れ時間Lだけ遅れる(シフトする)。
なお、上述のバックラッシュ量計算部9と遅れ時間計算部10とを合わせて、バックラッシュ補正信号計算部という。
【0035】
信号加算部13は、位置指令信号生成部11から出力された位置指令信号θr(t)と、遅れ時間計算部10から出力されたバックラッシュ補正信号θBL(t)とを加算して最終位置指令信号θFr(t)を生成し、出力するものである。
図2(b)を参照すると、位置指令信号θr(t)にバックラッシュ補正信号θBL(t)を加算して生成された最終位置指令信号θFr(t)が示されている。最終位置指令信号θFr(t)の波形は、バックラッシュ補正信号θBL(t)が位置指令信号θr(t)のピーク位置から遅れ時間L分だけ遅れているため、バックラッシュ補正信号θBL(t)に起因するステップ状の段差も遅れ時間L分だけ遅れている。
【0036】
位置制御部14は、エンコーダ8で検出されるモータ6の回転角度信号が、信号加算部13から出力された最終位置指令信号θFr(t)に追従するように、モータ6の指令電圧を計算してモータ6の回転位置を制御するものである。この位置制御部14の制御によってモータ6が動作し、減速機7を介してアーム5が駆動する。
図2(b)に示すように、位置指令信号θr(t)にバックラッシュ補正信号θBL(t)を加算して得られた最終位置指令信号θFr(t)に従った制御では、アーム5の回転角度θA(t)の振幅を、破線で示す元の位置指令信号θr(t)の振幅とほぼ同じ大きさとなるように確保できることがわかる。
【0037】
本実施形態では、遅れ時間Lだけ遅れさせたバックラッシュ補正信号θBL(t)を用いることによって、従来のバックラッシュ補償の手順を示す図2(a)の手順では解消できなかったアーム5の往復運動に作用するバックラッシュの影響を解消することができる。
このような構成のロボットシステム1によってウィービング溶接を行う場合を例として、遅れ時間Lだけ遅れさせたバックラッシュ補正信号θBL(t)を採用する必要性を、別の視点から説明する。
【0038】
前述の如くウィービング溶接では、先端に溶接ツール4を取り付けたアーム5が溶接線に対して左右に揺動される。言い換えれば、位置制御部14が、正弦波のような周期信号である位置指令信号θr(t)又は最終位置指令信号θFr(t)に従ってモータ6の回転位置を制御することで、アーム5が往復運動を行う。
図3に示すように、このときのアーム5の往復運動(特に往復反転時)は、減速機7のバックラッシュによって位置指令信号よりも位相が遅れてしまう。アーム5に作用する慣性力や重力により発生する回転方向の力が減速機7の摩擦力より小さい場合には、減速機7は、近似的に、以下の式(1)に従って角度伝達をする。
【0039】
【数1】

【0040】
図3は、式(1)の関係をグラフに表したものである。図3において、モータ6の回転角度θM(t)は、正弦波として一点鎖線で示されている。図3において、このモータ6の回転角度θM(t)に減速機7の減速比Cを乗じたC・θM(t)が、破線で示されている。減速機7にバックラッシュが無いと仮定した場合、この破線が減速機7の出力を示す波形となるので、減速機7に取り付けられたアーム5の回転角度θA(t)も、破線が示す波形と同様の波形を示すはずである。しかし、実際のアーム5の回転角度θA(t)が示す波形は、バックラッシュの存在により図3において実線で示す波形となる。なお、記号の後に(t)が付された記号は、時間(s:秒)に応じて値が変化する信号を表している。
【0041】
実際のアーム5の回転角度θA(t)が示す波形を破線で示す減速機7の出力と比較すると、実際の回転角度θA(t)が示す実線の波形は、減速機7のバックラッシュ量Δθだけ振幅が減少している。また、一点鎖線で示すモータ6の回転角度θM(t)と比較すると、実際の回転角度θA(t)が示す波形の位相は、バックラッシュの存在によりモータ6の回転角度θM(t)の位相よりも遅れている。
このように、位置指令信号θr(t)及びモータ6の回転角度θM(t)から位相が遅れるアーム5の回転角度θA(t)に対して、バックラッシュに起因した振幅の減少分を補償(バックラッシュ補償)する必要がある。
【0042】
本実施形態では、上述のように、バックラッシュに起因したアーム5の回転角度θA(t)の振幅の減少分を、図2(b)に示すバックラッシュ補正信号θBL(t)を位置指令信号θr(t)に加算して最終位置指令信号θFr(t)を生成することで補償する。以下、バックラッシュ補正信号θBL(t)の生成及び最終位置指令信号θFr(t)の生成について順を追って説明する。
【0043】
図4及び図5を参照しながら、バックラッシュ補正信号θBL(t)の生成について説明する。
制御装置3の位置指令信号生成部11は、ウィービング溶接を行うためのアーム5の回転角度位置の位置指令信号θr(t)を生成し出力する。ウィービング溶接においては、アーム5を一定の振幅で滑らかに往復運動させる必要があるため、位置指令信号生成部11は、図5に示すような正弦波の位置指令信号θr(t)を出力する(図4のステップS1:位置指令信号生成ステップ)。
【0044】
制御方向検出部12は、ステップS1で位置指令信号生成部11から出力された位置指令信号θr(t)から、アーム5の回転を制御する方向(制御方向)を検出し、検出した制御方向に応じてステップ状の制御方向信号θ±(t)を出力する。制御方向信号θ±(t)は、位置指令信号θr(t)の微分値に基づいて式(2)によって定義される、図5に示すような正又は負の値1のステップ状信号である(図4のステップS2:制御方向検出ステップ)。
【0045】
【数2】

【0046】
バックラッシュ量計算部9は、ステップS2で制御方向検出部12から出力された制御方向信号θ±(t)を基に、以下の手順でバックラッシュ量信号θB(t)を生成して出力し(バックラッシュ量計算ステップ)、遅れ時間計算部10は、次の手順でバックラッシュ量信号θB(t)を遅れ時間Lだけ遅らせてバックラッシュ補正信号θBL(t)を生成し出力する(遅れ時間計算ステップ)(図4のステップS3)。
【0047】
まず、予め測定された減速機7の減速比(式(1)のC)とバックラッシュ量(式(1)のΔθ)とを用いて、式(3)に従ってバックラッシュ補償ゲインBを計算する。
【0048】
【数3】

【0049】
続いて、式(4)に示すように、ステップS2で出力された制御方向信号θ±(t)にバックラッシュ補償ゲインBを乗算して、バックラッシュ量信号θB(t)が生成される。
【0050】
【数4】

【0051】
バックラッシュ補償ゲインBが1未満の値であるとき、生成されたバックラッシュ量信号θB(t)は、図5に示すように制御方向信号θ±(t)よりも振幅の小さなステップ状の信号となる。これにより、制御方向信号θ±(t)を基にして、バックラッシュ量に応じた振幅のバックラッシュ量信号θB(t)を得ることができる。この処理が、バックラッシュ量計算ステップである。
【0052】
続いて、遅れ時間計算部10は、得られたバックラッシュ量信号θB(t)を、そのままの波形で振幅を変えずに遅れ時間Lだけ遅らせることによって、図5に示すバックラッシュ補正信号θBL(t)を生成して出力する。バックラッシュ補正信号θBL(t)は、式(5)によって定義される。この処理が、遅れ時間計算ステップである。なお、遅れ時間Lの設定方法については、後に説明する。
【0053】
【数5】

【0054】
ここまでの処理で、本実施形態の技術的特徴であるバックラッシュ補正信号θBL(t)を得ることができる。以下には、引き続き図4及び図5を参照しながら、バックラッシュ補正信号θBL(t)を用いて最終位置指令信号θFr(t)を生成し、生成した最終位置指令信号θFr(t)に従ってアーム5を制御するまでの処理を説明する。
【0055】
信号加算部13は、ステップS3で遅れ時間計算部10から出力されたバックラッシュ補正信号θBL(t)と、ステップS1で位置指令信号生成部11から出力された位置指令信号θr(t)とを足し合わせて、式(6)によって定義される最終位置指令信号θFr(t)を生成し出力する(図4のステップS4:信号加算ステップ)。
上記一連のステップS1〜ステップS4をまとめて、最終位置指令信号生成ステップという。
【0056】
【数6】

【0057】
図5に示すように、上記の手順で得られた最終位置指令信号θFr(t)の波形では、バックラッシュ補正信号θBL(t)に起因するステップ状の段差がピーク位置から遅れ時間L分だけ遅れている。
位置制御部14は、エンコーダ8で検出されるモータ6の回転角度信号が、信号加算部13から出力された最終位置指令信号θFr(t)に追従するように、モータ6の指令電圧を計算してモータ6の回転位置を制御する。この位置制御部14の制御によってモータ6が動作し、減速機7を介してアーム5の角度が制御される(図4のステップS5:位置制御ステップ)。
上述のステップS1からステップS5の処理によって、バックラッシュに影響されないロボットシステム1によるウィービング溶接を実施することができる。
【0058】
次に、図6を参照しながら、本実施形態における遅れ時間Lの設定方法を説明する。図6は、本実施形態を、遅れ時間Lの設定値が小さい場合と大きい場合に適用したときの各信号の時間変化と、アーム5の回転角度を示している。図6では、上から順に、位置指令信号θr(t)、バックラッシュ補正信号θBL(t)、最終位置指令信号θFr(t)、及びアーム5の回転角度θA(t)が示されている。
【0059】
本実施形態において、遅れ時間計算部10は、制御方向検出部12により検出された制御方向が反転してから実際にアーム5の挙動が反転するまでの時間以上となるように遅れ時間L[sec]を設定する。
このように遅れ時間L[sec]を設定すれば、アーム5の振幅はバックラッシュがない場合と同じになり、実線で示すアーム5の振幅は破線で示すバックラッシュがない場合の振幅(元の位置指令信号θr(t)が示す位置)と同じとなる(図6(b)を参照)。
【0060】
また、遅れ時間Lが、制御方向が反転してから実際にアーム5の挙動が反転するまでの時間より小さくなるように設定されると、実線で示すアーム5の振幅は破線で示すバックラッシュがない場合の振幅よりも小さくなる(図6(a)を参照)。しかし、遅れ時間Lを0とした図6(c)の従来技術と比較すると、アーム5の振幅はバックラッシュがない場合に近くなる。これは、遅れ時間Lが0より少しでも大きければ、バックラッシュ補正信号θBL(t)の反転時間(更新時間)を遅らせることができ、実際のアーム5の反転時間が、バックラッシュがない場合のアーム5の反転時間に近くなることを示している。
【0061】
本実施形態では、このような考えに基づいて、遅れ時間Lの設定値を0より大きい値に設定することで、アーム5の挙動の反転位置(振幅)をバックラッシュがない場合の反転位置(振幅)に近づけている。
例えば、遅れ時間Lが、位置指令信号θr(t)が示す制御方向が反転してから次の反転までの時間以上となるように設定されてしまうなど、上記設定方法で設定した遅れ時間Lが大きすぎた場合、次の反転時のアーム5の挙動に影響を与えることがある。
【0062】
これに限らず、位置指令信号θr(t)が周期信号である場合、当該周期の半分以上の時間となるように遅れ時間Lを設定すると、次の反転時のアーム5の挙動に影響を与えることがある。そのような場合には、遅れ時間Lを、位置指令信号θr(t)の周期の半分以下となるように設定すると、上述した本実施形態の効果を得ることができる。
以上が、第1実施形態における遅れ時間Lの決定手法である。
【0063】
[第2実施形態]
次に、本発明の第2実施形態について説明する。
本実施形態によるロボットシステム1の構成は、既に説明した第1実施形態とほぼ同様である。第1実施形態と異なる点は、遅れ時間計算部10による遅れ時間Lの設定方法であるので、以下に、図7及び図8を参照しながら、第2実施形態における遅れ時間Lの設定方法を説明する。
本実施形態では、位置指令信号生成部11で生成される位置指令信号θr(t)が、ある周波数ω[rad/s]の周期信号である場合に、遅れ時間Lを以下の手順に従ってより正確に設定する方法について説明する。
【0064】
(手順1)
まず、位置制御部14への入力信号(最終位置指令信号θFr(t))としてバックラッシュ補正信号θBL(t)を含まない周波数ω[rad/s]の周期信号(例えば、正弦波信号)を採用して、そのときのアーム5の回転角度θA(t)を計測(実測)する。ただし、アーム5の回転角度θA(t)を実測する手段がない場合には、エンコーダ8で計測されたモータ6の回転角度θM(t)に減速機7の減速比Cを掛けたC・θM(t)をここでのアーム5の回転角度θA(t)とする。
図7は、この周波数ω[rad/s]の周期信号である最終位置指令信号θFr(t)に実測されたアーム5の回転角度θA(t)を重ね合わせたグラフである。
【0065】
(手順2)
図7に示すように、実測されたアーム5の回転角度θA(t)が周期的な動きになっている時刻で、最終位置指令信号θFr(t)と実測されたアーム5の回転角度θA(t)との位相差Tを求め、その位相差Tに相当する時間を遅れ時間Lとして設定する。
例えば、図7の最終位置指令信号θFr(t)とアーム5の回転角度θA(t)について、それぞれの波形がピークとなる時間の差(位相差T)を求め、その位相差Tを遅れ時間Lとして設定する。アーム5の回転角度θA(t)がピークとなる時間を求める際、バックラッシュの影響によってピークが一定時間続くが、ここでは、ピーク値となった最初の時刻(図7の点Aでの時刻)をアーム5の回転角度θA(t)のピーク時刻とみなして位相差Tを求める。
【0066】
図8を参照しながら、上記のように遅れ時間Lを設定したとき本実施形態の効果について説明する。図8は、ロボットシステム1に本実施形態を適用したときの各信号の時間変化とアーム5の回転角度θA(t)を示している。
図8では、上から順に、位置指令信号θr(t)、バックラッシュ補正信号θBL(t)、最終位置指令信号θFr(t)、及びアーム5の回転角度θA(t)が示されている。ここで、バックラッシュ補正信号θBL(t)は、上述の手順で設定された遅れ時間Lだけ遅れている。また、一番下のグラフの実線は、本実施形態を適用した場合のアーム5の回転角度θA(t)であり、破線は減速機7にバックラッシュがないときの振幅(元の位置指令信号θr(t)が示す位置)を表している。このグラフから、位置指令信号θr(t)が周期信号(ここでは正弦波信号)のときのアーム5の挙動の振幅が、本実施形態によるバックラッシュ補償によってバックラッシュのない場合とほぼ同じとなることが分かる。
【0067】
[第3実施形態]
本発明の第3実施形態について説明する。
本実施形態によるロボットシステム1の構成は、既に説明した第1実施形態及び第2実施形態とほぼ同様である。第1実施形態及び第2実施形態と異なる点は、遅れ時間計算部10による遅れ時間Lの設定方法であるので、以下に、図9及び図10を参照しながら、本実施形態における遅れ時間Lの設定方法を説明する。
本実施形態において、遅れ時間Lは、位置制御部14にステップ信号を入力して、そのときに実測されたアーム5の回転角度θA(t)に基づいて決定される。このステップ信号を用いた設定方法は、位置指令信号生成部11で生成される位置指令信号θr(t)が周期信号でない場合でも有効な方法である。遅れ時間Lを設定する手順を、以下順に説明する。
【0068】
(手順1)
まず、位置制御部14への入力信号(最終位置指令信号θFr(t))として時刻0[sec]以降である一定の値となる信号(ステップ信号)を採用して、そのときのアーム5の回転角度θA(t)を計測(実測)する。ただし、アーム5の回転角度θA(t)を実測する手段がない場合には、エンコーダ8で計測されたモータ6の回転角度θM(t)に減速機7の減速比Cを掛けたC・θM(t)をここでのアーム5の回転角度θA(t)とする。
図9は、入力されたステップ信号に対するアーム5の回転角度θA(t)のステップ応答の実測値を示したグラフである。図9に示すステップ応答において、アーム5の回転角度θA(t)は、ステップ信号が入力されてから一定時間後に定常値1となっている。
【0069】
(手順2)
図9のグラフを基に、実測されたアーム5の回転角度θA(t)が定常値の約63.2%に達する時間(時定数)を求めて、その時定数を遅れ時間Lとする。大きさ1[rad]のステップ信号を用いて、図9に示すアーム5の回転角度θA(t)の波形が得られた場合、0.632[rad]に達するまでの時間は0.36[sec]である。この0.36[sec]を時定数として、遅れ時間 Lを0.36[sec]とする。
【0070】
図10を参照しながら、時定数を用いて遅れ時間Lを設定したとき本実施形態の効果について説明する。図10は、ロボットシステム1に本実施形態を適用したときの各信号の時間変化とアーム5の回転角度θA(t)を示している。
図10では、上から順に、位置指令信号θr(t)、バックラッシュ補正信号θBL(t)、最終位置指令信号θFr(t)、及びアーム5の回転角度θA(t)が示されている。ここで、バックラッシュ補正信号θBL(t)は、上述の時定数を用いて設定された遅れ時間Lだけ遅れている。また、一番下のグラフの実線は、本実施形態を適用した場合のアーム5の回転角度θA(t)であり、破線は減速機7にバックラッシュがないときの振幅(元の位置指令信号θr(t)が示す位置)を表している。このグラフから、位置指令信号θr(t)が周期信号(ここでは正弦波信号)のときのアーム5の挙動の振幅が、本実施形態によるバックラッシュ補償によってバックラッシュのない場合とほぼ同じとなることが分かる。
【0071】
さらに、上述の時定数を用いて遅れ時間Lを設定することにより、遅れ時間Lがロボットシステム1の系に適したものとなるため、アーム5の挙動は反転後にすばやくバックラッシュのない場合の挙動に近づく。
【0072】
[第4実施形態]
本発明の第4実施形態について説明する。
本実施形態によるロボットシステム1の構成は、既に説明した第1実施形態〜第3実施形態とほぼ同様である。第1実施形態〜第3実施形態と異なる点は、遅れ時間計算部10による遅れ時間Lの設定方法であるので、
以下に、図11を参照しながら、本実施形態における遅れ時間Lの設定方法を説明する。
【0073】
上述の第2実施形態及び第3実施形態では、実際にロボットシステム1にステップ信号や正弦波信号を入力して、アーム5の回転角度θA(t)を実測する方法であったが、本実施形態では、溶接ロボット2のモデルを基にして遅れ時間Lを設定する。以下、溶接ロボット2のモデルを用いて遅れ時間Lを設定する手順を説明する。
まず、位置制御部14への入力信号である最終位置指令信号θFr(t)からアーム5の回転角度θA(t)までを、図11のようなブロック図でモデル化する。ただし、ここでは減速機7にバックラッシュがない場合を考える。
【0074】
図11において、sはラプラス演算子である。図11の破線で囲った部分はモータ6、減速機7、アーム5を合わせて簡易的なモデルで表したブロック図である。Jはモータ6と減速機7の慣性モーメントが全てアーム5に存在するとみなした場合のアーム5の慣性モーメントであり、Cは減速機7の減速比である。Rはモータ6内部の抵抗であり、Lはモータ6内部のインダクタンスである。Kτはトルク係数であり、Kは逆起電力係数を表す。F(t)はアーム5に作用する摩擦力である。
【0075】
また、K(s)は位置制御部14であり、例えば、式(7)に示すようなPI制御である。
【0076】
【数7】

【0077】
ここで、最終位置指令信号θFr(t)からアーム5の回転角度θA(t)までの伝達関数を求めると以下の式(8)で表せる。
【0078】
【数8】

【0079】
ここで、上式の最終位置指令信号θFr(t)からアーム5の回転角度θA(t)までの伝達関数をG(s)と表すことにする。
このモデルに対して、上述の第3実施形態と同様に、ステップ信号を入力するシミュレーションを行って出力を求め、遅れ時間Lを求める。
また、位置指令信号生成部11で生成される位置指令信号θr(t)がある周波数ω[rad/s]の正弦波信号である場合には、最終位置指令信号θFr(t)からアーム5の回転角度θA(t)までの周波数ω[rad/s]に対応する位相遅れargG(jω)を求める。ここで、jは虚数単位を表し、G(jω)はG(s)のsにjωを代入したものである。argG(jω)はG(jω)の偏角を表す。その上で、−argG(jω)/ωを遅れ時間Lとする。
【0080】
このように溶接ロボット2のモデルから遅れ時間Lを求めることで、第2実施形態及び第3実施形態のように実際に実機で計測実験を行うことなく遅れ時間Lを設定をすることができる。
本実施形態によって設定された遅れ時間Lを用いてバックラッシュ補正信号θBL(t)を生成しても、上述の各実施形態と同等の効果を得ることができる。
【0081】
ところで、今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。特に、今回開示された実施形態において、明示的に開示されていない事項、例えば、動作条件や測定条件、各種パラメータ、構成物の寸法、重量、体積などは、当業者が通常実施する範囲を逸脱するものではなく、通常の当業者であれば、容易に想定することが可能な値を採用している。
【符号の説明】
【0082】
1 ロボットシステム
2 溶接ロボット
3 制御装置
4 溶接ツール
5 アーム
6 モータ
7 減速機
8 エンコーダ
9 バックラッシュ量計算部
10 遅れ時間計算部
11 位置指令信号生成部
12 制御方向検出部
13 信号加算部
14 位置制御部
15 制御部

【特許請求の範囲】
【請求項1】
周期的な運動を行う制御対象のバックラッシュを補償しつつ当該制御対象の位置制御を行う制御方法であって、
前記制御対象の位置を指示する位置指令信号に前記バックラッシュを補償するバックラッシュ量信号をシフトしたうえで加算し、最終位置指令信号を生成する最終位置指令信号生成ステップと、
前記最終位置指令信号生成ステップで生成した最終位置指令信号に基づいて前記制御対象の位置制御を行う位置制御ステップと、を備える制御方法。
【請求項2】
前記最終位置指令信号生成ステップは、
前記位置指令信号を生成する位置指令信号生成ステップと、
前記位置指令信号生成ステップで生成された位置指令信号に基づいて前記制御対象の制御方向を検出する制御方向検出ステップと、
前記制御方向検出ステップで検出した制御方向に応じて、前記制御対象のバックラッシュ量を補償するためのバックラッシュ量信号を生成するバックラッシュ量計算ステップと、
前記バックラッシュ量計算ステップで生成されたバックラッシュ量信号を前記位置指令信号に対して所定遅れ時間だけ遅らせたバックラッシュ補正信号を生成する遅れ時間計算ステップと、
前記遅れ時間計算ステップで生成されたバックラッシュ補正信号を前記位置指令信号に加算して最終位置指令信号を生成する信号加算ステップと、を有し、
前記位置制御ステップは、
前記信号加算ステップで生成された最終位置指令信号に基づいて、前記制御対象の位置を制御することを特徴とする請求項1に記載の制御方法。
【請求項3】
周期信号からなる位置指令信号の周期の半分以下の時間を、前記遅れ時間計算ステップで用いられる所定遅れ時間としていることを特徴とする請求項2に記載の制御方法。
【請求項4】
周期信号からなる位置指令信号に基づいて駆動した前記制御対象の実績出力を予め求めておき、前記位置指令信号と前記実績出力との位相差を求め、求めた位相差を遅れ時間計算ステップが用いる所定遅れ時間としていることを特徴とする請求項2に記載の制御方法。
【請求項5】
制御対象をモデル化した制御モデルを準備しておき、
周期信号からなる位置指令信号を制御モデルに入力した際のモデル出力を求め、前記位置指令信号とモデル出力との位相差を求め、求めた位相差を遅れ時間計算ステップが用いる所定遅れ時間としていることを特徴とする請求項2に記載の制御方法。
【請求項6】
ステップ信号からなる位置指令信号に基づいて駆動した前記制御対象の実績出力を予め求めておき、前記実績出力が位置指令信号が指示する位置となるまでの応答時間に基づく時定数を求めて、前記時定数を遅れ時間計算ステップが用いる所定遅れ時間としていることを特徴とする請求項2に記載の制御方法。
【請求項7】
周期的な運動を行う制御対象のバックラッシュを補償しつつ当該制御対象の位置制御を行う制御装置であって、
前記制御対象の位置を指示する位置指令信号に前記バックラッシュを補償するバックラッシュ量信号をシフトしたうえで加算し、最終位置指令信号を生成して、生成した最終位置指令信号に基づいて前記制御対象の位置制御を行う制御部を備える制御装置。
【請求項8】
前記制御部は、
前記位置指令信号を生成する位置指令信号生成部と、
前記位置指令信号生成部で生成された位置指令信号に基づいて前記制御対象の制御方向を検出する制御方向検出部と、
前記制御方向検出部が検出した制御方向に応じて、前記制御対象のバックラッシュ量を補償するためのバックラッシュ量信号を生成するバックラッシュ量計算部と、
前記バックラッシュ量計算部で生成されたバックラッシュ量信号を前記位置指令信号に対して所定遅れ時間だけ遅らせたバックラッシュ補正信号を生成する遅れ時間計算部と、
前記遅れ時間計算部で生成されたバックラッシュ補正信号を前記位置指令信号に加算して最終位置指令信号を生成する信号加算部と、
前記信号加算部で生成された最終位置指令信号に基づいて、前記制御対象の位置を制御する位置制御部と、を有することを特徴とする請求項7に記載の制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−54436(P2013−54436A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−190637(P2011−190637)
【出願日】平成23年9月1日(2011.9.1)
【出願人】(000001199)株式会社神戸製鋼所 (5,860)
【Fターム(参考)】