(57)【特許請求の範囲】
【請求項１】
上位装置からの位置指令値に従って、制御対象システムの駆動モータに対し指令を行い、駆動系を介して制御対象の位置を制御する位置制御装置であって、
前記位置指令値を用いて制御対象の速度に関する指令である速度指令値を算出する手段と、
前記速度指令値を用いて前記駆動装置の発生トルクに関する指令であるトルク指令値（τｃ）を算出する手段と、
を有し、
前記トルク指令値を算出する手段は、前記トルク指令値を算出する際に用いる、制御対象の移動開始時の摩擦に関するトルク補償値を算出する手段を含み、
前記トルク補償値を算出する手段は、
前記速度指令値（Ｖ）の正負それぞれに対応して定められている停止中の発生トルクの限界値に対応したトルク指令値（τｓｆｐ（Ｖ＞０），τｓｆｎ（Ｖ＜０））と前記トルク指令値（τｃ）との差に基づき、停止中に発生しているトルクと制御対象が移動開始するために必要なトルクとの差に対応した第１の摩擦トルク補償値（τｓｆｃ１）を算出し、
また、前記速度指令値（Ｖ）の正負それぞれに対応して定められている運動中の摩擦トルクに対応したトルク指令値（τｋｆｐ（Ｖ＞０），τｋｆｎ（Ｖ＜０））と前記停止中の発生トルクの限界値に対応したトルク指令値（τｓｆｐ，τｓｆｎ）との差に基づき、移動開始前後の静摩擦から動摩擦への変化に対応した第２の摩擦トルク補償値（τｓｆｃ２）を算出し、
前記トルク指令値を算出する手段は、
前記第１の摩擦トルク補償値（τｓｆｃ１）に基づき、前記速度指令値に加算される第１の起動時摩擦補償値（Ｖｓｆｃ１）を算出する第１の摩擦補償量発生部と、
前記第２の摩擦トルク補償値（τｓｆｃ２）に基づき、前記速度指令値に加算される第２の起動時摩擦補償値（Ｖｓｆｃ２）を算出する第２の摩擦補償量発生部を、
含み、
第１の起動時摩擦補償値（Ｖｓｆｃ１）は、その時間に関する積分値が、第１の摩擦トルク補償値（τｓｆｃ１）に相当するトルクが制御対象に伝達するために必要な駆動系の撓み量に相当するものであり、
第２の起動時摩擦補償値（Ｖｓｆｃ２）は、第１の起動時摩擦補償値（Ｖｓｆｃ１）の後に続けて発生され、その時間に関する積分値が、第２の摩擦トルク補償値（τｓｆｃ２）に相当するトルクが制御対象に伝達するために必要な駆動系の撓み量に相当するものである、
位置制御装置。
【請求項２】
請求項１に記載の位置制御装置であって、
前記第１の摩擦補償量発生部は、第１の起動時発生摩擦補償値（Ｖｓｆｃ１）を、
Ｖｓｆｃ１（０）＝Ｃ・τｓｆｃ１
Ｖｓｆｃ１＝Ｖｓｆｃ１（０）・ｅｘｐ（−ｔ／Ｔｄ１）  （０≦ｔ＜ｔｃ）
Ｖｓｆｃ１＝０  （ｔ≧ｔｃ）
Ｃ＝Ｃｔ／［Ｋ・Ｔｄ１・｛１−ｅｘｐ（−ｔｃ／Ｔｄ１）｝］
ただし、ｔはτｓｆｃ１の入力以後の時間経過、Ｔｄ１はあらかじめ設定された時定 数、ｔｃはあらかじめ設定された継続時間であり、Ｃｔはトルク変換係数、Ｋは制御 対象の駆動系の剛性、
により算出し、
前記第２の摩擦補償量発生部は、第２の起動時発生摩擦補償値（Ｖｓｆｃ２）を、
Ｖｓｆｃ２（０）＝Ｃ２・τｓｆｃ２
Ｖｓｆｃ２＝０  （０≦ｔ＜ｔｃ）
Ｖｓｆｃ２＝Ｖｓｆｃ２（０）・ｅｘｐ｛−（ｔ−ｔｃ）／Ｔｄ１｝  （ｔ≧ｔｃ）  
Ｃ２＝Ｃｔ／（Ｋ・Ｔｄ１）
により算出する、
位置制御装置。
【請求項３】
請求項２に記載の位置制御装置であって、前記制御対象には、正または負の一方向に外部トルク（τｅｘ）が作用し、
前記トルク指令値（τｓｆｐ，τｓｆｎ，τｋｆｐ，τｋｆｎ）は、
τｓｆｐ＝（｜τｓｆ｜−τｅｘ）／Ｃｔ
τｓｆｎ＝（−｜τｓｆ｜−τｅｘ）／Ｃｔ
τｋｆｐ＝（｜τｋｆ｜−τｅｘ）／Ｃｔ
τｋｆｎ＝（−｜τｋｆ｜−τｅｘ）／Ｃｔ
ただし、τｓｆは静摩擦トルク、τｋｆは動摩擦トルク
である、位置制御装置。
【請求項４】
請求項１〜３のいずれか１項に記載の位置制御装置であって、前記トルク補償値を算出する手段は、加々速度が所定値より小さい場合、第１および第２の摩擦トルク補償値（τｓｆｃ１，τｓｆｃ２）を、加々速度に応じて比例して減少させる、位置制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、上位装置の指令に従って、駆動対象の位置を制御する位置制御装置に関し、特に制御対象の移動開始時における制御に関するものである。
【０００２】
【従来の技術】
図５は、駆動モータであるサーボモータ（図示しない）にカップリング等で結合されて移動可能に形成されたテーブル等の可動部材からなる対象システム１１２の位置を制御する従来のフルクローズド位置制御装置（以降単に位置制御装置と略す）の一例を示すブロック図である。以下、この位置制御装置の構成と動作について説明する。位置制御装置には、上位装置（図示しない）より位置指令値Ｘｏが入力される。加減速処理１００は、制御対象の実際の位置が追従可能となるように、位置指令値Ｘｏの時間変化率を軽減させるための加減速処理を実行し、最終的な位置指令値Ｘを出力する。減算器１０１は、位置指令値Ｘから位置検出値ｘＬを減算し位置偏差Ｘ−ｘＬを算出する。位置検出値ｘＬは、対象システム１１２の制御対象の位置をリニアスケール等（図示しない）により直接検出した位置検出信号である。
【０００３】
一方で、位置指令値Ｘは微分器１０４と微分器１０９で時間微分され、それぞれの出力は速度指令値Ｖと加速度指令値Ａとなり、加速度指令値Ａは、増幅器１１０で加速トルク換算定数Ｃａ倍に増幅されて、当該加速度を対象システム１１２に発生させるための加速トルク指令値τｃａになる。速度指令値Ｖと加速トルク指令値τｃａは、それぞれ速度指令とトルク指令に加算され、この一連の処理は定常的な位置偏差Ｘ−ｘＬをゼロ化することを目的とした、良く知られたフィードフォワードブロックを構成している。
【０００４】
増幅器１０２は位置偏差Ｘ−ｘＬを位置ループゲインＧｐの増幅率で比例増幅するものであり、この増幅器１０２の出力は、加算器１０３で速度指令値Ｖと起動時摩擦補償値Ｖｓｆｃとともに加算されて最終的な速度指令値Ｖｃとなる。減算器１０５は、速度指令値Ｖｃからモータ速度ｖｍを減算し、速度偏差Ｖｃ−ｖｍを算出する。モータ速度ｖｍは、サーボモータに結合された位置検出器（図示しない）の回転角位置ｘｍの微分器１０７による時間微分値、あるいはサーボモータに結合された速度検出器（図示しない）の出力である。増幅器１０６は速度偏差Ｖｃ−ｖｍを速度ループゲインＧｖの増幅率で増幅する。
【０００５】
増幅器１０６の出力は、加算器１０８で加速トルク指令値τｃａと加算されてトルク指令値τｃとなる。トルク指令値τｃは、パワー増幅部１１１で電力増幅され、対象システム１１２に対する発生トルクτとなる。パワー増幅部１１１は、電力増幅器とサーボモータで構成されており、トルク指令値τｃを増幅して発生トルクτを出力するもので、その増幅率はトルク変換定数Ｃｔで表される。発生トルクτは対象システム１１２に供給され、これを駆動する。尚、図５中の微分器の符号Ｓは微分動作を示すラプラス変換の演算子である。
【０００６】
以下に、従来の位置制御装置における起動時摩擦補償演算部の動作の一例を説明する。制御対象が停止状態から移動を開始する前後、すなわち起動時においては、摩擦力が不連続となる場合があり、このときの補償を行うために前記起動時摩擦補償演算部が設けられている。起動反転検出部１１３は速度指令値Ｖを入力として、パルス信号Ｆｓｆを出力する。ＦｓｆはＯＮまたはＯＦＦを示す２値信号であり、式（１）に基づいてパルス的にＯＮが出力される。
【０００７】
【数１】
0003840429.tif 000002
【０００８】
つまり、停止を挟んで、停止前の移動方向と起動後の移動方向が異なる場合に限って、起動時にＦｓｆ：ＯＮがパルス的に出力される。
【０００９】
摩擦補償量発生部１１４は、速度指令値ＶとＦｓｆを入力として、Ｆｓｆ：ＯＮの時、起動時摩擦補償値Ｖｓｆｃを式（２）及び式（３）に基づいてパターン出力する。ここで、ｓｇｎ（Ｖ）は符号関数であり、Ｖ＞０ならｓｇｎ（Ｖ）＝＋１，Ｖ＜０ならｓｇｎ（Ｖ）＝−１，Ｖ＝０ならｓｇｎ（Ｖ）＝０を示す。
【００１０】
【数２】
Ｖｓｆｃ（０）＝ｓｇｎ（Ｖ）・Ｖｓｆｃｏ  ・・・（２）
【００１１】
但し、Ｖｓｆｃ（０）は、Ｖｓｆｃの初期値を示し、Ｖｓｆｃｏは、予め摩擦補償量発生部１１４に設定されている起動時摩擦補償設定量を示す（但し、Ｖｓｆｃｏ＞０で設定する）。
【００１２】
【数３】
Ｖｓｆｃ＝Ｖｓｆｃ（０）・ｅｘｐ（−ｔ／Ｔｄ）  ・・・（３）
【００１３】
但し、ｔはＦｓｆ：ＯＮ以後の時間経過を示す。Ｔｄは時定数を示し、予め摩擦補償量発生部１１４に設定されている。式（３）は起動時摩擦補償値Ｖｓｆｃの時間特性を表現するためのもので、本例では漸次減衰特性をとっている。
【００１４】
図６は、対象システム１１２の構成を位置動作の観点から等価表現したブロック図である。発生トルクτより負荷トルクτＬを減算されたトルクがサーボモータの加減速トルクτｍａとなり、サーボモータの回転角位置ｘｍを決定する（Ｉｍはサーボモータの慣性モーメントを示す）。位置検出値ｘＬは、テーブル等の可動部材の位置を示し、サーボモータと可動部材はカップリング等で結合されているため両者の位置関係には駆動系の総合剛性Ｋが介在する。つまり、負荷トルクτＬは、位置偏差ｘｍ−ｘＬの剛性Ｋ倍で表現される。負荷側に作用する重力等の外部トルクτｅｘと摩擦トルクτｆの加算値として表現される負荷側に働く外乱トルクτＬｄと、負荷トルクτＬは、加算されて負荷側加減速トルクτＬａになり、負荷側の位置検出値ｘＬを決定する（ＩＬは負荷側の慣性モーメントを示す）。
【００１５】
以上で、対象システム１１２の位置動作を説明したが、摩擦トルクτｆの性質上、図６で説明できるのは、負荷が移動中の場合に限られ、この時は動摩擦トルクτｋｆを用いて、τｆ＝τｋｆになる。負荷の停止中は、静摩擦トルクをτｓｆとすると、τｆ＝τｓｆを用いて、負荷が移動開始、すなわち起動するための条件は、式（４）で示される。
【００１６】
【数４】
0003840429.tif 000003
【００１７】
つまり、発生トルクτが式（５）の範囲では依然として負荷は停止のままである。
【００１８】
【数５】
（−｜τｓｆ｜−τｅｘ）≦τ≦（｜τｓｆ｜−τｅｘ）  ・・・（５）
【００１９】
【発明が解決しようとする課題】
以上述べた図５の従来の位置制御装置の動作の一例を図７のタイムチャートを用いて説明する。ここで、最上段から４段目までは、起動時摩擦補償値が加算されない場合の位置制御装置各部の動作を示しており、５段目以降は、この時の従来の起動時摩擦補償演算部の動作を示している。但し、本例ではτｅｘ＝０とし、｜τｓｆ｜＞｜τｋｆ｜とする。横軸は時間ｔの経過を示しており、最上段に速度指令値Ｖを記している。本例における速度指令値Ｖは、Ｐ方向移動（Ｖ＞０）後停止を２サイクル繰り返した後、Ｎ方向移動（Ｖ＜０）後停止を２サイクル繰り返し、最後に再度Ｐ方向移動（Ｖ＞０）する場合を表している。
【００２０】
次段は、この時のサーボモータの発生トルクτを表している。次に３段目は、負荷側外乱トルクτＬｄを示している。本例ではτｅｘ＝０だから、図６より、負荷側外乱トルクτＬｄは次式（６）となる。
【００２１】
【数６】
0003840429.tif 000004
【００２２】
特に停止中は、式（５）から次式の範囲で不定となる。
【００２３】
【数７】
−｜τｓｆ｜≦−τＬｄ≦｜τｓｆ｜  ・・・（７）
【００２４】
図７は、この停止中の負荷側外乱トルクτＬｄが、常時、０＜−τＬｄ＜｜τｓｆ｜である場合を示している。
【００２５】
４段目は、起動時摩擦補償が加算されない場合における、起動時の摩擦トルクの影響により発生する位置制御装置の追従偏差Ｘ−ｘＬを示している。Ｐ方向起動タイミングである時刻ｔ１と時刻ｔ４では、停止中の発生トルクτがＰ方向動作開始条件であるτ＞｜τｓｆ｜（式（４））と近いためにＰ方向への追従遅れ（＋になる）は小さいが、Ｎ方向起動タイミングである時刻ｔ２と時刻ｔ３では、停止中の発生トルクτがＮ方向動作開始条件であるτ＜−｜τｓｆ｜（式（４）より）とかけ離れているためにＮ方向への追従遅れ（−になる）は大きくなっている。また、各タイミングで最初の追従偏差方向と逆方向に発生している２つ目の追従偏差は、静摩擦τｓｆと動摩擦τｋｆの大きさの差に起因して発生するもので、両者の差異が大きいほど、追従偏差も大きくなる。
【００２６】
５段目以降のパルス信号Ｆｓｆと符号関数ｓｇｎ（Ｖ）及び起動時摩擦補償値Ｖｓｆｃは、この様な動作条件下における、図５の従来の位置制御装置の起動時摩擦補償演算部の動作を説明している。パルス信号Ｆｓｆは起動反転時しかＯＮしないため、時刻ｔ２と時刻ｔ４では起動時摩擦補償値Ｖｓｆｃが発生するが、時刻ｔ１と時刻ｔ３では発生しない。また、補償値が発生する時刻ｔ２と時刻ｔ４においても、各々で停止中の発生トルクと動作開始条件の発生トルクの差が大きく異なるのに補償絶対量は等しく発生する。
【００２７】
このため、従来の起動時摩擦補償を加算した時、起動時追従偏差Ｘ−ｘＬは、時刻ｔ１と時刻ｔ３では変化がない。また、補償動作が発生する時刻ｔ２と時刻ｔ４においても、時刻ｔ２での追従偏差が好適に縮小するように、起動時摩擦補償設定量Ｖｓｆｃｏを設定すると、時刻ｔ４での補償は過補償になり逆向きの追従偏差が発生する。逆に、時刻ｔ４での追従偏差が好適に縮小するようにＶｓｆｃｏを設定すると、時刻ｔ２での補償は未補償になり追従偏差があまり縮小しないことになる。更に、各タイミングの２つ目の追従偏差は、何ら改善されない。
【００２８】
以上説明してきたように、従来の位置制御装置の起動時摩擦補償機能では、軸停止前後の移動方向が異なる場合は、起動方向に摩擦補償動作が発生し、軸停止前後の移動方向が一致する場合は、摩擦補償動作が発生しないため、実際に静摩擦に起因した軸の動作遅れが発生するタイミングと、摩擦補償動作が発生するタイミングが一致しないという問題があった。加えて、摩擦補償動作が発生するタイミングでも、停止時のサーボモータ発生トルクτの値に関わらず、起動時摩擦補償値を決定するため、補償が過補償あるいは未補償になりやすいといった問題があった。更に、静摩擦と動摩擦の大きさの差に起因して発生する追従偏差には適応できないという問題もあった。このように、従来の位置制御装置の起動時摩擦補償機能では、起動時の摩擦に起因した動作遅れが発生するタイミングで、的確な方向と大きさを持つ摩擦補償値を発生させることで動作遅れを減少化させ、結果的に起動時の位置偏差Ｘ−ｘＬの発生を抑制するといった本来の起動時摩擦補償機能の目的が満たせていなかった。
【００２９】
【課題を解決するための手段】
本発明の位置制御装置は、上位装置からの位置指令値に従って、制御対象システムの駆動モータに対し指令を行い、制御対象の位置を制御する位置制御装置であって、前記位置指令値を用いて制御対象の速度に関する指令である速度指令値を算出する手段と、前記速度指令値を用いて前記駆動装置の発生トルクに関する指令であるトルク指令値を算出する手段と、を有し、前記トルク指令値を算出する手段は、前記トルク指令値を算出する際に用いる、制御対象の移動開始時の摩擦に関するトルク補償値を算出する手段を含む。そして、前記トルク補償値を算出する手段は、停止中の発生トルクの臨界値（τｓｆｐ，τｓｆｎ）と前記トルク指令値（τｃ）との差に基づき、停止中に発生しているトルクと制御対象が移動開始するために必要なトルクとの差に対応した第１の摩擦トルク補償値（τｓｆｃ１）と、運動中の摩擦トルク（τｋｆ）と停止中の摩擦トルク（τｓｆ）との差に基づき、移動開始前後の静摩擦から動摩擦への変化量に対応した第２の摩擦トルク補償値（τｓｆｃ２）を算出する。
【００３０】
前記トルク指令値を算出する手段は、前記第１の摩擦トルク補償値（τｓｆｃ１）に基づき、前記速度指令値に加算される第１の起動時摩擦補償値（Ｖｓｆｃ１）を算出する第１の摩擦補償量発生部と、前記第２の摩擦トルク補償値（τｓｆｃ２）に基づき、前記速度指令値に加算される第２の起動時摩擦補償値（Ｖｓｆｃ２）を算出する第２の摩擦補償量発生部を、含む。第１の起動時摩擦補償値（Ｖｓｆｃ１）は、その時間に関する積分値が、第１の摩擦トルク補償値（τｓｆｃ１）に相当するトルクが制御対象に伝達するために必要な駆動系の撓み量に相当ものである。第２の起動時摩擦補償値（Ｖｓｆｃ２）は、第１の起動時摩擦補償値（Ｖｓｆｃ１）の後に続けて発生され、その時間に関する積分値が、第２の摩擦トルク補償値（τｓｆｃ２）に相当するトルクが制御対象に伝達するために必要な駆動系の撓み量に相当ものである。
【００３１】
【発明の実施の形態】
図１は、本発明の実施の形態に係る位置制御装置の第１の構成例を示すブロック図である。位置制御装置は、前述した図５と同一の部分については同一の名称及び番号を付し、その部分についての説明を省略する。本発明の起動時摩擦補償演算部について以下に説明する。起動検出部１は、速度指令値Ｖを入力として、起動検出信号Ｆｓｔを出力する。Ｆｓｔは、ＯＮまたはＯＦＦを示す２値信号であり、式（８）に基づいてパルス的にＯＮが出力される。
【００３２】
【数８】
0003840429.tif 000005
【００３３】
摩擦補償トルク算出部２は、起動検出信号Ｆｓｔ：ＯＮを受けて、速度指令値Ｖの符号とトルク指令値τｃから、式（９）及び式（１０）で決定される、２つの摩擦トルク補償値τｓｆｃ１とτｓｆｃ２を出力する。
【００３４】
【数９】
τｓｆｃ１＝−τｃ＋τｓｆｐ  （Ｖ＞０の場合）  ・・・（９）
τｓｆｃ１＝−τｃ＋τｓｆｎ  （Ｖ＜０の場合）  ・・・（９）
τｓｆｃ２＝τｋｆｐ−τｓｆｐ  （Ｖ＞０の場合）  ・・・（１０）
τｓｆｃ２＝τｋｆｎ−τｓｆｎ  （Ｖ＜０の場合）  ・・・（１０）
【００３５】
ここで、τｓｆｐ，τｓｆｎ，τｋｆｐ，τｋｆｎは、共に予め摩擦補償トルク算出部２に設定されており、式（１１）で決定される。
【００３６】
【数１０】
τｓｆｐ＝（｜τｓｆ｜−τｅｘ）／Ｃｔ      ・・・（１１）
τｓｆｎ＝（−｜τｓｆ｜−τｅｘ）／Ｃｔ    ・・・（１１）
τｋｆｐ＝（｜τｋｆ｜−τｅｘ）／Ｃｔ      ・・・（１１）
τｋｆｎ＝（−｜τｋｆ｜−τｅｘ）／Ｃｔ    ・・・（１１）
【００３７】
摩擦トルク補償値τｓｆｃ１をτｃに加算すると、式（９）と式（１１）より、次式（１２）を得る。
【００３８】
【数１１】
0003840429.tif 000006
【００３９】
そして、この式と式（４）から、摩擦トルク補償値τｓｆｃ１は、停止中の発生トルクと動作開始条件の発生トルクの差に等しいものであることがわかる。また、式（１０）と式（１１）より、次式（１３）を得る。
【００４０】
【数１２】
0003840429.tif 000007
【００４１】
これより、摩擦トルク補償値τｓｆｃ２は、起動直後の摩擦トルク変化量（静摩擦⇒動摩擦）に等しいものであることがわかる。
【００４２】
第１の摩擦補償量発生部３は、摩擦トルク補償値τｓｆｃ１を入力として、第１の起動時摩擦補償値Ｖｓｆｃ１を式（１４）及び式（１５）に基づいてパターン出力する。
【００４３】
【数１３】
0003840429.tif 000008
【００４４】
但し、ｔはτｓｆｃ１の入力以後の時間経過を、Ｔｄ１は時定数を、ｔｃは継続時間を示す。Ｔｄ１とｔｃは、予め第１の摩擦補償量発生部３に設定されており、Ｔｄ１は、速度ループ系の応答性能に配慮しながらできるだけ短く設定し、ｔｃはＴｄ１の数倍を目安に設定する。
【００４５】
式（１４）で示した定数Ｃは、予め第１の摩擦補償量発生部３に設定された定数で式（１６）で決定される。
【００４６】
【数１４】
0003840429.tif 000009
【００４７】
ここで、式（１５）で示した第１の起動時摩擦補償値Ｖｓｆｃ１を、０〜ｔｃの範囲で時間積分すると、式（１４），（１５）を使って、次式（１７）を得る。
【００４８】
【数１５】
∫Ｖｓｆｃ１・ｄｔ＝（τｓｆｃ１・Ｃｔ）／Ｋ  ・・・（１７）
【００４９】
これは、摩擦トルク補償値τｓｆｃ１を負荷側に伝達するために必要なモータ側の撓み量（ｘｍ−ｘＬ）に相当する。
【００５０】
第２の摩擦補償量発生部４は、摩擦トルク補償値τｓｆｃ２を入力として、第２の起動時摩擦補償値Ｖｓｆｃ２を式（１８）及び式（１９）に基づいてパターン出力する。
【００５１】
【数１６】
0003840429.tif 000010
【００５２】
但し、ｔはτｓｆｃ２の入力以後の時間経過を示すが、τｓｆｃ１とτｓｆｃ２は同時に発生するため、式（１５）のｔと同一の時間軸になる。ここで既出のＴｄ１とｔｃは、予め第２の摩擦補償量発生部４にも設定されている。
【００５３】
式（１８）で示した定数Ｃ２は、予め第２の摩擦補償量発生部４に設定された定数で式（２０）で決定される。
【００５４】
【数１７】
Ｃ２＝Ｃｔ／（Ｋ・Ｔｄ１）  ・・・（２０）
【００５５】
ここで、式（１９）で示した第２の起動時摩擦補償値Ｖｓｆｃ２を、０〜∞の範囲で時間積分すると、Ｖｓｆｃ１同様に、摩擦トルク補償値τｓｆｃ２を負荷側に伝達するために必要なモータ側の撓み量（ｘｍ−ｘＬ）に相当する。
【００５６】
加算器５は、第１の起動時摩擦補償値Ｖｓｆｃ１と、第２の起動時摩擦補償値Ｖｓｆｃ２を加算し、起動時摩擦補償値Ｖｓｆｃを出力する。Ｖｓｆｃは、加算器１０３で増幅器１０２の出力と速度指令値Ｖとともに加算されて最終的な速度指令値Ｖｃとなる。
【００５７】
以上述べた図１に示す位置制御装置の動作の一例を図２のタイムチャートを用いて説明する。但し、本例における対象システム１１２に関する特性条件及び起動時摩擦補償演算部を除いた位置制御装置の条件は、従来例と同様とする。よって、起動時摩擦補償が加算されない場合の、最上段から４段目までのタイムチャートは、図７と全く同じである。５段目以降のパルス信号Ｆｓｔと摩擦トルク補償値τｓｆｃ１，τｓｆｃ２及び起動時摩擦補償値Ｖｓｆｃは、この時の、図１に示す位置制御装置の起動時摩擦補償演算部の動作を示している。
【００５８】
パルス信号Ｆｓｔは、起動時に必ずＯＮを出力する。摩擦トルク補償値τｓｆｃ１は、前述のことから、停止中の発生トルクと動作開始条件の発生トルクの差に等しいものになる。同様に、摩擦トルク補償値τｓｆｃ２は、起動直後の摩擦トルク変化量（静摩擦⇒動摩擦）に等しいものになる。起動時摩擦補償値Ｖｓｆｃは、その積分値がτｓｆｃ１を負荷側に伝達するために必要なモータ側の撓み量に相当する起動時摩擦補償値Ｖｓｆｃ１と、その積分値がτｓｆｃ２を負荷側に伝達するために必要なモータ側の撓み量に相当する起動時摩擦補償値Ｖｓｆｃ２が時間軸上で連続して発生するものになる。
【００５９】
以上説明してきたように、図１の位置制御装置の起動時摩擦補償機能では、起動タイミングごとに、起動方向と起動時のモータ発生トルク、及び起動直後の摩擦トルク変化量（静摩擦⇒動摩擦）に応じて、的確な方向と大きさを持った起動時摩擦補償値を発生するため、全ての起動タイミングで起動時摩擦に起因した追従遅れを好適に減少化することができる。
【００６０】
次に、本実施の形態における起動時摩擦補償が動作しない場合に、起動時摩擦に起因した追従偏差が位置軌跡に与える影響について説明する。今、可動テーブルは、Ｘ軸方向の位置を制御する位置制御装置と、Ｙ軸方向の位置を制御する位置制御装置により、Ｘ−Ｙ座標上を自由に移動できる構成をとっているものとする。図３は、可動テーブルを座標上Ａ点からＢ点に向かって速度Ｆで移動する時の位置軌跡を示している。Ｙ軸については、静摩擦，動摩擦ともに小さく起動時摩擦に起因した追従偏差は殆ど発生しないものとすると、Ｘ軸の起動時の静摩擦に起因した追従偏差は、Ｙ軸Ｐ方向の、起動直後の摩擦トルク変化（静摩擦⇒動摩擦）に起因した追従偏差はＹ軸Ｎ方向の位置軌跡誤差となり、通常、速度Ｆが大きい方が位置軌跡誤差は大きくなる傾向を持つ。
【００６１】
図４は、本発明に係る位置制御装置の第２の構成例のブロック図である。ここで、この説明に先立って加減速処理１００の動作について説明する。加減速処理は、通常、位置指令値Ｘｏの時間微分値である速度指令値Ｖｏを直線加減速するブロックを、複数段直列動作させることで高次関数型加減速を実現している。以下、２次関数型加減速を例にとって、加減速処理１００の動作について説明する。ここで、１段目直線加減速ブロックの加減速時間をＴ１，２段目直線加減速ブロックの加減速時間をＴ２（但し、Ｔ１＞Ｔ２）とする。今、初期位置Ｘｏ＝０で、速度Ｖｏ，移動距離Ｄの位置動作指令が上位装置で発生すると、この時の位置指令値Ｘｏは、次式となる。
【００６２】
【数１８】
Ｘｏ＝０  （ｔ＜０，ｔ＞Ｄ／Ｖｏ）    ・・・（２１）
Ｘｏ＝Ｖｏ・ｔ  （０≦ｔ≦Ｄ／Ｖｏ）  ・・・（２１）
【００６３】
この時の１段目直線加減速ブロックの入力は、ｄＸｏ／ｄｔとなり、出力Ｖ１は、次式で示される。
【００６４】
【数１９】
0003840429.tif 000011
【００６５】
そして、２段目直線加減速ブロックの入力は、Ｖ１となり、出力Ｖ２は、次式となる。ここで、「＾２」は２乗を示す。
【００６６】
【数２０】
0003840429.tif 000012
【００６７】
よって、起動時（０≦ｔ≦Ｔ２）の加減速処理１００の出力である位置指令値Ｘは、式（２３）を積分範囲０〜ｔで時間積分して、次式のように得られる。
【００６８】
【数２１】
0003840429.tif 000013
【００６９】
なお、この場合、起動時の微分器１０４の出力である速度指令値Ｖは、前記Ｖ２に一致する。
【００７０】
以上のことから、２次関数型加減速の起動時の加々速度（以降Ｂと称す）は、式（２３）のＶ２（＝Ｖ）を２階時間微分して、次式で示される。
【００７１】
【数２２】
Ｂ＝Ｖｏ／（Ｔ１・Ｔ２）  ・・・（２５）
【００７２】
起動時においては、加々速度Ｂは速度指令値Ｖｏに比例した一定値となることがわかる。これは、２次関数型加減速を適用した場合についてであり、ｎ次関数型加減速の場合は、同様に、速度指令値Ｖをｎ階時間微分することで速度指令値Ｖｏに比例した一定値を得ることができる。
【００７３】
次に、微小移動距離ΔＤの位置動作指令が上位装置で発生する場合について説明する。上位装置から、位置制御装置に入力される位置指令値Ｘｏは、実際には、単位時間ΔＴごとに発生する。このため、ΔＤが微小であると、この時の速度指令値Ｖｏは、ΔＤ／ΔＴより大きくなりえない。つまり微小移動時は、速度指令値Ｖｏも微小になる。一方で、微小移動時は起動時摩擦補償を有効に動作させると、僅かな摩擦トルクの時間変動などで、飛び越し現象が容易に発生しやすい。
【００７４】
以上のことをまとめると、図３より、速度指令値Ｖｏが小さい（Ｆが小さいとＶｏも小さい）場合は、起動時摩擦に起因した位置軌跡誤差の発生が元々小さくなる傾向がある。微小移動時は、速度指令値Ｖｏも微小になり、且つ、起動時摩擦補償を有効に動作させることで飛び越し現象が発生しやすいことから、速度指令値Ｖｏに応じて起動時摩擦補償の補償効果を増減させる有効性が想像できる。
【００７５】
以下は、図４の本発明に係る位置制御装置の第２の構成例のブロック図について説明する。なお、前述した図１と同一の部分については同一の名称及び番号を付し、その部分についての説明を省略する。補償量低減部６は、前述の速度指令値Ｖｏに応じて起動時摩擦補償の補償効果を増減させる有効性に注目して、摩擦トルク補償値を速度指令値Ｖｏが小さい場合に低減させる機能を持つ。式（２５）以下より、加減速処理１００がｎ次関数型加減速を実行する場合、起動時の速度指令値Ｖをｎ階時間微分することで速度指令値Ｖｏに比例した一定値を得ることができる。
【００７６】
以下は、加減速処理１００が２次関数型加減速を実行する場合における補償量低減部６の動作について説明する。補償量低減部６は、式（９）及び式（１０）に基づいて決定される摩擦補償トルク算出部２の出力τｓｆｃ１’とτｓｆｃ２’を入力とする。ここで、「’」は便宜上つけたもので、式（９）及び式（１０）のτｓｆｃ１とτｓｆｃ２と何ら異なるものではない。一方で、補償量低減部６は、起動時に速度指令値Ｖを２階時間微分し、式（２５）で示した加々速度Ｂを算出する。加々速度Ｂの絶対値｜Ｂ｜に対して、例えば次式で低減率αを決定する。
【００７７】
【数２３】
α＝｜Ｂ｜／｜Ｂ０｜  （０≦｜Ｂ｜≦｜Ｂ０｜）  ・・・（２６）
α＝１  （｜Ｂ｜＞｜Ｂ０｜）                    ・・・（２６）
【００７８】
但し、｜Ｂ０｜は、低減開始点を決める加々速度絶対値で、予め補償量低減部６に設定されている。
【００７９】
次に、補償量低減部６の出力である摩擦トルク補償値τｓｆｃ１とτｓｆｃ２は、次式により決定される。
【００８０】
【数２４】
τｓｆｃ１＝α・τｓｆｃ１’  ・・・（２７）
τｓｆｃ２＝α・τｓｆｃ２’  ・・・（２７）
【００８１】
ここで、補償量低減部６の動作で必要となる関数型加減速の次数ｎも、予め補償量低減部６に設定されている。摩擦トルク補償値τｓｆｃ１とτｓｆｃ２を入力とする、第１の摩擦補償量発生部３及び第２の摩擦補償量発生部４の動作は図１と全く同じである。なお、補償量低減部６の低減率αの決定は、何も式（２６）に限定されるものではなく、｜Ｂ｜が速度指令値Ｖｏの絶対値｜Ｖｏ｜と比例関係にあることから、｜Ｂ｜とαの間に負の相関があれば、速度指令値Ｖｏが小さい場合に、摩擦トルク補償値を低減させる特性を与えることができる。
【００８２】
【発明の効果】
以上説明したように本発明によれば、起動タイミングごとに、起動方向と起動時のモータ発生トルク、及び起動直後の摩擦トルク変化量（静摩擦⇒動摩擦）に応じて、的確な方向と大きさを持った起動時摩擦補償値を発生するため、全ての起動タイミングで起動時摩擦に起因した追従偏差を好適に減少化することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態の位置制御装置の構成を示すブロック図である。
【図２】  図１の位置制御装置の動作例を説明するタイムチャートである。
【図３】  起動時摩擦に起因した追従偏差が位置軌跡に与える影響について説明する図である。
【図４】  本発明の実施の形態の位置制御装置の他の構成を示すブロック図である。
【図５】  従来の位置制御装置の構成を示すブロック図である。
【図６】  対象システム１１２の構成を等価表現したブロック図である。
【図７】  図５の位置制御装置の動作例を説明するタイムチャートである。
【符号の説明】
１  起動検出部、２  摩擦補償トルク算出部、３  第１の摩擦補償量発生部、４  第２の摩擦補償量発生部、５  加算器、  ６  補償量低減部、７  加算器、１００  加減速処理、１０１，１０５  減算器、１０２，１０６，１１０  増幅器、１０３，１０８  加算器、１０４，１０７，１０９  微分器、１１１  パワー増幅部、１１２  対象システム、１１３  起動反転検出部、１１４  摩擦補償量発生部。
【図１】
0003840429.tif 000014
【図２】
0003840429.tif 000015
【図３】
0003840429.tif 000016
【図４】
0003840429.tif 000017
【図５】
0003840429.tif 000018
【図６】
0003840429.tif 000019
【図７】
0003840429.tif 000020