(57)【特許請求の範囲】
【請求項１】
サーボモータ回転力を直線運動に変換して可動テーブルを直線運動させるＮＣ装置の位置決め装置において、前記サーボモータの回転位置検出器からの出力の時間変化から該サーボモータの回転速度方向切り換わりを判別する判別手段と、回転速度方向切り換わり時の回転検出位置からの変位量に対して補正量が比例増加し、変位量が大きくなるにつれて、該比例領域の傾きを数段階に減少させる比例領域および変位量がある値以上となったとき該補正値が一定となり、正方向駆動における該一定補正値と負方向駆動における該一定補正値の差が、正方向駆動から負方向駆動に切り換わったときと、負方向駆動から正方向駆動に切り換わったときとで同一である飽和領域よりなるロストモーション補正モデルからロストモーション補正量を算出する算出手段と、算出した補正量を前記ＮＣ装置により生成される位置指令値に加算してロストモーション補正を行う加算手段とを備え、前記算出手段における比例領域の傾きを、１サンプル時間前のロストモーション補正値に応じて、あらかじめ設定しておいた複数の比例領域の傾きの中から１つを選択するようにするとともに、駆動方向の切り換えを繰り返した場合でもロストモーション補正値の変化量の最大値が速度方向の正負で同一となる構成にしたことを特徴とする位置決め装置。
【請求項２】
サーボモータ回転力を直線運動に変換して可動テーブルを直線運動させるＮＣ装置の位置決め装置において、モータの電流指令値あるいは電流検出値とモータの回転角速度からモータ軸に加わる外乱を推定する外乱推定器と、この推定した外乱推定値、あるいは該外乱推定値を入力として外力推定器が出力する外力推定値と、回転位置検出器からの回転検出位置と、あらかじめ測定しておいた回転検出位置ごとの外乱推定値、あるいは外力推定値を入力として飽和領域におけるロストモーション補正量を算出するロストモーション算出器と、前記サーボモータの回転速度方向切り換わり、あるいは前記外乱推定値の符号の切り換わりを判別する判別手段と、前記回転速度方向の切り換わり時の回転検出位置からの変位量に対して補正量が比例増加し、変位量が大きくなるにつれて、該比例領域の傾きを数段階に減少させる比例領域および変位量がある値以上となったとき該補正量が一定となり、正方向駆動における該一定補正値と負方向駆動における該一定補正値の差が、正方向駆動から負方向駆動に切り換わったときと、負方向駆動から正方向駆動に切り換わったときとで同一である飽和領域よりなるロストモーション補正モデルからロストモーション補正量を算出する算出手段と、この算出した補正量を前記ＮＣ装置により生成される位置指令値に加算してロストモーション補正を行う加算手段とを備え、前記ロストモーション算出器のロストモーション補正量の算出を、記憶テーブルに記憶しておいたテーブル位置ごとの外力推定値の基準値と外力推定器から読み込んだ外力推定値との差から求めた駆動系に加わる摩擦力の変化量、外力の変化量、および駆動系のばね定数から算出することを特徴とする請求項１記載の位置決め装置。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
この発明は、サーボモータ回転力を直線運動に変換して可動テーブルを直線運動させる工作機械などのＮＣ装置の位置決め装置および外力推定器に関するものである。
【０００２】
【従来の技術】
一般のＮＣ工作機械におけるセミクローズドループ方式では、サーボモータの回転力をボールねじ送り駆動機構によって直線運動に変換し、ＮＣ工作機械の可動テーブルを直線運動させている。このため、可動テーブルに加わる摩擦力などの外力に対して可動テーブルを正の向きで位置決めした場合と、負の向きで位置決めした場合で誤差が生じる。この誤差はロストモーションと呼ばれ、あらゆる工作機械において加工精度を低下させる要因となることが良く知られている。
【０００３】
図３２は、例えば特開昭６３−１２３６５０号公報に示されたＮＣ送りのロストモーション補正方法の第１の従来例を示すフローチャートであり、この従来例はＮＣ装置上で実行される。
【０００４】
次に上記第１の従来例の補正方法を図３２のフローチャートに従って説明する。位置決め指令がでると（ＳＴ６０１）、これが逆方向指令であるか否かを判別する（ＳＴ６０２）。正方向指令であるときにはＳＴ６０７にジャンプして正方向の位置決めを実行する。逆方向指令であるときには位置決め量を確認し（ＳＴ６０３）、逆の方向へ位置決め量に対応したロストモーション量をファイル（ＳＴ６０５）から読み出す（ＳＴ６０４）。このファイルには、あらかじめ測定された逆方向への位置決め量（Ｘとする）に対応するロストモーション量（Ｙとする）の関係が、Ｘ−Ｙの数値ファイルとしてＮＣ装置内のメモリ装置に記憶されている。このとき、ロストモーションの補正は、ステップ（ＳＴ６０５）の図に示されているように、３つの領域に分かれている。この３つの領域を逆方向位置決め量が小さい方から順にＡ，Ｂ，Ｃとすれば、領域Ａでは、ロストモーション補正量は零からゆるやかに増え、領域Ｂでは、逆方向位置決め量に対してロストモーション補正量は、領域Ａより大きな傾きで増え、領域Ｃでは、ロストモーション補正量は一定となる。読み出したロストモーション量により位置決め指令値を補正し（ＳＴ６０６）、補正した位置決め指令値により逆方向の位置決めを実行する（ＳＴ６０７）。
【０００５】
図３３は、例えば特開平１−２２２３０２号公報に示された数値制御装置の第２の従来例を示すブロック図である。図３３において、３０は例えば各サンプリングごとの移動増分量などの補間情報を入力し、モータに対する速度指令を出力する加減速処理装置である。３１は加減速処理装置３０の出力に従ってモータの位置決め制御を行うサーボ機構であり、モータ３１−１と連動する速度検出器３１−２、位置検出器３１−３、モータフイードバック位置を入力する位置制御器３１−４、モータフイードバック速度を入力する速度制御器３１−５、モータフイードバック位置と速度制御器３１−５の出力信号を入力する増幅器３１−６により構成されている。
【０００６】
３２はサーボ機構３１から出力されるモータフィードバック速度を記憶するモータフィードバック速度記憶装置である。３３はモータフィードバック速度記憶装置３２に記憶されたモータフィードバック速度を入力し、このモータフィードバック速度の極性が反転したか否かを判別する速度反転判別器である。３４はモータフィードバック速度記憶装置３２に記憶されたモータフィードバック速度を入力し、モータの移動開始か否かを判別する移動開始判別器である。３５はサーボ機構３１から出力されるモータフィードバック電流を記憶するモータフィードバック電流記憶装置である。３６はモータフィードバック電流値とロストモーション量の比例定数を記憶する比例定数記憶装置である。３８は比例定数記憶装置３６に記憶された情報と定数項記憶装置３７に記憶された情報とを入力し、ロストモーション補正量を算出するテーブル／関数機能を備えたロストモーション補正量算出装置である。
【０００７】
次に、上記第２の従来例の動作について説明する。加減速処理装置３０の出力、例えばモータに対する速度指令などの位置情報がサーボ機構３１に入力され、サーボ機構３１は指令された情報に従ってモータを制御する。このとき、モータフィードバック速度をサンプリングし、モータフィードバック速度記憶装置３２に入力する。速度反転判別器３３ではモータフィードバック速度記憶装置３２に記憶されたモータフィードバック速度により、モータフィードバック速度の反転する時点を求め、モータフィードバック電流記憶装置３５にモータフィードバック電流値サンプリングの指令を入力する。モータフィードバック電流記憶装置３５は速度反転判別器３３または移動開始判別器３４の指令により、サーボ機構３１より出力されるモータフィードバック電流値をサンプリングし、ロストモーション補正量算出装置３８に出力する。
【０００８】
上記ロストモーション補正量算出装置３８はモータフィードバック電流記憶装置３５により入力されたモータフィードバック電流値と、比例定数記憶装置３６に記憶された情報と定数項記憶装置３７に記憶された情報とを内蔵するテーブル／関数機能に入力してロストモーション補正量を求める。このとき、モータフィードバック電流記憶装置３５に記憶されたモータフィードバック電流Ｉ、比例定数記憶装置３６に記憶された比例定数ａ、定数項記憶装置３７に記憶された定数項をｂとすれば、ロストモーション補正量εは次式によって求められる。
ε＝ａ・Ｉ＋ｂ
ロストモーション補正量算出装置３８により求められたロストモーション補正量は、加減速処理装置３０の出力とともにサーボ機構３１に入力される。
【０００９】
上記の第２の従来例はサーボモータ所望時の駆動電流とロストモーション補正量との関係を表すテーブル／関数を備え、駆動電流検出手段にて検出されたサーボモータ所望時の駆動電流により、上記テーブル／関数にもとづいてロストモーションを補正する手段によって演算し補正するようにしたので、ロストモーションによって生じる位置誤差を精度よく補正することができる。
【００１０】
また、第３の従来例は例えば、機械設計第３５巻第８号（１９９１年６月臨時増刊号）の第３１頁の図４に記載されているモータの制御方式であるが、モータの制御には速度ループに比例積分補償器が用いられている。このように速度ループに比例積分補償器を用いることにより、モータ軸に外乱が作用した場合にも定常偏差を生じることなく、速度制御を行うことができる。
【００１１】
【発明が解決しようとする課題】
従来の位置決め装置は以上のように構成されているので、第１の従来例では、駆動機構系における位置決め量とロストモーション補正量の関係が不明確なままブラックボックス化しており、ロストモーション補正量をあらかじめ実測して設定しなければならない。この実測値がテーブル位置や工作機械によってばらつくため、設定が複雑で多大な時間と労力を要するとともに、ＮＣに保存する設定ファイルが膨大となり、位置決め装置のシステム構成が困難になるという課題があった。
また、第１の従来例では、位置決め量が小さいときにロストモーション補正量を緩やかに補正するため、ボールねじや直動玉軸受を用いた機構系において発生する駆動方向反転後の数十ミクロン領域の急峻なロストモーションが補正できず、工作機械・加工機の加工精度が悪化するという課題があった。
また、第１の従来例では、実測値に基づいてロストモーション補正量を設定し、正方向と負方向のロストモーション量が異なる場合が生じるため、駆動方向の切り換えを繰り返すことによって絶対位置が変化するという問題点があった。
さらに、ロストモーション量が経年変化してもロストモーション量は初期設定時と同一であるため、位置誤差が増大するという課題があった。
【００１２】
第２の従来例では、ロストモーション補正量を一定値としているので、ロストモーション量が駆動系の送り量によって異なる場合、例えばロストモーション量が駆動系の送り量の増加に伴って緩やかに増加するといった場合には過剰補償となり、精密な位置決めができないという課題があった。
また、駆動系を動かすのに要する電流値は駆動系の送り加速度により変化し、例えばワイヤ放電加工機のように、テーブル駆動速度Ｆが５ｍｍ／ｍｉｎ以下と非常に遅い速度で駆動し、さらに、テーブルに加わる摩擦力が駆動系全体の摩擦力に対して数十分の一の大きさしか変化しないような場合には、可動テーブル位置ごとの摩擦力が異なるので、駆動系を動かすのに要する電流値を検出しただけでは、テーブルに加わる摩擦力の変化を検出できない。従って、それに伴って変化するロストモーション量を検出することができず、数ミクロンといった精密な位置決めができないという課題があった。
【００１３】
また、第１の従来例と第２の従来例では、駆動系に切りくずなどが入ることによる異常な負荷の検出ができず、駆動系の状態をモータ側は知ることができないので、このまま加工がすすみ、加工精度が低下するという課題があった。
【００１４】
また、第３の従来例では、速度フィードバックループに比例積分補償を用いているため、積分補償器の交差周波数を速度ループの帯域以上には上げられないため、速応性が制限されるなどの課題があった。
【００１５】
この発明は上記のような課題を解決するためになされたもので、速度方向切り換え時の軌跡に段差を生じることなく、滑らかで高精度な位置決めが実現できる位置決め装置を得ることを目的とする。
【００１８】
さらに、この発明は、低コストで高精度な位置決めが実現できる位置決め装置を得ることを目的とする。
【００２２】
【課題を解決するための手段】
請求項１記載の発明に係る位置決め装置は、サーボモータ回転力を直線運動に変換して可動テーブルを直線運動させるＮＣ装置の位置決め装置において、サーボモータの回転位置検出器からの出力の時間変化から該サーボモータの回転速度方向切り換わりを判別する判別手段と、回転速度方向切り換わり時の回転検出位置からの変位量に対して補正量が比例増加し、変位量が大きくなるにつれて、該比例領域の傾きを数段階に減少させる比例領域および変位量がある値以上となったとき該補正値が一定となり、正方向駆動における該一定補正値と負方向駆動における該一定補正値の差が、正方向駆動から負方向駆動に切り換わったときと、負方向駆動から正方向駆動に切り換わったときとで同一である飽和領域よりなるロストモーション補正モデルからロストモーション補正量を算出する算出手段と、算出した補正量をＮＣ装置により生成される位置指令値に加算してロストモーション補正を行う加算手段とを備え、算出手段における比例領域の傾きを、１サンプル時間前のロストモーション補正値に応じて、あらかじめ設定しておいた複数の比例領域の傾きの中から１つを選択するようにするとともに、駆動方向の切り換えを繰り返した場合でもロストモーション補正値の変化量の最大値が速度方向の正負で同一となる構成にしたものである。
【００２５】
請求項２記載の発明に係る位置決め装置は、サーボモータ回転力を直線運動に変換して可動テーブルを直線運動させるＮＣ装置の位置決め装置において、モータの電流指令値あるいは電流検出値とモータの回転角速度からモータ軸に加わる外乱を推定する外乱推定器と、この推定した外乱推定値、あるいは該外乱推定値を入力として外力推定器が出力する外力推定値と、回転位置検出器からの回転検出位置と、あらかじめ測定しておいた回転検出位置ごとの外乱推定値、あるいは外力推定値を入力として飽和領域におけるロストモーション補正量を算出するロストモーション算出器と、サーボモータの回転速度方向切り換わり、あるいは外乱推定値の符号の切り換わりを判別する判別手段と、回転速度方向の切り換わり時の回転検出位置からの変位量に対して補正量が比例増加し、変位量が大きくなるにつれて、該比例領域の傾きを数段階に減少させる比例領域および変位量がある値以上となったとき該補正量が一定となり、正方向駆動における該一定補正値と負方向駆動における該一定補正値の差が、正方向駆動から負方向駆動に切り換わったときと、負方向駆動から正方向駆動に切り換わったときとで同一である飽和領域よりなるロストモーション補正モデルからロストモーション補正量を算出する算出手段と、この算出した補正量をＮＣ装置により生成される位置指令値に加算してロストモーション補正を行う加算手段とを備え、ロストモーション算出器のロストモーション補正量の算出を、記憶テーブルに記憶しておいたテーブル位置ごとの外力推定値の基準値と外力推定器から読み込んだ外力推定値との差から求めた駆動系に加わる摩擦力の変化量、外力の変化量、および駆動系のばね定数とに基づいて算出するものである。
【００２９】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１である位置決め装置を示す全体構成図であり、１はＡＣサーボモータ（サーボモータ）２の回転力を直線運動に変換して可動テーブル３を直線運動させるボールねじ、４はＡＣサーボモータ２の回転位置検出器、５は回転位置検出器４からの出力の時間変化からサーボモータ２の回転速度方向切り換わりを判別する判別手段、６は回転速度方向切り換わり時の回転検出位置からの変位量に対して補正量が比例増加し、変位量が大きくなるにつれて、該比例領域の傾きを数段階に減少させる比例領域および変位量がある値以上となったとき該補正値が一定となり、正方向駆動における該一定補正値と負方向駆動における該一定補正値の差が、正方向駆動から負方向駆動に切り換わったときと、負方向駆動から正方向駆動に切り換わったときとで同一である飽和領域よりなるローストモーション補正モデルを有し該ロストモーション補正モデルからロストモーション補正値を算出する算出手段、７は算出したロストモーション補正値を位置指令生成手段８から出力された位置指令値に加算して、モータ制御手段９のロストモーション補正を行う加算手段である。
【００３０】
図２はＸ−Ｙ駆動系を示す側面図、図３は図２のＡ−Ａ’線に沿う縦断面図である。このＸ−Ｙ駆動系は、テーブル４０、サドル４１、ベッド４２からなり、テーブル４０とサドル４１の間、サドル４１とベッド４２の間を直動玉軸受４６、４３で支えており、それぞれの間にボールねじ１を設けている。テーブル４０及びサドル４１はＡＣサーボモータ２の回転運動をボールねじ１によって直進運動に変換する。テーブル４０とサドル４１の相対運動でＸ軸、サドル４１とベッド４２の相対運動でＹ軸の位置が決まる。
テーブル４０にはワークを漬ける加工液を貯めるための加工槽が設けてあり、下部アーム４４を通すための穴があけてある。テーブル４０には加工液が漏れないようにシール板４５をテーブル４０に押し当てている。シール板４５とサドル４１はＸ軸方向に固定されているので、Ｘ軸方向駆動時にはテーブル４０とシール板４５の接触面で滑りと摩擦力が生じる。この摩擦により、Ｘ軸方向駆動時は直動玉軸受４６とボールねじ１の摩擦力のみのＹ軸方向駆動時よりも大きい摩擦力が生じる。
【００３１】
次に、この発明のロストモーション補正モデルについて説明する。位置決め装置の力学モデルを図４（ａ）、（ｂ）に示す。ＡＣサーボモータ２の並進系に換算した回転運動を直進運動に変換する機構系のトータルのばね定数をｋ１とし、直動玉軸受４６やボールねじ１などの機構要素からの摺動摩擦力ｆ１、ｆ２がばね定数ｋ２、ｋ３を介して位置決め系に作用する。以下、ばね定数はばねｋ１，ｋ２，ｋ３あるいはｋ１，ｋ２，ｋ３と、また、摩擦力ｆ１，ｆ２はｆ１，ｆ２と記載を簡略化するために、略称する場合がある。ばね定数ｋ１は、主にボールねじ１まわりの剛性である。また、ｋ２は、主に直動玉軸受４６まわりの剛性、ｋ３はシール板４５とテーブル４０間の剛性である。摺動摩擦力ｆ１、ｆ２は、速度方向と逆向きに働くほぼ一定の力である。ｋ２とｋ３は直列につながっており、ｋ２とｋ３の間には摩擦力ｆ１が作用しているので、ｋ２のばね力がｆ１に打ち勝つとｋ３が動き出す。
【００３２】
並進系に換算したＡＣサーボモータ２のロータ位置をＸｅ、テーブル４０の位置をＸｌ、ばねｋ２の変形量をＸｌ−Ｘｆ１、ばねｋ３の変形量をＸｆ１−Ｘｆ２として、駆動系変位量と摩擦力、ロストモーションの関係を説明する。
【００３３】
駆動系が遅い速度で駆動されており、慣性力が無視できるとき、ばねｋ１からＡＣサーボモータ２に作用する反力Ｆｄは次のようになる。
【数１】
0003902256.tif 000002
【００３４】
縦軸をＦd 、横軸ｘe にとり、上記の関係（１）〜（３）を図示すると、図５となる。速度方向が切り換わると、ばね定数ｋ1 ｋ2 ／（ｋ1 ＋ｋ2 ）に比例してＡＣサーボモータ２のモータ軸に加わる反力Ｆd が増加する。ばねｋ２に加わる力の大きさがｆ1 よりも大きくなると、ｆ1 の摩擦力で固着していたばねｋ3 が動き始め、ばね定数ｋ1 ｋ2 ｋ3 ／（ｋ1 ｋ2 ＋ｋ2 ｋ3 ＋ｋ3 ｋ1 ）に比例してＦd が増加する。Ｆd が増加して、その大きさがｆ1 ＋ｆ2 になると、Ｆd は一定となり、図５のようにヒステリシス曲線を描く。
【００３５】
次に、ロータ位置ｘe と相対変位ｘe −ｘ1 の関係を示す。
【数２】
0003902256.tif 000003
【００３６】
縦軸にｘe −ｘl 、横軸にｘe をとり、上記（４）から（５）を図示すると、図６となる。速度方向が切り換わると傾きｋ2 ／（ｋ1 ＋ｋ2 ）に比例して、駆動系の弾性変形量ｘe −ｘl が増加する。ばねｋ2 に加わる力の大きさがｆ1 よりも大きくなると、ｆ1 の摩擦力で固着していたばねｋ3 が動き始め、傾きｋ2 ｋ3 ／（ｋ1 ｋ2 ＋ｋ2 ｋ3 ＋ｋ3 ｋ1 ）に比例して、ｘe −ｘl が増加して、その大きさが（ｆ1 ＋ｆ2 ）／ｋ1 になると、ｘe −ｘl は一定となり、図６のようにヒステリシス曲線を描く。
上記（１）、（４）の領域を第１比例領域、（２）、（５）の領域を第２比例領域、（３）、（６）の領域を飽和領域と呼ぶことにする。
【００３７】
第１比例領域の傾きを変形すると、
（１／ｋ1 ）・１／（１／ｋ1 ＋１／ｋ2 ）
となる。
【００３８】
第２比例領域の傾きを変形すると、
（１／ｋ1）・１／（１／ｋ1＋１／ｋ2＋１／ｋ3）
であるから、
１／（１／ｋ1＋１／ｋ2）＞１／（１／ｋ1＋１／ｋ2＋１／ｋ3）
より、
ｋ2 ／（ｋ1＋ｋ2 ）＞ｋ2ｋ3／（ｋ1ｋ2＋ｋ2ｋ3＋ｋ3ｋ1）
の関係が成り立つ。上式は、第１比例領域から第２比例領域に遷移するとき、傾きが常に減少することを表している。
【００３９】
第１比例領域から第２比例領域へ遷移するロストモーション補正値をδ０、第２比例領域から飽和領域へ遷移するロストモーション補正値をδＬとすれば、図６のモデルを（ｆ1＋ｆ2）／ｋ1だけ正方向にシフトして、本ロストモーション補正に用いるロストモーション補正モデルが図７のように得られる。図中のＫ1、Ｋ2、δ０、δＬは図６のモデルに対して次式で関係づけられる。
Ｋ1＝ｋ2／（ｋ1＋ｋ2）
Ｋ2＝ｋ2ｋ3／（ｋ1ｋ2＋ｋ2ｋ3＋ｋ3ｋ1）
δ０＝２ｆ1（ｋ1＋ｋ2）／ｋ2
δＬ＝２（ｆ1＋ｆ2）／ｋ1
【００４０】
実際には、可動テーブル３の速度方向によりヒステリシス曲線の傾きが若干異なるため、位置決め装置から測定されたヒステリシス曲線から位置決め量とロストモーション量の関係を求めると、速度方向の正負で設定値が異なってしまうが、このように設定値が異なると、補正値が速度方向の切り換えでキャンセルされないため、位置決め誤差が増加するという問題点が生じる。
【００４１】
この発明のロストモーション補正モデルでは、速度方向の正負で補正量がキャンセルされるように構成しているので、補正値の累積による位置決め誤差の増加がなくなる。
次に、図４の力学モデルから決定されたロストモーション補正モデルによるロストモーション補正の動作について説明する。
駆動系の速度が切り換わると、速度方向反転位置からのロータの変位量の増加と共に、比例定数Ｋ1 でロストモーション補正値δは増加する。さらに、δがδ０に達すると、比例定数がＫ1 からＫ2 に切り換わる。そしてδがδＬに達すると、ロストモーション補正値は飽和して一定値となる。このロストモーション補正モデルから算出されるロストモーション補正値δは、ＮＣ装置で生成される位置指令値Ｘ* に加算され、ＡＣサーボモータ２に与えられる位置指令値Ｘ**は、
Ｘ**＝Ｘ* ＋δ
となる。
【００４２】
次に、この発明におけるロストモーション補正モデルのパラメータ設定方法について説明する。ロストモーション補正モデルのパラメータ設定のフローチャートを図８〜図１１に示す。
まず、レーザ測長器などの変位計測器によりロストモーションデータを測定する。位置指令値と位置決め誤差をＸ（ｋ）、ｄｅｌｔａ（ｋ）に保存する（ＳＴ７０１）。ただし、測定データ数をｎとすると、０＜ｋ＜ｎである。変数ｎにデータ数を代入し（ＳＴ７０２）、変数ｉに初期値１を代入する（ＳＴ７０３）。
【００４３】
次に、ロストモーション補正モデルにおける比例領域のばね定数を同定するために、データの変化率を算出する。ロストモーションデータは、ばらつきがあるため、数個のデータの変化率の平均をとる。本実施の形態では、１０個の変化率データの平均をとった。データの変化率の平均値を算出する部分のフローチャートを説明する。
【００４４】
初期値として、変数ｉに１、変数ｋｓｕｍに０、変数ｍに１を代入し（ＳＴ７０３〜ＳＴ７０５）、ｉ番目のデータを基準としたｉ＋１からｉ＋１０番目までのデータの変化率を次のようにして算出する。まず、次の計算を行う。
ｋｋ←（ｄｅｌｔａ（ｉ＋ｍ）−ｄｅｌｔａ（ｉ））
／（ｘ（ｉ＋ｍ）−Ｘ（ｉ））
ｋｓｕｍ←ｋｓｕｍ＋ｋｋ
ｍ←ｍ＋１
【００４５】
ここで、←は計算結果の代入を意味する。（ＳＴ７０６、ＳＴ７０７）。ｍ＞１０を満たさなければ、ＳＴ７０６にもどる。ｍ＞１０を満たせば、ｋ（ｉ）を次式により計算する（ＳＴ７０９）。
【数３】
0003902256.tif 000004
変数ｉに１を加える（ＳＴ７１０）。変数ｉがｎ−１０以下であれば、ＳＴ７０４にもどる。変数ｉがｎ−１０より大きければ、次のステップに進む（ＳＴ７１１）。変数ｉｉにｎ−９を代入する（ＳＴ７１２）。ｎ−９番目からｎ番目の変化率データには、ｎ−１０番目のデータの変化率を代入する（ＳＴ７１３〜ＳＴ７１５）。
【００４６】
第１番目の比例領域から第２番目の比例領域に遷移する領域を探索する。ｋ（ｉ）＜α（ここで、αは任意の値）を満たす最も小さいデータ番号を第１番目から第２番目の比例領域への遷移点とする（ＳＴ７１７〜ＳＴ７２０）。遷移点のデータ番号が変数ｎｕｍｂｅｒに代入されているので、第１番目の比例領域のばね定数は、次式で算出する（ＳＴ７２１）。
Ｌ１＝Ｘ（ｎｕｍｂｅｒ）
ｄｅｌｔａ１＝ｄｅｌｔａ（ｎｕｍｂｅｒ）
ｋ1 ＝ｄｅｌｔａ１／Ｌ１
【００４７】
ここで、摩擦力の方向が切り換わった点から第１番目から第２番目の比例領域への遷移点までのＸ方向への移動距離をＬ１、そのときのロストモーション量をｄｅｌｔａ１とする。Ｌ１、ｄｅｌｔａ１は、それぞれ図７のロストモーション補正モデルのＬ１、δ０に対応する。
【００４８】
次に、第２番目の比例領域から飽和領域への遷移点を算出する。
変数Ｊｓｕｍに０を代入する（ＳＴ７２２）。変数ｊに１を代入する（ＳＴ７２３）。データ番号ｊのデータの二乗誤差Ｊ１ｓｕｍを次式で算出する（ＳＴ７２４）。
Ｊ１ｓｕｍ←Ｊ１ｓｕｍ＋［ｄｅｌｔａ（ｊ）−ｄｅｌｔａ１×Ｘ（ｊ）／Ｌ１］2
変数ｊに１を加える（ＳＴ７２５）。ｊの値がｎｕｍｂｅｒの値以下であればＳＴ７２４にもどる。ｊの値がｎｕｍｂｅｒの値よりも大きければ、次のステップに進む（ＳＴ７２６）。
【００４９】
データ番号ｎｕｍｂｅｒから数えてｊｊ番目のデータ（ｊｊ＝１〜ｎ）を順に第２番目の比例領域から飽和領域への遷移点と仮定して、二乗誤差を算出する（ＳＴ７２７〜ＳＴ７３５）。
まず、変数ＪＪｍｉｎに１００００を代入する（ＳＴ７２７）。変数ｊｊにｎｕｍｂｅｒ＋１を代入する（ＳＴ７２８）。変数Ｊ２ｓｕｍ、Ｊ３ｓｕｍに０を代入する（ＳＴ７２９）。変数Ｌ２にＸ（ｊｊ）を代入する（ＳＴ７３０）。次に、ｄｅｌｔａＬにｄｅｌｔａ（ｊｊ）を代入する（ＳＴ７３１）。変数ｊｊｊにｎｕｍｂｅｒ＋１を代入する（ＳＴ７３２）。
【００５０】
摩擦力の方向が切り換わった点からこの遷移点までのＸ方向への移動距離をＬ２、そのときのロストモーション量をｄｅｌｔａＬとする。Ｌ２、ｄｅｌｔａＬはそれぞれ図７のロストモーション補正モデルのＬ２、δＬに対応する。
Ｊ２ｓｕｍを次式で計算する（ＳＴ７３３）。
Ｊ２ｓｕｍ←Ｊ２ｓｕｍ＋［ｄｅｌｔａ（ｊｊｊ）−（ｄｅｌｔａＬ−ｄｅｌｔａ１）／（Ｌ２−Ｌ１）×｛Ｘ（Ｘｊｊｊ）−Ｌ１｝−ｄｅｌｔａ１］2
ここで、
Ｌ１＝Ｘ（ｎｕｍｂｅｒ）
Ｌ２＝Ｘ（ｊｊ）
ｄｅｌｔａ１＝ｄｅｌｔａ（ｎｕｍｂｅｒ）
ｄｅｌｔａＬ＝ｄｅｌｔａ（ｊｊ）
【００５１】
次に、変数ｊｊｊに１を加える（ＳＴ７３４）。ｊｊｊ＜＝ｊｊのとき、ステップＳＴ７２９もどる。ｊｊｊ＞ｊｊを満たせば次のステップへ進む（ＳＴ７３５）。
データ番号ｊｊ＋１からデータ番号ｎのデータまでの二乗誤差を算出する（ＳＴ７３６〜ＳＴ７３９）。
【００５２】
変数ｊｊｊｊにｊｊ＋１を代入する（ＳＴ７３６）。次式によりＪ３ｓｕｍを算出する（ＳＴ７３７）。
Ｊ３ｓｕｍ←Ｊ３ｓｕｍ＋［ｄｅｌｔａ（ｊｊｊｊ）−ｄｅｌｔａＬ］2
変数ｊｊｊｊに１をくわえる（ＳＴ７３８）。ｊｊｊｊ＜＝ｎのときＳＴ７３７にもどる。
【００５３】
ｊｊｊｊ＞ｎを満たせば、次のステップに進む（ＳＴ７３９）。データ番号ｊｊを第２遷移領域から飽和領域への遷移点と仮定したときの二乗誤差ＪＪｓｕｍは次式で求める（ＳＴ７４０）。
ＪＪｓｕｍ←Ｊ１ｓｕｍ＋Ｊ２ｓｕｍ＋Ｊ３ｓｕｍ
ｊｊ＝ｎｕｍｂｅｒ＋１〜ｎについてＪＪｓｕｍを計算し、ｍｉｎ［ｊｊｓｕｍ］となるデータ番号ｊｊをさがし、ｎｕｍ＿ｍｉｎに代入する（ＳＴ７４１〜ＳＴ７４４）。
【００５４】
ＳＴ７４０で算出されるＪＪｓｕｍとＪＪｍｉｎを比較し（ＳＴ７４１）、ＪＪｓｕｍがＪＪｍｉｎよりも小さければＪＪｓｕｍをＪＪｍｉｎに代入し、ｎｕｍ＿ｍｉｎにそのときのｊｊを代入する（ＳＴ７４２）。そして、ｊｊに１を加算し（ＳＴ７４３）、次のステップへ進む。ＳＴ７４１でＪＪｓｕｍがＪＪｍｉｎよりも大きければＳＴ７４３へ進む。
ｊｊ＜＝ｎのとき、ＳＴ７２９にもどる。ｊｊ＞ｎを満たせば、次のステップに進む（ＳＴ７４４）。
【００５５】
Ｌ２にＸ（ｎｕｍ＿ｍｉｎ）を代入する（ＳＴ７４５）。ｄｅｌｔａＬにｄｅｌｔａ（ｎｕｍ＿ｍｉｎ）を代入する（ＳＴ７４６）。
ロストモーション補正モデルの設定値を算出し、計算結果を出力する（ＳＴ７４７）。
Ｋ1＝−ｄｅｌｔａ１／Ｌ１
Ｋ2＝−［ｄｅｌｔａＬ−ｄｅｌｔａ１］／［Ｌ２−Ｌ１］
δ０＝−ｄｅｌｔａ１
δＬ＝−ｄｅｌｔａＬ
【００５６】
図１２は、ロストモーション測定値と各測定値の変化率と図８〜図１１記載のプログラムを用いて設定したロストモーション補正モデルから算出した補正値を示す。
【００５７】
次に、この発明の効果を確認するために用いた真円度測定器について説明する。真円度測定器の構成を図１３について説明する。真円度測定器はＺ軸４６にアダプタ４７を介して２次元プローブ４８を取り付ける。取り付け用金板４９とフランジ５０を介してテーブル４０上にマスタリング５１を取り付け、２次元プローブ４８の変位に比例した出力信号をＸ−Ｙレコーダ５２で処理する。
【００５８】
次に、真円度測定器による真円精度測定方法について説明する。プローブ４８先端をマスタリング５１に接触させ、マスタリング５１に沿って円運動させる。このとき、あらかじめ半径方向に変位を与えられたプローブ４８は円運動を行い、このときのプローブ４８の動きを２次元信号として検出し、１０００倍に拡大してＸ−Ｙレコーダ５２で記録する。このとき、真円からのずれ量が位置決め誤差である。
【００５９】
図１４は上記のロストモーション補正モデルを示す図で、このロストモーション補正モデルは速度方向反転位置からの変位に対して２段階に比例して増加しており、縦軸をロストモーション補正値δ、横軸をモータ速度方向反転位置からの変位Ｘe ＝Ｘecとする。
【００６０】
正方向駆動時には、図１４（ａ）に示すように、Ｋ1（Ｘｅ−Ｘｅｃ）がδ0より小さい場合は、傾きＫ1に比例してδが増加する。Ｋ1（Ｘｅ−Ｘｅｃ）がδ0を越えると、傾きＫ2に比例してδが増加する。さらに、Ｋ2（Ｘｅ−Ｘｅｃ−δ0／Ｋ1）＋δ0がδ2を越えると、δはδ2で一定となる。
【００６１】
負方向駆動時には、図１４（ｂ）に示すように、−Ｋ3（Ｘｅ−Ｘｅｃ）がδ2−δ1より小さい場合は、傾きＫ3に比例してδが減少する。−Ｋ3（Ｘｅ−Ｘｅｃ）がδ2−δ1を越えると、傾きＫ4に比例してδが減少する。さらに、−Ｋ4（Ｘｅ−Ｘｅｃ＋（δ2−δ1）／Ｋ3）がδ1を越えると、δは一定となる。
【００６２】
なお、図示のロストモーション補正モデルは比例領域を２段としたが、２段以上の複数段の比例領域で構成してもよい。
【００６３】
次に、ＮＣ装置またはサーボアンプのプロセッサが、図１４のロストモーション補正モデルによるロストモーション補正を実施する動作を図１５のフローチャートについて説明する。まず、回転位置検出器４からの回転検出位置｛Ｘe ｝n を読み込む（ＳＴ００１）。しかる後、｛Ｘe ｝n から１サンプル時間前の回転位置検出器４からの検出位置｛Ｘe ｝n-1 を差し引き、｛ΔＸ｝n に代入する（ＳＴ００２）。
【００６４】
次に、現在の速度方向を判別し（ＳＴ００３）、速度方向が正であれば｛δ｝n-1 −δ0 ＞０であるかどうかを判別する（ＳＴ００４）。｛δ｝n-1 −δ0 ＞０であれば、k にk2を代入する（ＳＴ００５）。｛δ｝n-1 −δ0 ＜＝０であれば、k にk1を代入する（ＳＴ００６）。
【００６５】
上記ＳＴ００３の判別結果、速度方向が負であれば、［｛δ｝n-1 −（δ2 −δ1 ）］＞０であるかどうかを判別する（ＳＴ００７）。［｛δ｝n-1 −（δ2 −δ1 ）］＞０であれば、ＫにＫ３を代入する（ＳＴ００８）。［｛δ｝n-1 −（δ2 −δ1 ）］＜＝０であれば、ＫにＫ４を代入する（ＳＴ００９）。
【００６６】
次いで、Ｋ・｛ΔＸ｝n ＋｛δ｝n-1 を｛δ｝n に代入する（ＳＴ０１０）。しかる後、｛δ｝n ＜０であるかどうかを判別する（ＳＴ０１１）。｛δ｝n ＜０であれば、｛δ｝n に０を代入する（ＳＴ０１２）。また、｛δ｝n ＞０であれば、｛δ｝n −δ2 ＞０であるかどうかを判別する（ＳＴ０１３）。｛δ｝n −δ2 ＞０であれば｛δ｝n にδ2 を代入する（ＳＴ０１４）。それ以外は、次ステップに進む。｛δ｝n を位置指令値に加算する（ＳＴ０１５）。
なお、ＳＴ００３の速度方向判別は、外乱推定器の出力の符号によってもよい。
【００６７】
図１６はロストモーションの実測値とロストモーション補正モデルの時間波形を示すものである。
図１６（ａ）は、あらかじめ可動テーブルを負方向に動かしたのち、停止させた。その後、正方向に一定速度で可動テーブルを動かし、回転検出器４の回転検出位置から可動テーブルに設けた位置検出器の検出位置を差し引いて求めた駆動系のロストモーションの時間波形である。
【００６８】
この測定は、ロストモーションを実測することが目的であるので、速度（摩擦力）方向が反転するようにＡＣサーボモータを駆動すればよい。始動直後、約十数μｍの領域（Ａ）でロストモーションが急峻に増加する。その後、十数μｍの領域で、ロストモーションの増加の傾きが緩やかになり、ロストモーションが約１．３μｍでほぼ一定となる。速度方向を反転させると、速度方向反転直後、十数μｍの領域ではロストモーションが急峻に減少し、その後数十μｍの領域では、ロストモーションは緩やかに減少し、やがて飽和する。
【００６９】
図中Ａの領域は第１比例領域、Ａの領域の終りから、Ｂの領域の終りまでの領域は第２比例領域に対応する。Ｂの領域の終りから速度方向反転位置までは、飽和領域に対応する。図１６（ｂ）は図７のロストモーション補正モデルから算出したロストモーション補正値の時間波形である。ロストモーションの実測では、速度方向の正負で、ロストモーションの変化量の最大値が異なっているが、図１６（ｂ）に示す本実施の形態のロストモーション補正モデルは、ロストモーション補正値の変化量の最大値を速度方向の正負で同一にしたことにより、補正値の累積による位置誤差の増加を防止している。
【００７０】
図１６（ｂ）は図８〜図１１の計算アルゴリズムを用いて算出した設定値を用いて、図７のロストモーション補正モデルからロストモーション補正値を算出した結果である。図１６（ｂ）の縦軸、横軸は図１６（ａ）に直接対応し、図１６（ｂ）に用いたロストモーション補正モデルは、次のように設定している。
Ｌ１＝１３μｍ、Ｌ２＝７３μｍ、δ０＝０．４μｍ、δ１＝０．９μｍ、δＬ＝１．３μｍ
Ｋ1＝０．３μｍ／μｍ、Ｋ2＝０．０１９μｍ／μｍ
図１６は一定速度で駆動したときのロストモーションとロストモーション補正値であり、時間×速度が距離であることから、図１６中のＡ、Ｂの領域が、Ｌ１、Ｌ２に直接対応する。
【００７１】
図１７は本実施の形態１の位置決め装置に円軌跡を描かせ、真円度測定器で測定した結果を示すもので、直径４０ｍｍの円を描かせたときの位置決め誤差を拡大して示している。図１７（ａ）は、ロストモーション補正なし、図１７（ｂ）は従来の一定の補正値でロストモーション補正を行った場合、図１７（ｃ）は２段の比例領域を有するロストモーション補正を行った場合である。
【００７２】
本実施の形態１の位置決め装置では、テーブル４０にシール板４５を押しつけているため、Ｙ軸駆動系よりもＸ軸駆動時の摩擦力が大きいため、図１７（ａ）のＸ軸方向の速度方向切り換え時に大きな位置決め誤差が生じている。図１７（ａ）を一定のロストモーション補正値で補正すると、図１７（ｂ）に示すように速度方向切り換え時に軌跡に段差を生じるが、図１７（ｃ）では速度方向切り換え時に段差を生じることなく滑らかな円軌跡を描いており、本実施の形態１におけるロストモーション補正モデルが有効であることが確認できる。
【００７３】
実施の形態２．
図１８はこの発明の実施の形態２を示す位置決め装置の構成図であり、全体の構成は前記図１に示す実施の形態１と同じであるが、本実施の形態２は速度方向判別手段として、ＮＣ装置で生成される位置指令値を用いることにより、回転位置検出器からの出力を用いることなく、ＮＣ装置内だけでロストモーション補正ができ、前記実施の形態１より構成が簡単、速度判別誤差もなくなる。
【００７４】
実施の形態３．
図１９はこの発明の実施の形態３を示す位置決め装置の構成図であり、前記図１に記載の構成と同一部分には同一符号を付して重複説明を省略する。図１９において、１０はＡＣサーボモータ２への電流指令値と該サーボモータの回転角速度からモータ軸に加わる外乱を推定する外乱推定器である。前記図１に示す実施の形態１では、回転位置検出器の精度が粗いとき、もしくは駆動速度に対してサンプリング周期が早いときに、実際には動いているのに、誤って速度零と判別され、ロストモーション算出器が正常に動作しない場合がある。しかし、本実施の形態３は外乱推定器を用い、外乱推定値の符号の切り換わりを判別手段５ａで判別することにより、ロストモーション算出器が正常に動作する。
【００７５】
実施の形態４．
図２０はこの発明の実施の形態４を示す構成図であり、駆動系の可動テーブルに加わる摩擦力の経時変化、あるいは経年変化を推定し、ロストモーション補正量を自動的に調整する位置決め装置の全体系のブロック図である。図２０において、１１は位置ループゲインＫp を乗算する乗算器、１２は速度ループの比例積分補償器、１３はトルク定数Ｋt を乗算する乗算器、１４はモータ軸トルクを慣性力Ｊm で除して速度に変換する積分器、１５は回転角速度を回転位置に変換する積分器である。１６はモータの回転運動と可動部の直進運動とを関係づける換算係数Ｌ／２πを得る処理器である。１７はボールねじの弾性変形を伝達力に変換するばね定数ｋb を乗算する乗算器、１８はボールねじからの伝達力を可動テーブル質量ｍl で除して速度に変換する積分器である。１９は上記符号１１〜１８の各要素により構成された従来通りのサーボ系である。
【００７６】
２０はモータの電流指令値ｉ＊とモータ回転角速度（ｄＸe ／ｄｔ）からモータ軸に加わる外乱Ｔd を推定する外乱推定器、２１は外乱推定器２０におけるトルク定数の公称値Ｋtnを乗算する乗算器、２２はロータ速度を入力としてモータのロータ慣性のノミナル値Ｊn と外乱推定器２０の周波数特性を決めるオブザーバゲインｇの積を乗算する乗算器、２３はカットオフ周波数ｇ／２πＨｚの１次のローパスフィルターｇ／（ｓ＋ｇ）を得る処理器である。
【００７７】
２４は外乱推定器２０から出力された外乱推定値Ｔ'dとモータ回転位置検出器４の出力Ｘe から摩擦力などの外力Ｔl を推定する外力推定器、２５は外力推定器２４からの出力である外力推定値Ｔl'とモータの回転検出位置Ｘe を入力としてロストモーション補正値δを算出するロストモーション算出器である。２６はロストモーション算出器２５から出力されたロストモーション補正値の最大値δ2 を入力としてロストモーション補正ゲインεを乗算する乗算器である。２７はモータ回転検出位置Ｘe と乗算器２６の出力であるロストモーション補正値の最大値δ2 から位置指令値（Ｘe ）* に加算するロストモーション補正量δを算出するロストモーション補正手段である。２８は外乱推定器２０の出力である外乱推定値Ｔ'dを入力としてＫd 倍してサーボアンプの電流指令値ｉ* に外乱相殺制御電流指令値を出力する外乱相殺制御器としての乗算器である。２９は外乱推定器２０から出力された外乱推定値Ｔ'dを入力として、駆動系に異常負荷が生じていないかどうかを判別する駆動系異常検出器である。
【００７８】
次に図２０の実施の形態４の動作について説明する。サーボ系１９はＮＣ装置から送られる位置指令Ｘ* から外サーボ系内で検出した回転検出位置Ｘe を差し引き、これに位置フィードバックゲインＫp を掛けて速度指令（ｄＸe ／ｄｔ）* を生成し、この速度指令（ｄＸe ／ｄｔ）* から回転角速度（ｄＸe ／ｄｔ）e を差し引き、これに速度フィードバックゲインを掛けて電流指令値ｉ* を生成し、この電流指令値ｉ* にトルク定数Ｋt を掛けてサーボモータ４へのトルク指令Ｔm*を生成する基本動作は従来どおりである。このとき、サーボ系１９はサーボアンプ内のデジタルシグナルプロセッサ上にデジタル処理系として実装される。
【００７９】
また、電流指令値ｉ* と回転角速度（ｄＸe ／ｄｔ）から外乱推定値Ｔ’d が算出され、この算出された外乱推定値Ｔ’d と回転検出位置Ｘe から可動テーブルに加わる外力推定値Ｔl ’が算出される。さらに、外力推定器２４の出力である外力推定値Ｔl ’と回転検出位置Ｘe からロストモーション補正値の最大値δ2 がロストモーション算出器２５で算出され、これを乗算器２６でε倍してロストモーション補正手段２７に出力される。このロストモーション補正手段２７は乗算器２６からの出力と回転検出位置Ｘe から位置指令値Ｘ* に加算されるロストモーション補正量δを算出し、位置指令値Ｘ* にロストモーション補正値δを加算する。
【００８０】
図２１は図２０中の外乱オブザーバに双一次変換ｓ＝２／Ｔ・（１−Ｚ-1）／（１＋Ｚ-1）を代入し、離散化したブロック図を示す。図２１において、３０はＫＴＮＮと｛ｉ*｝nの積を算出する乗算器、３１はＧＪＮＮと｛ｖ｝nの積を算出する乗算器、３２は｛Ｘ０｝nの１サンプル時間前の値を｛Ｘ１｝nに出力する変換器、３３は｛Ｘ１｝n と２-b1との積｛Ｘ１ＴＭ｝nを算出出力する乗算器である。３４は｛Ｘ１ＴＭ｝nとＤＩＢの積を算出する乗算器である。３５は｛Ｘ１｝nと｛Ｘ０｝nの和と２-b2との積を算出する乗算器である。３６はＧＪＮ０と｛ｖ｝nとの積を算出する乗算器であり、３７は３５と３６の出力の差を外乱推定値｛Ｔ'd｝nに換算する乗算器である。なお、図２１中のＫＴＮＮ、ＧＪＮＮ、ＤＩＢ、ＧＪＮ０などは外乱推定のために用いる任意の数値である。
【００８１】
次に、上記図２１の離散系のブロック図を、サーボアンプのプロセッサ上で実施するときの、プロセッサの動作を図２２のフローチャートについて説明する。図２２において、電流指令値｛ｉ* ｝n と位置検出器の差分から得られる速度値｛Ｖ｝n を読み込む（ＳＴ１０１）。ＫＴＮＮ・｛ｉ* ｝n ＋ＧＪＮＮ・｛Ｖ｝n を｛ＥＤ｝n に代入する（ＳＴ１０２）。
【００８２】
次いで、｛Ｘ１｝n ・２-b1 を｛Ｘ１ＴＭ｝n に代入し（ＳＴ１０３）、｛Ｘ１ＴＭ｝n ・Ｄ１Ｂ＋｛ＥＤ｝n を｛Ｘ０｝n に代入する（ＳＴ１０４）。また、［［｛Ｘ０｝n ＋｛Ｘ１｝n ］・２-b2 −ＧＪＮ０・｛Ｖ｝n ］・ａを｛Ｔ'd｝n に代入し（ＳＴ１０５）、｛Ｘ０｝n を｛Ｘ１｝n に代入する（ＳＴ１０６）。しかる後｛Ｔ'd｝n を外力推定器２４および駆動系異常検出器２９へ出力する（ＳＴ１０７）。
【００８３】
図２３は図２１の外乱オブザーバで、Ｊn を０として慣性力を外乱とみなしたときの、トルク指令値Ｋtn・｛ｉ* ｝n から外乱推定値｛Ｔ'd｝n までの周波数伝達関数を示すもので、横軸は折れ点周波数で無次元化している。図２３（ａ）の縦軸はゲイン、同図（ｂ）の縦軸は位相角を示しており、実線Ａは測定特性、点線Ｂは設計特性を示している。図から明らかなように、無次元周波数１以下でゲインはほぼ０ｄＢとなり、無次元周波数１０で−２０ｄＢ／ｄｅｃとなるローパスフィルタの特性を有する。
【００８４】
図２４は外乱推定値Ｔ'dに重畳するトルクリップルおよび駆動系の摩擦力を補償し、駆動系に加わる外力Ｔl の推定説明するフローチャートである。図２４において、Ｔ0 は駆動系の摩擦力、Ｔn は磁極位置θe に依存したｎ次のトルクリップルであり、外乱推定器２０の出力である外乱推定値Ｔ'dをＦＦＴ解析することにより求めることができる。
【００８５】
このフローチャートにしたがって、駆動系に加わる外力Ｔl の推定を説明する。まず外乱推定値Ｔ’d 、磁極位置θe を読み込む（ＳＴ３０１）。Ｔ0 ＋ΣＴn ｓｉｎｎθをＴ’dcに代入する（ＳＴ３０２）。Ｔ’d −Ｔ’dcをＴl ’に代入する（ＳＴ３０３）。Ｔl ’をロストモーション算出器２５に出力する（ＳＴ３０４）。
【００８６】
図２５は外乱推定器２０の出力である外乱推定値Ｔ'dを外力推定器２４に通し、実際にモータ軸に加えた負荷トルクと、それを外乱推定器２０および外力推定器２４で推定した結果をまとめて示すもので、破線Ｃは理想値を示すが、２台のモータＭ１、Ｍ２で確認したが、外力推定値Ｔl'はこの直線上に乗っており、外力推定器２４により駆動系に加わる外力がよく推定できており、本方式が有効であることが確認できる。
【００８７】
図２６はロストモーション算出器２５の構成を示すブロック図である。図２６において、Ｔl0' はテーブル位置ごとの外力推定値Ｔl'の基準値であり、記憶テーブル３８に記憶されている。ｋb は乗算器３９で用いられる駆動系のばね定数であり、駆動系の速度ループ周波数伝達特性または位置ループ周波数伝達特性や駆動系に力を加えたときの弾性変形量から求められる。δ2 は実施の形態１のロストモーション補正モデルの上限値である。
【００８８】
図２７は上記図２６のロストモーション算出器２５をＮＣ装置上のプロセッサに動作させたときのフローチャートを示すものである。まず、Ｔl'、Ｘe を読み込む（ＳＴ４０１）。次いで、Ｘe の位置からＴl0' をメモリーから読み出す（ＳＴ４０２）。１／ｋb ・（Ｔl'−Ｔl0' ）・εをδ2 に代入する（ＳＴ４０３）。
【００８９】
実施の形態５．
実施の形態４ではモータ軸に加わる摩擦力を推定するために外乱推定器２０を設けたが、本実施の形態５はこの外乱推定器２０の出力をＫd 倍して電流指令値ｉ* にフィードバックし、モータ軸に加わる外乱トルクを相殺する外乱相殺制御機能をサーボアンプ上に構成する。このとき、速度ループ補償器は、従来の比例積分補償器を用いているが、外乱相殺制御器の付加により、比例補償器とすることができる。図２８は本実施の形態５を示す構成図であり、実施の形態４に示す従来通りのサーボ系１９と前記外乱推定器２０と該外乱推定器の出力である外乱推定値Ｔ'dを入力としてＫd 倍してサーボアンプの電流指令値ｉ* に外乱相殺制御電流指令値を出力する外乱相殺制御器としての乗算器２８により構成されており、それらの構成は実施の形態４に示すとおりである。なお本実施の形態５はサーボモータ回転力を直線運動に変換して可動テーブルを直線運動させるＮＣ装置の位置決め装置に適用したものである。
【００９０】
次に図２８に示す本実施の形態５の動作について説明する。サーボ系１９はＮＣ装置から送られる位置指令値Ｘ* から外サーボ系内で検出した回転検出位置Ｘe を差し引き、これに位置フィードバックゲインＫp を掛けて速度指令（ｄＸe ／ｄｔ）* を生成し、この速度指令（ｄＸe ／ｄｔ）* から回転角速度（ｄＸe ／ｄｔ）e を差し引き、これに速度フィードバックゲインを掛けて電流指定ｉ* を生成し、この電流指令値ｉ* にトルク定数Ｋt を掛けてサーボモータ４へのトルク指令Ｔｍ* を生成する基本動作は従来通りである。
【００９１】
また、電流指令値ｉ* と回転角速度（ｄＸe ／ｄｔ）から外乱推定値Ｔ'dが算出され、この算出されて外乱推定値Ｔ'dを乗算器２８によりＫd 倍して外乱相殺制御電流指令値を電流指令値ｉ* に加算する。
【００９２】
図２９は、位置指令値からサーボモータにとりつけられた回転位置検出器までの位置ループ制御系の周波数特性を示す。図２９（ａ）は、従来の制御系の速度ループ補償器を比例補償器とした場合である。図２９（ｂ）は、従来の制御系の速度ループ補償器を比例積分補償器とし、積分補償器の交差周波数を速度ループの制御帯域幅の４分の１とした場合である。図２９（ｃ）は、従来の制御系の速度ループ補償器を比例積分補償器とし、積分補償器の交差周波数を速度ループの制御帯域幅の２分の１とした場合である。図２９（ｄ）は、外乱相殺制御の場合である。
【００９３】
速度ループ補償器として比例補償器を用いた場合には、摩擦力により低い周波数でゲインが０ｄＢとはならず、位置決めを行った場合には定常偏差が生じる。速度ループ補償器として比例積分補償器を用いた場合には、低い周波数でゲインが０ｄＢとなる。積分補償器の交差周波数を大きくとることにより、位置決め制御時の速応性を高めることができるが、積分補償器の交差周波数を速度ループの帯域に近づけると、図２９（ｃ）のようにゲインが０ｄＢより大きくなり、状態は不安定な方向に進む。図２９（ｄ）は速度ループ補償器を比例補償器とし、外乱推定器の推定帯域幅を速度ループの制御帯域幅の１．７倍とした場合である。外乱推定器の推定帯域を速度ループの帯域幅より大きくしてもゲインは０ｄＢ以下であり、また、低い周波数においてもゲインは０ｄＢとなっている。
【００９４】
なお、外乱推定器の推定帯域は、速度ループの制御帯域幅の０．２倍から５倍の間で速度ループの制御帯域幅よりも大きくとることが適切である。この０．２倍から５倍の範囲をはずれるとループ系の状態が不安定となる。
【００９５】
図３０（ａ）は、図２９（ｂ）と同じ制御器、図３０（ｂ）は図２９（ｄ）と同じ制御器を用いて、Ｆ＝１０００ｍｍ／ｍｉｎの速度で円軌跡を描かせたときの、回転検出器の出力をＸ−Ｙの２軸平面上に描いたものである。外乱推定器の帯域幅を速度ループの１．７倍と大きくとっているので、象限切り換え時の突起が従来の１／３以下にすることができていることがわかる。
【００９６】
なお、本実施の形態５においては、外乱推定器２０の入力として電流指令値を用いたが、電流検出値を用いても同等以上の性能が得られる。また、本実施の形態５で用いた外乱推定器は、回転位置検出器の出力の微分値である回転角速度を用いた一次の外乱推定器としたが、回転位置検出器の出力である回転位置を入力とする二次の外乱推定器としても良い。
【００９７】
実施の形態６．
前記実施の形態５において、位置決め装置のモータ軸に加わる外力を検出するために、外力推定器２４を用いたが、この外力推定器２４をボールねじ駆動系に適用して、切りくずなどがボールねじ溝などに入り、駆動トルクが増加するなどの異常を検出する駆動系異常検出器として用いることができる。
【００９８】
実施の形態７．
図３１は外力推定器２４からの外力推定値Ｔl'を入力とする駆動系異常検出器２９の動作を説明するフローチャートである。まず、外力推定器２４の出力である外力推定値Ｔl'を読み込む（ＳＴ５０１）。この外力推定値Ｔl'が、外乱推定値の許容値の下限Ｔlow 以上かどうかを判別する（ＳＴ５０２）。許容値の下限Ｔlow 以上であれば、ＳＴ５０３に移行し、許容値の下限Ｔlow 以下であれば、ＳＴ５０４に移行する。また、外力推定値Ｔl'が許容値の上限Ｔhigh以下であればＳＴ５０１へ移行し、外力推定値Ｔl'が許容値の上限Ｔhigh以上であれば、ＳＴ５０４に進み、ＳＴ５０４でＮＣ装置のモニタに異常を知らせる表示をする。
【００９９】
【発明の効果】
以上のように、請求項１記載の発明によれば、サーボモータの回転速度方向切り換わり時の回転検出位置からの変位量に対して補正量が比例増加する２段の比例領域および変位量がある値となったとき、該補正量が一定値となる飽和領域を有するロストモーション補正モデルからロストモーション補正量を算出し、この算出した補正量をＮＣ装置から生成される位置指令値に加算してロストモーション補正を行うように構成したので、速度方向切り換え位置からの変位に対して緩やかに生じるロストモーションに対しても、ロストモーション補正モデルの設定値を調整することで、速度方向切り換え時の軌跡に段差を生じることなく、滑らかで高精度な位置決めが実現できる。この結果、駆動系に生じる位置決め誤差は指令値で補正できるので、ボールねじの剛性を低くしても補正で修正できることから、ボールねじ径を細くすることができるので、原価低減の効果がある。
【０１００】
また、従来高精度な位置決め精度を得るために機械系可動部と回転機側に位置検出器を取り付けるクローズドループ方式を採用していたが、ロストモーション補正を用いることにより、機械系可動部の検出器が無くとも回転機側の位置検出器だけで高精度な位置決めを実現できるので、機械系可動部の位置検出器を減らすことができ、低コストで高性能化がはかれる効果がある。
【０１０１】
また、この発明におけるロストモーション補正モデルは、例えば２段の比例領域の場合、７個以下のパラメータからなる簡明なものであり、対象となる駆動系の駆動方式が同一であればロストモーション補正モデルは同一でよい。そのため、補正アルゴリズムの簡略化、およびプログラムの統一を図ることができ、製品量産においてモデル設定作業の効率化および機種の統合によって原価低減を図ることができる効果がある。
【０１０２】
また、この発明は、ロストモーション補正モデルの飽和領域において、正方向駆動における一定補正値と負方向駆動における一定値補正値の差が、正方向駆動から負方向駆動に切り換わったときと負方向駆動から正方向駆動に切り換わったときとで同一であり、駆動方向の切り換えが積み重なる場合でも絶対位置のドリフトが生じないため、長時間の連続駆動において高い位置精度を保つことができる効果がある。
【０１０４】
この発明によれば、外乱推定器で推定した外乱推定値の符号の切り換わり時の位置からの変位量に対して補正量が比例増加し、変位量が大きくなるにつれて、該比例領域の傾きを数段階に減少させる比例領域および変位量がある値となったとき該補正量が一定となり、正方向駆動における該一定補正値と負方向駆動における該一定補正値の差が、正方向駆動から負方向駆動に切り換わったときと、負方向駆動から正方向駆動に切り換わったときとで同一である飽和領域を有するロストモーション補正モデルからロストモーション補正値を算出し、この算出した補正値をＮＣ装置から生成される位置指令値に加算してロストモーション補正を行うように構成したので、請求項１記載の発明と同一の効果を得るとともに駆動系に加わっている摩擦力から判別するので、速度判別誤差をなくすことができる効果がある。
【図面の簡単な説明】
【図１】  この発明の一実施の形態１である位置決め装置を示す構成図である。
【図２】  図１の位置決め装置におけるＸ−Ｙ駆動系を示す側面図である。
【図３】  図２のＡ−Ａ’線に沿う縦断面図である。
【図４】  図３のＸ−Ｙ駆動系の力学モデルを示す説明図である。
【図５】  図４の力学モデルから求める位置決め量と摩擦力の関係図である。
【図６】  図４の力学モデルから求められる位置決め量と駆動系弾性変形量の関係図である。
【図７】  図３のＸ−Ｙ駆動系のロストモーション補正に用いた補正モデル図である。
【図８】  図３のＸ−Ｙ駆動系のロストモーション補正の補正モデルの補正モデルの設定値を求めるアルゴリズムのフローチャートである。
【図９】  図３のＸ−Ｙ駆動系のロストモーション補正の補正モデルの補正モデルの設定値を求めるアルゴリズムのフローチャートである。
【図１０】  図３のＸ−Ｙ駆動系のロストモーション補正の補正モデルの補正モデルの設定値を求めるアルゴリズムのフローチャートである。
【図１１】  図３のＸ−Ｙ駆動系のロストモーション補正の補正モデルの補正モデルの設定値を求めるアルゴリズムのフローチャートである。
【図１２】  図３のＸ−Ｙ駆動系のロストモーション補正の補正モデルから算出したロストモーション補正データとロストモーション測定データとロストモーション補正データの変化率を示す図である。
【図１３】  ロストモーション補正の効果を確認するために用いた真円度測定器の構成図である。
【図１４】  この発明の実施の形態１のロストモーション補正モデルを示す図である。
【図１５】  この発明の実施の形態１のＮＣ装置またはサーボアンプ上でプロセッサが実行するロストモーション補正のフローチャートである。
【図１６】  この発明の実施の形態１のロストモーション補正の動作を示すロストモーションの実測値とロストモーション補正モデルの時間波形図である。
【図１７】  この発明の実施の形態の真円度測定結果を示す位置決め装置の描いた曲線図である。
【図１８】  この発明の実施の形態２を示す位置決め装置の構成図である。
【図１９】  この発明の実施の形態３を示す位置決め装置の構成図である。
【図２０】  この発明の実施の形態４の全体系のブロック図である。
【図２１】  この発明の実施の形態４の外乱推定器を離散化したブロック図である。
【図２２】  この発明の実施の形態４の外乱推定器のＮＣ装置またはサーボアンプ上のプロセッサで実行されるプログラムのフローチャートである。
【図２３】  この発明の実施の形態４の外乱推定器の動作を示すボード線図である。
【図２４】  この発明の実施の形態４の外力推定器のＮＣ装置またはサーボアンプ上のプロセッサで実行されるプログラムのフローチャートである。
【図２５】  この発明の実施の形態４の外乱推定器と外力推定器を用いて位置決め装置の駆動系に加わる外力を推定した結果を示す図である。
【図２６】  この発明の実施の形態４のロストモーション算出器のブロック図である。
【図２７】  この発明の実施の形態４のロストモーション算出器のＮＣ装置またはサーボアンプ上のプロセッサで実行されるプログラムのフローチャートである。
【図２８】  この発明の実施の形態５の全体系のブロック図である。
【図２９】  この実施の形態５の位置ループ制御系の周波数特性図である。
【図３０】  この実施の形態５のＮＣ装置からの円軌跡指令に対するモータの位置応答を示す図である。
【図３１】  この実施の形態７の駆動系異常検出器のＮＣ装置またはサーボアンプ上のプロセッサで実行されるプログラムのフローチャートである。
【図３２】  ロストモーション補正を実行する従来例のフローチャートである。
【図３３】  ロストモーション補正を実行する従来例のブロック図である。
【符号の説明】
２  ＡＣサーボモータ（サーボモータ）、３  可動テーブル、４  回転位置検出器、５  判別手段、６  算出手段、７  加算手段、１０，２０  外乱推定器、２４  外力推定器、２８  乗算器（外乱相殺制御器）、２９  駆動系異常検出器。
【図１】
0003902256.tif 000005
【図２】
0003902256.tif 000006
【図３】
0003902256.tif 000007
【図４】
0003902256.tif 000008
【図５】
0003902256.tif 000009
【図６】
0003902256.tif 000010
【図７】
0003902256.tif 000011
【図８】
0003902256.tif 000012
【図９】
0003902256.tif 000013
【図１０】
0003902256.tif 000014
【図１１】
0003902256.tif 000015
【図１２】
0003902256.tif 000016
【図１３】
0003902256.tif 000017
【図１４】
0003902256.tif 000018
【図１５】
0003902256.tif 000019
【図１６】
0003902256.tif 000020
【図１７】
0003902256.tif 000021
【図１８】
0003902256.tif 000022
【図１９】
0003902256.tif 000023
【図２０】
0003902256.tif 000024
【図２１】
0003902256.tif 000025
【図２２】
0003902256.tif 000026
【図２３】
0003902256.tif 000027
【図２４】
0003902256.tif 000028
【図２５】
0003902256.tif 000029
【図２６】
0003902256.tif 000030
【図２７】
0003902256.tif 000031
【図２８】
0003902256.tif 000032
【図２９】
0003902256.tif 000033
【図３０】
0003902256.tif 000034
【図３１】
0003902256.tif 000035
【図３２】
0003902256.tif 000036
【図３３】
0003902256.tif 000037