(57)【特許請求の範囲】
【請求項１】
駆動するモータからのフィードバック位置を指令位置に追従させる駆動指令を演算するサーボ制御部を備え、前記駆動指令に従って前記モータを駆動するサーボ制御装置において、
前記モータの応答を模擬して前記モータの速度が正、負またはゼロのいずれの状態であるかを判定し、判定結果を移動状態として出力する移動状態判定部と、
前記判定された移動状態が変化するタイミングで前記移動状態の変化パターンに従って補正量を選択する補正量選択部と、
サーボ制御部が演算した前記駆動指令に前記補正量選択部が出力する前記補正量を加算して補正駆動指令を生成し、該補正駆動指令を前記サーボ制御部が演算した前記駆動指令に代えて前記モータへの駆動指令とする加算部と
を備えたことを特徴とするサーボ制御装置。
【請求項２】
前記サーボ制御部は、
前記指令位置と前記フィードバック位置との差である位置偏差を小さくするように位置制御演算を行う位置制御部と、
前記フィードバック位置を微分する微分演算部と、
前記位置制御部の出力と前記微分演算部の出力との差である速度偏差を小さくするように速度制御演算を行って前記駆動指令を出力する速度制御部と
を備えることを特徴とする請求項１に記載のサーボ制御装置。
【請求項３】
前記移動状態判定部は、
前記指令位置とモデル位置とを入力とし前記位置制御部と同一の演算を行ってモデル速度を演算する位置制御模擬部と、
前記モデル速度に対するフィードバック位置を模擬して前記モデル位置を出力するモータ模擬部と、
前記モデル速度の符号が正、ゼロまたは負のいずれであるか判定し判定結果を前記移動状態として前記補正量選択部へ出力するモデル速度符号判定部と
を備えることを特徴とする請求項１に記載のサーボ制御装置。
【請求項４】
前記補正量選択部は、
前記補正量を、前記移動状態が正から負または負から正に変化した場合と、前記移動状態が速度ゼロから速度ゼロ以外に変化した場合とのそれぞれの場合に対応して出力する
ことを特徴とする請求項１に記載のサーボ制御装置。
【請求項５】
前記移動状態判定部は、
前記移動状態が速度ゼロ以外から速度ゼロに変化した時点で、速度ゼロに変化する直前の移動状態を記憶させるための速度ゼロ直前の移動状態記憶部
を備え、記憶している速度ゼロに変化する直前の移動状態を速度ゼロ直前の移動状態として補正量選択部へ出力する
ことを特徴とする請求項３に記載のサーボ制御装置。
【請求項６】
前記補正量選択部は、
前記移動状態が正から負または負から正に変化したそれぞれの場合に対応した補正量を出力するとともに、
前記移動状態が速度ゼロから速度ゼロ以外に変化し、かつ前記速度ゼロ直前の移動状態と変化後の移動状態とが異なる場合に対応した補正量を出力する
ことを特徴とする請求項５に記載のサーボ制御装置。
【請求項７】
モータからのフィードバック位置を指令位置に追従させる駆動指令を演算し、前記駆動指令に従って前記モータを駆動するサーボ制御方法において、
前記モータの応答を模擬して前記モータの速度が正、負およびゼロのうちのいずれの状態であるかを判定した判定結果を移動状態として出力するステップと、
前記判定された移動状態が変化するタイミングで前記移動状態の変化パターンに従って補正量を選択するステップと、
前記演算された駆動指令に前記補正量を加算して補正駆動指令を生成し、前記補正駆動指令を前記演算された駆動指令に代えて前記モータへの駆動指令とするステップと
を含むことを特徴とするサーボ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械等の機械装置をサーボ制御により駆動するサーボ制御装置に関するものである。
【背景技術】
【０００２】
工作機械等の機械装置を駆動するサーボ制御装置は、機械に備えられた工具やテーブルの位置が指令値に追従するように、工具やテーブルを駆動するモータへの駆動指令をフィードバック制御によって生成する。工具やテーブルを駆動するモータとして、回転モータを用いる場合とリニアモータを用いる場合とがある。駆動指令は、回転モータを用いる場合にはトルク指令となり、リニアモータを用いる場合には推力指令となるが、本明細書では回転モータを用いる場合について説明する。【０００３】
特に、加工対象物（ワーク）に対する工具位置が指令された経路（指令軌跡）に正確に追従するように機械装置における機械系を駆動するサーボ制御は、軌跡制御または輪郭運動制御と呼ばれ、数値制御装置やそれに付属するサーボ制御装置を用いて精密に行われる。制御対象の機械装置における機械系は、複数の軸を持ち、軸を構成するモータのそれぞれがサーボ制御装置を用いて駆動制御される。【０００４】
サーボ制御装置は、機械系に存在する摩擦などの外乱要因の影響を抑制するために、フィードバック制御に加えて、外乱により生ずる誤差（特に軌跡の誤差）を予測して補正を行う機能も備わっている。特に、送り軸の移動方向の反転時には摩擦が作用する方向も反転するので、その影響が軌跡の誤差に顕著に現れる。【０００５】
典型的なものとしては、円弧軌跡を指令した場合に、円弧軌跡の象限切り替り部分において送り軸の移動方向が反転する際に生じる追従誤差がある。この誤差は、半径方向の誤差量を拡大してプロットすると、軌跡が外側に突起状に飛び出た形状になることから、象限突起と呼ばれる。象限突起のような軌跡の追従誤差が発生すると、加工結果に筋や傷が発生することになり、好ましくない。【０００６】
そのため、例えば、特許文献１に示されているように従来では、位置指令方向が反転する際に、送り駆動機構の運動方向が反転する前後に発生する摩擦トルクの変化を推定し、推定された摩擦トルクの変化分をトルク指令に加算するという方法が実施されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−２２４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記従来の技術によれば、次のような２つの問題があった。
第１の問題は、速度指令値符号が反転するタイミングで補正を行うが、同一方向移動中に一旦停止する場合には補正が行われないため、一旦停止後に動き出す際に追従誤差が発生し、軌跡に誤差が生じるということである。【０００９】
第２の問題は、移動方向が反転する直前に停止していたか否かを考慮していないため、停止時に摩擦外乱が減少する場合、方向反転の前に一旦停止すると補正量が過大になり、軌跡の追従誤差の抑制を十分に行うことができないということである。【００１０】
本発明は、上記に鑑みてなされたものであり、摩擦によって生ずる追従誤差を低減することが可能なサーボ制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明は、駆動するモータからのフィードバック位置を指令位置に追従させる駆動指令を演算するサーボ制御部を備え、前記駆動指令に従って前記モータを駆動するサーボ制御装置において、前記モータの応答を模擬して前記モータの速度が正・負・ゼロのいずれの状態であるかを判定しその判定結果を移動状態として出力する移動状態判定部と、前記判定された移動状態が変化するタイミングで前記移動状態の変化パターンに従って補正量を選択する補正量選択部と、サーボ制御部が演算した前記駆動指令に前記補正量選択部が出力する前記補正量を加算して補正駆動指令を生成し、該補正駆動指令を前記サーボ制御部が演算した前記駆動指令に代えて前記モータへの駆動指令とする加算部とを備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、同一方向移動中に一旦停止する場合でも、摩擦分の補正を行うことができる。また、反転前に一旦停止する場合でも、停止時の摩擦分を考慮した適切な補正量で補正を行うことができる。よって、摩擦によって生ずる追従誤差を低減することが可能なサーボ制御装置が得られるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態１によるサーボ制御装置の構成を示すブロック図である。
【図２】図２は、図１に示すサーボ制御部の構成例を示すブロック図である。
【図３】図３は、図１に示す移動状態判定部の構成例を示すブロック図である。
【図４】図４は、実施の形態１による追従誤差低減動作を説明する図である。
【図５】図５は、本発明の実施の形態２によるサーボ制御装置の構成を示すブロック図である。
【図６】図６は、図５に示す移動状態判定部の構成例を示すブロック図である。
【図７】図７は、実施の形態２による追従誤差低減動作を説明する図である。
【図８】図８は、図１や図５に示すサーボ制御装置の制御対象である機械装置における機械系の一例を示す側面図である。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかるサーボ制御装置の実施の形態を図面に基づき詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態１．
図１は、本発明の実施の形態１によるサーボ制御装置の構成を示すブロック図である。図１において、本実施の形態１によるサーボ制御装置１ａの直接的な制御対象であるモータ２は、この明細書では回転モータであり、位置検出器と速度検出器のいずれか一方または両方が取り付けられている。モータ２からサーボ制御装置１ａへ入力されるフィードバック位置ａは、位置検出器の検出値、または、速度検出器の検出値の積分値である。
【００１６】
図８は、本実施の形態１（図１）や後述する実施の形態２（図５）に示すサーボ制御装置の制御対象である機械装置における機械系の一例を示す側面図である。この明細書ではモータ２は、例えば図８に示すような機械系に組み込まれているとする。
【００１７】
図８において、モータ２には、例えば位置検出器８１が取り付けられている。位置検出器８１は、ロータリエンコーダなどであり、検出したモータ位置を前記したフィードバック位置ａとして出力する。
【００１８】
また、モータ２の回転軸には所定長のボールねじ８２が連結または形成されている。ボールねじ８２には、ナット８３、テーブル８４、リニアガイド８５からなる可動部が組み付けられている。ナット８３はテーブル８４の裏面に固定されており、ボールねじ８２の回転を直動運動に変換する。また、リニアガイド８５は、テーブル８４を支持し、テーブル８４の運動方向を拘束するためのものである。
【００１９】
なお、位置検出器８１において直接検出される位置はモータ２の回転角度であるが、この角度にモータ１回転あたりのテーブル移動距離であるボールねじリードを乗じてモータ１回転の角度２π［ｒａｄ］で除することで、テーブルの移動方向の長さに換算することができる。以降では、モータ位置は、テーブル移動方向の長さに換算した値を用いることとする。
【００２０】
さて、図１において、サーボ制御装置１ａは、摩擦によって生ずる追従誤差を低減する構成として、サーボ制御部３と、移動状態判定部４ａと、補正量選択部５ａと、加算部６とを備えている。
【００２１】
サーボ制御部３には、指令位置ｂが図示しないコントローラから入力されるとともに、位置検出器８１にて検出されたモータ２の回転位置がフィードバック位置ａとして入力される。サーボ制御部３では、例えば図２に示す構成により、フィードバック位置ａが指令位置ｂに追従するようにサーボ制御が行われる。一般には、モータ２は、サーボ制御部３によるサーボ制御の結果演算されたトルク指令ｃに従って直接駆動される。しかし、本実施の形態では、加算部６が設けられ、サーボ制御部３によるサーボ制御の結果演算されたトルク指令ｃは加算部６の一方の入力となる。
【００２２】
移動状態判定部４ａは、例えば図３に示す構成により、図示しないコントローラから入力される指令位置ｂからモータ２の移動速度が正・ゼロ・負のいずれであるかを判定し、判定した結果を移動状態ｄとして補正量選択部５ａへ出力する。
【００２３】
補正量選択部５ａは、移動状態判定部４ａから入力された移動状態ｄに従ってトルク補正量ｅを選択し、加算部６の他方の入力とする。加算部６は、サーボ制御部３が演算したトルク指令ｃに、補正量選択部５ａにて選択されたトルク補正量ｅを加算し、その加算したトルク指令ｆをサーボ制御装置１ａの出力とする。
【００２４】
補正量選択部５ａの動作を具体的に説明する。補正量選択部５ａでは、移動状態判定部４ａの出力である移動状態ｄが正から負または負から正に変化したタイミングで、それぞれに対応するトルク補正量ｅを出力する。トルク補正量ｅの値は、移動方向反転時にモータ２に生ずる摩擦トルクを予めモデル化しておき、そのモデルに基づいて演算される。
【００２５】
このモデルは、例えばクーロン摩擦のように移動方向と反対方向に一定の摩擦トルクが発生するものでもよい。また、図１では、加算部６を設け、求めたトルク補正量ｅをトルク指令ｃに加算する例を示したが、例えば、トルク指令に加算するかわりに、サーボ制御部３内の速度制御部（図２参照）において積分項に加算するようにしてもよい。
【００２６】
また、補正量選択部５ａでは、移動状態判定部４ａの出力である移動状態ｄが速度ゼロから速度ゼロ以外（すなわち正または負）に変化したタイミングで、トルク補正量ｅを出力する。このときのトルク補正量ｅの値は、移動方向反転開始時にモータ２に生ずる摩擦トルクを予めモデル化しておき、そのモデルに基づいて演算される。
【００２７】
次に、サーボ制御部３は、例えば図２に示すように、加減算部３０，３２と、位置制御部３１と、微分演算部３３と、速度制御部３４とを備えている。
【００２８】
図２において、加減算部３０は、指令位置ｂとフィードバック位置ａとの偏差（位置偏差）を求め、位置制御部３１へ出力する。位置制御部３１では、加減算部３０から入力される位置偏差を小さくするように、比例制御などの位置制御処理が行われ、位置偏差を小さくする速度指令が出力される。また、微分演算部３３では、フィードバック位置ａを微分して実速度が求められる。
【００２９】
なお、この微分処理は離散時間系においては差分処理に置き換えられる。すなわち、現在のフィードバック位置と１サンプル前のフィードバック位置の差を制御処理周期で除した値が、近似的な微分値として使用される。
【００３０】
また、加減算部３２は、位置制御部３１にて求められた速度指令と微分演算部３３にて求められた実速度との偏差（速度偏差）を求め、速度制御部３４へ出力する。速度制御部３４では、加減算部３２から入力される速度偏差を小さくするように、比例・積分制御などの速度制御処理が行われ、トルク指令ｃが出力される。
【００３１】
このようにサーボ制御部３は、指令位置ｂとフィードバック位置ａの差を位置偏差として、位置偏差を抑制するようにフィードバック制御を行うことにより、フィードバック位置ａが指令位置ｂに追従するように制御することができる。
【００３２】
次に、移動状態判定部４ａは、例えば図３に示すように、位置制御模擬部４１と、モータ模擬部４２と、モデル速度符号判定部４３ａとを備えている。
【００３３】
図３において、位置制御模擬部４１は、図示しないコントローラから入力される指令位置ｂと後述するモータ模擬部４２が出力するモデル位置ｇとの偏差（位置偏差）が小さくなるように、比例制御などの位置制御処理を行い、位置偏差を小さくする指令であるモデル速度ｈを出力する。このモデル速度ｈは、モータ模擬部４２とモデル速度符号判定部４３ａとに入力される。
【００３４】
モータ模擬部４２は、モデル速度ｈを用いてモータ２の特性を模擬する演算を行い、その演算結果をモデル位置ｇとして出力する。具体的には、モータ模擬部４２は、モータ２の特性を模擬する演算としてモデル速度ｈを１回積分することを行い、その積分値をモデル位置ｇとして出力する。このモデル位置ｇは、図１や図２に示すフィードバック位置ａに対応し、また、モデル速度ｈは、前述の位置制御部３１が出力する速度指令に対応している。つまり、位置制御模擬部４１は、前述の位置制御部３１と同等の入力および出力を有し、内部においては位置制御部３１と同一の演算処理を行っている。
【００３５】
モデル速度符号判定部４３ａでは、モデル速度ｈの符号が正・ゼロ・負のいずれであるかを判定し、その判定結果を移動状態ｄとして出力する。ここで、モデル速度ｈの符号が速度ゼロであるか否かの判定では、まず、予め速度の閾値および時間の閾値を設定し、モデル速度ｈの絶対値が速度の閾値以下である状態を速度ゼロの状態であると定義する。その上で、速度ゼロの状態が時間の閾値で設定された時間以上連続して続いた場合に、移動状態が速度ゼロであると判定する。なお、速度の閾値および時間の閾値には、それぞれ速度の最小分解能およびサンプリング周期程度の正の定数を予め設定しておく。このような閾値を設定することで、演算誤差などに起因する移動状態の誤判定を防ぐことができる。
【００３６】
このように移動状態判定部４ａでは、モータ２の応答を模擬し、模擬した応答であるモデル位置に対して速度の符号判定を行うことで、移動状態ｄの判定を安定して行うことができる。
【００３７】
以下、図４を参照して、実施の形態１による追従誤差低減動作について説明する。図４では、モータ駆動時の位置ｘと摩擦トルクｆとの関係が示されている。図４において、状態（１）〜状態（７）は、モータ２の移動状態の変化パターン例を示している。
【００３８】
状態（１）は、位置ｘ１で停止している状態（移動状態＝ゼロ）を示している。状態（２）は、位置ｘ１から位置ｘ２まで正方向に移動している状態（移動状態＝正）を示している。状態（３）は、位置ｘ２で停止している状態（移動状態＝ゼロ）を示している。状態（４）は、位置ｘ２から位置ｘ３まで正方向に移動している状態（移動状態＝正）を示している。状態（５）は、位置ｘ３にて停止せずに負方向に位置ｘ２まで移動している状態（移動状態＝負）を示している。状態（６）は、位置ｘ２で停止している状態（移動状態＝ゼロ）を示している。状態（７）は、位置ｘ２から負方向に位置ｘ１まで移動している状態（移動状態＝負）を示している。
【００３９】
摩擦トルクは、移動方向と反対の方向に発生し、その大きさはクーロン摩擦の場合一定値となる。図４では、摩擦トルクの大きさをｆとおくと、正方向に移動する際には−ｆの摩擦トルクが生じ、負方向に移動する際には＋ｆの摩擦トルクが生ずること、また、停止中の摩擦トルクは０となることが示されている。
【００４０】
移動状態が変化するときに摩擦トルクが変化し、その変化が制御系に外乱として作用し過渡的な位置の追従誤差を発生させる。また、移動状態の変化パターンによって、発生する摩擦トルクも異なったパターンで変化する。
【００４１】
そこで、補正量選択部５ａでは、移動状態判定部４ａが出力する移動状態ｄが変化するパターンに従ってトルク補正量ｅの設定を行う。トルク補正量ｅは、移動状態ｄが変化する際の摩擦トルクの変化を打ち消す量とする。移動状態の変化パターンごとのトルク補正量ｅは、予めパラメータとして設定しておく。
【００４２】
すなわち、移動状態ｄが正から負に変化する場合は、摩擦トルクが−ｆから＋ｆに変化するので、トルク補正量ｅは両者の差を打ち消す量である−２ｆとする。同様に、移動状態ｄが負から正に変化する場合は、摩擦トルクが＋ｆから−ｆに変化するので、トルク補正量ｅは＋２ｆとする。さらに、移動状態が速度ゼロから負に変化する場合は、摩擦トルクが０から＋ｆに変化するので、トルク補正量ｅは両者の差を打ち消す量である−ｆとする。同様に、移動状態が速度ゼロから正に変化する場合は、摩擦トルクが０から−ｆに変化するので、トルク補正量ｅは＋ｆとする。
【００４３】
本実施の形態１で想定している移動経路の場合、状態（１）から状態（２）、および状態（３）から状態（４）では、それぞれ移動状態が速度ゼロから正に変化するので、トルク補正量ｅは＋ｆが選択される。また、状態（４）から状態（５）では、移動状態が正から負に変化するので、トルク補正量ｅは−２ｆが選択される。さらに、状態（６）から状態（７）では、移動状態が速度ゼロから負に変化するので、トルク補正量ｅは−ｆが選択される。
【００４４】
以上のように、実施の形態１によれば、同一方向移動中に一旦停止する場合でも、モータへ出力するトルク指令に補正を行うので、摩擦トルク変化の補正を行うことができる。したがって、移動状態変化時の摩擦トルク変化に起因する追従誤差を補正することが可能となり、軌跡の追従誤差を抑制することができる。このとき、モータの応答を模擬し、模擬した応答であるモデル位置に対して速度の符号判定を行うので、移動状態の判定を安定して行うことができる。
【００４５】
実施の形態２．
図５は、本発明の実施の形態２によるサーボ制御装置の構成を示すブロック図である。なお、図５では、図１（実施の形態１）に示した構成要素と同一ないし同等である構成要素には同一の符号が付されている。ここでは、本実施の形態２に関わる部分を中心に説明する。
【００４６】
図５において、本実施の形態２によるサーボ制御装置１ｂでは、図１（実施の形態１）に示した構成において、移動状態判定部４ａに代えて、移動状態判定部４ｂが設けられている。また、符号を変えた補正量選択部５ｂでは、補正量選択部５ａに若干の機能追加がなされている。
【００４７】
図６は、図５に示す移動状態判定部の構成例を示すブロック図である。図６に示すように、移動状態判定部４ｂは、図３（実施の形態１）に示した構成において、速度ゼロ直前の移動状態記憶部４４が追加され、符号を変えたモデル速度符号判定部４３ｂでは、モデル速度符号判定部４３ａに若干の機能追加がなされている。
【００４８】
モデル速度符号判定部４３ｂは、モデル速度符号判定部４３ａと同様に、モデル速度ｈの符号が正・ゼロ・負のいずれであるかを判定し、その判定結果を移動状態（本実施の形態２では「現在の移動状態」と称する）ｄとして出力する。加えて、本実施の形態２ではモデル速度符号判定部４３ｂは、判定した現在の移動状態ｄが速度ゼロである場合に、つまり、現在の移動状態ｄが速度ゼロ以外から速度ゼロに変化した場合に、その速度ゼロ直前の移動状態ｋを速度ゼロ直前の移動状態記憶部４４に出力して記憶させることを行う。速度ゼロ直前の移動状態記憶部４４は、記憶している速度ゼロ直前の移動状態ｋを補正量選択部５ｂへ出力する。
【００４９】
本実施の形態２では、停止中の摩擦トルクが０にならないような場合を想定している。これは、図８に示した例で言えば、例えばテーブル８４を支持するリニアガイド８５にバネ特性がある場合である。この場合、停止状態から移動する際の摩擦トルクの変化量は、停止状態になる直前の移動方向に依存して変化することになる。そのため、本実施の形態２では、移動状態が速度ゼロになる直前の移動状態を記憶しておき、補正量選択部５ｂからの要求に応じて、移動状態判定部４ｂから補正量選択部５ｂへ出力できるようにした。
【００５０】
補正量選択部５ｂは、モデル速度符号判定部４３ｂが出力する現在の移動状態ｄを監視し、現在の移動状態ｄが正から負または負から正に変化した場合は、実施の形態１にて説明した補正量選択部５ａと同様内容のトルク補正量ｅを加算部６へ出力するが、現在の移動状態ｄが速度ゼロから速度ゼロ以外に変化する場合は、本実施の形態２では、速度ゼロ直前の移動状態記憶部４４から速度ゼロ直前の移動状態ｋを読み出し、その読み出した「速度ゼロ直前の移動状態ｋ」と「変化後の移動状態（＝現在の移動状態ｄ）」とが異なる場合に、本実施の形態２によるトルク補正量ｅを選択し、加算部６へ出力するようになっている。
【００５１】
実施の形態２によれば、以上のように構成される移動状態判定部４ｂと補正量選択部５ｂとの協働により、反転前に一旦停止する場合でも、停止時の摩擦トルク分を考慮した適切な補正量でモータへ出力するトルク指令の補正を行うことができる。
【００５２】
以下、図７を参照して、実施の形態２による追従誤差低減動作について説明する。図７では、図４と同様に、モータ駆動時の位置ｘと摩擦トルクｆとの関係が示されている。但し、モータ２の変化パターン（状態（１）〜状態（７））は実施の形態１と同様である。本実施の形態２では、摩擦トルクの設定が図４とは異なり、次のようになっている。
【００５３】
摩擦トルクは、移動方向と反対の方向に発生し、その大きさはクーロン摩擦の場合一定値となる。図７では、正方向に移動する際にはｆ１の摩擦トルクが生じ、負方向に移動する際にはｆ４の摩擦トルクが生ずるとしている。また、停止中の摩擦トルクは、前記したように０にならないような場合を想定しており、正方向の移動後に停止した場合はｆ２の摩擦トルクが生じ、負方向の移動後に停止した場合はｆ３の摩擦トルクが生ずるとしている。
【００５４】
移動状態が変化するときに摩擦トルクが変化し、その変化が制御系に外乱として作用し過渡的な位置の追従誤差を発生させる。また、移動状態の変化パターンによって、発生する摩擦トルクも異なったパターンで変化する。
【００５５】
補正量選択部５ｂでは、移動状態判定部４ｂが出力する現在の移動状態ｄが変化するパターンに従ってトルク補正量ｅの設定を行う。トルク補正量ｅは、現在の移動状態ｄが変化する際の摩擦トルクの変化を打ち消す量とし、現在の移動状態ｄの変化パターンごとのトルク補正量ｅを予めパラメータとして設定しておく。この点は実施の形態１と同様であるが、実施の形態２では、摩擦トルクの設定が実施の形態１とは異なるので、次のようになる。
【００５６】
すなわち、補正量選択部５ｂでは、現在の移動状態ｄが正から負に変化する場合は、摩擦トルクがｆ１からｆ４に変化するので、トルク補正量ｅは両者の差を打ち消す量である（ｆ１−ｆ４）とする。同様に、現在の移動状態ｄが負から正に変化する場合は、摩擦トルクがｆ４からｆ１に変化するので、トルク補正量ｅは（ｆ４−ｆ１）とする。
【００５７】
また、現在の移動状態ｄが速度ゼロから正に変化する場合で、速度ゼロ直前の移動状態記憶部４４から読み出した「移動状態が速度ゼロになる直前の移動状態ｋ」が正であった場合は、変化前後の移動方向は同一方向である。この場合は摩擦トルクがｆ２からｆ１に変化するので、トルク補正量ｅは両者の差を打ち消す量である（ｆ２−ｆ１）とする。
【００５８】
一方、現在の移動状態ｄが速度ゼロから正に変化する場合で、速度ゼロ直前の移動状態記憶部４４から読み出した「移動状態が速度ゼロになる直前の移動状態ｋ」が負であった場合は、変化前後の移動方向は同一方向ではなく異なっている。この場合は摩擦トルクがｆ３からｆ１に変化するので、トルク補正量ｅは（ｆ３−ｆ１）とする。
【００５９】
さらに、現在の移動状態ｄが速度ゼロから負に変化する場合で、速度ゼロ直前の移動状態記憶部４４から読み出した「移動状態が速度ゼロになる直前の移動状態ｋ」が正であった場合は、変化前後の移動方向は同一方向ではなく異なっている。この場合は摩擦トルクがｆ２からｆ４に変化するので、トルク補正量ｅは両者の差を打ち消す量である（ｆ２−ｆ４）とする。
【００６０】
一方、現在の移動状態ｄが速度ゼロから負に変化する場合で、速度ゼロ直前の移動状態記憶部４４から読み出した「移動状態が速度ゼロになる直前の移動状態」が負であった場合は、変化前後の移動方向は同一方向である。この場合は摩擦トルクがｆ３からｆ４に変化するので、トルク補正量ｅは（ｆ３−ｆ４）とする。
【００６１】
本実施の形態２で想定している移動経路の場合、状態（１）から状態（２）では、現在の移動状態ｄが速度ゼロから正に変化し、かつ、速度ゼロ直前の移動状態記憶部４４から読み出した「移動状態が速度ゼロになる直前の移動状態ｋ」は負であるので、つまり変化前後の移動方向が異なるので、トルク補正量ｅは（ｆ３−ｆ１）が選択される。
【００６２】
次に、状態（３）から状態（４）では、現在の移動状態ｄが速度ゼロから正に変化し、かつ、速度ゼロ直前の移動状態記憶部４４から読み出した「移動状態が速度ゼロになる直前の移動状態ｋ」は正であるので、つまり変化前後の移動方向が同じであるので、トルク補正量ｅは（ｆ２−ｆ１）が選択される。
【００６３】
また、状態（４）から状態（５）では、現在の移動状態ｄが正から負に変化するので、トルク補正量ｅは（ｆ４−ｆ１）が選択される。さらに状態（６）から状態（７）では、現在の移動状態ｄが速度ゼロから負に変化し、かつ、速度ゼロ直前の移動状態記憶部４４から読み出した「移動状態が速度ゼロになる直前の移動状態ｋ」は負であるので、変化前後の移動方向が同じ場合に用いるトルク補正量ｅは（ｆ３−ｆ４）が選択される。
【００６４】
以上のように、実施の形態２によれば、同一方向移動中に一旦停止する場合でもモータへ出力するトルク指令に補正を行うことができるので、実施の形態１と同様に、移動状態変化時の摩擦トルク変化に起因する追従誤差を補正することが可能となる。加えて、実施の形態２では、反転前に一旦停止する場合でも、停止時の摩擦トルク残存分を考慮した適切な補正量でモータへ出力するトルク指令に補正を行うことができるので、反転前後の移動状態によらず軌跡の追従誤差を常に適正に補正することができる。このとき、実施の形態１と同様に、モータの応答を模擬し、模擬した応答であるモデル位置に対して速度の符号判定を行うので、移動状態の判定を安定して行うことができる。
【００６５】
なお、以上の各実施の形態においては、テーブルが移動する場合について説明したが、工具やその他の加工ヘッドなど、他の機械要素が移動する場合であっても、同様に適用できる。
【００６６】
また、以上の各実施の形態において、トルク指令のかわりに電流指令を用いてもよい。その場合、電流指令にトルク定数を乗じるとトルク指令に換算できる。
【００６７】
また、以上の各実施の形態においては、モータの回転位置をフィードバック位置として用いるものとして説明したが、テーブルの位置をリニアスケールなどで検出してフィードバックするものであってもよい。その場合、リニアスケールなどで検出したテーブルの位置をフィードバック位置として用いる。
【００６８】
加えて、以上の各実施の形態においては、制御対象の構成要素の一つであるモータは、駆動力をトルクと表記して回転モータであることを明示しているが、本発明で言うモータは、回転モータに限定されるものではなく、リニアモータであってもよい。つまり、実施の形態１，２の内容は、トルクを推力に置き換えれば、そのまま、制御対象の構成要素の一つであるモータがリニアモータである場合にも適用できる。
【産業上の利用可能性】
【００６９】
以上のように、本発明にかかるサーボ制御装置は、摩擦によって生ずる追従誤差を低減することが可能なサーボ制御装置として有用である。
【符号の説明】
【００７０】
１ａ，１ｂ  サーボ制御装置、２  モータ、３  サーボ制御部、４ａ，４ｂ  移動状態判定部、５ａ，５ｂ  補正量選択部、６  加算部、３０，３２  加減算部、３１  位置制御部、３３  微分演算部、３４  速度制御部、４１  位置制御模擬部、４２  モータ模擬部、４３ａ，４３ｂ  モデル速度符号判定部、４４  速度ゼロ直前の移動状態記憶部、８１  位置検出器、８２  ボールねじ、８３  ナット、８４  テーブル、８５  リニアガイド。
【図１】
0005875714.tif 000002
【図２】
0005875714.tif 000003
【図３】
0005875714.tif 000004
【図４】
0005875714.tif 000005
【図５】
0005875714.tif 000006
【図６】
0005875714.tif 000007
【図７】
0005875714.tif 000008
【図８】
0005875714.tif 000009