(57)【特許請求の範囲】
【請求項１】
あらかじめ複数の温度別に測定された、制御対象の速度又は角速度と駆動電流値とに基づいて、前記複数の温度別に、前記速度又は角速度と前記駆動電流値との関係を表わす関係式を導出し、
前記温度別の関係式に基づき、前記関係式の中の前記速度又は角速度に依存する第１の項の係数として、温度を変数とする第１の関数を第１近似式として算出し、
前記温度別の関係式に基づき、前記関係式の中の第２の項として、温度を変数とする第２の関数を第２近似式として算出し、
前記関係式、前記第１の関数、及び前記第２の関数に基づいて、速度又は角速度と、温度とを変数とする摩擦損失推定関数を導出し、
ある時刻の前記制御対象の速度又は角速度と、前記制御対象の温度を取得し、
前記摩擦損失推定関数に、前記ある時刻の前記速度又は角速度と前記温度とを入力して摩擦補償値を算出する、
ことを特徴とする摩擦補償方法。
【請求項２】
あらかじめ複数の温度別に測定された、前記制御対象において静止摩擦から動摩擦に遷移するときの遷移駆動電流値に基づき、温度を変数とする静止摩擦補償関数を導出し、
前記ある時刻の前記制御対象の速度又は角速度に応じて、前記静止摩擦補償関数から求められる静止摩擦補償値と、前記摩擦損失推定関数から求められる前記摩擦補償値を選択的に切り替えて出力することを特徴とする請求項１に記載の摩擦補償方法。
【請求項３】
前記第１近似式として温度を変数とする指数関数を算出し、
前記第２近似式として温度を変数とする二次関数を算出することを特徴とする請求項１に記載の摩擦補償方法。
【請求項４】
あらかじめ複数の異なる温度で取得したモータの角速度と駆動電流値とに基づいて、前記複数の温度別に、前記角速度と前記駆動電流との関係を表わす関係式を導出し、
前記温度別の関係式に基づいて、前記関係式の中の前記角速度に依存する項の係数として、温度を変数とする第１の関数を第１近似式として算出し、
前記温度別の関係式に基づいて、前記関係式の中の定数項として、温度を変数とする第２の関数を第２近似式として算出し、
前記関係式、前記第１の関数、及び前記第２の関数に基づいて、角速度と温度とを変数とする摩擦損失推定関数を導出し、
ある時刻の前記モータの角速度と温度とを取得し、
前記ある時刻の前記モータの前記角度及び前記温度を、前記摩擦損失推定関数に入力して摩擦損失補償値を算出し、
前記摩擦損失補値を、制御指令値に基づくモータ駆動値に加算して前記モータを駆動する、
ことを特徴とするモータ制御方法。
【請求項５】
複数の温度別に測定された、静止摩擦から動摩擦に遷移するときの前記モータの遷移駆動電流値に基づき、温度を変数とする静止摩擦補償関数を導出し、
前記ある時刻の前記モータの角速度に応じて、前記静止摩擦補償関数から求められる静止摩擦補償値と、前記摩擦損失推定関数から求められる前記摩擦損失補償値とを選択的に切り替えて出力する
工程をさらに含むことを特徴とする請求項４に記載のモータ制御方法。
【請求項６】
前記第１近似式として温度を変数とする指数関数を算出し、
前記第２近似式として温度を変数とする二次関数を算出することを特徴とする請求項４に記載のモータ制御方法。
【請求項７】
あらかじめ複数の温度別に測定された制御対象の速度又は角速度と駆動電流値との関係を表わす関係式に基づいて導出された摩擦損失推定関数であって、前記速度又は角速度に依存する第１の項の係数として第１近似式で表される温度を変数とする第１の関数と、第２の項として第２近似式で表される温度を変数とする第２の関数を含む前記摩擦損失推定関数を保持する関数保持部と、
ある時刻における前記制御対象の速度又は角速度と、温度とを受け取る入力部と、
前記入力された速度又は角速度と前記温度とに基づいて、前記第１の項を計算して粘性抵抗補償値を算出する粘性抵抗補償演算部と、
前記入力された速度又は角速度と前記温度とに基づいて、前記第２の項を計算してクーロン摩擦補償値を算出するクーロン摩擦補償演算部と、
前記粘性抵抗補償値と前記クーロン摩擦補償値とを合算して摩擦損失補償電流を算出する加算器と、
を備えることを特徴とする摩擦補償装置。
【請求項８】
前記関数保持部は、複数の温度別の静止摩擦から動摩擦への遷移駆動電流値に基づいて導出された、温度を変数とする静止摩擦補償関数をさらに保持し、
前記摩擦補償装置は、
前記ある時刻における前記制御対象の温度、速度又は角速度、及び前記静止摩擦補償関数に基づいて、静止摩擦補償値を計算する静止摩擦補償演算部と、
前記ある時刻における前記制御対象の速度又は角速度に応じて、前記静止摩擦補償演算部の出力と、前記加算器の出力とを、選択的に切り替える切替部と、
をさらに備えることを特徴とする請求項７に記載の摩擦補償装置。
【請求項９】
前記第１近似式で表される前記第１の関数は指数関数であり、
前記第２近似式で表される前記第２の関数は二次関数であることを特徴とする請求項７に記載の摩擦補償装置。
【請求項１０】
指令値に基づいてモータを制御する制御器と、
前記モータの角速度と温度とに基づいて、前記モータの摩擦損失を補償する摩擦補償装置と、
を含み、
前記摩擦補償装置は、
前記モータの角速度と駆動電流値との関係を表わす温度別の関係式に基づいて導出され、前記角速度に依存する第１の項の係数として第１近似式で表される温度を変数とする第１の関数と、第２の項として第２近似式で表される温度を変数とする第２の関数とを含む摩擦損失補償関数を保持する関数保持部と、
ある時刻の前記モータの角速度と、温度とを受け取る入力部と、
前記入力された角速度と前記温度とに基づいて、前記第１の項を計算して粘性抵抗補償値を算出する粘性抵抗補償演算部と、
前記入力された角速度と前記温度とに基づいて、前記第２の項を計算してクーロン摩擦補償値を算出するクーロン摩擦補償演算部と、
前記粘性抵抗補償値と前記クーロン摩擦補償値とを合算して摩擦損失補償値を出力する加算器と、
を備え、
前記加算器の出力は前記制御器の出力に接続されていることを特徴とするモータ制御装置。
【請求項１１】
前記関数保持部は、前記モータの複数の温度別の静止摩擦から動摩擦への遷移駆動電流値に基づいてあらかじめ導出された温度を変数とする静止摩擦補償関数をさらに保持し、
前記摩擦補償装置は、
前記ある時刻の前記モータの前記角速度、前記温度、及び前記静止摩擦補償関数に基づいて、静止摩擦補償値を計算する静止摩擦補償演算部と、
前記ある時刻の前記モータの前記角速度に応じて、前記静止摩擦補償演算部の出力と、前記加算器の出力とを、選択的に切り替える切替部と、
をさらに備えることを特徴とする請求項１０に記載のモータ制御装置。
【請求項１２】
前記第１近似式で表される前記第１の関数は指数関数であり、
前記第２近似式で表される前記第２の関数は二次関数であることを特徴とする請求項１０に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、摩擦補償と、これを用いたモータ制御の手法及び構成に関する。
【背景技術】
【０００２】
モータの摺動部に生じる摩擦損失を補償するために、アシスト電流の印加や外乱オブザーバが利用されている。摩擦損失は、物体の摩擦によるエネルギーの損失であり、モータの摩擦損失としては、駆動電流（Ｉ）の損失やトルク（Ｔ）損失がある。
【０００３】
摩擦損失を補償するためにアシスト電流を印加する方法は、静摩擦や動摩擦に相当する固定値のアシスト電流を駆動指令値に加算して駆動する方法である。駆動指令値は、モータに印加する電流の理論上の（摩擦損失を考慮していない）指令値であり、これに摩擦損失を考慮したアシスト電流を加算することによって、駆動時の摩擦損失を補償する。しかし、固定の補償量では、速度や温度に依存して変動する粘性損失等の補償を適切に行なうことができない。
【０００４】
外乱オブザーバは、モータの位置応答（回転角度応答）の２階微分値から、モータの実際のトルクである実効駆動トルクを算出し、駆動トルクと指令との差に基づいて推定した摩擦による損失トルク分を駆動指令に加算してモータを駆動する方法である（たとえば、特許文献１参照）。この方法によると、損失量の変動に応じた補償が可能であるが、摩擦損失推定時の２階微分演算によりノイズ（高周波）が著しく増幅される。その対策としてノイズ除去フィルタが必要になるため、摩擦損失推定結果に遅れや振幅減少を生じ、補償誤差が残る。すなわち、ノイズ除去フィルタの時定数が大きく、急峻な摩擦損失変動を補償することができない。
【０００５】
他方、粘性摩擦の影響を考慮してモータの加減速に必要な慣性モーメントを推定し、推定された慣性モーメントによってトルク電流指令値を調整する方法が知られている（たとえば、特許文献２参照）。この方法では、モータの加速度が同一で速度だけが異なる２つの条件でのトルク指令値の差若しくはトルク検出値の差を、そのときの速度検出値の差で除算して粘性摩擦係数推定値を算出する。この推定結果を速度ループゲインの設定に反映して慣性モーメントを推定し、推定された慣性モーメントによりトルク電流指令値を調整する。しかし、この方法では、動作開始前に毎回測定が必要である。また、速度ループゲインを変更する方法では、モータの反転動作のような急峻な摩擦損失変動を補償することができない。また、ループゲインを変更すると応答性が変化してしまうため、摩擦損失とは関係のない部分における制御性能まで変化してしまう。さらに、制御系の安定性も変化してしまうため好ましくない。
【０００６】
各温度に応じた複数の速度ループゲイン値をあらかじめ用意しておき、温度センサの出力に基づいて対応する速度ループゲイン値を選出する方法も提案されている（たとえば、特許文献３参照）。しかし、この方法では、補償対象は温度依存のクーロン摩擦項のみであり、速度（又は角速度）依存性を示す粘性抵抗が補償されない。また、速度ループゲインの変更ではモータの反転動作のような急峻な摩擦損失変動を補償することはできない。また、ループゲインを変更すると応答性が変化してしまうため、摩擦損失とは関係のない部分における制御性能まで変化してしまう。さらに、制御系の安定性も変化してしまうため好ましくない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−５９３６２号公報
【特許文献２】特開２００７-２４４０５３号公報
【特許文献３】特開２００８−２５７５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで本発明は、運動する物体の温度及び速度（又は角速度）の変動に対応した摩擦損失補償の手法及び構成と、これを利用したモータ制御の手法及び構成を提供することを課題とする。
【課題を解決するための手段】
【０００９】
第１の観点では、摩擦補償方法を提供する。摩擦補償方法は、
あらかじめ複数の温度別に測定された、制御対象の速度又は角速度と駆動電流値とに基づいて、前記複数の温度別に、前記速度又は角速度と前記駆動電流値との関係を表わす関係式を導出し、
前記温度別の関係式に基づき、前記関係式の中の前記速度又は角速度に依存する第１の項の係数として、温度を変数とする第１の関数を算出し、
前記温度別の関係式に基づき、前記関係式の中の第２の項として、温度を変数とする第２の関数を算出し、
前記関係式、前記第１の関数、及び前記第２の関数に基づいて、速度又は角速度と、温度とを変数とする摩擦損失推定関数を導出し、
ある時刻の前記制御対象の速度又は角速度と、前記制御対象の温度を取得し、
前記摩擦損失推定関数に、前記ある時刻の前記速度又は角速度と前記温度とを入力して摩擦補償値を算出する、
ことを特徴とする。
【００１０】
第２の観点では、モータ制御方法を提供する。モータ制御方法は、
あらかじめ複数の異なる温度で取得したモータの角速度と駆動電流値とに基づいて、前記複数の温度別に、前記角速度と前記駆動電流との関係を表わす関係式を導出し、
前記温度別の関係式に基づいて、前記関係式の中の前記角速度に依存する項の係数として、温度を変数とする第１の関数を算出し、
前記温度別の関係式に基づいて、前記関係式の中の定数項として、温度を変数とする第２の関数を算出し、
前記関係式、前記第１の関数、及び前記第２の関数に基づいて、角速度と温度とを変数とする摩擦損失推定関数を導出し、
ある時刻の前記モータの角速度と温度とを取得し、
前記ある時刻の前記モータの前記角度及び前記温度を、前記摩擦損失推定関数に入力して摩擦損失補償値を算出し、
前記摩擦損失補値を、制御指令値に基づくモータ駆動値に加算して前記モータを駆動する、
ことを特徴とする。
【００１１】
第３の観点では、摩擦補償装置を提供する。摩擦補償装置は、
あらかじめ複数の温度別に測定された制御対象の速度又は角速度と駆動電流値との関係を表わす関係式に基づいて導出された摩擦損失推定関数であって、前記速度又は角速度に依存する第１の項の係数として温度を変数とする第１の関数と、第２の項として温度を変数とする第２の関数を含む前記摩擦損失推定関数を保持する関数保持部と、
ある時刻における前記制御対象の速度又は角速度と、温度とを受け取る入力部と、
前記入力された速度又は角速度と前記温度とに基づいて、前記第１の項を計算して粘性抵抗補償値を算出する粘性抵抗補償演算部と、
前記入力された速度又は角速度と前記温度とに基づいて、前記第２の項を計算してクーロン摩擦補償値を算出するクーロン摩擦補償演算部と、
前記粘性抵抗補償値と前記クーロン摩擦補償値とを合算して摩擦損失補償電流を算出する加算器と、
を備える。
【００１２】
第４の観点では、モータ制御装置を提供する。モータ制御装置は、
指令値に基づいてモータを制御する制御器と、
前記モータの角速度と温度とに基づいて、前記モータの摩擦損失を補償する摩擦補償装置と、
を含み、
前記摩擦補償装置は、
前記モータの角速度と駆動電流値との関係を表わす温度別の関係式に基づいて導出され、前記角速度に依存する第１の項の係数として温度を変数とする第１の関数と、第２の項として温度を変数とする第２の関数とを含む摩擦損失補償関数を保持する関数保持部と、
ある時刻の前記モータの角速度と、温度とを受け取る入力部と、
前記入力された角速度と前記温度とに基づいて、前記第１の項を計算して粘性抵抗補償値を算出する粘性抵抗補償演算部と、
前記入力された角速度と前記温度とに基づいて、前記第２の項を計算してクーロン摩擦補償値を算出するクーロン摩擦補償演算部と、
前記粘性抵抗補償値と前記クーロン摩擦補償値とを合算して摩擦損失補償値を出力する加算器と、
を備え、
前記加算器の出力は前記制御器の出力に接続されている。
【発明の効果】
【００１３】
上記の手法及び構成により、制御対象の速度／角速度の変動と、温度変化とに迅速に追従して、摩擦損失を適切に補償することができる。
【図面の簡単な説明】
【００１４】
【図１Ａ】実施例の摩擦損失補償が適用されるモータ制御装置の概略構成図であり、応答を用いる制御構成を示す図である。
【図１Ｂ】実施例の摩擦損失補償が適用されるモータ制御装置の概略構成図であり、指令を用いる制御構成を示す図である。
【図２】図１Ａ及び図１Ｂの制御対象となるモータの構成例を示す図である。
【図３】実施例１において、摩擦損失推定部に設定される摩擦損失推定関数の導出方法を説明去るための図であり、あらかじめ複数の温度環境で取得した角速度と駆動電流（摩擦損失電流）の実測結果を示す図である。
【図４】図３の実測値に基づいて、温度別の関係式の導出を説明するための図である。
【図５】図４で得た温度別の関係式に基づいて、摩擦損失推定関数の係数と定数項を、温度を変数とする関数として導出する方法を説明するための図である。
【図６】図４で得た関係式と、図５で得た関数（係数及び定数項）とを合成して、温度と角速度を変数とした摩擦損失推定関数を導出する方法を説明するための図である。
【図７】実施例１の摩擦損失推定部の構成を示す図である。
【図８】実施例１のモータ制御の動作を示すフローチャートである。
【図９】実施例２において、静止摩擦から動摩擦に遷移する際の静止摩擦駆動電流の実測を説明するための図である。
【図１０】図９で得た静止摩擦駆動電流値に基づき、温度を変数とする静止摩擦補償を導出する方法を説明するための図である。
【図１１】制御対象の摩擦特性（静止摩擦または動摩擦）に応じた摩擦損失推定関数を導出する方法を説明するための図である。
【図１２】実施例２の摩擦損失推定部の構成を示す図である。
【図１３】実施例２のモータ制御の動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、実施例における摩擦損失補償と、これを適用した駆動制御について説明する。
【００１６】
図１Ａ及び図１Ｂは、本発明の摩擦損失補償の適用例として、モータ制御装置１０Ａ及び１０Ｂの概略構成を示す図である。本発明の摩擦損失補償は、物体の運動により摩擦損失が生じる任意の対象物の駆動制御に適用することができる。また、回転運動にも平面座標上での運動にも適用可能である。図１Ａ及び図１Ｂでは、摩擦損失補償をモータ制御に適用する場合を例にとって説明する。図１Ａでは応答を用いて摩擦損失を推定する構成例を、図１Ｂは指令を用いて摩擦損失を推定する構成例を示す。
【００１７】
図１Ａにおいて、モータ制御装置１０Ａは、制御対象であるモータ１１と、モータ１１の駆動を制御する制御器１２と、モータ１１における摩擦損失を補償する摩擦補償装置２０と、モータ１１の角度（回転位置）又は角速度を検出するセンサ１５と、モータ１１の摺動部近傍に配置される温度センサ２３を含む。制御器１２には外部から制御指令値が入力される。指令値は、たとえば角速度であるが、角度位置であってもよい。制御器１２への入力には、モータ１１の応答、すなわち、ある時刻でのモータ１１への入力に対するモータ１１の角速度応答値又は位置（角度）応答の微分値がフィードバックされる。角速度応答又は位置応答は、センサ１５により検出される。制御器１２は、入力された指令値とフィードバックされた角速度（又は角度位置の微分値）とに基づいて、モータ１１を所定の速度で回転させるための駆動電流（トルク電流）値を出力する。
【００１８】
モータ１１の応答はまた、摩擦補償装置２０の摩擦損失推定部２１に入力される。外部から供給される制御指令値は、温度変化や角速度の変動等の外乱による摩擦損失の影響を含まない値である。そこで、外乱による摩擦損失を補うために、摩擦補償装置２０において、摩擦損失により失われたエネルギーに相当する電流補償値を推定する。摩擦補償装置２０は、モータ１１の応答（角速度応答又は位置応答）を入力として受け取るとともに、モータ１１の温度情報を、温度センサ２３から入力として受け取る。
【００１９】
摩擦補償装置２０は、摩擦損失推定関数を保持する関数保持部２２と、摩擦損失推定関数及び入力された温度と角速度を用いて摩擦損失を推定する摩擦損失推定部２１を含む。摩擦損失推定部２１は、後述するように、温度と角速度を変数とする摩擦損失推定関数ｆFr(T, dθ/dt)を用い、モータ１１の角速度応答値（又は位置応答の微分値）と、モータ１１の温度とに基づいて摩擦損失を算出する。この構成により、摩擦補償装置２０は、モータ１１の角速度の変動と、摺動部の温度変化の双方を反映した摩擦損失補償値をリアルタイムで出力することができる。
【００２０】
図１Ｂは、指令を用いて摩擦損失推定を行なう構成例である。外部から入力される指令値（角度位置又は角速度）は、制御器１２に入力されるとともに、摩擦補償装置２０の摩擦損失推定部２１に入力される。摩擦損失推定部２１は、指令値を入力として受け取るとともに、温度センサ２３から出力される温度を入力として受け取る。摩擦補償装置２０は、摩擦損失推定部２１の出力、すなわち、指令値（角度位置又は角速度）と温度を変数として摩擦損失推定関数から算出された摩擦損失推定値を、電流補償値として出力する。この電流補償値は、制御器１２の出力であるトルク電流値に加算され、加算後の制御電流値が制御対象であるモータ１１に供給される。
【００２１】
図２は、制御対象となるモータ１１に位置センサ（又は速度センサ）１５を組み込んだモータアセンブリ３０の概略断面図である。モータアセンブリ３０では、モータ１１のシャフト３２の先端に、エンコーダスケール１５ｂが取り付けられている。エンコーダスケール１５ｂには、格子スリットあるいは磁気スケール（不図示）が形成されており、エンコーダヘッド１５ａで格子情報あるいは磁気スケール情報を読み取ることにより、シャフト３２の回転位置を検出する。エンコーダヘッド１５ａとエンコーダスケール１５ｂで、角度センサ１５を構成する。
【００２２】
シャフト３２の周りにロータ３６が配置され、ハウジング３１にステータ３７が固定されている。シャフト３２の周りには、回転摩擦を低減するためのベアリング３８が配置されている。ベアリング３８には回転面の磨耗、摩擦を防止するために潤滑油が用いられており、この潤滑油が用いられる部位（摺動部）において、粘性抵抗が生じる。粘性摩擦（粘性損失）は回転速度や温度によって変化する。
【００２３】
図１Ａ、図１Ｂに示されている温度センサ２３は、図２では図示しないが、モータの摺動部であるベアリング３８の近傍に配置されている。温度センサ２３は、温度変化に応じた摩擦損失が感知できる位置であれば、ベアリング３８近傍の任意の位置に配置することができる。
【実施例１】
【００２４】
図３〜図６は、実施例１において、摩擦損失推定部２１で用いられる（関数保持部２２により保持される）摩擦損失推定関数の導出方法を説明するための図である。実施例１では、基本形として、静止摩擦を考慮しない動摩擦損失の場合を考える。静止摩擦を考慮しない場合とは、たとえば、制御対象１１が等速で一定方向に回転している場合である。まず、図３に示すように、モータ１１の等速駆動電流（すなわち損失電流）を、複数の温度環境で、異なる角速度ごとに実験的に取得する。図３の例では、温度環境を−３０℃、−２０℃、−１０℃、０℃、２０℃と５種類に設定し、４つの異なる角速度にて駆動電流を実測しているが、この例に限定されるわけではない。図３の実測値によると、低温の環境になるほど、角速度の変動に伴って駆動電流量の変化量が増大することがわかる。
【００２５】
図４では、図３で取得した実測値から温度別の摩擦損失推定関数を導出する。具体的には、図３で得た駆動電流値を、クーロン摩擦成分（定数項）と粘性抵抗成分（角速度依存項）に分離し、角速度に依存する温度別の関係式ｆFr(T, dθ/dt)を求める。
【００２６】
【数１】
0005696464.tif 000002
【００２７】
式（１）の関係式のうち、１番目の項ｆVi(T)(dθ/dt)は、角速度dθ/dtに依存する粘性抵抗成分を表わし、ｆVi(T)は係数である。２番目の項ｆCo(T)・sign(dθ/dt)はクーロン摩擦項であり、sign(dθ/dt)は角速度のプラス／マイナス符号、すなわち回転方向を表わしている。
【００２８】
ここで、図４のグラフから分かるように、傾きを表わす係数ｆVi(T)は、温度によってその値が変わり、また、オフセット成分（切片成分）ｆCo(T)も、温度によって値が変わる。
【００２９】
そこで、図５に示すように、傾きｆVi(T)と切片ｆCo(T)を、それぞれ温度の関数として導出する。図５において、四角形の点でプロットしたラインＡが粘性抵抗摩擦を表わす第１の関数であり、ひし形の点でプロットしたラインＢがクーロン増分を表わす第２の関数である。ラインＡとラインＢをそれぞれフィッティングして求めた関数は、数２のようになる。
【００３０】
【数２】
0005696464.tif 000003
【００３１】
この例では、粘性抵抗成分の係数ｆVi(T)は指数関数として求められ、定数項としてのクーロン摩擦成分ｆCo(T)は、二次関数として求められる。もっとも、これは実測に用いたモータの摩擦特性に応じて決まる関数であり、制御対象の摩擦特性に応じて、上記と異なる適切な関数が近似される。
【００３２】
式（２−１）と（２−２）を式（１）に代入すると、式（３）が求められる。
【００３３】
【数３】
0005696464.tif 000004
【００３４】
式（３）で表わされる関数が、温度と角速度を変数とする摩擦損失推定関数である。この摩擦損失推定関数を用いて、異なる温度、異なる角速度での損失電流値［Ａ］を計算した結果を図６に示す。図６では、式（３）における温度Ｔの値として、−４０℃、−３０℃、−２０℃、−１０℃、０℃、１０℃、２０℃を用いているが、ある時刻における任意の温度と角速度とを式（３）に代入することによって、温度や角速度に依存する補償電流を瞬時に求めることができる。
【００３５】
図７は、摩擦損失推定部２１の構成例を示す図である。摩擦損失推定部２１は、式（３）で表わされる摩擦損失推定関数を保持する関数保持部２２と、摩擦損失推定関数に基づいてある時刻における粘性抵抗を計算する粘性抵抗補償演算部２４と、摩擦損失推定関数に基づいてある時刻におけるクーロン摩擦を計算するクーロン摩擦補償演算部２５とを有する。
【００３６】
温度センサ２３によりセンスされたモータ１１の温度Ｔは、摩擦補償装置２０に供給され、粘性抵抗補償演算部２４とクーロン摩擦補償演算部２５の双方に入力される。実施例を通して、「モータ１１の温度Ｔ」というときは、モータ１１の摩擦損失が見える部位、たとえばベアリングなどの摺動部近傍の温度をいうものとする。
【００３７】
他方、ある時刻の角速度dθ/dtも摩擦補償装置２０に供給され、粘性抵抗補償演算部２４とクーロン摩擦補償演算部２５の双方に入力される。モータ1１に取り付けた位置センサ（角度センサ）でモータ１１の角度位置を取り込む場合は、微分回路２７で位置の微分値を求め、これを粘性抵抗補償演算部２４とクーロン摩擦補償演算部２５に入力する。
【００３８】
粘性抵抗補償演算部２４は、入力された温度Ｔと角速度dθ/dtに基づいて、式（３）で表わされる摩擦損失推定関数の第１の項を算出する。クーロン摩擦補償演算部２５は、入力された温度Ｔと角速度の符号に基づいて、式（３）の摩擦損失推定関数の第２の項を算出する。粘性抵抗補償演算部２４の出力と、クーロン摩擦補償演算部２５の出力は、加算器２８で加算され、摩擦損失補償電流Ｉとして出力される。
【００３９】
図８は、駆動制御時に、図３〜図６の方法で求めた摩擦損失推定関数を用いて摩擦損失補償を行う実施例１のフローチャートである。まず、ステップＳ１０１で、角度センサ１５による角度検出値（図１Ａで応答を用いる場合）又は角度指令値（図１Ｂで指令を用いる場合）を更新する（時刻ｔ＝ｔ＋Δｔ）。ステップＳ１０３で、更新された角度検出値又は角度指令値を微分して、角速度（dθ/dt）を求める。実施例１ではモータの回転を例にとって説明してきたので、ステップＳ１０１とＳ１０３では角度位置から角速度を求めているが、角度成分を含まない駆動制御、たとえば２軸ステージの駆動制御では、座標位置から速度（dx/dt, dy/dt）を求めてもよい。
【００４０】
次に、ステップＳ１０５で温度検出値を更新する。図８のフローチャートでは便宜上、ステップＳ１０３の次に温度検出値の更新をしているが、Ｓ１０３の角速度演算と同時に温度検出値の更新を行なってもよいし、順序は問わない。次に、ステップＳ１０７で、式（３）の摩擦損失推定関数を用いて、更新された時刻における粘性抵抗とクーロン摩擦項を演算し、ステップＳ１０９で、演算結果を加算して摩擦損失補償値（補償電流値）を更新する。ステップＳ１１１で、制御器１２０からの出力、すなわち時刻ｔ＋Δｔの制御指令に基づく駆動電流値に、更新された摩擦損失補償電流を加算して、モータ１１の駆動電流を更新する。
【００４１】
このように、実施例１の摩擦損失補償とモータ制御においては、温度と角速度の様々な変化に対応して迅速かつ最適な補償制御が可能になる。
【００４２】
また、摩擦損失推定に２階微分を必要としないためノイズ除去フィルタが不要となる。ノイズ除去フィルタは、推定結果の遅れや振幅減少による特性低下を生じさせ補償誤差が残るが、実施例１の手法及び構成によれば、このような弊害を防止して、急激な角速度の変化に対応することが可能になる。
【実施例２】
【００４３】
実施例１では、静止摩擦を考慮する必要のない場合、たとえば同方向への等速運動における摩擦損失補償について説明した。実施例２では、反転運動や往復運動を行なう際の静止摩擦を考慮した摩擦損失補償について説明する。
【００４４】
実施例１で行なった等速駆動時の温度別の角速度と駆動電流の実測に加え、実施例２では、静止摩擦から動摩擦に遷移する際の駆動電流値を、複数の異なる温度で取得する。図９に示す例では、温度２０℃、０℃、−１０℃、−２０℃、−３０℃で、静止摩擦から動摩擦への遷移時の駆動電流値を取得している。
【００４５】
次に、図１０に示すように、図９の実測値に基づいて、駆動電流値を温度の関数として（温度を変数として）表わす静止摩擦補償関数を導出する。実施例１と同様に、近似される関数は制御対象の摩擦特性に応じて決定される。図１０の例では、静止摩擦補償関数として、式（４）で表わされる二次関数が近似される。
【００４６】
【数４】
0005696464.tif 000005
【００４７】
次に、図１１に示すように、静止摩擦から動摩擦へ、あるいは動摩擦から静止摩擦へ移行するときの遷移角速度εを選定して、摩擦損失推定関数を導出する。遷移角速度εは、制御対象の摩擦特性に応じて選定され、たとえば−３０deg/sである。導出された静止摩擦／動摩擦切替関数は、式（５）で表わされる。
【００４８】
【数５】
0005696464.tif 000006
【００４９】
すなわち、ある時刻で検知（入力）される角速度（dθ/dt）の絶対値が遷移角速度（ε）以下である場合は、ｆst(T)・sign(dθ/dt)＝（Ｓ1Ｔ2+Ｓ2Ｔ+Ｓ3）・sign(dθ/dt)で表わされる静止摩擦補償関数が選択される。ここで、sign(dθ/dt)は制御対象の回転方向を示す符号である。これ以外の場合、すなわち入力される角速度（dθ/dt）の絶対値が遷移角速度（ε）以下でない場合は、実施例１と同様に動摩擦のための摩擦損失推定関数を用いる。実施例１で説明したように、この摩擦損失推定関数は、温度に依存する粘性抵抗摩擦を表わす第１の関数ｆvi（Ｔ）を係数とする角速度依存項と、クーロン摩擦を表わす第２の関数ｆco（Ｔ）で表わされる定数項とを含む。
【００５０】
実施例２でも、静止摩擦の実測値に基づいて、静止摩擦補償関数が温度を変数とする関数として導出されているので、任意の環境温度における静止摩擦補償電流を瞬時に求めることができる。
【００５１】
図１２は、実施例２の摩擦損失推定部１２１の構成例を示す図である。摩擦損失推定部１２１は、動摩擦のための摩擦損失推定関数の第１の項（ｆvi（Ｔ）・(dθ/dt)）に基づいて粘性抵抗補償値を計算する粘性演算部１２４と、この摩擦損失推定関数の第２の項（ｆco（Ｔ）・sign(dθ/dt)）に基づいてクーロン摩擦補償値を計算するクーロン摩擦補償演算部１２５と、静止摩擦補償関数に基づいて静止摩擦補償値を計算する静止摩擦補償演算部１２６を含む。また、関数保持部１２２において、数式（５）で表わされる静止摩擦／動摩擦切替関数を保持する。
【００５２】
静止摩擦補償演算部１２６の出力は、静止摩擦補償値を表わす。他方、粘性抵抗補償演算部１２４の出力と、クーロン摩擦補償演算部１２５の出力は、加算器２８により加算される。この加算値は、動摩擦損失補償値を表わす。静止摩擦補償演算部１２６の出力と、加算器２８の出力は、入力角速度（検出された角速度又は指令による角速度）の値に応じて、静止摩擦／動摩擦切替部１２７により切り替えられて出力される。静止摩擦／動摩擦切替部１２７からの出力は、摩擦損失補償電流値として、制御器１２（図１Ａ，図１Ｂ参照）の出力に加算される。
【００５３】
この構成により、モータ等の駆動制御において、静止摩擦を考慮し、摩擦損失を補償する最適な駆動電流をリアルタイムで制御対象に供給することができる。
【００５４】
図１３は、実施例の摩擦補償を用いた駆動制御を示すフローチャートである。ステップＳ２０１で、温度検出値を更新する。温度検出値は、たとえばモータ１１のベアリング近傍に配置される温度センサ２３（図１Ａ，図１Ｂ参照）から供給される。ステップＳ２０３で、角度センサ１５による角度検出値（図１Ａで応答を用いる場合）又は角度指令値（図１Ｂで指令を用いる場合）を更新する。ステップＳ２０５で、更新された角度検出値又は角度指令値を微分して、角速度（dθ/dt）を求める。ステップＳ２０１とステップＳ２０３−Ｓ２０５の順序はこの順序に限定されず、同時であってもよいし逆であってもよい。
【００５５】
次に、ステップＳ２０７で、更新された角速度があらかじめ設定された遷移角速度（ε）の範囲内にあるか否かを判断する。更新後の角速度が遷移角速度（ε）の範囲を越える場合は（Ｓ２０７でＮＯ）、ステップＳ２０８で、動関数のための摩擦損失推定関数を用いて、粘性抵抗とクーロン摩擦を補償する摩擦補償推定値を計算する。
【００５６】
ステップＳ２０７で、更新後の角速度が遷移角速度（ε）の範囲内にある場合は（Ｓ２０７でＹＥＳ）、ステップＳ２０９で、静止摩擦補償関数を用いて精子摩擦補償値を計算する。ステップＳ２１１で、Ｓ２０９の演算結果（静止摩擦補償値）又はＳ２０８の演算結果（動摩擦の摩擦損失補償値）のいずれかに基づいて、印加すべき摩擦損失補償電流を更新する。ステップＳ１１３で、制御器１２０からの出力、すなわち時刻ｔ＋Δｔの制御指令に基づく駆動電流値に、更新された摩擦損失補償電流を加算して、モータ１１の駆動電流を更新する。
【００５７】
上述した方法によれば、反転運動や反復運動など、静止摩擦を考慮する必要がある動体の駆動制御においても、速度又は角速度の急激な変動や温度変化に追従して、適切な摩擦損失補償値を迅速に求めることができる。また、実施例１と同様に、摩擦損失の推定に２階微分を必要としないため、ノイズ除去フィルタが不要となり、推定結果の遅れ、振幅減少による特性低下を回避することができる。
【００５８】
実施例２の構成と手法は、図１Ａのように応答を用いて摩擦損失補償を行なう方式と、図１Ｂのように指令を用いて摩擦損失補償を行なう方式の双方に適用することができる。
【００５９】
以上の説明に対して以下の付記を提示する。
（付記１）
あらかじめ複数の温度別に測定された、制御対象の速度又は角速度と駆動電流値とに基づいて、前記複数の温度別に、前記速度又は角速度と前記駆動電流値との関係を表わす関係式を導出し、
前記温度別の関係式に基づき、前記関係式の中の前記速度又は角速度に依存する第１の項の係数として、温度を変数とする第１の関数を算出し、
前記温度別の関係式に基づき、前記関係式の中の第２の項として、温度を変数とする第２の関数を算出し、
前記関係式、前記第１の関数、及び前記第２の関数に基づいて、速度又は角速度と、温度とを変数とする摩擦損失推定関数を導出し、
ある時刻の前記制御対象の速度又は角速度と、前記制御対象の温度を取得し、
前記摩擦損失推定関数に、前記ある時刻の前記速度又は角速度と前記温度とを入力して摩擦補償値を算出する、
ことを特徴とする摩擦補償方法。
（付記２）
あらかじめ複数の温度別に測定された、前記制御対象において静止摩擦から動摩擦に遷移するときの遷移駆動電流値に基づき、温度を変数とする静止摩擦補償関数を導出し、
前記ある時刻の前記制御対象の速度又は角速度に応じて、前記静止摩擦補償関数から求められる静止摩擦補償値と、前記摩擦損失推定関数から求められる前記摩擦補償値を選択的に切り替えて出力することを特徴とする付記１に記載の摩擦補償方法。
（付記３）
前記ある時刻の前記制御対象の速度又は角速度が、所定の遷移速度又は遷移角速度以下である場合に、前記静止摩擦補償値を出力する、
ことを特徴とする付記２に記載の摩擦補償方法。
（付記４）
前記ある時刻の前記制御対象の速度又は角速度は、前記ある時刻の前記制御対象の応答値、または前記ある時刻の前記制御対象に対する指令値であることを特徴とする付記１〜３のいずれかに記載の摩擦補償方法。
（付記５）
前記第１の関数は、前記摩擦損失推定関数の傾きを表わす係数であることを特徴とする付記１〜４のいずれかに記載の摩擦補償方法
（付記６）
前記第１の関数は、温度に依存する粘性抵抗を表わすことを特徴とする付記１〜５のいずれかに記載の摩擦補償方法。
（付記７）
前記第２の関数は、クーロン摩擦を表わすことを特徴とする付記１〜５のいずれかに記載の摩擦補償方法。
（付記８）
前記ある時刻の前記温度は、前記制御対象の摺動部近傍で測定された温度であることを特徴とする付記１〜７のいずれかに記載の摩擦補償方法。
（付記９）
あらかじめ複数の異なる温度で取得したモータの角速度と駆動電流値とに基づいて、前記複数の温度別に、前記角速度と前記駆動電流との関係を表わす関係式を導出し、
前記温度別の関係式に基づいて、前記関係式の中の前記角速度に依存する項の係数として、温度を変数とする第１の関数を算出し、
前記温度別の関係式に基づいて、前記関係式の中の定数項として、温度を変数とする第２の関数を算出し、
前記関係式、前記第１の関数、及び前記第２の関数に基づいて、角速度と温度とを変数とする摩擦損失推定関数を導出し、
ある時刻の前記モータの角速度と温度とを取得し、
前記ある時刻の前記モータの前記角度及び前記温度を、前記摩擦損失推定関数に入力して摩擦損失補償値を算出し、
前記摩擦損失補値を、制御指令値に基づくモータ駆動値に加算して前記モータを駆動する、
ことを特徴とするモータ制御方法。
（付記１０）
複数の温度別に測定された、静止摩擦から動摩擦に遷移するときの前記モータの遷移駆動電流値に基づき、温度を変数とする静止摩擦補償関数を導出し、
前記ある時刻の前記モータの角速度に応じて、前記静止摩擦補償関数から求められる静止摩擦補償値と、前記摩擦損失推定関数から求められる前記摩擦損失補償値とを選択的に切り替えて出力する
工程をさらに含むことを特徴とする付記９に記載のモータ制御方法。
（請求項１１）
前記ある時刻の前記モータの角速度が、所定の遷移角速度以下である場合に、前記静止摩擦補償値を出力し、
前記静止摩擦補償値を、前記制御指令値に基づく前記モータ駆動値に加算して前記モータを駆動する、
ことを特徴とする付記１０に記載のモータ制御方法。
（付記１２）
あらかじめ複数の温度別に測定された制御対象の速度又は角速度と駆動電流値との関係を表わす関係式に基づいて導出された摩擦損失推定関数であって、前記速度又は角速度に依存する第１の項の係数として温度を変数とする第１の関数と、第２の項として温度を変数とする第２の関数を含む前記摩擦損失推定関数を保持する関数保持部と、
ある時刻における前記制御対象の速度又は角速度と、温度とを受け取る入力部と、
前記入力された速度又は角速度と前記温度とに基づいて、前記第１の項を計算して粘性抵抗補償値を算出する粘性抵抗補償演算部と、
前記入力された速度又は角速度と前記温度とに基づいて、前記第２の項を計算してクーロン摩擦補償値を算出するクーロン摩擦補償演算部と、
前記粘性抵抗補償値と前記クーロン摩擦補償値とを合算して摩擦損失補償電流を算出する加算器と、
を備えることを特徴とする摩擦補償装置。
（付記１３）
前記関数保持部は、複数の温度別の静止摩擦から動摩擦への遷移駆動電流値に基づいて導出された、温度を変数とする静止摩擦補償関数をさらに保持し、
前記摩擦補償装置は、
前記ある時刻における前記制御対象の温度、速度又は角速度、及び前記静止摩擦補償関数に基づいて、静止摩擦補償値を計算する静止摩擦補償演算部と、
前記ある時刻における前記制御対象の速度又は角速度に応じて、前記静止摩擦補償演算部の出力と、前記加算器の出力とを、選択的に切り替える切替部と、
をさらに備えることを特徴とする付記１２に記載の摩擦補償装置。
（付記１４）
前記切替部は、前記ある時刻における前記制御対象の速度又は角速度が、所定の遷移速度又は遷移角速度以下である場合に、前記静止摩擦補償電流値を出力する、
ことを特徴とする付記１３に記載の摩擦補償装置。
（付記１５）
指令値に基づいてモータを制御する制御器と、
前記モータの角速度と温度とに基づいて、前記モータの摩擦損失を補償する摩擦補償装置と、
を含み、
前記摩擦補償装置は、
前記モータの角速度と駆動電流値との関係を表わす温度別の関係式に基づいて導出され、前記角速度に依存する第１の項の係数として温度を変数とする第１の関数と、第２の項として温度を変数とする第２の関数とを含む摩擦損失補償関数を保持する関数保持部と、
ある時刻の前記モータの角速度と、温度とを受け取る入力部と、
前記入力された角速度と前記温度とに基づいて、前記第１の項を計算して粘性抵抗補償値を算出する粘性抵抗補償演算部と、
前記入力された角速度と前記温度とに基づいて、前記第２の項を計算してクーロン摩擦補償値を算出するクーロン摩擦補償演算部と、
前記粘性抵抗補償値と前記クーロン摩擦補償値とを合算して摩擦損失補償値を出力する加算器と、
を備え、
前記加算器の出力は前記制御器の出力に接続されていることを特徴とするモータ制御装置。
（付記１６）
前記関数保持部は、前記モータの複数の温度別の静止摩擦から動摩擦への遷移駆動電流値に基づいてあらかじめ導出された温度を変数とする静止摩擦補償関数をさらに保持し、
前記摩擦補償装置は、
前記ある時刻の前記モータの前記角速度、前記温度、及び前記静止摩擦補償関数に基づいて、静止摩擦補償値を計算する静止摩擦補償演算部と、
前記ある時刻の前記モータの前記角速度に応じて、前記静止摩擦補償演算部の出力と、前記加算器の出力とを、選択的に切り替える切替部と、
をさらに備えることを特徴とする付記１５に記載のモータ制御装置。
（付記１７）
前記モータの応答は、前記ある時刻の角速度として、前記摩擦補償装置に入力され、
前記粘性抵抗補償演算部と、前記クーロン摩擦補償演算部は、前記入力された応答に基づいて、前記粘性抵抗補償値と、前記クーロン摩擦補償値をそれぞれ算出することを特徴とする付記１５又は１６に記載のモータ制御装置。
（付記１８）
前記モータに対する指令は、前記ある時刻の角速度として、前記摩擦補償装置に入力され、
前記粘性抵抗補償演算部と、前記クーロン摩擦補償演算部は、前記入力された指令に基づいて、前記粘性抵抗補償値と、前記クーロン摩擦補償値をそれぞれ算出することを特徴とする付記１５又は１６に記載のモータ制御装置。
（付記１９）
前記モータの摺動部近傍に配置される温度センサ、
をさらに備え、前記温度センサの出力は、前記摩擦補償装置の入力に接続されることを特徴とする付記１５〜１８のいずれかに記載のモータ制御装置。
【産業上の利用可能性】
【００６０】
運動する物体の摩擦損失の補償が必要となる任意の駆動制御に適用することができる。たとえば、モータの駆動制御、２軸ステージの駆動制御などに適用することができる。
【符号の説明】
【００６１】
１０Ａ、１０Ｂ  モータ制御装置
１１  制御対象（モータ）
１２  制御器
１５  センサ（位置／角度センサ）
２０  摩擦補償装置
２１  摩擦損失推定部
２２、１２２  関数保持部
２３  温度センサ
２４、１２４  粘性抵抗補償演算部
２５、１２５  クーロン摩擦補償演算部
２７  微分回路
２８  加算器
１２６  静止摩擦補償演算部
１２７  静止摩擦／動摩擦切替部
【図１Ａ】
0005696464.tif 000007
【図１Ｂ】
0005696464.tif 000008
【図２】
0005696464.tif 000009
【図３】
0005696464.tif 000010
【図４】
0005696464.tif 000011
【図５】
0005696464.tif 000012
【図６】
0005696464.tif 000013
【図７】
0005696464.tif 000014
【図８】
0005696464.tif 000015
【図９】
0005696464.tif 000016
【図１０】
0005696464.tif 000017
【図１１】
0005696464.tif 000018
【図１２】
0005696464.tif 000019
【図１３】
0005696464.tif 000020