(57)【要約】【課題】制御対象の移動方向が反転するときに生じる弾性変形を精度よく補償することができる数値制御装置を得ることを目的とする。【解決手段】テーブル６の制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新して、その補正指令値を位置指令値に加算し、その加算結果に基づいてテーブル６を駆動するサーボモータ１の回転を制御する。これにより、テーブル６の移動方向が反転するときに生じる弾性変形を精度よく補償することができる。【選択図】        図１
2004234205.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の位置指令値を監視して当該制御対象の制御方向を検出する制御方向検出手段と、上記制御方向検出手段により検出された制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新する補正指令値更新手段と、上記補正指令値更新手段により更新されたバックラッシュの補正指令値を上記位置指令値に加算し、その加算結果に基づいて上記制御対象を駆動するモータの回転を制御する制御手段とを備えた数値制御装置。
【請求項２】
制御手段は、制御方向検出手段により検出された制御方向を考慮して制御対象に作用する摩擦を打ち消す補正トルク量を求め、その補正トルク量を考慮してモータの制御信号を生成することを特徴とする請求項１記載の数値制御装置。
【請求項３】
補正指令値更新手段は、制御対象に作用する摩擦から、その制御対象の位置とモータの位置との偏差に至るまでの伝達関数がモデル化された伝達関数型フィルタを用いてバックラッシュの補正指令値を更新することを特徴とする請求項１記載の数値制御装置。
【請求項４】
補正指令値更新手段は、制御方向検出手段により検出された制御方向が反転すると、所定のバックラッシュ量を伝達関数型フィルタに入力することを特徴とする請求項３記載の数値制御装置。
【請求項５】
補正指令値更新手段は、制御方向検出手段により検出された制御方向が反転すると、制御対象の位置指令値に対応するバックラッシュ量を伝達関数型フィルタに入力することを特徴とする請求項３記載の数値制御装置。
【請求項６】
補正指令値更新手段は、制御対象の位置指令値とモータの制御信号から当該制御対象に作用する摩擦を推定し、制御方向検出手段により検出された制御方向が反転すると、その摩擦の推定値と当該制御対象の位置指令値からバックラッシュ量を算出して、そのバックラッシュ量を伝達関数型フィルタに入力することを特徴とする請求項３記載の数値制御装置。
【請求項７】
制御手段は、制御対象の位置指令値とモータの制御信号から当該制御対象に作用する摩擦を推定し、その摩擦の推定値から補正トルク量を求めることを特徴とする請求項２記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば、テーブルなどの制御対象の位置を制御する数値制御装置に関するものである。
【０００２】
【従来の技術】
例えば、ボールネジを用いている駆動機構において、リニアスケールなどのセンサが制御対象の位置情報を検出してフィードバックするフルクローズド制御方式が採用されている場合、その制御対象の移動方向の反転時に機械端で生じるロストモーション（ガタや弾性変形）をセンサで検出することが可能であるが、フィードバック制御系の応答遅れに起因して象限突起を生じることがある。
従来の数値制御装置は、象限突起の発生を抑制するため、制御対象の移動方向が反転すると、所定の幅の台形、あるいは、矩形のバックラッシュ補正量を制御対象の位置指令値に加算するようにしている。なお、台形の幅は、予め、補正を加えない場合に生じる突起形状をセンサで計測して決定している（以下の特許文献１を参照）。
【０００３】
【特許文献１】
特開２０００−３５８１４公報（第５頁から第９頁、図５）
【０００４】
【発明が解決しようとする課題】
従来の数値制御装置は以上のように構成されているので、制御対象の移動速度や円弧半径などの制御条件が変わる度に、補正を加えない場合に生じる突起形状をセンサで計測して、台形の幅を決定する必要がある。そのため、色々な移動速度と円弧半径が組み合わされた連続動作で制御対象を駆動する場合には、多くの手間を要する課題があった。
また、バックラッシュ補正量の形状が台形又は矩形であるものとして制御対象の位置指令値に加算しているが、実際に生じる誤差の形状は必ずしも台形や矩形にはならないため、精度よく象限突起の発生を抑制することができない課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、制御対象の移動方向が反転するときに生じる弾性変形を精度よく補償することができる数値制御装置を得ることを目的とする。
【０００６】
【課題を解決するための手段】
この発明に係る数値制御装置は、制御対象の制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新する補正指令値更新手段を設け、その補正指令値更新手段により更新されたバックラッシュの補正指令値を位置指令値に加算し、その加算結果に基づいて制御対象を駆動するモータの回転を制御するようにしたものである。
【０００７】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による数値制御装置を示す構成図であり、図において、サーボモータ１は制御対象であるテーブル６を図中左方向又は右方向に駆動するものであり、エンコーダ２はサーボモータ１の回転量を検出する。カップリング３はサーボモータ１とボールネジ４を結合し、ボールネジナット５はボールネジ４と嵌合されている。制御対象であるテーブル６は被加工物や工具などが固定され、ボールネジナット５と結合されている。
【０００８】
リニアスケール７は図示外のベース部分に固定され、テーブル６の位置を検出する。リニアスケールヘッド８はテーブル６に固定され、リニアスケール７と嵌合されている。
なお、ボールネジ４とボールネジナット５はサーボモータ１の回転運動を直線運動に変換し、テーブル６はボールネジ４とボールネジナット５などの駆動伝達部材と、図示外の直動案内機構（ガイドレール）とに従って所定の位置に移動される。
【０００９】
位置指令生成部９はテーブル６の位置（所定の一軸方向の位置）を数値制御する際、例えば加工プログラムなどにしたがって位置指令値を生成する。制御方向検出部１０は位置指令生成部９により生成された位置指令値を監視して、テーブル６の軸方向の制御方向を検出し、その制御方向に応じて正又は負の大きさ“１”のステップ状の制御方向信号を出力する。ただし、その制御方向が反転しない場合には、前回と同じ制御方向信号を出力する。初期状態では零値の制御方向信号を出力する。なお、制御方向検出部１０は制御方向検出手段を構成している。
【００１０】
摩擦補償ゲイン部１１は制御方向検出部１０から出力された制御方向信号に所定の摩擦補償ゲインを乗算し、その乗算結果をテーブル６に作用する摩擦を打ち消す補正トルク量に相当する電流指令補正値として加算器１７に出力する。
最大バックラッシュ補正ゲイン部１２は制御方向検出部１０から出力された制御方向信号に所定の最大バックラッシュ補正量を乗算し、その乗算結果をステップ状の最大バックラッシュ補正信号として伝達関数型フィルタ１３に出力する。伝達関数型フィルタ１３はテーブル６に作用する摩擦から、テーブル６の位置とサーボモータ１の位置との偏差に至るまでの伝達関数がモデル化され、最大バックラッシュ補正ゲイン部１２から出力された最大バックラッシュ補正信号を入力すると、テーブル６の制御方向の反転が発生してからの経過時間に応じたバックラッシュの補正指令値を出力する。なお、最大バックラッシュ補正ゲイン部１２及び伝達関数型フィルタ１３から補正指令値更新手段が構成されている。
【００１１】
加算器１４は位置指令生成部９により生成された位置指令値と伝達関数型フィルタ１３により更新された補正指令値を加算し、位置制御部１５は加算器１４の加算結果とリニアスケールヘッド８から出力されたテーブル６の位置情報との差に基づいて速度指令値を生成する。
速度制御部１６はエンコーダ２から出力されたサーボモータ１の回転角度情報を位置座標系に換算してサーボモータ１の速度情報を求め、その速度情報と位置制御部１５により生成された速度指令値との差に基づいて電流指令値を生成する。加算器１７は速度制御部１６により生成された電流指令値と摩擦補償ゲイン部１１から出力された電流指令補正値を加算して補正電流指令値（制御信号）を生成する。電流制御部１８は加算器１７により生成された補正電流指令値に基づいてサーボモータ１の回転を制御する。なお、摩擦補償ゲイン部１１、加算器１４、位置制御部１５、速度制御部１６、加算器１７及び電流制御部１８から制御手段が構成されている。
【００１２】
次に動作について説明する。
まず、位置指令生成部９は、テーブル６の位置（所定の一軸方向の位置）を数値制御する際、例えば加工プログラムなどにしたがって位置指令値を生成する。
制御方向検出部１０は、位置指令生成部９が位置指令値の生成を開始すると、その位置指令値を監視して、テーブル６の軸方向の制御方向を検出する。
例えば、テーブル６が図中右方向に移動している場合、“＋１”の制御方向信号を出力し、左方向に移動している場合、“−１”の制御方向信号を出力する。
【００１３】
最大バックラッシュ補正ゲイン部１２は、制御方向検出部１０から“＋１”又は“−１”の制御方向信号を受けると、その制御方向信号に所定の最大バックラッシュ補正量を乗算し、その乗算結果を最大バックラッシュ補正信号として伝達関数型フィルタ１３に出力する。
伝達関数型フィルタ１３は、最大バックラッシュ補正ゲイン部１２から最大バックラッシュ補正信号を受けると、その最大バックラッシュ補正信号を入力条件として、テーブル６の制御方向の反転が発生してからの経過時間に応じたバックラッシュの補正指令値を出力する。
【００１４】
加算器１４は、伝達関数型フィルタ１３がバックラッシュの補正指令値を更新すると、その補正指令値と位置指令生成部９により生成された位置指令値を加算し、位置制御部１５は、加算器１４の加算結果とリニアスケールヘッド８から出力されたテーブル６の位置情報との差に基づいて速度指令値を生成する。
摩擦補償ゲイン部１１は、制御方向検出部１０から“＋１”又は“−１”の制御方向信号を受けると、その制御方向信号に所定の摩擦補償ゲインを乗算し、その乗算結果を電流指令補正値として加算器１７に出力する。
【００１５】
加算器１７は、速度制御部１６により生成された電流指令値と摩擦補償ゲイン部１１から出力された電流指令補正値を加算して補正電流指令値を生成する。
電流制御部１８は、加算器１７が補正電流指令値を生成すると、その補正電流指令値に基づいてサーボモータ１の回転を制御する。即ち、サーボモータ１の駆動電流を制御する。
これにより、サーボモータ１の駆動電流に応じた角度だけサーボモータ１の回転軸が回転し、その回転に応じた距離だけテーブル６が移動する。
【００１６】
ここで、図２はサーボモータ１とテーブル６の間で生じる弾性変形を説明する説明図である。
Ｍはサーボモータ１の回転運動をテーブル６の直線運動座標系に等価変換して表現したものであり、Ｌはテーブル６を示し、Ｋはボールネジ４などの駆動伝達部材に含まれる弾性要素をまとめてテーブル６の座標系で表現したものであり、Ｃは駆動伝達部材に含まれるダンピング要素をまとめてテーブル６の座標系で表現したものである。
【００１７】
図２（ａ）はサーボモータＭとテーブルＬが右に移動している場合を示している。即ち、サーボモータＭに作用する駆動力Ｕと、テーブルＬに作用する動摩擦Ｆとが釣合い、弾性要素Ｋが縮んでいることを示している。
図２（ｂ）はサーボモータＭとテーブルＬが左に移動している場合を示している。即ち、駆動力Ｕと動摩擦Ｆの方向が反転し、弾性要素Ｋは伸びていることを示している。
テーブル６に対する位置指令値が右方向から左方向に反転する場合、テーブル６の位置をリニアスケール７とリニアスケールヘッド８で検出してフィードバック制御するため、テーブル６とサーボモータ１の間に弾性変形が生じていても、テーブル６を位置指令値に追従させることができる。しかし、フィードバック制御系には応答遅れがあるため、フィードバック制御だけでは追従誤差が生じてしまう。
【００１８】
図３はこの実施の形態１による数値制御装置の制御系を示すブロック図であり、テーブル６とサーボモータ１は、慣性モーメントとその間に介在するバネを使って力学的にモデル化している。ＪＬはテーブル６の慣性モーメント、ＪＭはサーボモータ１の慣性モーメント、Ｋはボールネジ４などの駆動伝達部材の剛性を表すバネ定数、Ｃはバネに作用する粘性摩擦係数、ｓは微分を表すラプラス演算子である。
また、Ｆはテーブル６に作用する動摩擦トルク、Ｆ０はこの動摩擦を打ち消すための摩擦補償トルクである。Ｖ（ｓ）は速度制御部１６であり、例えば、Ｋｖ（１＋Ｋｉ／ｓ）で表現され、Ｋｖは速度比例ゲイン、Ｋｉは速度積分ゲインである。Ｐ（ｓ）は位置制御部１５であり、例えば、位置比例ゲインＫｐで表現される。θｒは位置指令値、θＭはサーボモータ１の位置、θＬはテーブル６の位置である。
ただし、図３では電流制御部１８は、その応答が位置制御部１５や速度制御部１６と比べて十分早いものとみなして省略している。
【００１９】
例えば、テーブル６に対する位置指令が正方向から負方向に反転する場合、反転直前まではテーブル６の位置θＬは位置指令値θｒに追従しているが、反転時にテーブル６に作用する動摩擦Ｆの方向が反転するために、バネＫが伸びて縮む分だけ大きく動く必要が生じる。
バネＫの変位量をθＬ−θＭとすると、動摩擦ＦからθＬ−θＭまでの伝達関数は下記の式（１）で与えられる。
θＬ−θＭ＝Ｊ・Ｆ／｛ＪＬ・ＪＭ・ｓ２＋Ｊ・Ｃ・ｓ＋Ｊ・Ｋ｝
＝［Ｊ・Ｋ／｛ＪＬ・ＪＭ・ｓ２＋Ｊ・Ｃ・ｓ＋Ｊ・Ｋ｝］
・（Ｆ／Ｋ）
＝Ｂ（ｓ）・（Ｆ／Ｋ）                              （１）
ただし、Ｊ＝（ＪＬ＋ＪＭ）であり、（Ｆ／Ｋ）は最大バックラッシュ補正ゲイン部１２における最大バックラッシュ補正量に相当し、Ｂ（ｓ）は最大バックラッシュ補正量の時間変化を表す伝達関数である。
【００２０】
位置指令値θｒからテーブル６の位置θＬまでの伝達関数をＱ（ｓ）とすると、位置指令値θｒに対するテーブル６の位置θＬの追従誤差は１−Ｑ（ｓ）となる。
速度制御部１６をＶ（ｓ）＝Ｋｖ（１＋Ｋｉ／ｓ）とし、位置制御部１５をＰ（ｓ）＝Ｋｐとすると、伝達関数Ｑ（ｓ）は下記の式（２）で与えられる。
Ｑ（ｓ）＝｛ＪＬ・ＪＭ・ｓ５＋（Ｊ・Ｃ＋ＪＬ・Ｋｖ）ｓ４
＋（Ｊ・Ｋ＋Ｃ・Ｋｖ＋ＪＬ・Ｋｖ・Ｋｉ）ｓ３
＋Ｋｖ（Ｃ・Ｋｐ＋Ｋ＋Ｃ・Ｋｉ）ｓ２
＋Ｋｖ（Ｃ・Ｋｐ・Ｋｉ＋Ｋ・Ｋｐ＋Ｋ・Ｋｉ）ｓ
＋Ｋ・Ｋｐ・Ｋｖ・Ｋｉ｝
／［Ｋｐ・Ｋｖ｛Ｃｓ２＋（Ｋ＋Ｃ・Ｋｉ）ｓ＋Ｋ・Ｋｉ｝］（２）
【００２１】
テーブル６に対する位置指令値θｒの移動方向が反転するときに生じる誤差Δθは、下記の式（３）で与えられる。
Δθ＝（１−Ｑ（ｓ））・Ｂ（ｓ）                              （３）
したがって、最大バックラッシュ補正ゲイン部１２及び伝達関数型フィルタ１３に対して式（３）に相当する伝達関数を設定すれば、テーブル６の誤差を補正することができる。
また、Ｑ（ｓ）で表される制御系の応答が遅い場合には、その応答遅れを考慮して、下記の式（４）で表される伝達関数を伝達関数型フィルタ１３に設定すれば、高精度にテーブル６の誤差を補正することができる。
Δθ／Ｑ（ｓ）＝（１−Ｑ（ｓ））・Ｂ（ｓ）／Ｑ（ｓ）          （４）
【００２２】
例えば、ＪＬ、ＪＭ、Ｃと比べてＫが十分大きい場合には、式（１）は下記の式（５）で近似することができる。
Ｂ（ｓ）＝１                                                （５）
更に、速度制御部１６の応答が位置制御部１５と比べて十分速いとみなせる場合には、制御系の応答Ｑ（ｓ）は下記の式（６）で近似することができる。
Ｑ（ｓ）＝１／（ｓ／Ｋｐ＋１）                              （６）
以上より、伝達関数型フィルタ１３には下記の式（７）あるいは式（８）で与えられる伝達関数を設定すればよい。
（１−Ｑ（ｓ））・Ｂ（ｓ）＝（ｓ／Ｋｐ）／（ｓ／Ｋｐ＋１）    （７）
（１−Ｑ（ｓ））・Ｂ（ｓ）＝ｓ／Ｋｐ                          （８）
【００２３】
また、ＪＬ，ＪＭと比べてＣ，Ｋが十分大きい場合には、式（１）は下記の式（９）で近似することができる。
Ｂ（ｓ）＝１／｛（Ｃ／Ｋ）ｓ＋１｝                            （９）
したがって、伝達関数型フィルタ１３には下記の式（１０）あるいは式（１１）で与えられる伝達関数を設定すればよい。
（１−Ｑ（ｓ））・Ｂ（ｓ）＝（ｓ／Ｋｐ）
／［｛Ｃ／（Ｋ・Ｋｐ）｝ｓ２＋｛（Ｃ／Ｋ）
＋（１／Ｋｐ）｝ｓ＋１］              （１０）
（１−Ｑ（ｓ））・Ｂ（ｓ）＝ｓ／［Ｋｐ｛（Ｃ／Ｋ）ｓ＋１｝］    （１１）
【００２４】
なお、図４（ａ）は直交するＸ−Ｙの２軸に時計周りの円弧位置指令を与えて運動させた場合のＸ軸とＹ軸の時間応答を示しており、図４（ｂ）は象限切り替え近傍のＹ軸指令値の時間応答を拡大表示している。実線がバックラッシュの補正指令値が加算された位置指令値を示し、点線が補正前の位置指令値を示している。
図４（ｃ）はバックラッシュ補正を実施せず、位置指令値に対するフィードバック制御を実施した場合の円弧の一部を、誤差を拡大して表示したものである。実線がテーブル６の運動軌跡を示し、破線がサーボモータ１の運動軌跡を示している。実線のテーブル６の運動軌跡は、ほぼ円を描いているが、最下端で大きな突起を生じている。これが応答遅れが原因で生じる象限突起である。
図４（ｄ）はバックラッシュ補正を実施して、補正後の位置指令に対するフィードバック制御を実施した場合の円弧の一部を拡大して表示したものである。実線で示されるテーブル６の軌跡は象限切り替え部でも滑らかに円弧を描いている。
【００２５】
以上で明らかなように、この実施の形態１によれば、テーブル６の制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新して、その補正指令値を位置指令値に加算し、その加算結果に基づいてテーブル６を駆動するサーボモータ１の回転を制御するように構成したので、テーブル６の移動方向が反転するときに生じる弾性変形を精度よく補償することができるようになり、その結果、テーブル６の位置θＬを位置指令値θｒに精度よく追従させることができる効果を奏する。
【００２６】
また、この実施の形態１によれば、テーブル６の制御方向を考慮してテーブル６に作用する摩擦を打ち消す補正トルク量を求め、その補正トルク量を考慮してサーボモータ１の制御信号を生成するように構成したので、テーブル６に作用する摩擦が大きい場合でも、テーブル６の移動方向が反転するときに生じる弾性変形を精度よく補償することができる効果を奏する。
また、この実施の形態１によれば、テーブル６に作用する摩擦から、テーブル６の位置θＬとサーボモータ１の位置θＭとの偏差に至るまでの伝達関数がモデル化された伝達関数型フィルタ１３を用いてバックラッシュの補正指令値を更新するように構成したので、予め、補正を加えない場合に生じる突起形状をセンサで計測することなく、テーブル６の移動方向が反転するときに生じる弾性変形を補償することができる効果を奏する。
更に、この実施の形態１によれば、テーブル６の制御方向が反転すると、所定のバックラッシュ量を伝達関数型フィルタ１３に入力するように構成したので、構成の複雑化を招くことなく、テーブル６の移動方向が反転するときに生じる弾性変形を精度よく補正することができる効果を奏する。
【００２７】
実施の形態２．
図５はこの発明の実施の形態２による数値制御装置を示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
最大バックラッシュ補正ゲイン算出部１９は位置指令生成部９により生成された位置指令値から最大バックラッシュ補正量を算出し、制御方向検出部１０から出力された制御方向信号に当該最大バックラッシュ補正量を乗算し、その乗算結果を最大バックラッシュ補正信号として伝達関数型フィルタ１３に出力する。なお、最大バックラッシュ補正ゲイン算出部１９は補正指令値更新手段を構成している。
【００２８】
図６は最大バックラッシュ補正ゲイン算出部１９における最大バックラッシュ補正量の算出法を説明する説明図である。
テーブル６に作用する動摩擦Ｆは、機械の組み立て具合により、位置に依存して値が増減する。ボールネジ４が両端で軸受に支持されている構造の場合には、両端で動摩擦が大きく、中央では小さくなる場合が多い。予め、等速直線運動をさせた場合の制御電流を計測する方法などで、位置指令値θｒと動摩擦Ｆの関係を計測し、関数Ｆ（θｒ）で近似表現する。この場合、例えば、下記の式（１２）で表現される。
Ｆ（θｒ）＝１／（ａ１・θｒ＋ｂ１）＋１／（ａ２・θｒ＋ｂ２）（１２）
ただし、ａ１，ａ２，ｂ１，ｂ２は適当な定数である。
【００２９】
機械のバネ定数は位置に依存して変化する。サーボモータ１からボールネジナット５までの長さが位置に依存して変化するためである。機械の設計データあるいは計測値に基づいて、位置指令値θｒとバネ定数Ｋの関係を関数Ｋ（θｒ）で近似表現する。この場合、例えば、下記の式（１３）で表現される。
Ｋ（θｒ）＝１／（ａ３・θｒ＋ｂ３）                        （１３）
ただし、ａ３，ｂ３は適当な定数である。
上記のように、関数表現された動摩擦Ｆ（θｒ）とバネ定数Ｋ（θｒ）から、最大バックラッシュ補正量ｍａｘΔは位置指令値θｒの関数として下記の式（１４）で与えられる。
ｍａｘΔ＝Ｆ（θｒ）／Ｋ（θｒ）                            （１４）
【００３０】
次に動作について説明する。
最大バックラッシュ補正ゲイン算出部１９は、位置指令生成部９から位置指令値を受けると、その位置指令値から最大バックラッシュ補正量を算出する。
例えば、テーブル６がボールネジ４の端部にある場合は、図６に示すように、最大バックラッシュ補正量を大きくし、テーブル６がボールネジ４の中央部にある場合は、最大バックラッシュ補正量を小さくする。
そして、最大バックラッシュ補正ゲイン算出部１９は、上記実施の形態１と同様にして、制御方向検出部１０から制御方向信号を受けると、その制御方向信号に当該最大バックラッシュ補正量を乗算し、その乗算結果を最大バックラッシュ補正信号として伝達関数型フィルタ１３に出力する。
【００３１】
以上で明らかなように、この実施の形態２によれば、位置指令生成部９により生成された位置指令値から最大バックラッシュ補正量を算出し、制御方向検出部１０から出力された制御方向信号に当該最大バックラッシュ補正量を乗算し、その乗算結果を伝達関数型フィルタ１３に出力するように構成したので、テーブル６の移動方向が反転するときに生じる弾性変形が位置に応じて変化する場合でも精度よく弾性変形を補償することができるようになり、その結果、テーブル６の位置θＬを位置指令値θｒに高精度に追従させることができる効果を奏する。
【００３２】
なお、この実施の形態２では、位置指令値θｒと最大バックラッシュ補正量ｍａｘΔの関係を近似関数で表現するものについて示したが、これらを実測データに基づいて数値表化し、最大バックラッシュ補正量ｍａｘΔを補間計算する算出法を用いても同様な効果を奏することができる。
【００３３】
実施の形態３．
図７はこの発明の実施の形態３による数値制御装置を示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
摩擦推定部２０は位置指令生成部９により生成された位置指令値と加算器１７により生成された補正電流指令値（制御信号）からテーブル６に作用する摩擦を推定し、その推定摩擦信号を出力する。最大バックラッシュ補正ゲイン算出部２１は摩擦推定部２０から出力された推定摩擦信号と位置指令生成部９により生成された位置指令値から最大バックラッシュ補正量を算出し、その最大バックラッシュ補正量を伝達関数型フィルタ１３に出力する。なお、摩擦推定部２０及び最大バックラッシュ補正ゲイン算出部２１は補正指令値更新手段を構成している。
【００３４】
摩擦推定部２０は、下記の式（１５）に基づいてテーブル６に作用する推定摩擦Ｆ＾を計算する。
Ｆ＾＝ＫＴ・ｉ−｛Ｊαｒ＋Ｄωｒ＋ＦＭ・ｓｉｇｎ（ωｒ）｝    （１５）
ただし、ＫＴはサーボモータ１のトルク定数、ｉは摩擦補償を含む補正電流指令値、αｒは位置指令値θｒの２階微分値である加速度指令値、ωｒは位置指令値θｒの１階微分値である速度指令値、Ｊ（＝ＪＬ＋ＪＭ）はテーブル６とサーボモータ１など機械系の慣性モーメントの合計値、Ｄはサーボモータ１及びテーブル６に作用する粘性摩擦係数の合計値、ＦＭはサーボモータ１に作用する摩擦、ｓｉｇｎ（ωｒ）はωｒが正のときは“１”を出力し、負のときは“−１”を出力する符号関数を示している。
【００３５】
最大バックラッシュ補正ゲイン算出部２１は、下記の式（１６）に基づいて最大バックラッシュ補正量ｍａｘΔを算出する。
ｍａｘΔ＝Ｆ＾／Ｋ（θｒ）                                  （１６）
ただし、Ｆ＾は摩擦推定部２０から出力された推定摩擦、Ｋ（θｒ）は位置指令値θｒとバネ定数Ｋの関係を表す関数である。
【００３６】
次に動作について説明する。
摩擦推定部２０は、加算器１７から補正電流指令値を受けると、式（１５）を用いて、その補正電流指令値と位置指令生成部９により生成された位置指令値からテーブル６に作用する摩擦を推定し、その推定摩擦信号を出力する。
最大バックラッシュ補正ゲイン算出部２１は、摩擦推定部２０から推定摩擦信号を受けると、式（１６）を用いて、その推定摩擦信号と位置指令生成部９により生成された位置指令値から最大バックラッシュ補正量を算出し、その最大バックラッシュ補正量を伝達関数型フィルタ１３に出力する。
【００３７】
以上で明らかなように、この実施の形態３によれば、位置指令生成部９により生成された位置指令値と加算器１７により生成された補正電流指令値からテーブル６に作用する摩擦を推定し、その推定値と位置指令生成部９により生成された位置指令値から最大バックラッシュ補正量を算出し、その最大バックラッシュ補正量を伝達関数型フィルタ１３に出力するように構成したので、テーブル６の移動方向が反転するときに生じる弾性変形が位置・速度・移動距離・円弧半径・機械の潤滑状態・温度などの動作条件に応じて変化する場合でも、精度よく弾性変形を補償することができるようになり、その結果、テーブル６の位置θＬを位置指令値θｒに高精度に追従させることができる効果を奏する。
【００３８】
実施の形態４．
図８はこの発明の実施の形態４による数値制御装置を示す構成図であり、図において、図７と同一符号は同一または相当部分を示すので説明を省略する。
摩擦補償値算出部２２は制御方向検出部１０から出力された制御方向信号に摩擦推定部２０から出力された推定摩擦信号を乗算し、その乗算結果を補正トルク量に相当する電流指令補正値として加算器１７に出力する。なお、摩擦補償値算出部２２は制御手段を構成している。
【００３９】
次に動作について説明する。
摩擦補償値算出部２２は、制御方向検出部１０から制御方向信号を受けると、その制御方向信号に摩擦推定部２０から出力された推定摩擦信号Ｆ＾を乗算し、その乗算結果を補正トルク量に相当する電流指令補正値として加算器１７に出力する。
加算器１７は、速度制御部１６により生成された電流指令値と摩擦補償値算出部２２から出力された電流指令補正値を加算して補正電流指令値を生成する。
【００４０】
以上で明らかなように、この実施の形態４によれば、制御方向検出部１０から出力された制御方向信号に摩擦推定部２０から出力された推定摩擦信号を乗算し、その乗算結果を補正トルク量に相当する電流指令補正値として加算器１７に出力するように構成したので、テーブル６に作用する摩擦量が位置・速度・移動距離・円弧半径・機械の潤滑状態・温度などの動作条件に応じて変化する場合でも、精度よく弾性変形を補償することができるようになり、その結果、テーブル６の位置θＬを位置指令値θｒに高精度に追従させることができる効果を奏する。
【００４１】
【発明の効果】
以上のように、この発明によれば、制御対象の制御方向が反転すると、その反転が発生してからの経過時間に応じてバックラッシュの補正指令値を更新する補正指令値更新手段を設け、その補正指令値更新手段により更新されたバックラッシュの補正指令値を位置指令値に加算し、その加算結果に基づいて制御対象を駆動するモータの回転を制御するように構成したので、制御対象の移動方向が反転するときに生じる弾性変形を精度よく補償することができる効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による数値制御装置を示す構成図である。
【図２】サーボモータとテーブルの間で生じる弾性変形を説明する説明図である。
【図３】この実施の形態１による数値制御装置の制御系を示すブロック図である。
【図４】象限突起の抑制効果を説明する説明図である。
【図５】この発明の実施の形態２による数値制御装置を示す構成図である。
【図６】最大バックラッシュ補正ゲイン算出部における最大バックラッシュ補正量の算出法を説明する説明図である。
【図７】この発明の実施の形態３による数値制御装置を示す構成図である。
【図８】この発明の実施の形態４による数値制御装置を示す構成図である。
【符号の説明】
１  サーボモータ、２  エンコーダ、３  カップリング、４  ボールネジ、５ボールネジナット、６  テーブル、７  リニアスケール、８  リニアスケールヘッド、９  位置指令生成部、１０  制御方向検出部（制御方向検出手段）、１１  摩擦補償ゲイン部（制御手段）、１２  最大バックラッシュ補正ゲイン部（補正指令値更新手段）、１３  伝達関数型フィルタ（補正指令値更新手段）、１４  加算器（制御手段）、１５  位置制御部（制御手段）、１６  速度制御部（制御手段）、１７  加算器（制御手段）、１８  電流制御部（制御手段）、１９最大バックラッシュ補正ゲイン算出部（補正指令値更新手段）、２０  摩擦推定部（補正指令値更新手段）、２１  最大バックラッシュ補正ゲイン算出部（補正指令値更新手段）、２２  摩擦補償値算出部（制御手段）。
【図１】
2004234205.tif 000003
【図２】
2004234205.tif 000004
【図３】
2004234205.tif 000005
【図４】
2004234205.tif 000006
【図５】
2004234205.tif 000007
【図６】
2004234205.tif 000008
【図７】
2004234205.tif 000009
【図８】
2004234205.tif 000010