(58)【調査した分野】(Int.Cl.,DB名)
位置指令が入力される位置制御部を有する位置フィードバックループの内側に、速度制御部を有する速度フィードバックループを設けてカスケード結合を形成し、前記速度制御部から出力されたトルク指令に応じて送り軸駆動用のサーボモータを制御する工作機械の送り軸制御方法であって、
前記速度フィードバックループの出力に第1のゲインを乗算した第1の状態フィードバック信号と、前記位置フィードバックループの出力に第2のゲインを乗算した第2の状態フィードバック信号とを前記トルク指令から減算し、
フィードフォワードループにより、前記第1のゲインおよび前記第2のゲインに応じたフィードフォワードゲインを前記位置指令に乗算して前記トルク指令に加算し、
前記トルク指令を前記サーボモータを含む制御対象に出力することを特徴とした工作機械の送り軸制御方法。
位置指令が入力される位置制御部を有する位置フィードバックループの内側に、速度制御部を有する速度フィードバックループを設けてカスケード結合を形成し、前記速度制御部から出力されたトルク指令に応じて送り軸駆動用のサーボモータを制御する工作機械の送り軸制御装置であって、
前記速度フィードバックループの出力に第1のゲインを乗算する第1乗算部と、
前記位置フィードバックループの出力に第2のゲインを乗算する第2乗算部と、
前記第1乗算部の出力と前記第2乗算部の出力とを前記トルク指令から減算し、フィードフォワードループにより、前記第1のゲインおよび前記第2のゲインに応じたフィードフォワードゲインを前記位置指令に乗算して前記トルク指令に加算し、前記トルク指令を前記サーボモータを含む制御対象に出力する出力部とを有することを特徴とした工作機械の送り軸制御装置。
【発明を実施するための形態】
【0009】
以下、
図1〜
図10を参照して本発明による工作機械の送り軸制御装置の一実施形態について説明する。
図1は、本発明の実施形態に係る工作機械の送り軸制御装置のハード構成を示すブロック図である。工作機械は、マシニングセンタ等、サーボモータにより駆動される送り軸を有するNC工作機械であり、送り軸制御装置は数値制御装置の一部を構成する。
【0010】
図1に示すように、数値制御装置に与えられたNC加工プログラム1は、読取解釈部2を介して補間部3へ入力される。補間部3は、各送り軸(例えばX軸)の駆動用サーボモータに対する位置指令qrを出力する。補間部3から出力された位置指令qr(モータ回転位置指令)は、加算器4を経て位置制御部5に入力される。位置制御部5は速度指令ωr(モータ回転速度指令)を生成し、速度指令ωrは加算器6を経て速度制御部7に入力される。速度制御部7はトルク指令τを生成し、トルク指令τは加算器8を経てサーボアンプ9に入力される。サーボアンプ9は、入力されたトルク指令τに見合ったトルクを発生させるように制御電流をサーボモータ10に供給する。この供給された電流によりサーボモータ10が回転し、送り軸11が駆動する。
【0011】
サーボモータ10は、モータ回転量を検出するロータリーエンコーダを内蔵する。位置検出器12はロータリーエンコーダからの信号に基づきモータ回転位置を検出し、位置信号qを加算器4へフィードバックする。加算器4は、位置指令qrから位置信号qを減算し、位置制御部5に出力する。速度検出器13はロータリーエンコーダからの信号を微分してモータ回転速度を検出し、速度信号ωを加算器6へフィードバックする。
【0012】
補間部3から出力された位置指令qrは位置フィードフォワード制御部15にも入力される。位置フィードフォワード制御部15は、速度に関するフィードフォワード指令(速度フィードフォワード指令)を速度フィードフォワード制御部14と加算器6とに出力する。加算器6は、速度指令ωrに速度フィードフォワード指令を加算するとともに速度信号ωを減算し、速度制御部7に出力する。速度フィードフォワード制御部14は、トルクに関するフィードフォワード指令(トルクフィードフォワード指令)を加算器8に出力する。加算器8は、トルク指令τにトルクフィードフォワード指令を加算し、サーボアンプ9に出力する。
【0013】
図2は、本発明の実施形態に係る送り軸制御装置の構成を示すブロック線図である。
図2は、
図1をブロック線図に書き換えたものであり、位置および速度に関するフィードバックループ20Aと、位置および速度に関するフィードフォワードループ20Bと、位置および速度に関する状態フィードバックループ20Cとを含む。なお、
図2は、送り軸制御装置の構成を一般化した抽象的なブロック線図であり、より具体的なブロック線図については後述する(
図8〜
図10)。
【0014】
まず、フィードバックループ20Aについて説明する。フィードバックループ20Aは、位置フィードバックループの内側に速度フィードバックループが設けられた二重のフィードバックループであり、カスケード結合を形成する。具体的には、まず、位置指令qrが加算器21を経て位置フィードバックループの補償器、すなわち位置補償器22に入力される。位置補償器22はCpで表されるSの関数である。位置補償器22は、入力された位置指令と位置フィードバックループとの差にゲイン(Cp)を乗算し、速度指令ωrを生成する。
【0015】
位置補償器22から出力された速度指令ωrは、加算器23を経て速度フィードバックループの補償器、すなわち速度補償器24に入力される。速度補償器24はCvで表されるSの関数である。速度補償器24は、入力された速度指令と速度フィードバックループとの差にゲイン(Cv)を乗算し、トルク指令τを生成する。速度補償器24から出力されたトルク指令τは、加算器25を経てトルク指令τ1となり、さらに加算器26を経てトルク指令τ2となる。
【0016】
トルク指令τ2は、速度フィードバックループの制御対象、すなわち速度制御対象27に入力される。速度制御対象27はPvでモデル化されている。速度制御対象27は、モータ回転速度の検出値である速度信号ωを出力する。この速度信号ωは、位置フィードバックループの制御対象、すなわち位置制御対象28に入力されるとともに、加算器23にフィードバックされる。位置制御対象28はPpでモデル化されている。位置制御対象28は、モータ回転位置の検出値である位置信号qを出力する。この位置信号qは、加算器21にフィードバックされる。
【0017】
工作機械には、切削荷重等に起因して不確定要素である外乱が作用する。
図2では、加算器25と加算器26との間の加算器29を介してトルク指令τ1に外乱が付加される。この外乱dに対する抑制力を高めるためには、フィードバックループの補償器22,24のゲインを大きくする必要がある。しかしながら、フィードバック制御系には遅れがあり、ゲインを大きくしすぎると発振する。このため、ゲインを十分に大きくすることができず、外乱dが作用した場合に、位置指令qrと実位置qとの間に大きな誤差が生じるおそれがある。
【0018】
この点を考慮して、本実施形態では、状態フィードバックループ20Cを制御回路に追加し、制御対象27,28の出力にゲインを乗算した状態フィードバックにより、トルク指令を補正する。すなわち、速度制御対象27から出力された速度信号ωは速度ゲイン設定器30に入力される。速度ゲイン設定器30は、速度に関する状態フィードバックゲインkv(速度ゲイン)を速度信号ωに乗算し、トルク指令を生成する。位置制御対象28から出力された位置信号qは位置ゲイン設定器31に入力される。位置ゲイン設定器31は、位置に関する状態フィードバックゲインkp(位置ゲイン)を位置信号qに乗算し、トルク指令を生成する。
【0019】
ゲイン設定器30,31から出力されたトルク指令は加算器32で加算された後、加算器26でトルク指令τ1から減算される。これにより、状態フィードバックによりトルク指令τ1が補正され、制御対象27,28の安定性を高めることができる。その結果、補償器22,24のゲインを大きくすることができ、外乱dに対する抑制力を高めることができる。
【0020】
位置ゲイン設定器31および速度ゲイン設定器30において予め設定される位置ゲインkpおよび速度ゲインkvは、例えば最適レギュレータによる設計手法を用いて決定することができる。フィードバックループの補償器22,24のゲインは、例えば制御系が発振するまでゲインを上げ、そのときのゲインに所定の安全率を掛けることで定めることができる。なお、最適サーボによる設計手法を用いて、ゲイン設定器31,30および補償器22,24のゲインを定めることもできる。
【0021】
次に、フィードフォワードループ20Bの構成を説明する。まず位置指令qrが、位置に関するフィードフォワードループの補償器、すなわち位置補償器33に入力される。位置補償器33は、位置指令qrに位置制御対象28の公称モデルPp
0の逆数Pp
0-1を乗算し、速度指令を生成する。なお、公称モデルPp
0とは、設計値に基づく位置制御対象を表す。位置補償器33から出力された速度指令は、速度に関するフィードフォワードループの補償器、すなわち速度補償器34に入力されるとともに、加算器23で加算される。
【0022】
速度補償器34は、位置補償器33から出力された速度指令に、速度制御対象27の公称モデルPv
0の逆数Pv
0-1と速度ゲインkvとの加算値を乗算し、トルク指令を生成する。なお、公称モデルPv
0とは、設計値に基づく速度制御対象を表す。位置指令qrは、速度に関するフィードフォワードループの補償器、すなわち速度補償器35にも入力される。速度補償器35は、位置指令qrに位置ゲインkpを乗算し、トルク指令を生成する。速度補償器34,35から出力されたトルク指令は加算器36で加算され、さらに加算器25で加算される。
【0023】
このようにフィードフォワードループ20Bでは、位置指令および速度指令にそれぞれ位置ゲインkpおよび速度ゲインkvを乗算して出力し、トルク指令τに加算する。これにより、状態フィードバックループ20Cにおいて、位置指令および速度指令にそれぞれ位置ゲインkpおよび速度ゲインkvを乗算してトルク指令τ1から減算した影響を考慮した、良好なフィードフォワード制御を実現できる。
【0024】
図3は、本実施形態の比較例を示すブロック線図である。なお、
図2と同一の箇所には同一の符号を付している。
図3では、
図2と異なり、状態フィードバックループ20Cが設けられていない。したがって、ゲイン設定器30,31はなく、速度補償器35もない。また、速度補償器34で速度ゲインkvは加算されていない。
【0025】
図4は、
図3のブロック線図を用いて、テーブル上のワークをXY方向に相対移動させて、回転軸線がZ軸方向に延在する工具によりワークに円筒形状の加工を行った場合の工具の移動軌跡を示す図である。図中、点線は指令値、実線は実測値であり、指令値と実測値との誤差を、XY平面の真円度グラフによって拡大して示している。
図4に示すように、送り軸11の移動方向が変化する位置A〜Dにおいて、送り軸11の移動に遅れが生じる。このため、位置A〜Dでは移動軌跡が突起状に膨らみ(象限突起)、実測値と指令値との誤差が大きくなっている。
【0026】
このような動作の遅れを防ぐためには、フィードバックループの補償器22,24のゲインを大きくすればよい。
図5は、
図3の補償器22,24のゲインを大きくして(例えば
図4の例の2倍にして)、円筒加工を行った場合の指令値と実測値との関係を示す真円度グラフである。
図4と比較すると、
図5では、象限突起自体は小さくなっているが、位置A〜Dにおいて発振(振動)している。補償器22,24のゲインをさらに大きくすれば、象限突起を小さくすることができるが、その分、制御系が不安定となり発振の程度が大きくなる。このため、補償器22,24のゲインの大きくするには限界がある。
【0027】
図6は、
図3のブロック線図に対し
図2の状態フィードバックループ20Cのみを追加した場合のブロック線図を用いて円筒加工を行った場合の指令値と実測値との関係を示す真円度グラフである。この例では、補償器22,24のゲインをさらに大きく、例えば
図4の10倍にしている。
図5と比較すると、ゲインを大きくした分、象限突起は小さくなっており、位置A〜Dにおいて指令値との間に誤差は生じていない。また、状態フィードバックループ20Cの追加により制御系が安定しており、発振も生じていない。ただし、状態フィードバックループ20Cを追加した分をフィードフォワードループ20Bでは考慮していないため、位置A〜D以外で指令値との間に誤差が生じ、軌跡形状が真円からずれている。
【0028】
図7は、本実施形態に係る
図2のブロック線図を用いて円筒加工を行った場合の指令値と実測値との関係を示す真円度グラフである。なお、補償器22,24のゲインの大きさは
図6の場合と同一である。
図6と比較すると、移動軌跡は真円形状となっており、移動軌跡の全体にわたり指令値と実測値とが一致している。これにより予測不能な外乱が生じた場合の位置誤差を最小限に抑えることができる。
【0029】
このように本実施形態では、位置フィードバックループの内側に速度フィードバックループを設けてカスケード結合を形成し、速度フィードバックループの出力に速度ゲインkvを乗算した速度ループに関する状態フィードバック信号と、位置フィードバックループの出力に位置ゲインkpを乗算した位置ループに関する状態フィードバック信号とをトルク指令τ1から減算し、減算後のトルク指令τ2を速度制御対象27に出力にするようにした。これにより制御対象の安定性が高まるため、フィードバックループ20Aの補償器22,24のゲインを大きくすることができ、外乱dに対する抑制力を高めることができる。
【0030】
また、フィードフォワードループ20Bにより、状態フィードバックループ20Cのゲインkp,kvに応じたゲインを位置指令qrに乗算し、トルク指令τに加算するようにした。これにより、状態フィードバックループ20Cの影響が緩和され、位置指令が変化するときに大きな位置誤差が生じることがなく、真円加工時等における移動軌跡のくずれを防止できる。
【0031】
図8は、
図2のブロック線図をより具体化したものであり、例えばサーボモータ10と負荷(送り軸側)とを接続する軸の剛性が高い場合、すなわちサーボモータ10の回転に対して遅れなく負荷が駆動すると仮定した場合の適用例である。なお、
図2と同一の箇所には同一の符号を付している。
【0032】
図8において、フィードフォワード指令が加算された加算器25は、加算器29を経てトルク変換器27Aに制御信号ir(制御電流)を出力する。トルク変換器27Aは、予め定められたサーボアンプ9とサーボモータ10の特性(トルク定数Kt)に応じて、制御信号irに対応したトルク指令τを速度制御対象27Bに出力する。負荷イナーシャJk、モータイナーシャJmおよびラプラス演算子sを用いると、速度制御対象27Bのモデルは、次式(I)で表される。
1/((Jm+Jk)・s) ・・・(I)
【0033】
上式(I)の(Jm+Jk)は、例えばサーボモータ10の周波数を少しずつ変えて周波数応答をとり、そのときの指令値と位置検出器12の出力とから周波数とゲインの関係(伝達関数)を求めることで同定できる。
【0034】
速度制御対象27Bから出力された速度信号ωは、位置制御対象28に入力される。位置制御対象28は積分器であり、1/sで表される。速度制御対象27Bから出力された速度信号ωは、速度ゲイン設定器30Aに入力され、位置制御対象28から出力された位置信号qは、位置ゲイン設定器31Aに入力される。速度ゲイン設定器30Aは、速度信号ωに速度ゲインk1を乗算する。位置ゲイン設定器31Aは、位置信号qに位置ゲインk2を乗算する。ゲイン設定器30A,31Aから出力されたトルク指令は加算器32で加算され、電流変換器32Aに出力される。電流変換器32Aはトルク定数Ktの逆数Kt
-1で表され、トルク指令を電流指令に変換する。電流変換器32Aから出力された電流指令は加算器29で加算され、これにより制御信号irが補正される。
【0035】
フィードフォワードループ20Bにおける位置補償器33は、位置制御対象28の逆数sで表され、速度補償器35のモデルは、トルク定数Ktの公称モデルKt
0と位置ゲインk2とを用いて次式(II)で表される。
Kt
0-1・k2 ・・・(II)
【0036】
速度補償器34のモデルは、負荷イナーシャJkの公称モデルJk
0、モータイナーシャJmの公称モデルJm
0、ラプラス演算子s、速度ゲインk1、およびトルク定数Ktの公称モデルKt
0の逆数Kt
0-1を用いて次式(III)で表される。
Kt
0-1((Jm
0+Jk
0)s+k1) ・・・(III)
【0037】
図9は、
図8の変形例を示すブロック線図である。
図9は、
図8と異なり、サーボモータ10と負荷とを接続する軸の剛性が低い場合、すなわちサーボモータ10の回転に対して負荷が遅れて駆動すると仮定した場合の適用例である。図中、Kは、サーボモータ10と負荷との間の剛性を示す係数、いわゆるばね定数であり、Cは、サーボモータ10と負荷との間の減衰係数である。モータイナーシャJm、負荷イナーシャJk、減衰係数C、剛性Kは、例えばモータ周波数を変えて伝達関数を求めることで同定できる。軸剛性が低い場合にはサーボモータ10と負荷側の位置が異なるため、位置検出器12としては負荷側の位置を検出するものが必要となる。
【0038】
軸剛性が低い場合には制御系を2慣性系とみなすことができる。この場合、図示のように状態フィードバックループ20Cのゲインを、サーボモータ10の速度に関するフィードバックゲインk1(モータ速度ゲイン)と、サーボモータ10の位置に関するフィードバックゲインk2(モータ位置ゲイン)と、負荷の速度に関するフィードバックゲインk3(負荷速度ゲイン)と、負荷の位置に関するフィードバックゲインk4(負荷位置ゲイン)とに分け、速度ゲインkvと位置ゲインkpを関数で表すことができる。
【0039】
図2の位置制御対象28のモデルPpは、剛性K、減衰係数C、ラプラス演算子s、負荷イナーシャJkを用いて次式(IV)で表される。
Pp=(Cs+K)/((Jk
2+Cs+K)s) ・・・(IV)
【0040】
図2の速度制御対象27のモデルPvは、モータイナーシャJm、負荷イナーシャJk、剛性K、減衰係数C、トルク定数Kt、ラプラス演算子sを用いて次式(V)で表される。
Pv=(Jks
2+Cs+K)Kt
/((JmJks
2+C(Jm+Jk)s+K(Jm+Jk))s)・・・(V)
【0041】
フィードフォワードループ20Bに含まれるPp
0-1、Pv
0-1は、上式(IV),(V)のPp、Pvの公称モデルPp
0、Pv
0の逆数であり、それぞれ次式(VI),(VII)で表される。なお、K
0、C
0はそれぞれ剛性Kおよび減衰係数Cの公称モデルである。
Pp
0-1=((Jk
0s
2+C
0s+K
0)s/(C
0s+K
0)) ・・・(VI)
Pv
0-1=((Jm
0Jk
0s
2+C
0(Jm
0+Jk
0)s+K
0(Jm
0+Jk
0))s)
/ (Jk
0s
2+C
0s+K
0)Kt
0・・・(VII)
【0042】
図10は、
図8の他の変形例を示すブロック線図である。
図10は、例えば5軸加工機に適用される。すなわち、5軸加工機は、X軸、Y軸、Z軸の直線送り軸の他、例えばX軸を中心としたA軸周りおよびZ軸を中心としたC軸周りの回転送り軸を有する。機械がA軸周り、C軸周りに回転すると、送り機構に遠心力やコリオリ力が作用し、さらに機械の重心位置が変化して送り機構に作用する重力が変化する。直線送り軸のみで工作機械が構成されている場合、各送り軸は他の送り軸に影響を与えることなく、各送り軸単独で制御回路を構成することができる。これに対し、回転送り軸を有する工作機械の場合、モータ回転位置に応じて機械の慣性モーメントが変化し、モータ回転速度に応じて遠心力やコリオリ力が発生するため、他の送り軸に影響を与える。
【0043】
一般に、回転送り軸を有する機械の運動方程式は、次式(VIII)で表される。
τ=M(q)・dω/dt+h(ω,q) ・・・(VIII)
軸数を5とすると、上式(VIII)のqは、X軸、Y軸、Z軸、A軸、C軸の成分を有する指令位置ベクトルであり、ωは指令位置ベクトルqを時間で1階微分した値、dω/dtは指令位置ベクトルqを時間で2階微分した値、M(q)は5行5列の慣性行列、h(ω,q)は速度と位置をパラメータとするコリオリ力、遠心力、重力項等の非線形力ベクトルである。
【0044】
以上を考慮し、
図10では、軸数が5のベクトルまたは5行5列の行列によってブロック線図をモデル化する。すなわち、
図10において、qrは指令位置ベクトル、qは実位置ベクトル、Cpは位置補償器行列、Cvは速度補償器行列、Ktはトルク定数行列、Kt
0は公称モデルのトルク定数行列、Kpは位置ゲイン行列、Kvは速度ゲイン行列、Iは単位行列、M
0(qr)は公称モデルの慣性行列、sはラプラス演算子である。
【0045】
図10では、フィードバックループ20Aでトルク指令τから非線形力ベクトルh(ω,q)を減算し、トルク指令τを次式(IX)のように線形化している。したがって、速度制御対象のモデルPv(
図2)は、次式(X)で表せる。
τ=M(q)・dω/dt ・・・(IX)
Pv=Kt・M(q)
-1・1/s・I ・・・(X)
【0046】
状態フィードバックループ20Cでは、フィードバックループ20Aで非線形力ベクトルh(ω,q)を減算した分、反対に、公称モデルの非線形力ベクトルh
0(ω,q)を加算している。
【0047】
以上、サーボモータ10と負荷間の剛性が高い場合(
図8)、剛性が低い場合(
図9)、回転送り軸を有する場合(
図10)について、
図2のブロック線図の具体的な適用例を説明したが、他にも種々の適用例が考えられ、工作機械の仕様に応じて
図2のブロック線図を適宜具体的なモデルに書き換えることができる。したがって、速度フィードバックループの出力に速度ゲインkv(第1のゲイン)を乗算する速度ゲイン設定器30(第1乗算部)、位置フィードバックの出力に位置ゲインkp(第2のゲイン)を乗算する位置ゲイン設定器31(第2乗算部)、速度ゲイン設定器30の出力と位置ゲイン設定器31の出力とをトルク指令τ1から減算し、減算後のトルク指令τ2を、サーボモータ10を含む速度制御対象27に出力する加算器26(出力部)の構成は上述したものに限らない。
【0048】
上記実施形態では、カスケード結合からなるフィードバックループ20Aと、フィードフォワードループ20Bと、状態フィードバックループ20Cとを制御回路に設けるようにしたが、少なくともフィードバックループ20Aと状態フィードバックループ20Cとを設けるのであれば、送り軸制御装置の構成は上述したものに限らない。すなわち、本発明の工作機械の送り軸制御方法は、速度フィードバックループの出力に速度ゲインkv(第1のゲイン)を乗算した第1の状態フィードバック信号と、位置フィードバックの出力に位置ゲインkp(第2のゲイン)を乗算した第2の状態フィードバック信号とをトルク指令τから減算し、減算後のトルク指令τを、サーボモータ10を含む速度制御対象27に出力する点を最大の特徴とするのであり、種々の変更が可能である。
【0049】
以上の説明はあくまで一例であり、本発明の特徴を損なわない限り、上述した実施形態および変形例により本発明が限定されるものではない。上記実施形態および変形例の構成要素には、発明の同一性を維持しつつ置換可能かつ置換自明なものが含まれる。すなわち、本発明の技術的思想の範囲内で考えられる他の形態についても、本発明の範囲内に含まれる。また、上記実施形態と変形例の1つまたは複数を任意に組み合わせることも可能である。