(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、図を参照して本発明を実施するための形態について説明する。以下では、サーボモータを用いてテーブルを動かして位置決めを行う装置、すなわち、生産設備等で用いられる位置決めテーブル装置を例に、本発実施の形態の制御装置について説明する。
【0010】
図1は、位置決めテーブル装置の全体構成を示す図である。テーブル1は、左ガイド2aおよび右ガイド2bによりガイド長手方向にスライドできるように保持されている。テーブル1には、テーブル1をスライドさせるための駆動ベルト4が固定されている。駆動ベルト4は、駆動プーリ3aおよび従動プーリ3bに架け回されている。サーボモータ5の出力軸は駆動プーリ3aの軸に直結しており、サーボモータ5により駆動プーリ3aに回転力を与えると駆動ベルト4が駆動され、テーブル1がガイド長手方向にスライド移動する。
【0011】
サーボアンプ7は、図示しない上位コントローラからの指令とサーボモータ5に設けられたエンコーダ6からの信号S1とに基づいて、サーボモータ5を駆動するための三相交流を生成し、サーボモータ5に供給する。
【0012】
サーボアンプ7に設けられた入力処理器8では、エンコーダ6からの信号S1をサーボモータ5の制御に必要な物理量、例えば、サーボモータ5の角加速度や角速度、回転角度等に変換する。位置制御器9、外乱推定器10は、入力処理器8から出力される物理量(駆動情報としての制御信号)を用いてサーボモータ5の駆動トルクを計算する。電力変換器11は、この駆動トルクに基づいてサーボモータ5に印加する三相交流O3を生成する。なお、この他の構成として、電力変換器11へ電力供給を行うパワーライン系や、サーボモータ5に流れる電流を調整する電流制御系などの付随回路等があるが、これらについては説明及び図示を省略する。
【0013】
図1において、エンコーダ6→入力処理器8→位置制御器9→電力変換器11→サーボモータ5で示す制御系は、従来のフィードバック制御系に相当するものである。例えば、位置決めテーブル装置にて位置決め動作を行う場合、上位コントローラからサーボアンプ7に対して指令(例えば、サーボモータ5の速度指令)が入力される。上述したように、サーボアンプ7の入力処理器8には、サーボモータ5に取り付けられているエンコーダ6の検出する位置信号(パルス信号)S1が入力されている。入力処理器8は、その位置信号S1に基づいて現在の状態でのサーボモータ5の速度を計算する。
【0014】
位置制御器9は、位置と速度の両方を指令値に近付けるようにサーボモータで発生させるトルクを計算する。指令値は上位コントローラから入力される。なお、位置制御器9では位置制御の計算と速度制御の計算は独立になされるため、速度指令だけを入力した場合には、位置制御器9は速度制御を行う計算ブロックとして動作する。そのため、本実施の形態に示す例では、速度指令のみを入力し速度制御を行うように動作させている。
【0015】
なお、本実施例では速度制御の例で説明するが、これに限らず、位置指令を入力して位置制御を行っても良いし、位置と速度の両方指令を入力しての両方の制御を行っても良い。このようにして、位置制御器9の出力O1として、サーボモータ5の速度を指令値と一致させるような駆動トルクが算出される。外乱推定器10を備えていない従来の制御装置では、電力変換器11は、この出力O1と、入力処理器8から入力されるモータロータ位置信号S2とに基づいて、三相交流O3を生成する。
【0016】
本実施の形態では、このようなフィードバック制御系に加えて外乱推定器10を備えている。
図2は外乱推定器10の構成を示す図であり、
図3は外乱推定器10の動作を説明するフローチャートである。以下では、
図2,3を用いて外乱推定器10の構成および動作を説明する。外乱推定器10は、外乱周波数推定部10a、関数決定部10bおよび外乱補正信号発生部10cを備えている。外乱推定器10に入力された物理量(制御信号)は,外乱周波数推定部10aおよび関数決定部10bに入力される。
【0017】
ここで、外乱推定器10に入力され制御信号(物理量)としては、例えば、(a)サーボモータ5の角加速度、(b)サーボモータ5の角速度とサーボモータ5によって駆動される慣性体の慣性合計値の積、(c)サーボモータ5によって駆動される慣性体の慣性合計値とサーボモータ5の角加速度との積からサーボモータ5の発生するトルクを引いた値、(d)図示しないトルクセンサ(例えば、サーボモータ5に設けられている)の値の計測値、(e)上位コントローラで計算されたサーボモータ5の発生する駆動力、(f)サーボモータ5によって駆動される慣性体の慣性合計値とサーボモータ5の角加速度との積から図示しないトルクセンサの計測値を引いた値等を用いることができる。いずれを制御信号として使用するかは、装置の構成や要求仕様に依存し、算出にかかるコストや精度等を考慮して適するものを用いれば良い。
【0018】
図3のステップS101では、外乱周波数推定部10aは、現在の状態でのサーボモータ5の速度および電力変換器11から出力されるサーボモータ5の出力トルクモニタ信号S3等から得られる上記制御信号に基づいて、制御信号の変動の周波数f(外乱成分の周波数)を求める。なお、出力トルクモニタ信号S3は必ずしも使用しなくても良いが。使用することで推定精度を高めることができる。周波数の求め方としては、高速フーリエ変換を行っても良いし、制御信号の波形の山と山の間などの時間から求めても良い。本実施形態では高速フーリエ変換を用いて変換後の信号強度から周波数を求めている。なお、高速フーリエ変換については確立された技術であるためその動作説明は省略する。外乱周波数推定部10aから出力された周波数fは、増幅器10dで2π倍されて角速度ωに変換される。
【0019】
ステップS102では、外乱周波数推定部10aで決定した周波数f(角速度ω)で駆動される説明変数(波形)が生成される。本実施形態では、角速度をω、現在の時刻をtとしたとき、sin(ω・t)、cos(ω・t)および定数1を説明変数に用いた。なお、本実施形態で用いた説明変数は一例であって、例えば、tの累乗関数や指数関数や分数関数、また、これらの組合せであっても良く、装置の構成や要求仕様を考慮して、算出にかかるコストや精度等を考慮して適するものを用いれば良い。
【0020】
ステップS103では、関数決定部10bにおいて、生成された説明変数と入力された制御信号とから説明変数の係数が決定される。決定方法としては回帰分析やT検定のような種々の方法があるが、ここでは、制御信号を目的変数として説明変数への回帰計算を行って、各説明変数の係数を決定する。すなわち、係数の決定においては、目的変数と説明変数の係数倍の線形和の誤差が最小となるように計算を行う。例えば、最小二乗法により計算する。本実施形態では、この計算に重回帰分析による計算を用いて係数の決定を行っている。制御信号には上述した(a)〜(f)のような制御信号が用いられ、信号S1に含まれる外乱成分に近いものが用いられるので、回帰分析の結果は外乱信号を精度良く近似している。
【0021】
ステップS104では、外乱補正信号発生部10cは、推定した周波数f(角速度ω)を用いた説明変数と、関数決定部10bで決定した係数とを用いて現在以後(周波数推定後)に印加される外乱を予測し、予測外乱信号モデルを生成する。関数決定部10bで決定した係数をそれぞれA1,A2,A3とすると、予測外乱信号モデルは次式(1)のように表される。
A1・sin(ω・t)+A2・cos(ω・t)+A3 …(1)
【0022】
このようにして予測外乱信号モデルが決定したならば、ステップS105に進んで、外乱補正信号発生部10cは、予測外乱信号モデルに基づく外乱補正信号O2を出力する。なお、外乱補正信号は予測外乱信号の正負を反転したものである。すなわち、上位コントローラからの指令に基づく駆動トルクに加えて、駆動対象であるテーブル1が受けると予測される外乱による力(加振力)と逆方向の力(外乱抑制力)を、外乱に遅れることなくサーボモータ5に発生させることによって、外乱による加振力がサーボモータ5によって発生した外乱抑制力(補正トルク)によって相殺される。
【0023】
エンコーダ6からの信号S1には外乱による加振力の情報が含まれているが、外乱予測を精度良く行うためには、この加振力をサーボモータ軸トルクとして適切に変換された制御信号を用いれば、外乱による加振力をサーボモータ5の補正トルクによって精度良く相殺(抑制)することができる。例えば、上述した(a)〜(f)の制御信号を比較した場合、(c)の信号が最も正確に外乱を表しており、これを制御信号として用いるのが好ましい。(c)の制御信号をモータに限らずより一般的に表現すれば、アクチュエータの発生する駆動力と駆動対象の速度変化に必要な力との差分量、または、アクチュエータの発生する駆動トルクと駆動対象の速度変化に必要なトルクとの差分量となる。
【0024】
ここで、
図3に示す外乱推定器10の動作は、サーボアンプ7の計算周期毎に実行しても良いし、または、計算周期とは別の所定時間間隔で行うようにしても良い。また、後述するように所定条件が整った場合に行うようにしても良い。特に、外乱推定器10の中の関数決定部10bについては、この動作が行われるたびに、係数A1〜A3が更新され、更新されたA1〜A2を予測外乱信号モデルに用いることにより、推定器の誤差による累積的なずれをリセットすることができることになり、外乱に対する補正精度がより向上する。また、外乱推定器10内の外乱補正信号発生部10c、外乱周波数推定部10aについてもサーボアンプ7の計算周期毎に実行しても良いし、ある一定の時間間隔、あるいは、ある条件が整った場合に動作を行っても良い。
【0025】
外乱補正信号発生部10cから出力された外乱補正信号O2は、
図1に示す電力変換器11に入力される。電力変換器11は、位置制御器9からの出力O1と外乱推定器10からの出力される外乱補正信号O2とモータロータ位置信号S2とからサーボモータ5に加える三相交流の参照値を生成し、PWMによる電力変換を行ってサーボモータ5に加える電力を生成する。上述したように、本実施形態における出力O1は、サーボモータ5の速度を上位コントローラからの指令値と一致させるような駆動トルクを発生させる指令である。一方、外乱補正信号O2は、外乱による加振力を相殺する補正トルクを発生させる指令である。その結果、サーボモータ5は、上位コントローラの指令に追従しつつ、外乱による加振力を抑制するトルクを発生する。
【0026】
サーボモータ5からのトルクは駆動プーリ3aを回転させてベルト4を動かし、テーブル1をスライドさせる。外乱による加振力に変化があってテーブルの運動が変化した場合、その運動の変化はテーブル1からベルト4および駆動プーリ3aを介してサーボモータ5の回転運動の変化として現れる。その回転運動の変化はエンコーダ6により検出されサーボアンプ7へと入力され、再び外乱推定器10による演算が行われ角速度ωおよび係数A1〜A3が更新される。その結果、変化後の外乱を打ち消すような新たな外乱補正信号O2が、外乱推定器10から出力されることになる。すなわち、
図3の動作を繰り返し行うことにより、外乱の変化に対しても追従することができ、テーブル1の制御を精度良く行うことができる。
【0027】
図4〜6は外乱推定器10の効果を説明する図であり、テーブル1を所定位置に位置決めさせた場合の動作を示している。
図4はテーブルの変位xを示したものであり、縦軸は変位、横軸は時間である。0secから0.2secまではサーボアンプ7による制御を行っていない場合であり、0.2secから0.4secまでは位置制御器9による位置制御のみを行った場合、0.4seから0.6secまでは位置制御に加えて外乱推定器10を用いた外乱抑制制御を行った場合を示している。
【0028】
図4に示す例では、テーブル1には一定周期で振動する外乱が模擬的に与えられており、区間A(0sec〜0.2sec)の制御無しの場合には外乱による加振力でテーブル変位が周期的に振動している。なお、区間B(0.2sec〜0.4sec)は位置制御のみが行われる区間、区間C(0.4sec〜0.6sec)は位置制御と上述した外乱抑制制御とが行われている区間である。
図5は位置制御器9の出力O1(N)の時間的変化を示したものであり、
図6は外乱推定器10の出力(外乱補正信号O2)(N)を示したものである。制御無しの区間Aではいずれの出力もゼロとなっている。
【0029】
時刻0.2secからテーブル位置が変位=0の位置に位置決めされるような位置制御が開始されると、位置制御器9からは
図5に示すような振動的な出力O1が出力される。その結果、テーブル1の位置=0からの変位は小さくなるが、外乱の加振力による影響を位置制御だけでは抑えることができず、テーブル1は位置=0を中心として振動している。
【0030】
一方、外乱推定器10は入力される制御信号に基づいて
図6に示すような外乱補正信号O2を生成し、その外乱補正信号O2を時刻0.4secから出力する。外乱補正信号O2が出力されると外乱の加振力による影響が打ち消され、
図4の区間Cに示すようにテーブル1の変位xはほぼゼロとなり、目標位置(x=0)に精度良く位置決めされる。このように外乱推定器10の推定精度が高いことから、0.4secから外乱推定器10による外乱抑制を開始すると外乱推定器10の出力(外乱補正信号)O2のみでテーブル1の振動を抑えることができ、位置制御器9の出力O1が04sec以後(区間C)はゼロとなっていることが分かる。
【0031】
図7は、外乱推定器10の推定精度を意図的に悪くした場合のテーブル1の変位xを示したものである。各区間A〜Cにおける制御動作は
図4に示したものと同様である。この場合、推定精度が悪いために、外乱補正信号O2だけでは外乱の影響を抑えることが不完全となり、サーボアンプ7の入力信号S1に、外乱による変位が含まれている。そのため、位置制御器9の制御によって偏差(変位)をゼロにしようとする制御が働くが、それだけでは振動的な外乱の影響を抑えることができない。そのため、
図7の区間Cに示すように、変位xは位置制御のみの場合の大きさに近づくように徐々に大きくなっている。
【0032】
[変形例1]
図4,7に示した例では、外乱推定器10は学習(周波数の推定)を一度だけ行う場合であって、角速度ωおよび係数A1〜A3の更新(予測外乱信号を生成するモデルの更新)が行われない。ただし、ここで与えた模擬的な外乱は一定周期で振幅の変化のない正弦波的な外乱であるため、上述したように推定精度が高ければ
図4の区間Cのように変位xをゼロに抑えることができる。しかし、計算誤差によって推定精度が悪い場合や、実際の複雑な外乱の場合には、テーブル1の振動を抑えることができない可能性がある。
【0033】
そこで、
図3に示した推定動作を繰り返すことにより、角速度ωおよび係数A1〜A3の更新を行うことで、外乱推定器10の推定精度が悪い場合や外乱が変化する場合であっても、テーブル変位xを非常に小さく抑えて高精度に位置決めすることが可能となる。推定動作の繰り返しを行う方法としては、上述したように、サーボアンプ7の計算周期毎に実行しても良いし、計算周期とは別の所定時間間隔で行うようにしても良い。また、
図7の区間Cのように変位xが徐々に大きくなるような場合を考慮して、例えば、変位xの大きさ(peak−peakの大きさ)が所定の閾値以上となった場合に
図3の推定動作を再度行うようにしても良い。
【0034】
また、
図8に示すようにΔω算出部10eを設けて、推定された角速度ωを補正するようにしても良い。外乱周波数推定部10aに演算誤差が生じたりして推定された周波数と外乱の周波数との間にずれが発生すると、関数決定部10bで算出される説明変数(定数1)の係数A3が変化する。そこで、係数A3をΔω算出部10eに入力し、Δω算出部10eにおいて係数A3の変化から角速度ωのずれΔωを算出する。ここで、Δω=(外乱による角速度ω0)−(推定角速度ω)である。算出されたΔωは推定された角速度ωに加算され、その加算結果ω+Δω=ω’を用いて説明変数sin(ω’・t)およびcos(ω’・t)が生成される。
【0035】
また、
図8の二点差線で示すようにΔωを外乱周波数推定部10aに入力し、外乱周波数推定部10aにおける推定演算をチューニングするようにしても良い。そうすることで、外乱周波数推定部10aからは、ω+Δωに相当する周波数が出力されることになる。
【0036】
このように算出された係数A3からΔωを算出し、角速度ωを補正することで予測外乱信号(すなわち、外乱補正信号O2)の精度を向上させることができる。ここでは、Δωは演算誤差に基づくものであるので、Δωが一度算出されてそれによる周波数の補正が行われるようにすれば、それ以後は正確な角速度(ω+Δω)を用いて予測外乱信号の演算が行われる。そのため、演算誤差が変化しない限りΔωの演算は一回行えば良い。Δωによる補正が行われる構成とした場合、角速度の演算精度が向上するので、外乱推定器10による推定動作の繰り返し間隔を、Δω補正を行わない場合に比べて延ばすことができる。
【0037】
なお、算出された角速度ωにΔωを加算するような構成の場合には、Δω算出部10eはΔωを一度算出したならばそのΔωを出力し続け、角速度ωが推定される度にΔωの加算が行われる。また、算出されたΔωの値が閾値以上となったならば、Δωの加算またはΔωによるチューニングを行うようにしても良い。
【0038】
[変形例2]
上述した実施の形態では、外乱周波数推定部10aにおいて周波数推定を行う場合、周波数分析を行って得られた周波数ピークの内の最もピークの高い周波数(角速度ω)を出力するようにした。外乱源が一つの場合にはこのように周波数を決定しても、
図4に示した場合と同様に効果的に外乱の影響を抑制することができる。しかしながら、外乱が複雑な波形であったり、外乱源が複数あったりした場合には、周波数分析を行うと複数の周波数ピークが得られ、ピーク高さが2番目以降のものも無視できなくなる。
【0039】
そこで、第2の変形例では、外乱周波数推定部10aにおいて、ピークの高い順に複数の周波数を決定するようにした。例えば、2つの周波数(角速度ω1、ω2)を決定した場合には、説明変数としてsin(ω1・t)、cos(ω1・t)、sin(ω2・t)、cos(ω2・t)および定数1を生成する。関数決定部10bではそれらの説明変数部に対して5つの係数A1,A2,A3,B1,B2を決定する。この場合、予測外乱信号は次式(2)のように表される。
A1・sin(ω1・t)+A2・cos(ω1・t)
+B1・sin(ω2・t)+B2・cos(ω2・t)+A3 …(2)
【0040】
周波数を3以上推定する場合も同様にして予測外乱信号を生成する。このように、制御信号から複数の周波数を推定することにより、複雑な外乱であっても精度良く外乱補正信号O2を生成することができ、外乱によるテーブル1の振動を効果的に抑えることができる。
【0041】
以上説明したように、本実施の形態の制御装置は、駆動対象であるテーブル1を駆動するアクチュエータとしてのサーボモータ5を制御するための指令と、サーボモータ5の駆動状態を検出するエンコーダ6の検出情報(信号S1)とに基づき、サーボモータ5を制御する制御装置に適用される。そして、検出情報に基づいてテーブル1が受ける外乱の周波数を外乱周波数推定部10aで推定し、外乱推定器10は、推定された周波数に基づいて、その後(周波数推定後)の外乱を予測して予測外乱信号を発生する。外乱補正信号発生部10cは、予測外乱信号に基づいて、外乱によってテーブル1が受ける力を相殺する外乱抑制力の発生をサーボモータ5に要求する外乱補正信号O2を生成する。そして、検出情報と外乱補正信号O2とに基づいてアクチュエータ(サーボモータ5)を制御する。
【0042】
このような制御を行うことにより、位置決め装置等に用いられるアクチュエータの制御装置において、装置の内部あるいは外部に位置決め動作を乱す加振力等の外乱があって、位置決めが難しい場合であっても、外乱の影響を抑制し、高精度な位置決め動作を実施することができる。なお、検出情報(信号S1)に基づいて、アクチュエータの発生する駆動力と駆動対象の速度変化に必要な力との差分量、または、アクチュエータの発生する駆動トルクと駆動対象の速度変化に必要なトルクとの差分量を制御量として求め、外乱周波数推定部10aはその制御量に基づいて周波数の推定を行うのが好ましい。
【0043】
なお、上述した実施形態では、位置決めテーブル装置の位置決め動作を例に説明したが、本発明は位置決め動作に限らず、移動中の正確な位置制御や速度制御にも適用することができる。また、テーブル1をベルト駆動する構成に限らず、リニアモータによりテーブル1をスライド駆動する構成にも適用できる。さらには、
図1の構成に限らず、駆動対象を並進移動や回転移動等を行わせるアクチュエータの制御装置であれば、種々の形態に適用することができる。
【0044】
また、上述した実施形態では、図示しない加振力源から周期的な加振力が加えられているとしたが、加振源は装置に含まれる場合であっても同様に適用でき、振動を抑制することができる。装置に含まれる加振源としては、例えば、機構のガイド等の振れや表面粗さ等幾何学的な変動要素であっても良いし、サーボモータ5のトルク脈動などの電磁気的な変動要素であっても良いし、サーボアンプ7のインバータ部(電力変換器11)の電気的な変動要素であっても良いし、空隙の圧力の変化等の流体的な変動要素、またこれらの組合せであっても良い。
【0045】
なお、以上の説明はあくまでも一例であり、発明を解釈する際、上記実施の形態の記載事項と特許請求の範囲の記載事項の対応関係に何ら限定も拘束もされない。