工作機械の可動部にリニアスケールを取り付けて被駆動体位置を検出し、これを位置指令値と比較してフルクローズド制御を行う位置制御装置において、位置誤差を小さくするために以下の試みがなされている。
過渡応答時の位置誤差を小さくするためには、速度ループと位置ループの各ゲインを高く設定することで、可動部の摺動抵抗の変化や切削負荷等の予測困難な負荷変動外乱に対して被駆動体を高精度に制御することが可能となる。
図5に一般的なフルクローズド制御システムのブロック図を示す。リニアスケール11で検出した被駆動体12の位置検出値Plを位置フィードバック値として位置指令Pcとの偏差Pdifを減算器2が算出し、速度指令演算器3が前記位置偏差Pdifに基づき比例ゲインKpを乗算し速度指令Vc出力する。一方、モータ10に取り付けられた位置検出器9の位置検出値Pmを微分器14が微分し、モータの速度検出値Vmを出力する。前記速度指令Vcとモータ速度検出値Vmの偏差を減算器4により求め、速度偏差として出力する。この速度偏差と速度ループ比例ゲインPvと速度ループ積分ゲインIvに基づきトルク指令演算器(速度ループ比例ゲイン)5とトルク指令演算器(速度ループ積分ゲイン)6がそれぞれ速度偏差比例成分と速度偏差積分成分を出力し、加算器7が速度偏差比例成分と速度偏差積分成分を加算しトルク指令Tcを出力する。図5中の記号8は、トルク指令をフィルタリングする各種のフィルタ部と電流制御部を示す。電流制御部はトルク指令Tcに従い、モータ10を制御し、ボールネジ13を介して被駆動体12を駆動する。
ここで、図5中の記号8で記した各種フィルタ部・電流制御部の伝達特性が1であるとし、モータと被駆動体がバネ係数Kbのバネで連結されているとする。更に、モータ、被駆動体のモータ軸換算イナーシャがそれぞれJm、Jl、粘性摩擦係数がそれぞれDm、Dl、被駆動体に作用する摺動抵抗などのトルク外乱がTdであるとしてモデル化すると、トルク指令Tcから被駆動体の位置検出値Plまでの伝達特性は、図6に示すブロック図で表すことができる。
また、速度指令Vcからモータの速度検出値Vmまでの伝達特性が1、即ち、図5における速度フィードバック制御系の応答帯域が十分に高く、被駆動体からの反力トルクTrの影響を抑制可能な系に構成できたとすると、図5のブロック図は図7に示すブロック図で表され、制御系全体の伝達関数は次の式1で表される。式1においてSはラプラス演算子を示す。なお、ここでは、簡単のため、トルク外乱Td=0としている。
Pl(S)/Pc(S)
=Kp・Kb/(Jl・S3+Dl・S2+Kb・S+Kp・Kb)・・・式1
上式において、Kp<<(Kb/Jl)1/2と設定した場合、制御系全体のゲイン線図は図10に示す様な特性となる。
近年、各種のフィルタ技術と制振制御および速度ループの高速化によって高い位置・速度ループゲインの設定が可能になった。しかし、経年変化による駆動系部品の磨耗・部品のゆるみ、連続動作時の温度上昇によるボールネジの伸びを原因としたボールネジのテンション低下などにより、送り軸機構部の剛性が低下する場合がある。その場合、機械共振周波数(Kb/Jl)1/2が低下し、式1における制御系全体のゲイン線図は図11に示す様な特性となる。即ち、高く設定された位置ループゲインにより機械共振周波数(Kb/Jl)1/2におけるゲイン余裕が低下し、場合によっては被駆動体が低周波で振動してしまう課題が生じていた。また、大型マシニングセンタ等で想定以上の重量ワークを被駆動体に積載した場合においても、機械共振周波数(Kb/Jl)1/2が低下するため、同様の低周波振動が発生する。この課題に対する従来技術を次に説明する。
図8は、低周波振動の抑制を目的とした従来技術を示す制御ブロック図である。減算器15は前記被駆動体位置検出値Plと前記モータ位置検出値Pmの差であるたわみ量Psを算出する。たわみ量検出器32は、たわみ量Psに応じた係数Kを算出し、ゲイン初期値Kp0を乗算して速度指令演算器3で使用するゲインKpを決定する。ここで、係数Kは、たわみ量Psが大きくなるに従いその値が小さくなるように構成されている。この時、ゲインKpはKp=Kp0・Kであるから、たわみ量Psが大きくなるに従い、ゲインKpは小さくなる。ここで、送り軸機構部の剛性とたわみ量Psの関係に着目すると、送り軸機構部の剛性は被駆動体とモータを連結するバネ係数Kbのバネで表現されており、剛性が低下、即ち、バネによる結合が弱まれば被駆動体位置検出値Plとモータ位置検出値Pmの差であるたわみ量Psは大きくなる。即ち、たわみ量検出器32は、送り軸機構部の剛性が低下すると前記たわみ量Psが大きくなることに着目し、速度指令演算器3のゲインKpを小さくしている。
送り軸機構部の剛性が低下した状態では、制御系全体のゲイン線図は図11に示す様な特性であったが、送り軸機構部の剛性の低下にあわせて速度指令演算器3のゲインKpを小さくしたことにより、図7のブロック図における制御系全体のゲイン線図は図12の実線で示す様な特性となる。結果、機械共振周波数(Kb/Jl)1/2におけるゲイン余裕を大きくし、図5の従来例で発生した低周波の振動に対する課題を解決している。
ここで、図7における速度指令演算器3のゲインKpの最適値について説明する。機械共振周波数(Kb/Jl)1/2におけるゲイン余裕を大きくし、制御系の安定性を確保するためには、ゲインKpの値を小さくすれば良い。しかし、過度にゲイン余裕を確保することは制御系の応答性を低下させ、負荷変動外乱を抑制する効果や過渡応答時の位置誤差を小さくする効果が損なわれることとなる。したがって、機械共振周波数(Kb/Jl)1/2の低下、即ち、送り軸機構部の剛性の低下度合いにあわせて、速度指令演算器3のゲインKpを小さくすることが好ましい。図8の従来例では、図5の従来例で発生した低周波の振動を解決すると同時に、送り軸機構部の剛性の低下にあわせて速度指令演算器3のゲインKpを変更することで、過度にゲイン余裕が確保され、制御系の応答性が著しく低下することを回避している。
図9は、共振周波数の存在する制御対象に対して、制御パラメータの調整を行う他の従来技術を示す図である。速度指令演算器3の位置ループゲインKp、トルク指令演算器5、6の速度ループ比例ゲインPvと速度ループ積分ゲインIvを含む制御パラメータのセットを予め定めておき、ゲイン設定値が低いものから順にセット番号が割り振られている。セット番号を指定すると制御パラメータとして各ゲインの値が設定され、決められた動作を行ったときに速度検出値に振動が発生していないかチェックを行う。このとき、振動の発生を検出した場合には発振フラグをセットし、セット番号と関連付けて管理する。この動作をゲイン設定値が低いセットから順に行うことによって、発振限界を見極め、結果として駆動系が振動すること無く良好な制御応答を示す制御パラメータを選択することを可能としている。
図8に示した従来技術では、送り軸機構部の剛性の低下にあわせて速度指令演算器3のゲインKpを小さくすることで、機械共振周波数(Kb/Jl)1/2におけるゲイン余裕を確保し、低周波振動を抑制している。ここで、送り軸機構部の剛性の低下はたわみ量Psの増加により検出される。しかしながら、たわみ量Psが増加する現象は、送り軸機構部の剛性が低下した場合や被駆動体の積載重量が増加した場合に限らず、被駆動体に作用する摺動抵抗などのトルク外乱Tdが増加した場合にも発生する。被駆動体に作用するトルク外乱Tdが増加したことにより、たわみ量Psが増加した場合、機械共振周波数(Kb/Jl)1/2におけるゲイン余裕に変動は無いため、速度指令演算器3のゲインKpを小さくする必要は無い。逆に、この状況下で速度指令演算器3のゲインKpを小さくすることは、過度にゲイン余裕を確保することとなり、結果として制御系の応答性を低下させてしまう。それどころか、被駆動体に作用する摺動抵抗が軽くなる、即ちトルク外乱Tdが小さくなることでたわみ量Psが減少した場合、機械共振周波数(Kb/Jl)1/2におけるゲイン余裕に変動は無いにも関らず、速度指令演算器3のゲインKpを大きくすると低周波の振動が発生してしまう。
トルク外乱Tdの影響について詳しく説明する。被駆動体に作用するトルク外乱Td≠0とすると被駆動体位置検出値Plはモータ位置検出値Pmを用いて、下記式2で表される。式2においてSはラプラス演算子を示す。
Pl(S)={Kb/(Jl・S2+Dl・S+Kb)}・Pm(S)
−{1/(Jl・S2+Dl・S+Kb)}・Td(S)・・・式2
式2においてTd=0、即ち被駆動体に作用する摺動抵抗などのトルク外乱Tdを無視した場合、式2は図7に示すブロック図のバネ系モデル30と等価である。即ち、トルク外乱の有無に関わらず、機械共振周波数は(Kb/Jl)1/2であり、送り軸機構部の剛性、及び被駆動体の積載重量によって決まる。
しかし、被駆動体位置検出値Plは被駆動体に作用するトルク外乱Tdの影響を受ける。式2においてS=0とし、極低周波での駆動を想定した場合、式2は下記式3のように展開される。式3においてSはラプラス演算子を示す。
Pl(S)=Pm(S)−{1/Kb}・Td(S)・・・式3
つまり、送り軸機構部の剛性低下、即ちバネ係数Kbが小さくなる、あるいはトルク外乱Tdが大きくなることによって、被駆動体位置検出値Plとモータ位置検出値Pmの差であるたわみ量Psの大きさは増大する。
更に、摺動抵抗などのトルク外乱Tdの大きさは被駆動体の速度によって変化する。例えば、被駆動体が滑りガイド機構により支持・駆動される場合、高速移動時は油膜面上を滑るように移動するため摺動抵抗が小さくなる。一方、低速移動時は油膜の抵抗を受けながら進むため摺動抵抗が大きくなる。この他にも、摺動抵抗の大きさは温度や被駆動体の位置など種々の要因により変動するため、正確に把握することは困難である。即ち、被駆動体に摺動抵抗などのトルク外乱Tdが作用し、変動する駆動系においては、たわみ量Psから送り軸機構部の剛性低下を検出することは困難であり、速度指令演算器3のゲインKpを適切に定めることができない。
一方、図9に示した従来技術では、決められた動作を行ったときに速度検出値に振動が発生していないかチェックを行うことで発振限界を見極め、良好な制御応答を示す制御パラメータのセットを決定している。この場合、被駆動体に摺動抵抗などのトルク外乱Tdが作用・変動しても、機械共振を直接検出しているため、送り軸機構部の剛性にあった制御パラメータを定めることができる。しかし、経年変化による送り軸機構部の剛性低下にあわせて制御パラメータを最適化するためには、定期的に調整動作を行い、発振フラグを設定し直す必要がある。また、セット番号、各制御パラメータの値、発振フラグを関連付けて管理、記憶する必要があり、多くのメモリを必要とする。
本発明が解決しようとする課題は、摺動抵抗など被駆動体にトルク外乱が作用する駆動系において、その大きさが変動することにより、たわみ量の大きさも変動し、送り軸機構部の剛性低下が検出できなくなることである。また、送り軸機構部の剛性低下の度合いにあわせて、速度指令演算器のゲイン設定値などの制御パラメータの値を適切な値に調節することができなくなり、結果として、過度にゲイン余裕が確保され制御系の応答性が低下してしまったり、反対にゲイン余裕が少なくなり被駆動体に低周波振動が発生したりすることである。更に、制御パラメータを最適な状態に維持するために、定期的に調整動作を行うことを必要とし、調整動作の結果を管理、記憶するために、多くのメモリを必要とすることである。そして、本発明の目的は、送り軸機構部の剛性低下や被駆動体の積載重量の増加による機械共振周波数の低下を検出し、共振特性にあわせて速度指令演算器のゲイン設定値などの制御パラメータの値を最適化することで、被駆動体の低周波振動を防止するとともに制御系の追従性の低下を最小限に止める位置制御装置を提供することである。また、制御パラメータの最適化には特定の調整動作や多くの記憶メモリを必要とせず、通常の機械駆動動作の中で最適化を行う位置制御装置を提供することである。
本発明は、上記課題に対してなされたものであり、モータ位置検出器と、モータにより駆動される被駆動体の被駆動体位置検出器と、を含み、被駆動体の位置をフルクローズド制御する被駆動体の位置制御装置であって、前記被駆動体位置検出器からの位置検出値から求まる位置フィードバック値と上位装置から入力される位置指令値との偏差を比例増幅して速度指令値を出力する速度指令演算器と、前記モータ位置検出器からの位置検出値を微分して速度フィードバック値を算出する微分器と、前記速度フィードバック値と前記速度指令値との偏差を比例積分増幅してトルク指令値を出力するトルク指令演算器と、前記トルク指令値に応じて前記モータを駆動する手段と、前記位置指令値と前記被駆動体位置検出器からの位置検出値に基づいて被駆動体の振動の有無を判断し、被駆動体の振動が検出された場合に前記速度指令演算器のゲイン設定値を小さくする経年変化補正器と、を備え、経年変化により機械共振周波数が低下しても低周波振動の発生を抑制する、ことを特徴とする。
他の本発明は、モータ位置検出器と、モータにより駆動される被駆動体の被駆動体位置検出器と、を含み、被駆動体の位置をフルクローズド制御する被駆動体の位置制御装置であって、前記被駆動体位置検出器からの位置検出値から求まる位置フィードバック値と上位装置から入力される位置指令値との偏差を比例増幅して速度指令値を出力する速度指令演算器と、前記モータ位置検出器からの位置検出値を微分してモータ速度検出値を算出する微分器と、前記被駆動体位置検出器からの位置検出値を微分して被駆動体速度検出値を算出する微分器と、前記モータ速度検出値と前記被駆動体速度検出値の差を入力とする高域遮断フィルタの出力と前記モータ速度検出値を加算して速度フィードバック値を算出する加算器と、前記速度フィードバック値と前記速度指令値との偏差を比例積分増幅してトルク指令値を出力するトルク指令演算器と、前記トルク指令値に応じて前記モータを駆動する手段と、前記位置指令値と前記被駆動体位置検出器からの位置検出値を入力とし、被駆動体の振動が検出された場合に前記トルク指令演算器および前記速度指令演算器の少なくとも一方のゲイン設定値を小さくする経年変化補正器と、を備え、経年変化により機械共振周波数が低下しても低周波振動の発生を抑制する、ことを特徴とする。
好適な態様では、前記被駆動体位置検出器からの位置検出値を、前記位置フィードバック値とする。他の好適な態様では、さらに、前記モータ位置検出器からの位置検出値と前記被駆動体位置検出器からの位置検出値の差であるたわみ量を算出する減算器と、前記たわみ量を入力とする高域遮断フィルタの出力と前記モータ位置検出器からの位置検出値を加算して前記位置フィードバック値を算出する加算器と、を備える。
他の好適な態様では、前記経年変化補正器は、前記位置指令値を2階微分して指令加速度を出力する2次微分器と、前記指令加速度の大きさが閾値以下である場合に駆動系が加減速状態に無いと判断し振動検出開始信号を出力する比較器と、前記位置指令値と前記被駆動体位置検出器からの位置検出値との差分から被駆動体の位置誤差を算出する減算器と、前記振動検出開始信号の出力時に前記被駆動体の位置誤差信号に含まれる振動の振動周波数を算出し出力する振動検出器と、前記振動周波数からゲイン換算初期値を算出するゲイン換算初期値設定器と、前記振動検出器が振動を検出している間、前記ゲイン換算初期値に対し予め設定されたゲイン低減率分を繰り返し減算してゲイン換算値を算出する減算器と、前記ゲイン換算値をリミット処理し前記トルク指令演算器および前記速度指令演算器の少なくとも一方のゲイン設定値に乗算するゲイン出力切替器と、を備え、被駆動体の振動が検出された場合に前記トルク指令演算器および前記速度指令演算器の少なくとも一方のゲイン設定値を小さくする。
本発明による位置制御装置によれば、摺動抵抗など被駆動体に作用するトルク外乱の大きさが変動する送り軸駆動系においても、経年変化補正器が機構部の剛性低下に起因した振動を検出し、速度指令演算器、トルク指令演算器のゲイン設定値を小さくする。その結果、送り軸機構部の剛性が低下しても低周波の振動を発生させることなく被駆動体を動作させることができるとともに制御系の追従性の低下を最小限に止めることができる。また、駆動条件の判別、振動周波数の特定、ゲイン設定値の変更を自律的に行うため、特定の調整動作を必要とせず、通常の機械駆動動作の中で最適化を行うことができる。
本発明の実施例について説明する。従来例と同一要素には同一符号を付しており説明は省略する。本発明の制御ブロック図を図1に示す。経年変化補正器40は位置指令Pcと被駆動体位置検出値Plを入力とし、駆動系が非加減速状態にあるときの被駆動体の振動を検出する。更に、被駆動体の振動が検出された場合には、速度指令演算器3のゲインKpを可変する。
具体的に、速度指令演算器3のゲインKpを可変する実施例を図2に示す。位置指令値Pcを2次微分器41に入力し、2階微分することで指令加速度Acを算出する。算出された指令加速度Acは比較器43により予め設定された指令加速度閾値Acrefと比較され、指令加速度Acが指令加速度閾値Acref以下の場合には、駆動系が加減速状態に無い(定常状態にある)と判断し、振動検出開始信号を振動検出器48に出力する。
一方、振動検出器48は、振動検出開始信号の他に位置指令値Pcと被駆動体位置検出値Plとの差分により定義される被駆動体の位置誤差信号を入力に持ち、振動検出開始信号が出力されている間の被駆動体の位置誤差信号に含まれる振動の振動周波数fpを算出し出力する。この時、振動周波数fpの検出範囲は予め定数設定されたfstからfenの範囲に限定される。更に、被駆動体の位置誤差信号に含まれる振動の大きさ(振幅)が予め定数設定されたSPrefの値よりも大きい場合にのみ振動が存在していると見なし、振動周波数fpとして出力する。
ゲイン換算初期値設定器49は、振動検出器48から出力された振動周波数fpを入力とし、以下の方法でゲイン換算初期値Ksを算出する。
速度指令Vcからモータの速度検出値Vmまでの伝達特性が1、即ち、図1における速度フィードバック制御系の応答帯域が十分に高く、被駆動体からの反力トルクTrの影響を抑制可能な系に構成できたとすると、制御系全体の伝達関数は式1で表される。
機械共振周波数(Kb/Jl)1/2における低周波振動を抑制するためには、上記周波数におけるゲイン余裕を確保する必要があり、少なくともKp≦(Kb/Jl)1/2とする必要がある。機械共振周波数で低周波振動が発生した場合、振動検出器48は振動周波数fpを出力し、これを角周波数で表現すると2πfpとなる。即ち、低周波振動を抑制するためにはKp≦2πfpとする必要がある。そこで、ゲイン換算初期値設定器49は式4のようにゲイン換算初期値Ksを演算し、上記関係を満たしていない場合は両者の比率を、上記関係を満たしている場合は1を出力する。
Ks=
2πfp/Kp (Kp>2πfpの場合)
1 (Kp≦2πfpの場合)
・・・式4
一方、振動検出器48が振動周波数fpを検出している場合、カウンタ51がカウントアップされ、ゲイン換算初期値Ksから予め定数設定されたゲイン低減率分ΔKの減算を行い、ゲイン換算値Kを算出する。なお、ゲイン換算値Kはその値が0<K<1の範囲となるようにゲイン出力切替器53でリミット処理される。ゲイン換算値Kが算出されると、速度指令演算器3のゲインは元々の設定値Kpに対し、ゲイン換算値Kを乗じた値Kp’=K×Kpまで低減される。なお、上記カウントアップ操作は振動検出器48が振動周波数fpを検出し続けている間継続して行われるため、振動検出器48にて振動が検出されなくなるまでゲイン換算値Kの値が小さくなる。そして、この比率分だけ速度指令演算器3のゲインが小さくなる。言い換えれば、被駆動体の振動を抑制するのに必要な分だけゲイン設定値が小さくされ、必要以上に小さなゲインが設定されることを防ぐことができるため、位置制御系の追従性の低下を最小限に止めることができる。
なお、ゲイン換算初期値設定器49の出力であるゲイン換算初期値Ks、及びゲイン出力切替器53の出力であるゲイン換算値Kは、振動検出器48において異なる振動周波数fpが検知された場合に、その値が更新されるものとし、振動検出器48が振動を検出していない間は、その値が保持されるものとする。
同様に、カウンタ51のカウンタ値nは、振動検出器48において異なる振動周波数fpが検知された場合に、カウントクリアされるものとし、振動検出器48が振動を検出していない間は、その値が保持されるものとする。ただし、前述のように同一の振動周波数fpを検出し続けている間はカウントアップ動作を行うものとする。
また、振動検出器48は、振動検出開始信号が出力されている間の被駆動体の位置誤差信号に含まれる振動の振動周波数fpを算出することを示したが、その振動検出アルゴリズムの実現にあたっては、工学的に良く知られているDFT(FFT)等を利用することによって実現できる。もしくは被駆動体の位置誤差信号が最大値あるいは最小値、またはその中間値をとる時間の間隔を計測することで振動周期を特定し、その逆数を計算することで振動周波数fpを算出することも可能である。
以上のように、本発明による位置制御装置によれば、図11のように機械共振周波数(Kb/Jl)1/2が低下した場合に発生する低周波振動に対し、振動が観測されなくなるまでゲインKpを小さくすることにより、機械共振周波数(Kb/Jl)1/2におけるゲイン余裕が大きくなるため、図12の実線で示す様なゲイン特性となる。結果として、制御系を安定化し、低周波振動の発生を抑制することができる。また、ゲインKpの値として必要以上に小さな値が設定されることがないため、過度にゲイン余裕が確保されることもなく、制御系の追従性の低下を最小限に止めることができる。更に、経年変化補正器40は、被駆動体の振動を検出してゲインKpを可変するため、摺動抵抗など被駆動体に作用するトルク外乱の大きさが変動する送り軸駆動系においても、適切に機構部の剛性低下を検出し、低周波振動を抑制することができる。また、指令加速度Acによる駆動条件の判別、振動検出器による振動周波数の特定、ゲイン設定値の変更など一連の動作を自律的に行うため、特定の調整動作を必要とせず、通常の機械駆動動作の中で最適化を行うことができる。
次に、他の実施形態について、図2、図3を参照して説明する。図3は位置制御装置の制御ブロックを示した図であり、位置フィードバック値を算出するための構成が異なることを除けば、図1に示したものと同じである。
図3に示した位置制御装置では、被駆動体位置検出値Plとモータ位置検出値Pmの差であるたわみ量Psを算出する。更に、たわみ量Psは伝達特性がGp(S)で与えられる高域遮断フィルタ16に入力され、その出力と前記モータ位置検出値Pmを加算して位置フィードバック値Pdを算出する。ここで、高域遮断フィルタ16は、高域遮断特性を持つフィルタであればよく、例えば移動平均演算を行うFIRフィルタであってもよい。なお、ここでは、簡単のため、高域遮断フィルタ16の伝達特性が1/(1+Tp・S)で与えられる1次遅れ特性であるとして説明する。
図3において、経年変化補正器40は図1と同様に、位置指令Pcと被駆動体位置検出値Plを入力とし、駆動系が非加減速状態にあるときの被駆動体の振動を検出する。被駆動体の振動は経年変化補正器40の振動検出器48において、その振動周波数fpが特定され、ゲイン換算初期値設定器49に入力される。そして、ゲイン換算初期値設定器49は、以下の方法でゲイン換算初期値Ksを算出する。
速度指令Vcからモータの速度検出値Vmまでの伝達特性が1、即ち、図3における速度フィードバック制御系の応答帯域が十分に高く、被駆動体からの反力トルクTrの影響を抑制可能な系に構成できたとすると、制御系全体の伝達関数は式5で表される。式5においてSはラプラス演算子を示す。
Pl(S)/Pc(S)
={(1+Tp・S)・Kp・Kb}
/{Tp・(S+Kp)・(Jl・S3+Dl・S2+Kb・S)
+(Jl・S3+Dl・S2+Kb・S +Kp・Kb)}・・・式5
式5において、Tp=0とした場合、位置フィードバック値Pdに被駆動体位置検出値Plを用いた場合を表し、式1と一致する。反対に、Tp=∞とした場合、位置フィードバック値Pdにモータ位置検出値Pmを用いた場合を表し、式5は下記式6のように展開される。式6においてSはラプラス演算子を示す。
Pl(S)/Pc(S)
={Kp/(S+Kp)}・{Kb/(Jl・S2+Dl・S+Kb)}・・・式6
即ち、1次遅れ特性の時定数Tpの大きさによって程度は異なるものの、図3における位置制御系は、機械共振周波数(Kb/Jl)1/2における低周波振動を生じる恐れがあり、これを抑制するためには、上記周波数におけるゲイン余裕を確保する必要がある。また、そのためには、図1の構成の場合と同様に、少なくともKp≦(Kb/Jl)1/2とする必要がある。そこで、ゲイン換算初期値設定器49は図1の場合と同様に、式4を用いてゲイン換算初期値Ksを演算し、ゲイン出力切替器53によりゲイン換算値Kが出力される。これにより、速度指令演算器3のゲインは元々の設定値Kpに対し、ゲイン換算値Kを乗じた値Kp’=K×Kpまで低減され、振動検出器48にて振動が検出されなくなるまで速度指令演算器3のゲインが小さくなる。
以上の説明から明らかなとおり、本実施形態によれば、図1、図2を用いて説明した場合と同様の作用効果が得られる。即ち、本実施形態によれば、機械共振周波数(Kb/Jl)1/2が低下した場合に発生する低周波振動に対し、振動が観測されなくなるまでゲインKpを小さくすることにより、機械共振周波数(Kb/Jl)1/2におけるゲイン余裕が大きくなるため、制御系を安定化し、低周波振動の発生を抑制することができる。また、ゲインKpの値として必要以上に小さな値が設定されることがないため、過度にゲイン余裕が確保されることもなく、制御系の追従性の低下を最小限に止めることができる。更に、経年変化補正器40は、被駆動体の振動を検出してゲインKpを可変するため、摺動抵抗など被駆動体に作用するトルク外乱の大きさが変動する送り軸駆動系においても、適切に機構部の剛性低下を検出し、低周波振動を抑制することができる。また、指令加速度Acによる駆動条件の判別、振動検出器による振動周波数の特定、ゲイン設定値の変更など一連の動作を自律的に行うため、特定の調整動作を必要とせず、通常の機械駆動動作の中で最適化を行うことができる。
次に、他の実施形態について、図2、図4を参照して説明する。図4は位置制御装置の制御ブロックを示した図であり、速度フィードバック値を算出するための構成が異なることと、速度指令演算器3のゲインKpに加え、トルク指令演算器の比例ゲインPv、積分ゲインIvを可変する構成となっていることを除けば、図1に示したものと同じである。
図4に示した位置制御装置では、被駆動体位置検出値Plを微分器18で微分して得た被駆動体速度検出値Vlと、前記モータ速度検出値Vmの差を伝達特性がGv(S)で与えられる高域遮断フィルタ20に入力し、その出力と前記モータ速度検出値Vmを加算して速度フィードバック値Vdを算出する。ここで、高域遮断フィルタ20は、高域遮断特性を持つフィルタであればよく、例えば移動平均演算を行うFIRフィルタであってもよい。なお、ここでは、簡単のため、高域遮断フィルタ20の伝達特性が1/(1+Tv・S)で与えられる1次遅れ特性であるとして説明する。
図4において、経年変化補正器40は図1と同様に、位置指令Pcと被駆動体位置検出値Plを入力とし、駆動系が非加減速状態にあるときの被駆動体の振動を検出する。被駆動体の振動は経年変化補正器40の振動検出器48において、その振動周波数fpが特定され、ゲイン換算初期値設定器49に入力される。そして、ゲイン換算初期値設定器49は、以下の方法でゲイン換算初期値Ksを算出する。
記号8で記した各種フィルタ部・電流制御部の伝達特性が1、かつ図6で示したモータ、被駆動体の粘性摩擦係数Dm、Dlが無視できるとすると、速度指令Vcから速度フィードバック値Vdまでの伝達関数は式7で表される。式7においてSはラプラス演算子を示す。
Vd(S)/Vc(S)
={(Jl・Pv・Tv)・S4+(Jl・Iv・Tv)・S3
+(Kb・Pv・Tv)・S2
+(Kb・Pv+Kb・Iv・Tv)・S+(Kb・Iv)}
/{Jm・Jl・Tv・S5+(Jm・Jl+Jl・Pv・Tv)・S4
+(Jm・Kb・Tv+Jl・Kb・Tv+Jl・Iv・Tv)・S3
+(Jm・Kb+Jl・Kb+Kb・Pv・Tv)・S2
+(Kb・Pv+Kb・Iv・Tv)・S+(Kb・Iv)}・・・式7
ここで、トルク指令演算器のゲイン設定値を小さくすることにより、機械共振周波数(Kb/Jl)1/2におけるゲイン余裕が確保され、低周波振動が抑制された状態では、共振特性の影響は表面化せず、剛性が高い場合と同じような振る舞いを見せる。そこで、Kb=∞と定め、式7を簡略化すると、下記式8のように展開される。式8においてSはラプラス演算子を示す。
Vd(S)/Vc(S)
={Pv・S+Iv}/{(Jm+Jl)・S2 +Pv・S +Iv}・・・式8
即ち、速度制御ループの応答帯域は{Iv/(Jm+Jl)}1/2で表され、機械共振周波数(Kb/Jl)1/2における低周波振動を抑制するためには、少なくとも{Iv/(Jm+Jl)}1/2≦(Kb/Jl)1/2とする必要がある。機械共振周波数で低周波振動が発生した場合、振動検出器48は振動周波数fpを出力し、これを角周波数で表現すると2πfpとなる。即ち、低周波振動を抑制するためには{Iv/(Jm+Jl)}1/2≦2πfpとする必要がある。そこで、ゲイン換算初期値設定器49は式9のようにゲイン換算初期値Ksを演算し、上記関係を満たしていない場合は両者の比率を、上記関係を満たしている場合は1を出力する。
{Iv/(Jm+Jl)}1/2>2πfpの場合:Ks=2πfp/{Iv/(Jm+Jl)}1/2
{Iv/(Jm+Jl)}1/2≦2πfpの場合:Ks=1・・・式9
一方、振動検出器48が振動周波数fpを検出している場合、カウンタ51がカウントアップされ、ゲイン換算初期値Ksから予め定数設定されたゲイン低減率分ΔKの減算を行い、ゲイン換算値Kを算出する。なお、ゲイン換算値Kはその値が0<K<1の範囲となるようにゲイン出力切替器53でリミット処理される。ゲイン換算値Kが算出されると、トルク指令演算器5の速度ループ比例ゲイン、トルク指令演算器6の速度ループ積分ゲインは元々の設定値Pv、Ivに対し、ゲイン換算値Kを乗じた値Pv’=K×Pv、Iv’=K×Ivまで低減される。なお、上記カウントアップ操作は振動検出器48が振動周波数fpを検出し続けている間継続して行われるため、振動検出器48にて振動が検出されなくなるまでゲイン換算値Kの値が小さくなる。そして、この比率分だけトルク指令演算器5、6のゲインが小さくなる。言い換えれば、被駆動体の振動を抑制するのに必要な分だけゲイン設定値が小さくされ、必要以上に小さなゲインが設定されることを防ぐことができるため、位置制御系の追従性の低下を最小限に止めることができる。なお、トルク指令演算器のゲイン設定値を小さくした場合、速度フィードバック系の制御応答帯域が低下するため、速度指令演算器3のゲインKpを高い設定値のままにしておくと、位置制御系が不安定となり、振動的な応答を示す場合がある。このような場合、ゲイン換算値Kに従い、トルク指令演算器の比例ゲインPv、積分ゲインIvを低減するのと同時に、速度指令演算器3のゲインKpを低減することで解決できる。
なお、ゲイン換算初期値設定器49が式9に従い、ゲイン換算初期値Ksを演算するためには、モータ、被駆動体のモータ軸換算イナーシャJm、Jlの和が既知である必要がある。この値を算出する方法として、例えば、比較器43から振動検出開始信号が出力される直前、即ち、駆動系が加減速状態にあり、振動検出開始信号が出力されていないときのトルク指令Tcと、被駆動体位置検出値Plあるいはモータ位置検出値Pmを二階微分して得られる加速度検出値の比からモータ、被駆動体のモータ軸換算イナーシャJm、Jlの和を同定することで実現できる。また、本実施形態では、図1の場合と同様に、リニアスケール11で検出した被駆動体12の位置検出値Plを位置フィードバック値として減算器2に入力している。しかし、図3の場合と同様に、たわみ量Psを算出し、当該たわみ量を伝達特性がGp(S)で与えられる高域遮断フィルタ16に入力し、その出力と前記モータ位置検出値Pmを加算した値を位置フィードバック値Pdとして、減算器2に入力してもよい。
以上の説明から明らかなとおり、本実施形態によれば、図1、図2を用いて説明した場合と同様の作用効果が得られる。即ち、本実施形態によれば、機械共振周波数(Kb/Jl)1/2が低下した場合に発生する低周波振動に対し、振動が観測されなくなるまでトルク指令演算器の比例ゲインPv、積分ゲインIv、速度指令演算器の比例ゲインKpを小さくすることにより、機械共振周波数(Kb/Jl)1/2におけるゲイン余裕が大きくなるため、制御系を安定化し、低周波振動の発生を抑制することができる。また、ゲイン設定値として必要以上に小さな値が設定されることがないため、過度にゲイン余裕が確保されることもなく、制御系の追従性の低下を最小限に止めることができる。更に、経年変化補正器40は、被駆動体の振動を検出してトルク指令演算器、速度指令演算器のゲインを可変するため、摺動抵抗など被駆動体に作用するトルク外乱の大きさが変動する送り軸駆動系においても、適切に機構部の剛性低下を検出し、低周波振動を抑制することができる。また、指令加速度Acによる駆動条件の判別、振動検出器による振動周波数の特定、ゲイン設定値の変更など一連の動作を自律的に行うため、特定の調整動作を必要とせず、通常の機械駆動動作の中で最適化を行うことができる。
なお、図1、図3、図4の各構成において、式4、式9を用いてゲイン換算初期値Ksを算出することを示したが、式4、式9は低周波振動を検出した後、いち早くこれを抑制するための初期値を演算するものであり、必ずしも式4、式9に基づきゲイン換算初期値Ksを定める必要はない。例えば、振動検出器48が検出した振動周波数fpに関わらず、無条件にゲイン換算初期値Ksを1としてもよい。