(57)【特許請求の範囲】
【請求項１】
負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、前記位置指令値を前記負荷および前記モータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値を生成するフィードフォワード補償部と、前記フィードフォワードトルク指令値と前記所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、前記負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、前記位置指令値と前記位置補正値の加算値を求める第１の加算手段と、前記加算値を前記位置指令値と前記モータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、前記フィードフォワードトルク指令値と前記フィードバックトルク指令値を加算し、前記モータの駆動トルク指令値を生成する第２の加算手段を、備えてなる数値制御装置であり、
前記フィードフォワードトルク指令値は、前記負荷と前記モータの慣性モーメントの和と前記位置指令値の２階微分値から求まる慣性トルク補償成分と、前記負荷と前記モータの粘性摩擦係数の和と前記位置指令値の１階微分値から求まる粘性摩擦トルク補償成分と、を加算することから生成されることを特徴とする数値制御装置。
【請求項２】
フィードフォワードトルク指令値に、クーロン摩擦係数と位置指令値の１階微分値から求まるクーロン摩擦トルク補償成分を加算することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、前記位置指令値を前記負荷および前記モータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値とフィードフォワードトルク補償値を生成するフィードフォワード補償部と、前記フィードフォワードトルク補償値と前記所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、前記負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、前記位置指令値と前記位置補正値の加算値を求める第１の加算手段と、前記加算値を前記位置指令値と前記モータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、前記フィードフォワードトルク指令値と前記フィードバックトルク指令値を加算し、前記モータの駆動トルク指令値を生成する第２の加算手段を、備えてなる数値制御装置であり、
前記フィードフォワードトルク指令値は、前記負荷と前記モータの慣性モーメントの和と前記位置指令値の２階微分値から求まる慣性トルク補償成分と、前記負荷と前記モータの粘性摩擦係数の和と前記位置指令値の１階微分値から求まる粘性摩擦トルク補償成分と、クーロン摩擦係数と前記位置指令値の１階微分値から求まるクーロン摩擦トルク補償成分と、を加算することから生成され、
前記フィードフォワードトルク補償値は、前記慣性トルク補償成分と、前記粘性摩擦トルク補償成分と、を加算することから生成されることを特徴とする数値制御装置。
【請求項４】
負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、前記位置指令値を前記負荷および前記モータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値とフィードフォワードトルク補償値を生成するフィードフォワード補償部と、前記フィードフォワードトルク補償値と前記所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、前記負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、前記位置指令値と前記位置補正値の加算値を求める第１の加算手段と、前記加算値を前記位置指令値と前記モータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、前記フィードフォワードトルク指令値と前記フィードバックトルク指令値を加算し、前記モータの駆動トルク指令値を生成する第２の加算手段を、備えてなる数値制御装置であり、
前記フィードフォワードトルク指令値は、前記負荷の慣性モーメントと前記位置指令値の２階微分値から求まる負荷周りの慣性トルク補償成分と、前記負荷の粘性摩擦係数と前記位置指令値の１階微分値から求まる負荷周りの粘性摩擦トルク補償成分と、クーロン摩擦係数と前記位置指令値の１階微分値から求まるクーロン摩擦トルク補償成分と、前記モータの慣性モーメントと前記位置指令値の２階微分値から求まるモータ周りの慣性トルク補償成分と、前記モータの粘性摩擦係数と前記位置指令値の１階微分値から求まるモータ周りの粘性摩擦トルク補償成分と、を加算することから生成され、
前記フィードフォワードトルク補償値は、前記負荷周りの慣性トルク補償成分と、負荷周りの粘性摩擦トルク補償成分と、前記クーロン摩擦トルク補償成分と、を加算することから生成されることを特徴とする数値制御装置。
【請求項５】
負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、前記位置指令値を前記負荷および前記モータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値とフィードフォワードトルク補償値を生成するフィードフォワード補償部と、前記フィードフォワードトルク補償値と前記所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、前記負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、前記位置指令値と前記位置補正値の加算値を求める第１の加算手段と、前記加算値を前記位置指令値と前記モータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、前記フィードフォワードトルク指令値と前記フィードバックトルク指令値を加算し、前記モータの駆動トルク指令値を生成する第２の加算手段を、備えてなる数値制御装置であり、
前記フィードフォワードトルク指令値は、前記負荷の慣性モーメントと前記位置指令値の２階微分値から求まる負荷周りの慣性トルク補償成分と、前記負荷の粘性摩擦係数と前記位置指令値の１階微分値から求まる負荷周りの粘性摩擦トルク補償成分と、クーロン摩擦係数と前記位置指令値の１階微分値から求まるクーロン摩擦トルク補償成分と、前記モータの慣性モーメントと前記位置指令値の２階微分値から求まるモータ周りの慣性トルク補償成分と、前記モータの粘性摩擦係数と前記位置指令値の１階微分値から求まるモータ周りの粘性摩擦トルク補償成分と、を加算することから生成され、
前記フィードフォワードトルク補償値は、前記負荷周りの慣性トルク補償成分と、負荷周りの粘性摩擦トルク補償成分と、を加算することから生成されることを特徴とする数値制御装置。
【請求項６】
負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、前記位置指令値を前記負荷および前記モータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値を生成するフィードフォワード補償部と、前記駆動トルク指令値と前記所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、前記負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、前記位置指令値と前記位置補正値の加算値を求める第１の加算手段と、前記加算値を前記位置指令値と前記モータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、前記フィードフォワードトルク指令値と前記フィードバックトルク指令値を加算し、前記モータの駆動トルク指令値を生成する第２の加算手段を、備えてなる数値制御装置であり、
前記フィードフォワードトルク指令値は、前記負荷と前記モータの慣性モーメントの和と前記位置指令値の２階微分値から求まる慣性トルク補償成分と、前記負荷と前記モータの粘性摩擦係数の和と前記位置指令値の１階微分値から求まる粘性摩擦トルク補償成分と、クーロン摩擦係数と前記位置指令値の１階微分値から求まるクーロン摩擦トルク補償成分と、を加算することから生成されることを特徴とする数値制御装置。
【請求項７】
負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、前記位置指令値を前記負荷および前記モータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値を生成するフィードフォワード補償部と、前記フィードフォワードトルク指令値と前記所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、前記負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、速度補正値を生成する速度補正部と、前記位置指令値と前記負荷トルク補正値の加算値を求める第１の加算手段と、前記加算値を前記位置指令値と前記速度補正値と前記モータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、前記フィードフォワードトルク指令値と前記フィードバックトルク指令値を加算し、前記モータの駆動トルク指令値を生成する第２の加算手段を、備えてなる数値制御装置であり、
前記フィードフォワードトルク指令値は、前記負荷と前記モータの慣性モーメントの和と前記位置指令値の２階微分値から求まる慣性トルク補償成分と、前記負荷と前記モータの粘性摩擦係数の和と前記位置指令値の１階微分値から求まる粘性摩擦トルク補償成分と、を加算することから生成されることを特徴とする数値制御装置。
【請求項８】
速度補正部が生成した速度補正値の一次微分値を生成する微分部を備え、第２の加算手段はこの一次微分値から求まるトルク補正値をさらに加算してモータの駆動トルク指令値を生成することを特徴とする請求項７記載の数値制御装置。
【請求項９】
負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることを特徴とする請求項１から８のいずれか一項に記載の数値制御装置。次式で、ａ１，ａ０，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ１・ｓ＋ａ０）／（ｂ１・ｓ＋ｂ０）
【請求項１０】
負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることを特徴とする請求項１から８のいずれか一項に記載の数値制御装置。次式で、ａ１，ａ０，ｂ２，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ１・ｓ＋ａ０）／（ｂ２・ｓ2＋ｂ１・s＋ｂ０）
【請求項１１】
負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることを特徴とする請求項１から８のいずれか一項に記載の数値制御装置。次式で、ａ２，ａ１，ａ０，ｂ２，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ２・ｓ2＋ａ１・ｓ＋ａ０）／（ｂ２・ｓ2＋ｂ１・s＋ｂ０）
【請求項１２】
所定の結合特性は、位置指令値に依存する変数として表されることを特徴とする請求項１から１１のいずれか一項に記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、数値制御装置に関わり、特に、負荷を高速に駆動する際に生じる弾性変形誤差を高度に補正することができる数値制御装置に関する。
【０００２】
【従来の技術】
ＮＣ加工システム、ＮＣロボットシステム、ＮＣ搬送システムなどには、数値制御装置が使われている。例えばＮＣ加工システムでは、被加工対象物（ワーク等）をテーブル上に固定し、このテーブルと加工工具との相対的な位置関係を数値制御（座標制御）することで、被加工対象物を複雑な形状に加工する。ＮＣ加工システムでは一般的に、Ｘ、Ｙ、Ｚの３つの互いに直交する軸方向に、独立に、３つのサーボモータを設け、この３つのサーボモータの回転駆動力をテーブルや加工工具の支持部材に伝達することで、テーブルと加工工具との相対運動を制御している。
【０００３】
このようなＮＣ加工システムに使用される数値制御装置は、駆動力伝達機構（駆動源であるサーボモータ、モータの回転運動を直線運動に変換するボールネジ、モータとボールネジを連結するカップリング、運動方向を規定する直線ガイド、ワークや工具が保持されるテーブル等）に弾性要素を多く含む。これらの弾性要素は、テーブル等が高速円運動などを行う際、モータの駆動トルクに比例する弾性変位を生じる。その結果、数値制御に基づく目標移動量と、テーブルやワークの相対的な移動量が一致しなくなり、弾性変形誤差を生じた。
【０００４】
特開平４−２７１２９０号公報に開示された駆動制御装置は、このような弾性変形誤差を補正することを目的とした数値制御装置の例である。図１４に示されたブロック図で、１は負荷、２はモータ、３は位置検出部、４は位置指令値生成部、５はフィードバック補償部、６はフィードフォワード補償部、７は負荷端補正部、８は電流補償部である。また、θｒは位置指令部生成部４にて生成されるモータ２の回転位置を指定する位置指令値、θｌは負荷１の（実際の）位置、θｍは位置検出部３で検出されるモータ２の位置検出値である。
【０００５】
負荷１とモータ２は、慣性モーメントとその間に介在するバネを使って、力学的にモデル化されており、Jｌは負荷１の慣性モーメント、Jｍはモータ２の慣性モーメント、Ｋは負荷１の剛性を表すバネ定数を表す。また、Ｊ０ｌは負荷１の慣性モーメントＪｌの推定値、Ｊ０ｍはモータ２の慣性モーメントＪｍの推定値、α、βはそれぞれ負荷端補正部７のパラメータ、ｓは微分を表すラプラス演算子である。
【０００６】
フィードバック補償部５において、Ｋｐは位置ループ比例ゲイン、Ｋｖは速度ループ比例ゲイン、ＫｊはＫｖと速度ループ積分ゲインＫｖｉの積、２３は速度指令値、２５はフィードバック指令値を表す。またフィードフォワード補償部６において、２２はフィードフォワード指令値であり、３１は慣性トルク補償成分を表す。また、１１と２４は加算器、２９は駆動トルク指令値である。
【０００７】
次に動作について説明する。フィードバック補償部５は、位置指令値生成部４で生成される位置指令値θｒと、位置検出部３より出力されるモータ２の位置検出値θｍとの差に基づいてＰＩＤ（比例・積分・微分）制御を行う。但し、図示されたフィードバック補償部５では、位置指令値θｒと位置検出値θｍのそれぞれの微分値を利用した構成となっているが、ＰＩＤ制御の構成に等価変換できる。
【０００８】
負荷１およびモータ２を、フィードバック補償部５のみで制御した場合、応答の遅れのために位置指令値θｒへの追従精度は良好ではないが、負荷１とモータ２の剛性が十分高い（バネ定数Ｋが十分大きい）場合には、フィードフォワード補償部６で、Ｊ０ｌ＝Ｊｌ、Ｊ０ｍ＝Ｊｍとすることにより、応答の遅れをなくすことができる。
【０００９】
しかしながら、負荷１とモータ２の剛性が十分高いと見なすことができない場合には、負荷１の位置θｌとモータ２の位置検出値θｍとの間にずれが生じ、フィードフォワード補償部６の補正だけでは十分な精度が得られない。そこで負荷端補正部７において、α＝Ｊｌ／（Ｋ（Ｊｌ＋Ｊｍ））、β＝Ｊｍとすることにより、負荷１とモータ２に対応する２つの慣性モーメントＪｌ、Ｊｍとその間に介在するバネで表現される制御対象モデルの特性を完全に補償することができる。こうすることによって、位置指令値θｒと負荷１の位置θｌを完全に一致させることができる。
【００１０】
【発明が解決しようとする課題】
従来の数値制御装置は以上のように構成されており、弾性変形誤差を補正するために、負荷端補正部７で位置指令値θｒの４階微分あるいは３階微分が必要とされる。すなわち、位置指令値θｒはラプラス演算子ｓによる処理を、フィードフォワード補償部６で２回、負荷端補正部７で２回受ける。このため、位置指令値θｒが高次微分可能でない場合や量子化誤差の影響を受ける場合には、数値制御装置は振動を励起することがあった。また、負荷１とモータ２の剛性を表すバネ定数Ｋの値が、負荷１の位置に依存して変化する現象に対応することが出来ないという課題もあった。
【００１１】
この発明は上記のような課題を解決するためになされたもので、位置指令値が高次微分可能でない場合でも振動を励起することなく、高精度で位置制御を行うことができる数値制御装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、前記位置指令値を前記負荷および前記モータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値を生成するフィードフォワード補償部と、前記フィードフォワードトルク指令値と前記所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、前記負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、前記位置指令値と前記位置補正値の加算値を求める第１の加算手段と、前記加算値を前記位置指令値と前記モータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、前記フィードフォワードトルク指令値と前記フィードバックトルク指令値を加算し、前記モータの駆動トルク指令値を生成する第２の加算手段を、備えてなる数値制御装置であり、
前記フィードフォワードトルク指令値は、前記負荷と前記モータの慣性モーメントの和と前記位置指令値の２階微分値から求まる慣性トルク補償成分と、前記負荷と前記モータの粘性摩擦係数の和と前記位置指令値の１階微分値から求まる粘性摩擦トルク補償成分と、を加算することから生成されることを特徴とする数値制御装置。
【００３７】
【発明の実施の形態】
図１は、本発明にかかる数値制御装置が適用可能なテーブル駆動系の構成を示している。ワークや工具が保持されるテーブルが負荷１に相当し、所定の軌跡に従って移動する。モータ２は負荷１を駆動するサーボモータで、位置検出部３（エンコーダ等）が取り付けられている。負荷１とモータ２は、モータの回転運動を直線運動に変換するボールネジ、モータとボールネジを連結するカップリング、運動方向を規定する直線ガイドなどで連結されており、モータ２の回転に伴い、わずかではあるが弾性変形が生じる。
【００３８】
本発明にかかる数値制御装置は、生じる弾性変形の大きさを力学的モデルに基づいて推定し、高精度に負荷１の速度や位置を制御する。本発明にかかる数値制御装置には様々な形態が考えられ、以下に図に基づいて説明する。図中、同一番号は、同一部品あるいはそれに相当する部品を表す。
【００３９】
実施の形態１．
図２は実施の形態１にかかる数値制御装置の構成を示すブロック図である。負荷１とモータ２は、慣性モーメントとその間に介在するバネを使って、力学的にモデル化されている。Jｌは負荷１の慣性モーメント、Jｍはモータ２の慣性モーメント、Ｋは負荷１の剛性を表すバネ定数、Ｃはバネに作用する粘性摩擦係数、Ｃｌは負荷１の粘性摩擦係数、Ｃｍはモータ２の粘性摩擦係数、ｓは微分を表すラプラス演算子である。
【００４０】
また、Ｊ０ｌは負荷１の慣性モーメントＪｌの推定値、Ｊ０ｍはモータ２の慣性モーメントＪｍの推定値、Ｋ０はバネ定数Ｋの推定値、Ｃ０ｌは負荷１の粘性摩擦係数Ｃｌの推定値、Ｃ０ｍはモータ２の粘性摩擦係数Ｃｍの推定値、Ｋｐは位置ループ比例ゲイン、Ｋｖは速度ループ比例ゲイン、Ｋｊは速度ループ積分ゲインＫｖｉと速度ループ比例ゲインＫｖの積を表す。
【００４１】
次に動作について説明する。モータ２に取り付けられている位置検出部３はモータ２の回転位置を検出し、検出した値を位置検出値θｍとして出力する。位置指令値生成部４は負荷１に所定の軌跡上を移動させるための位置指令値θｒを生成する。
【００４２】
フィードバック補償部５は、位置指令値生成部４で生成される位置指令値θｒとモータ２に取り付けられた位置検出部３より出力されるモータ２の位置検出値θｍとの差をもとにＰＩＤ（比例・積分・微分）制御を行う。また速度指令値２３とフィードバックトルク指令値２５を生成する。なお、図１に示されたフィードバック補償部５では、位置指令値θｒと位置検出値θｍのそれぞれの微分値を利用した構成となっているが、これは等価変換することにより上記ＰＩＤ制御の構成となる。
【００４３】
フィードフォワード補償部６は、負荷１およびモータ２を表す力学的特性値と位置指令値生成部４で生成された位置指令値θｒから、フィードフォワードトルク指令値２２を生成し、フィードバック補償部５のみで制御したときのような、応答遅れによる位置指令値θｒへの追従精度の低下を抑制する。
【００４４】
なお、実施の形態１にかかるフィードフォワード補償部６は、負荷１とモータ２の慣性モーメントに関わる慣性トルク補償成分３１（位置指令値θｒの２階微分値に、負荷１の推定慣性モーメントＪ０ｌとモータ２の推定慣性モーメントＪ０ｍの和を乗算したもの）の他に、負荷１とモータ２の粘性摩擦も考慮して、粘性摩擦トルク補償成分３２（位置指令値θｒの一階微分値に、負荷１の推定粘性摩擦係数Ｃ０ｌとモータ２の推定粘性摩擦係数Ｃ０ｍの和を乗算したもの）を含んでいる。このため、より高度な制御が行われる。
【００４５】
電流補償部８は、フィードバック補償部５で生成されたフィードバックトルク指令値２５と、フィードフォワード補償部６で生成されたフィードフォワードトルク指令値２２を加算する加算器２４が生成する駆動トルク指令値２９（負荷の駆動に必要なトルクの指令値）をもとに、モータ２に適切な電流を流す。
【００４６】
モータ２は駆動トルク指令値２９に対応するトルクを発生するが、実際には、電流センサ（図示せず）に基づく電流フィードバックを行って電流を制御し、その電流に比例したトルクをモータ２は発生している。従って、駆動トルク指令値２９はトルク相当の電流指令値とみることもできる。電流補償部８は、駆動トルク指令値２９に相当する目標電流値をもとに、モータ２に適切な電流を流すようにしてもよい。
【００４７】
負荷補正部９は、負荷補正定数Ａ{Ｊ０ｌ／Ｋ０（Ｊ０ｌ＋Ｊ０ｍ）｝を、フィードフォワード補償部６が生成するフィードフォワードトルク指令値２２に乗算し、その演算結果（負荷トルク補正値２７）を位置補正部１０に送出する。定性的には、フィードフォワードトルク指令値２２にＪ０ｌ／（Ｊ０ｌ＋J０ｍ）を乗じることでバネに作用するトルクを、１／Ｋ０を乗じることでバネの伸縮量を計算している。
【００４８】
位置補正部１０は、負荷補正部９が出力する負荷トルク補正値２７に対して式１の伝達関数と等価なフィルタリング処理を行って位置補正値２６を算出して加算器１１に出力する。
（１＋ｓ／Ｋｐ）／（ρ2・ｓ2＋ρ・ζ・ｓ＋１）・・・式１
ここで、分子のｓ／Ｋｐは位置ループにおける応答遅れを補償するための項（フィードフォワード成分）であり、分母は負荷補正部９が出力する負荷トルク補正値２７に含まれる高周波成分を除去するための項（ローパスフィルタ）である。なお、ρとζはローパスフィルタの時定数である。
【００４９】
位置補正部１０の効果をシュミレーション結果を元に説明する。図３（ａ）〜（ｃ）は、テーブルが反時計方向に円軌道を描いて２周するように位置指令値θｒを与えた場合の、各部における信号の形状を表している（速度４４００mm/min、半径２.５mm）。
【００５０】
図３（ａ）は、位置指令値θｒに対応し、実線はＸ軸、破線はＹ軸を表している。図３（ｂ）、（ｃ）は位置補正値２６のシュミレーション結果を表している。図３（ｂ）は位置補正部１０にローパスフィルタ（ρｓ＋１）2がない場合の信号を、図３（ｃ）はローパスフィルタ（ρｓ＋１）2を付加した場合の信号を表している。ローパスフィルタの効果により、高周波成分が信号から効率よく除去されていることがわかる。
【００５１】
加算器１１では位置指令値生成部４の出力する位置指令値θｒに、位置補正部１０が出力する位置補正値２６を加算し、負荷１の位置θｌが位置指令値生成部４からの位置指令値θｒに追従するように補正する。すなわち、位置補正値２６で位置指令値θｒを補正して、負荷ｌの位置θｌを位置指令値生成部４からの位置指令値θｒに追従させる。
【００５２】
実施の形態１によれば、フィードフォワードトルク指令値２２を定数（負荷補正定数Ａ）倍することで算出した負荷トルク補正値２７に、位置ループの応答遅れを補償すると共に高周波成分を除去するフィルタ処理を施しているため、位置指令値θｒを微分することにより生じる高周波成分が励起する振動を防止でき、負荷１の位置θｌを位置指令値θｒに精度良く追従させることができる。
【００５３】
なお、バネ定数Ｋが十分大きく、負荷１とモータ２の剛性が十分高い場合には、位置指令値θｒに負荷１の位置θｌおよびモータ２の位置検出値θｍは一致する。また、フィードフォワード補償部６に設定された力学的特性値の推定値Ｊ０ｌ、J０ｍ、C０ｌ、C０ｍが力学的特性値の実際値Ｊｌ、Jｍ、Cｌ、Cｍに十分等しいと見なせるならば、フィードフォワード補償部６から出力されるフィードフォワードトルク指令値２２はモータ２の出力トルクにほぼ等しいとみなすことができる。
【００５４】
実施の形態２．
負荷１には粘性摩擦（速度に比例する摩擦）の他にクーロン摩擦（速度がゼロでないとき、反運動方向に作用する、速度に依存しない摩擦）が作用する場合がある。図４は実施の形態２にかかる数値制御装置の構成を示すブロック図で、クーロン摩擦トルクＦの影響を考慮してある。各部には図２の相当部分と同一符号を付して説明を省略する。
【００５５】
実施の形態２におけるフィードフォワード補償部６は、慣性トルク補償成分３１に、粘性摩擦トルク補償成分３２と、クーロン摩擦トルク補償成分３３（力学的特性値の一つであるクーロン摩擦補償トルクＦ０と符号関数ｓｉｇｎ（）を用いて算出したもの）を加算してフィードフォワードトルク指令値２２を生成し、負荷補正部９に出力する。ここで、符号関数ｓｉｇｎ（）は、括弧内の引数が正の場合は１を、負の場合は−１、０の場合は０を出力する。
【００５６】
負荷補正部９は、クーロン摩擦トルク補償成分３３を含むフィードフォワードトルク指令値２２に負荷補正定数Ａを乗じて位置補正部１０に出力する。位置補正部１０は負荷トルク補正値２７に位置ループ応答遅れの補償ならびに高周波成分除去のためのフィルタ処理を施して加算器１１に出力し、位置指令値生成部４から出力される位置指令値θｒを補正する。
【００５７】
従って、実施の形態２によれば、位置指令値θｒの速度符号の反転時に、フィードフォワードトルク指令値２２にステップ状の変化が生じるため、位置指令値θｒの補正値もステップ状に変化する。これは、負荷１の剛性とクーロン摩擦によって生じるロストモーションの補正をおこなっていることになる。
【００５８】
実施の形態２によれば、フィードフォワード補償部６がクーロン摩擦トルク補償成分３３を生成するため、クーロン摩擦トルクＦの影響でモータ２の位置検出値θｍに生じる誤差を抑制することができる。また、負荷補正部９が、クーロン摩擦トルク補償成分３３を含むフィードフォワードトルク指令値２２に負荷補正定数を乗算して負荷トルク補正値２７を算出するため、クーロン摩擦トルクＦによって生じる負荷１のバネＫの弾性変位による誤差、すなわちロストモーションを補償することができる。
【００５９】
実施の形態３．
実施の形態２では、フィードフォワード補償部６はクーロン摩擦トルク補償成分３３を含むフィードフォワードトルク指令値２２を負荷補正部９に出力していたが、慣性トルク補償成分と粘性摩擦トルク補償成分からなるフィードフォワードトルク補償値を負荷補正部９に出力する数値制御装置を構成することも可能である。図５は実施の形態３にかかる数値制御装置の構成を示すブロック図で、各部には図２の相当部分と同一符号を付して説明を省略する。
【００６０】
実施の形態３におけるフィードフォワード補償部６は、慣性トルク補償成分３１と粘性摩擦トルク補償成分３２を加算し、フィードフォワードトルク補償値２１を生成する。フィードフォワードトルク補償値２１は負荷補正部９に出力される。フィードフォワード補償部６は引き続き、慣性トルク補償成分３１と粘性摩擦トルク補償成分３２の和に、クーロン摩擦トルク補償成分３３を加算してフィードフォワードトルク指令値２２を生成する。
【００６１】
電流補償部８は、加算器２４で求められる、フィードフォワードトルク指令値２２とフィードバックトルク指令値２５の和（駆動トルク指令値２９）に基づいてモータ２に駆動電流を供給する。負荷補正部９は、クーロン摩擦補償トルクを含まないフィードフォワードトルク補償値２１に負荷補正定数Ａを乗じて、負荷トルク補正値２７を生成し、位置補正部１０に出力する。
【００６２】
位置補正部１０は負荷トルク補正値２７に位置ループ応答遅れの補償ならびに高周波成分除去のためのフィルタ処理を施して加算器１１に出力し、位置指令値生成部４から出力される位置指令値θｒを補正する。負荷１の剛性とクーロン摩擦によって生じるロストモーションの補正は、位置指令値生成部４において、位置指令値θｒに指令値の速度の符号に所定の補正値を乗算した、いわゆるバックラッシ補正値を加算することにより実施する。
【００６３】
実施の形態３によれば、負荷１にクーロン摩擦トルクＦが作用する場合でも、フィードフォワード補償部６がクーロン摩擦トルク補償成分３３を生成するため、クーロン摩擦トルクＦの影響でモータ２の位置検出値θｍに生じる誤差を抑制することができる。なお、クーロン摩擦トルクＦによる負荷１の弾性変形誤差は位置指令値生成部４の内部でバックラッシ補正を実施することで補正される。
【００６４】
また、ステップ状に変化するクーロン摩擦トルク補償成分を含まないフィードフォワードトルク補償値２１から負荷トルク補正値２７を生成しているため、位置補正部１０の分子に含まれる微分項（ｓ／Ｋｐ）により振動が励起されることを防止することが出来る。
【００６５】
実施の形態４．
実施の形態２では、負荷補正部９において、フィードフォワードトルク指令値２２に負荷１の推定慣性モーメントＪ０ｌとモータ２の推定慣性モーメントＪ０ｍの比である、Ｊ０ｌ／（Ｊ０ｌ＋Ｊ０ｍ）を乗算することにより、負荷１のバネに作用する駆動トルクを計算していたが、フィードフォワード補償部６において負荷１に作用するトルクとモータ２に作用するトルクに分けて計算する数値制御装置を構成することも可能である。図６は実施の形態４にかかる数値制御装置の構成を示すブロック図である。各部には図２の相当部分と同一符号を付して説明を省略する。
【００６６】
実施の形態４におけるフィードフォワード補償部６は、位置指令値θｒの２階微分値に負荷１の推定慣性モーメントＪ０ｌを乗算した負荷周りの慣性トルク補償成分（Ｊ０ｌｓ2）と、位置指令値θｒの一階微分値に負荷１の推定粘性摩擦係数Ｃ０ｌを乗算した負荷周りの粘性摩擦補償成分（Ｃ０ｌｓ）から、負荷周りのトルク補償成分３４を生成し、さらにクーロン摩擦トルク補償成分３３を加算して、フィードフォワードトルク補償値２１として負荷補正部９に出力する。
【００６７】
フィードフォワード補償部６は引き続き、フィードフォワードトルク補償値２１に、位置指令値θｒの２階微分値にモータ２の推定慣性モーメントＪ０ｍを乗算したモータ周りの慣性トルク補償成分（Ｊ０ｍｓ2）と、位置指令値θｒの一階微分値にモータ２の推定粘性摩擦係数Ｃ０ｍを乗算したモータ周りの粘性摩擦トルク補償成分（Ｃ０ｍｓ）から生成されるモータ周りのトルク補償成分３５を加算して、フィードフォワードトルク指令値２２として加算器２４に出力する。
【００６８】
負荷補正部９は、クーロン摩擦補償トルクを含む、フィードフォワードトルク補償値２１に負荷補正定数Ｂ（１／ＫO）を乗じて位置補正部１０に出力する。位置補正部１０は負荷トルク補正値２７に位置ループ応答遅れの補償ならびに高周波成分除去のためのフィルタ処理を施して加算器１１に出力して、位置指令値生成部４から出力される位置指令値θｒを補正する。
【００６９】
実施の形態４によれば、フィードフォワード補償部６が、負荷周りのフィードフォワードトルク補償値２１を負荷補正部９に出力するため、負荷１の推定慣性モーメントJ０ｌとモータ２の推定慣性モーメントJ０ｍの比を乗ずる場合に比べて、精度良く負荷１のバネに作用するトルクを計算することが可能となり、結果的には負荷１の位置θｌを位置指令値生成部４が生成する位置指令値θｒに精度良く追従させることができる。
【００７０】
また、負荷補正部９が、クーロン摩擦トルク補償成分３３を含むフィードフォワードトルク補償値２１に負荷補正定数Ｂを乗算して負荷トルク補正値２７を算出するため、クーロン摩擦トルクＦによって生じる負荷１のバネＫの弾性変位による誤差、すなわちロストモーションを補償することができる。
【００７１】
実施の形態５．
実施の形態３では、負荷補正部９において、クーロン摩擦補償トルクを含まないフィードフォワードトルク補償値２１に、負荷１の推定慣性モーメントＪ０ｌとモータ２の推定慣性モーメントＪ０ｍの比であるＪ０ｌ／（Ｊ０ｌ＋Ｊ０ｍ）を乗算することにより、負荷１のバネに作用する駆動トルクを計算していたが、フィードフォワード補償部６において負荷１に作用するトルクとモータ２に作用するトルクに分けて計算する数値制御装置を構成することができる。図７は実施の形態５にかかる数値制御装置の構成を示すブロック図である。各部には図２の相当部分と同一符号を付して説明を省略する。
【００７２】
実施の形態５におけるフィードフォワード補償部６は、負荷周りのトルク補償成分３４を、フィードフォワードトルク補償値２１として負荷補正部９に出力する。
【００７３】
フィードフォワード補償部６は引き続き、フィードフォワードトルク補償値２１に、モータ周りのトルク補償成分３５とクーロン摩擦トルク補償成分３３とを加算してフィードフォワードトルク指令値２２を生成する。
【００７４】
負荷補正部９は、クーロン摩擦補償トルク３３を含まないフィードフォワードトルク補償値２１に負荷補正定数Ｂを乗じて位置補正部１０に出力する。位置補正部１０は負荷トルク補正値２７に位置ループ応答遅れの補償ならびに高周波成分除去のためのフィルタ処理を施して加算器１１に出力して、位置指令値生成部４から出力される位置指令値θｒを補正する。
【００７５】
実施の形態５によれば、フィードフォワード補償部６が負荷周りのフィードフォワードトルク補償値２１を負荷補正部９に出力するため、フィードフォワードトルク指令値２２に負荷１の推定慣性モーメントJ０ｌとモータ２の推定慣性モーメントJ０ｍの比を乗ずる場合に比べて、精度良く負荷１のバネに作用する駆動トルクを計算することが可能となり、結果的に負荷１の位置θｌを位置指令値生成部４が生成する位置指令値θｒに精度良く追従させることができる。
【００７６】
なお、クーロン摩擦トルクＦに基づく負荷１の弾性変形誤差は位置指令値生成部４の内部でバックラッシ補正を実施することで補正可能である。またステップ状に変化するクーロン摩擦トルク補償成分を含まないフィードフォワードトルク補償値２１から負荷トルク補正値２７を生成しているため、位置補正部１０の分子に含まれる微分項（ｓ／Ｋｐ）により振動が励起されることを防止できる。
【００７７】
実施の形態６．
実施の形態１では、負荷補正部９において、フィードフォワード補償部６で生成されたフィードフォワードトルク指令値２２に所定の定数（負荷補正定数Ａ）を乗算することにより負荷トルク補正値２７を算出していたが、電流補償部８に入力される、フィードフォワード補償部６で生成されたフィードフォワードトルク指令値２２とフィードバック補償部５で生成されたフィードバックトルク指令値２５の和である駆動トルク指令値２９に、所定の定数を乗じて負荷トルク補正値２７を算出する数値制御装置を構成することができる。図８は実施の形態６による数値制御装置の構成を示すブロック図である。各部には図２の相当部分と同一符号を付して説明を省略する。
【００７８】
実施の形態６にかかる負荷補正部９は、フィードフォワードトルク指令値２２とフィードバックトルク指令値２５の和である駆動トルク指令値２９に負荷補正定数Ａを乗じて負荷トルク補正値２７を算出する。クーロン摩擦が問題にならない場合は、クーロン摩擦トルク補償成分３３は省略してもよい。
【００７９】
位置補正部１０は、負荷トルク補正値２７にフィードバック補償部５に含まれる位置ループの応答遅れを補償するためのフィードフォワード成分を付加すると共に、駆動トルク指令値２９に含まれる高周波成分を除去するためのフィルタ処理を施して加算器１１に出力し、位置指令値生成部４から出力される位置指令値θｒを補正する。
【００８０】
実施の形態６では、負荷補正部９が、駆動トルク指令値２９に所定の定数を乗じて負荷トルク補正値２７を算出して、位置補正部１０に出力しているため、フィードフォワード補償部６でフィードフォワードトルク指令値２２の算出に用いられる力学的特性値（Ｊ０ｌ、J０ｍ、C０ｌ、C０ｍ）に誤差がある場合でも、精度の高い負荷トルク補正値２７を算出することができる。
【００８１】
また、位置補正部１０は負荷トルク補正値２７に含まれる高周波成分を除去するフィルタ処理を施すため、フィードフォワードトルク指令値２２とフィードバック補償部５で生成されたフィードバックトルク指令値２５の和である駆動トルク指令値２９に高周波成分が含まれていても、位置補正部１０から加算器１１に出力される位置補正値２６には高周波成分は含まれず、その結果、振動の励起を防止できる。
【００８２】
なお、実施の形態１から６では、位置補正部１０は、負荷トルク補正値２７に対して式１の伝達関数と等価なフィルタリング処理を行って位置補正値２６を算出して加算器１１に出力しているが、式２の伝達関数と等価なフィルタリング処理を行う数値制御装置を構成することも可能である。
（１＋ｓ／Ｋｐ）／（ρ・ｓ＋１）・・・式２
【００８３】
分子のｓ／Ｋｐはフィードバック補償部５に含まれる位置ループの応答遅れを補正する項であり、分母は負荷トルク補正値２７に含まれる高周波成分を除去する項である。
【００８４】
式２の伝達関数と等価なフィルタリング処理は、式１の伝達関数と等価なフィルタリング処理に比べると、簡単な計算で負荷１の弾性変形誤差を、応答遅れなく、かつ振動を励起することなく補正することができる。
【００８５】
また、式３の伝達関数と等価なフィルタリング処理を行う数値制御装置を構成することも可能である。
｛（Ｋｖ＋１）ｓ2＋Ｋｖ（Ｋｐ＋Ｋｖｉ）ｓ＋Ｋｐ・Ｋｖ・Ｋｖｉ｝／｛ρ・Ｋｐ・Ｋｖ・ｓ2＋Ｋｐ・Ｋｖ（１＋ρＫｖｉ）ｓ＋Ｋｐ・Ｋｖ・Ｋｖｉ｝・・・式３
【００８６】
式３を補足する。図９は、負荷１とモータ２を単純な積分器（１／ｓ）に置き換えた場合のフィードバック補償部５のブロック線図である。このとき、入力Ｘから出力Ｙまでの伝達関数は式４で表される。
｛Ｋｐ・Ｋｖ・ｓ＋Ｋｐ・Ｋｖ・Ｋｖｉ｝／｛（Ｋｖ＋１）ｓ2＋Ｋｖ（Ｋｐ＋Ｋｖｉ）ｓ＋Ｋｐ・Ｋｖ・Ｋｖｉ｝・・・式４
【００８７】
したがって、ある信号に遅れなく出力Ｙを追従させるためには、式５で表される伝達関数を入力Ｘに掛ければよい。
｛（Ｋｖ＋１）ｓ2＋Ｋｖ（Ｋｐ＋Ｋｖｉ）ｓ＋Ｋｐ・Ｋｖ・Ｋｖｉ｝／｛Ｋｐ・Ｋｖ・ｓ＋Ｋｐ・Ｋｖ・Ｋｖｉ｝・・・式５
【００８８】
式５に、負荷トルク補正値２７に含まれる高周波成分を除去するローパス特性を持たせるように、１／（ρｓ＋１）を掛けることにより、式３が得られる。
【００８９】
また、式６の伝達関数と等価なフィルタリング処理を行う数値制御装置を構成することも可能である。
｛（Ｋｖ＋１）ｓ2＋Ｋｖ（Ｋｐ＋Ｋｖｉ）ｓ＋Ｋｐ・Ｋｖ・Ｋｖｉ｝／｛ρ2・Ｋｐ・Ｋｖ・ｓ3＋（ρ2・Ｋｐ・Ｋｖ・Ｋｖｉ＋ρ・ζ・Ｋｐ・Ｋｖ）ｓ2＋（ρ・ζ・Ｋｐ・Ｋｖ・Ｋｖｉ＋Ｋｐ・Ｋｖ）ｓ＋Ｋｐ・Ｋｖ・Ｋｖｉ｝・・・式６
【００９０】
式６は、フィードバック補償部５の応答遅れを補償する伝達関数である式５に、負荷トルク補正値２７に含まれる高周波成分を除去するための２次のローパスフィルタ、１／（ρ2・ｓ2＋ρ・ζ・ｓ＋１）を掛けることにより得られる。
【００９１】
式３、式６の伝達関数と等価なフィルタリング処理を行って位置補正値２６を算出して加算器１１に出力すると、フィードバック補償部５の応答遅れの影響を受けない高精度な位置指令値の補正が可能である。また、負荷トルク補正値２７に含まれる高周波成分を効率良く除去するため、振動の励起を防止できる。
【００９２】
実施の形態７．
実施の形態１では、負荷トルク補正値２７を位置補正部１０に入力し、フィードバック補償部５に含まれる位置ループの応答遅れの補償と高周波成分を除去した位置補正値２６を加算器１１に出力して位置指令値生成手段４の出力する位置指令値θｒを補正していたが、負荷トルク補正値２７を加算器１１に直接入力すると共に、負荷トルク補正値２７を速度補正部１２に入力し、高周波成分を除去してから速度指令値２３に加算する数値制御装置を構成することができる。図１０は実施の形態７にかかる数値制御装置の構成を示すブロック図である。各部には図２の相当部分と同一符号を付して説明を省略する。
【００９３】
実施の形態７にかかる負荷補正部９は、フィードフォワード補償部６が出力するフィードフォワードトルク指令値２２に負荷補正定数Ａを乗じて負荷トルク補正値２７を算出して、加算器１１と速度補正部１２に出力する。加算器１１は負荷トルク補正値２７を、位置指令値生成手段４が出力する位置指令値θｒに加算してフィードバック補償部５に出力する。なお、フィードフォワード補償部６はクーロン摩擦トルク補償成分３３を含んでいてもよい。
【００９４】
速度補正部１２は、負荷補正部９が出力する負荷トルク補正値２７に式７の伝達関数と等価なフィルタリング処理を行って速度補正値２８を算出し、フィードバック補償部５に含まれる速度指令値２３に加算する。
ｓ／（ρ2・ｓ2＋ρ・ζ・ｓ＋１）・・・式７
【００９５】
ここで、分子のｓは負荷トルク補正値２７を速度補正値２８に変換するための微分項であり、分母は負荷補正部９が出力する負荷トルク補正値２７に含まれる高周波成分、並びに微分で生じる高周波成分を除去するための項である。
【００９６】
実施の形態７によれば、フィードフォワードトルク指令値２２を定数（負荷補正定数Ａ）倍することで算出した負荷トルク補正値２７を位置指令値θｒに加算すると共に、負荷トルク補正値２７を微分して高周波成分を除去するフィルタ処理を施してから速度指令値２３に加算しているため、フィードバック補償部５の応答遅れの影響を受けない高精度な位置指令値の補正が可能となる。また、速度補正部１２は負荷補正部９が出力する負荷トルク補正値２７に含まれる高周波成分および微分により生じる高周波成分を除去するため、振動の励起を防止できる。
【００９７】
なお、実施の形態７では、速度補正部１２は、負荷補正部９が出力する負荷トルク補正値２７に対して式７の伝達関数と等価なフィルタリング処理を行って速度補正値２８を算出してフィードバック補償部５に出力しているが、式８の伝達関数と等価なフィルタリング処理を行う数値制御装置を構成することも可能である。
ｓ／（ρ・ｓ＋１）・・・式８
【００９８】
ここで、分子（ｓ）は負荷トルク補正値２７を速度補正値に変換するための微分項であり、分母は負荷補正部９が出力する負荷トルク補正値２７に含まれる高周波成分、並びに微分で生じる高周波成分を除去するための項である。
【００９９】
式８の伝達関数と等価なフィルタリング処理は、式７の伝達関数と等価なフィルタリング処理に比べると、簡単な計算で負荷１の弾性変形誤差を、応答遅れなく、かつ振動を励起することなく補正することができる。
【０１００】
また、式９の伝達関数と等価なフィルタリング処理を行う数値制御装置を構成することも可能である。
｛（Ｋｖ＋１）ｓ2＋Ｋｖ・Ｋｖｉ・ｓ｝／｛ρ・Ｋｖ・ｓ2＋（ρ・Ｋｖ・Ｋｖｉ＋Ｋｖ）ｓ＋Ｋｖ・Ｋｖｉ｝・・・式９
【０１０１】
式９を補足する。図１１は、負荷１とモータ２を単純な積分器（１／ｓ）に置き換えた場合のフィードバック補償部５に含まれる速度ループのブロック線図である。このとき、入力Ｘから出力Ｙまでの伝達関数は下記の式１０で表される。
（Ｋｖ・ｓ＋Ｋｖ・Ｋｖｉ）／｛（Ｋｖ＋１）ｓ2＋Ｋｖ・Ｋｖｉ・ｓ｝・・・式１０
【０１０２】
したがって、ある信号に遅れなく出力Ｙを追従させるためには、式１１で表される伝達関数を入力Ｘに掛ければよい。
｛（Ｋｖ＋１）ｓ2＋Ｋｖ・Kｖｉ・ｓ｝／（Ｋｖ・ｓ＋Ｋｖ・Ｋｖｉ）・・・式１１
【０１０３】
式１１に、負荷トルク補正値２７に含まれる高周波成分を除去するローパス特性を持たせるように、１／（ρｓ＋１）を掛けることにより、式９が得られる。
【０１０４】
また、式１２の伝達関数と等価なフィルタリング処理を行う数値制御装置を構成することも可能である。
｛（Ｋｖ＋１）ｓ2＋Ｋｖ・Ｋｖｉ・ｓ｝／｛ρ2・Ｋｖ・ｓ3＋（ρ2・Ｋｖ・Ｋｖｉ＋ρ・ζ・Ｋｖ）ｓ2＋（ρ・ζ・Ｋｖ・Ｋｖｉ＋Ｋｖ）ｓ＋Ｋｖ・Ｋｖｉ｝・・・式１２
【０１０５】
式１２は、フィードバック補償部５の応答遅れを補償する伝達関数である式１１に、負荷トルク補正値２７に含まれる高周波成分を除去するための２次のローパスフィルタ、１／（ρ2・ｓ2＋ρ・ζ・ｓ＋１）を掛けることにより得られる。
【０１０６】
式９、式１２の伝達関数と等価なフィルタリング処理を行って位置補正値２６を算出して加算器１１に出力すると、フィードバック補償部５の応答遅れの影響を受けない高精度な位置指令値の補正が可能である。また、負荷トルク補正値２７に含まれる高周波成分を効率良く除去するため、振動の励起を防止できる。
【０１０７】
実施の形態８．
実施の形態７では、負荷トルク補正値２７を加算器１１に直接入力すると共に、負荷トルク補正値２７を速度補正部１２に入力し、高周波成分を除去して速度補正値２８を算出してフィードバック補償部５における速度指令値２３に加算しているが、更に速度補正値２８を微分し、かつ、所定の定数を乗じてトルク補正値にして、電流補償部８に入力されるトルク指令値に加算する数値制御装置を構築することも可能である。
【０１０８】
実施の形態８における速度補正部１２は、図１２に示されているように、負荷補正部９が出力する負荷トルク補正値２７を微分し、かつ、高周波成分を除去して速度補正値２８を生成して、フィードバック補償部５に含まれる速度指令値２３に加算すると共に、速度補正値２８を微分部１３に出力する。微分部１３は速度補正値２８を微分し、かつ、所定の定数（η）を乗じてトルク補正値３０を算出して、フィードバック補償部５が生成するフィードバックトルク指令値２５と、フィードフォワード補償部６が算出するフィードフォワードトルク指令値２２の和に加算し、駆動トルク指令値２９を算出して電流補償部８に入力している。
【０１０９】
実施の形態８によれば、フィードフォワードトルク指令値２２を定数（負荷補正定数Ａ）倍することで算出した負荷トルク補正値２７を位置指令値θｒに加算すると共に、負荷トルク補正値２７を微分して高周波成分を除去するフィルタ処理を施して速度補正値２８を算出し、速度指令値２３に加算する。更に速度補正値２８を微分して所定定数を乗じてトルク補正値３０を算出し、駆動トルク指令値２９を生成しているため、フィードバック補償部５の応答遅れの影響を受けない高精度な位置指令値の補正が可能となる。
なお、実施の形態８においても、式７の伝達関数の他に、式８、９、１２の伝達関数を用いることができる。
【０１１０】
実施の形態９．
実施の形態１から８では、負荷補正部９はバネ定数（剛性）を固定値Ｋ０としていたが、バネ定数が負荷１の位置θｌに依存して変動する場合には、負荷補正部９がバネ定数を変数として負荷トルク補正値２７を算出する数値制御装置を構成することも可能である。図１３は実施の形態９にかかる数値制御装置の構成を示すブロック図である。各部には図２の相当部分と同一符号を付して説明を省略する。
【０１１１】
負荷補正部９ｂは、フィードフォワード補償部６が出力するフィードフォワードトルク指令値２２に、位置指令値生成部４が出力する位置指令値θｒに対応して変化する推定剛性Ｋ０（θｒ）を含む負荷補正係数Ｊ０ｌ／｛Ｋ０（θｒ）・（Ｊ０ｌ＋Ｊ０ｍ）｝を乗じて負荷トルク補正値２７を算出し、位置補正部１０に出力する。推定剛性Ｋ０（θｒ）は、予め負荷補正部９ｂに設定しておく。
【０１１２】
実施の形態９によれば、負荷補正部９ｂが、フィードフォワード補償部６が出力するフィードフォワードトルク指令値２２に、位置指令値生成部４が出力する位置指令値θｒに対応して変化する推定剛性Ｋ０（θｒ）を含む負荷補正係数を乗じて負荷トルク補正値２７を算出するため、負荷１の剛性が負荷１の位置θｌに依存して変化する場合でも、負荷１の剛性の変化に応じた負荷補正が実施され、高精度に負荷１を制御することができる。
【０１１３】
なお、実施の形態９では、実施の形態１にかかる負荷補正部９の代わりに、位置指令値θｒに対応して変化する推定剛性Ｋ０（θｒ）を含む負荷補正係数を乗じて負荷トルク補正値２７を算出する負荷補正部９ｂを設けているが、実施の形態２から実施の形態８にかかる負荷補正部９を負荷補正部９ｂに変更することにより、同様な効果を奏することができる。
【０１１４】
【発明の効果】
本発明にかかる数値制御装置は、負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、位置指令値を負荷およびモータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値を生成するフィードフォワード補償部と、フィードフォワードトルク指令値と所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、位置指令値と位置補正値の加算値を求める第１の加算手段と、加算値を位置指令値とモータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、フィードフォワードトルク指令値とフィードバックトルク指令値を加算し、モータの駆動トルク指令値を生成する第２の加算手段を、備えていることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。
【０１１８】
また、負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、位置指令値を負荷およびモータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値とフィードフォワードトルク補償値を生成するフィードフォワード補償部と、フィードフォワードトルク補償値と所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、位置指令値と位置補正値の加算値を求める第１の加算手段と、加算値を位置指令値とモータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、フィードフォワードトルク指令値とフィードバックトルク指令値を加算し、モータの駆動トルク指令値を生成する第２の加算手段を、備えていることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。
【０１２２】
また、本発明にかかる数値制御装置は、負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、位置指令値を負荷およびモータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値を生成するフィードフォワード補償部と、駆動トルク指令値と所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、位置補正値を生成する位置補正部と、位置指令値と位置補正値の加算値を求める第１の加算手段と、加算値を位置指令値とモータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、フィードフォワードトルク指令値とフィードバックトルク指令値を加算し、モータの駆動トルク指令値を生成する第２の加算手段を、備えていることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。
【０１２６】
また、負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。次式で、ａ１，ａ０，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ１・ｓ＋ａ０）／（ｂ１・ｓ＋ｂ０）
【０１２７】
また、負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。次式で、ａ１，ａ０，ｂ２，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ１・ｓ＋ａ０）／（ｂ２・ｓ2＋ｂ１・s＋ｂ０）
【０１２８】
また、負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。次式で、ａ２，ａ１，ａ０，ｂ２，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ２・ｓ2＋ａ１・ｓ＋ａ０）／（ｂ２・ｓ2＋ｂ１・s＋ｂ０）
【０１２９】
また、本発明にかかる数値制御装置は、負荷と所定の結合特性で連結されかつ駆動トルク指令値に基づいて制御可能なモータの位置指令値を生成する位置指令値生成部と、位置指令値を負荷およびモータの力学的特性値を用いて処理することによりフィードフォワードトルク指令値を生成するフィードフォワード補償部と、フィードフォワードトルク指令値と所定の結合特性から負荷トルク補正値を生成する負荷トルク補正部と、負荷トルク補正値を所定の伝達関数と所定のフィルタ関数に基づいて処理し、速度補正値を生成する速度補正部と、位置指令値と負荷トルク補正値の加算値を求める第１の加算手段と、加算値を位置指令値と速度補正値とモータの位置検出値を用いて処理し、フィードバックトルク指令値を生成するフィードバック補償部と、フィードフォワードトルク指令値と前記フィードバックトルク指令値を加算し、モータの駆動トルク指令値を生成する第２の加算手段を、備えていることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。
【０１３３】
また、速度補正部が生成した速度補正値の一次微分値を生成する微分部を備え、第２の加算手段はこの一次微分値から求まるトルク補正値をさらに加算してモータの駆動トルクの指令値を生成することにより、高精度な位置指令値の補正が可能である。
【０１３４】
また、負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。次式で、ａ１，ａ０，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ１・ｓ＋ａ０）／（ｂ１・ｓ＋ｂ０）
【０１３５】
また、負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。次式で、ａ１，ａ０，ｂ２，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ１・ｓ＋ａ０）／（ｂ２・ｓ2＋ｂ１・s＋ｂ０）
【０１３６】
また、負荷トルク補正値を処理する所定の伝達関数と所定のフィルタ関数は、次式で表されることにより、振動の励起を防止しながら、高精度な位置指令値の補正が可能である。次式で、ａ２，ａ１，ａ０，ｂ２，ｂ１，ｂ０は定数、ｓはラプラス演算子を表す。
（ａ２・ｓ2＋ａ１・ｓ＋ａ０）／（ｂ２・ｓ2＋ｂ１・s＋ｂ０）
【０１３８】
また、所定の結合特性は、位置指令値に依存する変数として表されることにより、負荷とモータの剛性を表すバネ定数Ｋの値が、負荷の位置に依存して変化する現象に対応することができる。
【図面の簡単な説明】
【図１】本発明にかかる数値制御装置が適用可能なテーブル駆動系を示す構成図である。
【図２】本発明の実施の形態１にかかる数値制御装置の構成を示すブロック図である。
【図３】位置補正部の効果を説明するための図である。
【図４】本発明の実施の形態２にかかる数値制御装置の構成を示すブロック図である。
【図５】本発明の実施の形態３にかかる数値制御装置の構成を示すブロック図である。
【図６】本発明の実施の形態４にかかる数値制御装置の構成を示すブロック図である。
【図７】本発明の実施の形態５にかかる数値制御装置の構成を示すブロック図である。
【図８】本発明の実施の形態６にかかる数値制御装置の構成を示すブロック図である。
【図９】伝達関数を説明するためのブロック図である。
【図１０】本発明の実施の形態７にかかる数値制御装置の構成を示すブロック図である。
【図１１】伝達関数を説明するためのブロック図である。
【図１２】本発明の実施の形態８にかかる数値制御装置の構成を示すブロック図である。
【図１３】本発明の実施の形態９にかかる数値制御装置の構成を示すブロック図である。
【図１４】従来の数値制御装置の構成を示すブロック図である。
【符号の説明】
１  負荷、２  モータ、３  位置検出部、４  位置指令値生成部、５  フィードバック補償部、６  フィードフォワード補償部、８  電流補償部、９  負荷補正部、１０  位置補正部、１１  加算器、１２  速度補正部、１３  微分部、
２１  フィードフォワードトルク補償値、２２  フィードフォワードトルク指令値、２３  速度指令値、２４  加算器、２５  フィードバックトルク指令値、２６  位置補正値、２７  負荷トルク補正値、２８  速度補正値、２９  駆動トルク指令値、３０  トルク補正値、
３１  慣性トルク補償成分、３２  粘性摩擦トルク補償成分、３３  クーロン摩擦トルク補償成分、３４  負荷周りのトルク補償成分、３５  モータ周りのトルク補償成分、
θｒ  位置指令値、θｍ  位置検出値、θｌ  負荷の位置、Ｊｌ  負荷の慣性モーメント、Ｊｍ  モータの慣性モーメント、Ｃｌ  負荷の粘性摩擦係数、Ｃｍモータの粘性摩擦係数、Ｆ０  クーロン摩擦補償トルク、Ｋ  バネ定数。
【図１】
0004867105.tif 000002
【図２】
0004867105.tif 000003
【図３】
0004867105.tif 000004
【図４】
0004867105.tif 000005
【図５】
0004867105.tif 000006
【図６】
0004867105.tif 000007
【図７】
0004867105.tif 000008
【図８】
0004867105.tif 000009
【図９】
0004867105.tif 000010
【図１０】
0004867105.tif 000011
【図１１】
0004867105.tif 000012
【図１２】
0004867105.tif 000013
【図１３】
0004867105.tif 000014
【図１４】
0004867105.tif 000015