(57)【特許請求の範囲】
【請求項１】
モータへの速度指令を受ける速度指令入力部と、前記モータの回転速度を検出する速度検出部とを具備し、前記速度指令入力部に入力される指令速度と前記速度検出部が検出する検出速度との偏差に基づいて前記モータをフィードバック制御するにあたり、
前記速度指令で与えられる周波数に基づき前記速度検出部の検出速度から当該速度検出部に起因した脈動周波数成分を検出する脈動周波数成分検出部と、この脈動周波数成分検出部で検出した脈動周波数成分に基づき前記検出速度に含まれる脈動成分を相殺する相殺信号を生成する相殺信号生成部とを設け、この相殺信号生成部で生成した相殺信号を前記速度検出部からフィードバックされる速度検出信号に負帰還させるように構成したモータ制御装置において、
前記脈動周波数成分検出部が前記速度指令に基づき前記速度検出部の検出速度に含まれるｎ次重畳成分を抽出するものであり、前記相殺信号生成部は前記速度指令に基づいて生成する基準波と前記脈動周波数成分検出部で検出したｎ次重畳成分とから適応フィルタを用いて脈動成分を同定する演算を行う適応フィルタ演算部であって、この適応フィルタ演算部からの出力信号を相殺信号として負帰還させつつ、当該適応フィルタ演算部において脈動のｎ次重畳成分が小さくなる方向に適応フィルタを逐次更新するように構成していることを特徴とするモータ制御装置。
【請求項２】
前記適応フィルタ演算部からの出力信号を相殺信号として負帰還させるループにモータを模擬した数学モデルを挿入し、この数学モデルによってモータが脈動に応答した後の速度を推定して前記速度検出信号に負帰還させるようにしている請求項１に記載のモータ制御装置。
【請求項３】
数学モデルからの出力信号をハイパスフィルタを通して前記速度検出信号に負帰還させるようにしている請求項２に記載のモータ制御装置。
【請求項４】
モータがダイレクトドライブモータである請求項１〜３の何れかに記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコーダ等を利用した速度検出部を有するモータのフィードバック制御系に適用して有用となるモータ制御装置に関するものである。
【背景技術】
【０００２】
モータ制御装置として、例えば特許文献１に示すものが知られている。
【０００３】
この制御装置は、モータが原因で発生する振動（トルクリップル、コギングトルクなど）を抑制することを目的としている。モータ一定回転数の条件で、モータに振動が発生している場合、モータ検出速度を周波数解析して特定の周波数成分の振動振幅と振動位相を検出する周波数解析手段によって、速度検出信号から制振信号を生成するためのフィルタの振幅とフィルタ位相を設定する。そして、フィルタを通した速度検出信号（モータの振動成分を抽出した信号）にゲインを乗じ、速度指令部に負帰還することで振動抑制を行うようにしている。
【０００４】
若しくは、モータ一定回転数の条件で、モータに振動が発生している場合、モータ検出速度を周波数解析して特定の周波数成分の振動振幅と振動位相を検出する周波数解析手段によって、モータで発生している特定の周波数の振動の振幅と位相を検出し、これをもとに制振指令信号を生成する。この制振指令信号を速度指令もしくはトルク指令に加算して振動抑制を行っている。
【０００５】
このようなモータが原因となる振動は、回転数のｎ倍の周波数で発生するため、事前に周波数を特定することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５００７９２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、モータに設置されるエンコーダは、エンコーダ軸が実際には一定速度で回転していても検出信号に脈動成分を持つことがある。サーボ制御系ではエンコーダで取得する位置信号を微分して速度換算して速度ループを形成するため、位置検出回路で発生する脈動成分を増幅してフィードバックすることで速度制御に脈動成分を発生させる。
【０００８】
このような状態になると、モータ回転速度にも脈動が発生するほか、モータ回転速度の脈動としては応答しなくともモータ電流に脈動を発生し、モータドライバの電流容量が不足する恐れがある。
【０００９】
このエンコーダ検出信号の脈動を低減すれば、エンコーダに起因するモータ振動を低減させることができる。しかし、図２のような実際のモータ軸の回転数が一定の状態でもエンコーダ検出信号に脈動が発生する状態では、上記特許文献１（図１）の構成ではエンコーダ検出信号部の脈動成分を相殺する制御を行うために、モータ軸をエンコーダ検出信号の重畳成分と同じ周波数で加振する速度指令信号を出力してしまう。
【００１０】
一般的なサーボドライバの機能として、速度ループ内や電流ループ内にノッチフィルタを組み込んでいることが多い。単一周波数に対するノッチフィルタを適用する場合は、上記のような回転数に比例して周波数が変化する振動に対しては回転数が変化するとノッチフィルタの効果がなくなる。可変ノッチフィルタを適用したとしても、ノッチフィルタの特性上、モータ実速度や速度フィードバック信号の脈動成分を完全に除去することができない。
【００１１】
特に、このような課題はモータの低回転領域で顕著となる。すなわち、モータが高速回転しているときは、電流指令値に脈動成分が重畳していてもモータ速度が追従できない。しかし、モータが低速回転領域で使用されると、電流指令値の脈動成分にモータが追従するようになり、例えば関節型ロボットアームの関節を駆動するダイレクトドライブモータ等において、モータ速度（たとえばロボットアームの運動）を加速度ピックアップ等で検出すると脈動周波数成分が卓越して大きな値として現れる不具合が生じ得る。速度FB値や電流指令値の脈動成分をローパスフィルタで遮断することもできるが、カットオフ周波数を低くせざるを得ず、脈動成分を十分に抑制できなかったり、モータ速度指令値に対する応答性を悪化させたりする。
【００１２】
モータを高回転領域で使用する場合でも、モータ電流値に大きな脈動成分が発生することで、モータドライバの電流容量が不足する不具合が生じ得る。さらに、エンコーダの検出信号を利用して他の制御系を駆動する場合、当該モータの位置や速度を正確に検出できていないことにより制御性能の悪化を招く可能性もある。エンコーダ検出信号の脈動は、エンコーダの特性や取付状態に起因するため、予め脈動成分の振幅や位相を予想することは困難である
【００１３】
本発明は、このような脈動成分に有効に対処した、新たな構成のモータ制御装置を提供することを目的としている。
【課題を解決するための手段】
【００１４】
本発明は、かかる目的を達成するために、次のような手段を講じたものである。
【００１５】
すなわち、本発明のモータ制御装置は、モータへの速度指令を受ける速度指令入力部と、前記モータの回転速度を検出する速度検出部とを具備し、前記速度指令入力部に入力される指令速度と前記速度検出部が検出する検出速度との偏差に基づいて前記モータをフィードバック制御するものにおいて、前記速度指令で与えられる周波数に基づき前記速度検出部の検出速度から当該速度検出部に起因した脈動周波数成分を検出する脈動周波数成分検出部と、この脈動周波数成分検出部で検出した脈動周波数成分に基づき前記検出速度に含まれる脈動成分を相殺する相殺信号を生成する相殺信号生成部とを設け、この相殺信号生成部で生成した相殺信号を前記速度検出部からフィードバックされる速度検出信号に負帰還させるように構成したことを前提とする。
【００１６】
実際のモータの速度は、速度指令値と速度フィードバック値との速度偏差に対するモータの応答と、速度検出部に起因する脈動成分がモータに印加された場合のモータの応答の重ね合わせである。よって、速度検出部で発生する脈動信号の相殺信号を負帰還することにより前者の速度フィードバック信号から後者の脈動信号を除去すれば、速度検出部の脈動成分に起因したモータの脈動発生の問題を有効に解消することができる。
【００１７】
そして、前記脈動周波数成分検出部が前記速度指令に基づき前記速度検出部の検出速度に含まれるｎ次重畳成分を抽出するものであり、前記相殺信号生成部は前記速度指令に基づいて生成する基準波と前記脈動周波数成分検出部で検出したｎ次重畳成分とから適応フィルタを用いて脈動成分を同定する演算を行う適応フィルタ演算部であって、この適応フィルタ演算部からの出力信号を相殺信号として負帰還させつつ、当該適応フィルタ演算部において脈動のｎ次重畳成分が小さくなる方向に適応フィルタを逐次更新するように構成したことを特徴とする。このため、速度検出部の特性が未知であっても脈動成分をほぼ完全に相殺することが可能となる。
【００１８】
特にモータの低速回転域では、前記適応フィルタ演算部からの出力信号を相殺信号として負帰還させるループにモータを模擬した数学モデルを挿入し、この数学モデルによってモータが脈動に応答した後の速度を推定して前記速度検出信号に負帰還させることが効果的である。
【００１９】
数学モデルを導入したことによって生じるオフセットずれに善処するためには、数学モデルからの出力信号をハイパスフィルタを通して前記速度検出信号に負帰還させる構成とすることが効果的である。
【００２０】
本発明は、特にモータがダイレクトドライブモータである制御系に適用した場合に顕著な効果が奏される。
【発明の効果】
【００２１】
以上説明した本発明によれば、エンコーダ等に起因して速度検出値に脈動が重畳しても、これを相殺する相殺信号が相殺信号生成部で生成され、速度検出信号に負帰還されるので、フィードバック制御系が脈動の影響を受けずにモータの制御を行うことが可能となる、優れたモータ制御装置を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第1実施形態に係るモータ制御装置の制御系を示すブロック図。
【図２】同制御系における脈動発生原理を示す図。
【図３】図２の等価回路。
【図４】図３の脈動成分を速度指令とみなして等価変換した図。
【図５】同制御系を構成する相殺信号生成部の適応フィルタ部分を示す図。
【図６】同適応フィルタ部分の概念的なブロック図。
【図７】本発明の第２実施形態として図1の構成にモータモデルを加えたブロック図。
【図８】第1、第２実施形態の速度ループ系を示すボート線図。
【図９】図１の構成において５Ｈｚの脈動が重畳した状態での解析例を示す図。
【図１０】図７の構成において５Ｈｚの脈動が重畳した状態での解析例を示す図。
【図１１】図１の構成において１０Ｈｚの脈動が重畳した状態での解析例を示す図。
【図１２】図７の構成において１０Ｈｚの脈動が重畳した状態での解析例を示す図。
【図１３】図１の構成において３０Ｈｚの脈動が重畳した状態での解析例を示す図。
【図１４】図７の構成において３０Ｈｚの脈動が重畳した状態での解析例を示す図。
【図１５】図１の構成において１００Ｈｚの脈動が重畳した状態での解析例を示す図。
【図１６】図７の構成において１００Ｈｚの脈動が重畳した状態での解析例を示す図。
【図１７】図7の構成においてＨＰＦ無しの場合の解析例を示す図。
【図１８】図7の構成においてＨＰＦ有の場合の解析例を示す図。
【図１９】本発明の変形例を示す図。
【図２０】本発明の他の変形例を示す図。
【図２１】本発明の上記以外の変形例を示す図。
【図２２】本発明のさらに上記以外の変形例を示す図。
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態を、図面を参照して説明する。
【００２４】
図１は、本実施形態のモータ制御装置１をモータ（サーボモータ）２に適用した例を示しており、モータ制御系は実モータ部３に対して、実ドライバ部４と、速度検出部５とによって構成されている。
【００２５】
実モータ部３は、入力電圧から誘起電圧を差し引いた駆動電圧によって駆動され、モータ特性に応じた電流が流れる。
【００２６】
モータの内部抵抗をＲ、コイルのインダクタンスをＬ、ラプラス演算子をｓとして、モータ特性（出力電流／入力電圧）は１／（Ｌｓ＋Ｒ）で表わされ、モータ２にはこれにトルク定数を生じたトルクが発生する。このトルクにより、慣性モーメントをＪとして、１／Ｊ・ｓを乗じた角速度が出力される。この角速度に起因した誘起電圧定数分の誘起電圧が前述した入力電圧に重ね合わされる。
【００２７】
実ドライバ部４は、一般的なサーボドライバの速度制御構成例として示しているもので、速度指令入力部４１に目標値である速度指令値が入力され、速度検出部５から速度フィードバック部４０に速度ＦＢ値（ＦＢ：フィードバック）がフィードバックされると、両者の偏差に基づいて速度制御部４２が偏差を打ち消す電流信号を出力する。この電流信号に対して実モータ部３から取り出した電流ＦＢ値との偏差が電流制御部４３に入力され、この電流制御部４３によって実モータ部３への通電がなされる。
【００２８】
速度検出部５は、実モータ部３の軸回りに取り付けたエンコーダ５１（以下、適宜「ＥＮＣ」と表記する）を用いて構成され、モータ速度に応じた速度検出信号を出力する。
【００２９】
図２は、このモータ制御系の基本構成を模式的に表したブロック図である。このモータ制御系において、モータ２が一定速度で回転している場合にも、速度ＦＢ値に脈動成分が重畳することがある。これはエンコーダ５１の特性や取付状態等に依存する不確定な要素で、例えばエンコーダ５１の検出位置が１回転あたり５１２箇所あるとすると、モータがある周波数で回転している場合、速度検出部５には５１２次（２１１）の脈動成分が重畳することになる。各検出位置がさらにいくつかの検出部に分割されている場合には、５１２次の脈動成分のほか、さらに高次の脈動成分が重畳する可能性がある。
【００３０】
サーボ制御系ではエンコーダ５１で取得する位置信号を上述した速度検出部５の微分部で微分することにより速度換算して速度ループを形成しているため、速度ＦＢ値に脈動成分が重畳する可能性がある。以下、脈動成分を未知数のｎ次脈動重畳成分、その脈動をｎ次成分脈動として説明を進める。
【００３１】
このため、この脈動成分を指令と捉えて、速度制御部４２がモータを制御する結果、モータ２に脈動が発生してしまう。
【００３２】
そこで本実施形態は、次のようにしてエンコーダ５１に起因する脈動成分を除去する。図２を変形した図３は、エンコーダ５１の位置検出信号を微分して速度検出する部分をひとまとめにして、エンコーダ５１が速度検出しているように示したもので、図２と図３は等価である。
【００３３】
速度ＦＢ信号（値）は、実際のモータの速度ＦＢ信号にｎ次の脈動重畳成分が重ね合わされた信号（値）である。この信号の見方を変えると、ｎ次重畳成分は図４に示すように速度指令信号（値）に加算される不要な信号ということもできる。この見方をすると、実際のモータ２の速度は、速度指令値と実際のモータ速度との速度偏差に対する応答と、ｎ次重畳信号がモータに印加された場合のモータの応答の重ね合わせである。よって、速度ＦＢ値から後者の信号を除去する相殺信号を入れてやることができれば、エンコーダ検出時のｎ次成分脈動に起因したモータ脈動を低減することができる。
【００３４】
そこで本実施形態は、図1の速度指令入力部４１からの速度指令値と、速度検出信号の帰還経路上に設けた速度検出部ｓｄからの速度検出値とを用いて、図４に示した重畳成分の相殺信号を生成すべく、図５に示すように、速度指令値を参照して速度検出値からエンコーダ５１に起因したｎ次の脈動周波数成分を検出する脈動周波数成分検出部６と、この脈動周波数成分検出部６で検出した脈動周波数成分に基づきエンコーダ５１に含まれる脈動成分を相殺する相殺信号を生成する相殺信号生成部（脈動成分を同定する脈動成分同定部）７とを設け、この相殺信号生成部７で生成（脈動成分同定部で同定）した相殺信号を、図１に示す速度検出部５から取り出される速度検出信号に負帰還させるようにしている。
【００３５】
具体的には、脈動周波数成分検出部６は、ある周波数の速度指令値が入力されると、これをｎ次周波数換算部６１においてｎ次の周波数指令に換算して、ＢＰＦ処理部６２に指令する。エンコーダ検出信号の脈動に関し、振幅や位相については予想困難であるが、脈動次数については予想可能であるため、事前に決定しておく。ＢＰＦ処理部６２では、入力される速度検出値のうち、ｎ次の脈動周波数重畳成分以外の信号を遮断する。
【００３６】
一方、相殺信号生成部７は、前記速度指令に基づいて基準波ｅｊθ（基準正弦波ｓｉｎθと基準余弦波ｃｏｓθ）を生成し、この基準波ｅｊθと、ＢＰＦ処理部６２を通過したｎ次脈動重畳成分とから適応フィルタアルゴリズム（ＤＸＨＳ：Delayed-x Harmonics Synthesize）を用いて脈動成分を同定する適応フィルタ演算部７１によって、相殺信号（同定信号）を生成する。
【００３７】
適応フィルタ演算部７１は、検出された脈動成分に対し、これを小さくするように適応フィルタＡＦの算出を繰り返し実行し、算出の積み重ねにより適応フィルタ同定信号および適応フィルタを真値に収束させる制御を行う。
【００３８】
脈動成分検出部６で検出される周波数ｆ（本実施形態では角周波数ω）は、同定信号を算出する際に脈動周波数ｎωの基礎として用いられるものであり、基準波生成部（発信器）７０で生成した基準波ｅｊθは振幅及び位相の基準、特に適応フィルタＡＦの算出の基礎とされる。
【００３９】
適応フィルタ演算部７１は、脈動のｎ次重畳成分が小さくなるように適応フィルタＡＦを逐次更新するもので、具体的には図６に示すように、同定信号生成部７１ｘと、学習適応部７１ｙとを有する。同定信号生成部７１ｘは、基準波ｅｊθに対して適応フィルタＡＦを用いたフィルタリングを施すことにより基準波ｅｊθの振幅及び位相を変化させて同定信号を算出する。学習適応部７１ｙは、脈動のｎ次重畳成分が無くなるように適応フィルタＡＦの算出の基礎である基準波ｅｊθから適応フィルタＡＦの真値へ向かって適応フィルタＡＦの算出を繰り返し実行し、この算出の積み重ねによりｎ次脈動成分を同定した適応フィルタ同定信号および適応フィルタＡＦを真値に収束させる。
【００４０】
この脈動成分を同定するために、速度検出信号をＡｓｉｎ（θ＋φ）、θ＝ｎωｔと仮定し、以下の式を利用する。
【００４１】
まず、脈動信号をＡｓｉｎ（θ＋φ）とし、この脈動信号Ａｓｉｎ（θ＋φ）にｓｉｎθを乗算したものを積和定理を用いて表すと、
Ａｓｉｎ（θ＋φ）×ｓｉｎθ＝（−Ａ／２）（ｃｏｓ（２θ＋φ）−ｃｏｓφ）
と変形できる。この式に２を乗算すると、
２Ａｓｉｎ（θ＋φ）×ｓｉｎθ＝Ａｃｏｓφ−Ａｃｏｓ（２θ＋φ）
となる。この式を収束係数（ステップサイズパラメータ）μを用いて積分すると、右辺第二項Ａｃｏｓ（２θ＋φ）の積分は（μＡ／２ω）ｓｉｎ（２θ＋φ）となり、μをＡに比べて非常に小さな値に設定すると振幅が小さく且つ周期関数の積分であるため（μＡ／２ω）ｓｉｎ（２θ＋φ）を無視でき、右辺全体が真値Ａに近い値Ａ’の振幅成分及び真値φに近い値φ’の位相成分を有するＡ’ｃｏｓφ’に収束する。
【００４２】
同様に、脈動信号Ａｓｉｎ（θ＋φ）にｃｏｓθを乗算したものを積和定理を用いて表すと、
Ａｓｉｎ（θ＋φ）×ｃｏｓθ＝（Ａ／２）（ｓｉｎ（２θ＋φ）＋ｓｉｎφ）
と変形できる。この式に２を乗算すると、
２Ａｓｉｎ（θ＋φ）×ｃｏｓθ＝Ａｓｉｎφ＋Ａｓｉｎ（２θ＋φ）
となる。この式を収束係数μを用いて積分すると、右辺第二項Ａｓｉｎ（２θ＋φ）の積分も上記と同様に周期関数の積分であるため無視でき、右辺全体が真値Ａに近い値Ａ’の振幅成分及び真値φに近い値φ’の位相成分を有するＡ’ｓｉｎφ’に収束する。
【００４３】
上記で求めたＡ’ｃｏｓφ’及びＡ’ｓｉｎφ’にｓｉｎθ及びｃｏｓθをそれぞれ乗算して足し合わせものを加法定理を用いて表すと、
ｓｉｎθ×Ａ’ｃｏｓφ’＋ｃｏｓθ×Ａ’ｓｉｎφ’＝Ａ’ｓｉｎθ×ｃｏｓφ’＋Ａ’ｃｏｓθ×ｓｉｎφ’＝Ａ’ｓｉｎ（θ＋φ’）
となる。したがって、脈動信号に対して上記の演算を実施することにより脈動信号Ａｓｉｎ（θ＋φ）を同定した適応フィルタ同定信号Ａ’ｓｉｎ（θ＋φ’）を算出することができる。これらＡ’ｃｏｓφ’及びＡ’ｓｉｎφ’は、いわゆる適応制御における適応フィルタであり、脈動信号の入力により適応フィルタ同定信号の振幅Ａ’及び位相φ’を真値たる振幅Ａ及び位相φに収束させるべく自己適応する。
【００４４】
上記の演算処理を用いて脈動信号Ａｓｉｎ（θ＋φ）に基づいて適応フィルタＡＦを学習更新しつつ同定信号を算出するために、図５に示す適用フィルタ演算部７１を構成している。すなわち、乗算器７１ａは、脈動信号Ａｓｉｎ（θ＋φ）と収束係数２μとを乗算する。乗算器７１ｂ、７１ｃは、乗算器７１ａでの乗算結果に対して基準波生成部７０から出力される基準波ｅｊθ（基準正弦波ｓｉｎθと基準余弦波ｃｏｓθ）をそれぞれ乗算して、積分器７１ｄ、７１ｅへ出力する。積分器７１ｄ、７１ｅは、乗算器７１ｂ、７１ｃからの出力を積分し、脈動信号と基準波との振幅差及び位相差を表す適応フィルタＡＦとしてのＡ’ｃｏｓφ’及びＡ’ｓｉｎφ’を出力する。この適応フィルタＡＦに対して基準正弦波ｓｉｎθ及び基準余弦波θをそれぞれ乗算した後に足し合わせると上記の通り適応フィルタ同定信号Ａ’ｓｉｎ（θ＋φ’）となる。
【００４５】
このようにして適応フィルタ演算部７１が振幅や位相を含めて速度ＦＢ値のｎ次脈動信号を同定したら、この同定信号は相殺信号として図１に示す脈動相殺信号帰還部８に負帰還される。帰還する位置は、適応フィルタ演算部７１への検出速度の入力部となる信号検出部ｓｄよりも速度検出部５側とする。その結果、速度検出部５の重畳成分を含む速度検出信号と適応フィルタ演算部７１から出力される相殺信号の差を取った信号が実ドライバ部４の速度ＦＢ値としてフィードバック入力部４０にフィードバックされる。
【００４６】
すなわち、図１において、速度検出部５を出た直後の速度ＦＢ信号は、脈動を含む速度信号がフィードバックされた結果のモータ速度と、その速度のｎ次成分の脈動成分が重畳された信号を出力する。ここで検出される信号は図３における速度ＦＢ値であり、図４においては速度指令値と速度FB値（エンコーダ検出時の脈動成分重畳のない、実際のモータ速度）の偏差に対するモータ速度応答＋回転数ｎ次脈動成分を速度指令部に入力した場合のモータの速度応答＋エンコーダ検出時に誤差として重畳される回転数ｎ次脈動成分である。
【００４７】
一方、適応フィルタ演算部７１は、速度検出信号に重畳されるｎ次成分を同定する。
【００４８】
図1における脈動相殺信号帰還部８では、適応フィルタ演算部７１で同定したエンコーダ信号の回転数ｎ次の脈動成分が速度検出信号に負帰還される。これにより、速度ＦＢ値に含まれる上記の回転数ｎ次脈動成分が低減されてフィードバック入力部４０に戻され、脈動成分を排除したモータ制御が行われる結果、実モータ部３における脈動の発生が低減する方向に逐次更新されながら解消される。
【００４９】
以上のように、本実施形態のモータ制御装置は、モータ２への速度指令を受ける速度指令入力部４１と、モータ２の回転速度を検出する速度検出部５とを備え、速度指令入力部４１に入力される指令速度と速度検出部５が検出する検出速度との偏差に基づいてモータをフィードバック制御するものにおいて、速度指令で与えられる周波数に基づき速度検出部５の検出速度から当該速度検出部５に起因した脈動周波数成分を検出する脈動周波数成分検出部６と、この脈動周波数成分検出部６で検出した脈動周波数成分に基づき検出速度に含まれる脈動成分を相殺する相殺信号を生成する相殺信号生成部７とを設け、この相殺信号生成部７で生成した相殺信号を速度検出部５からフィードバックされる速度検出信号に負帰還させるように構成したものである。
【００５０】
このため、実際のモータの速度のうち、速度指令と実際のモータからフィードバックされる速度との速度偏差に対するモータの応答に含まれていた脈動応答分を除去することができ、速度検出部５の脈動成分に起因したモータの脈動発生の問題を有効に解消することができる。
【００５１】
具体的には、脈動周波数成分検出部６が速度指令に基づき速度検出部ｓｄの検出速度に含まれるｎ次重畳成分を抽出するものであり、相殺信号生成部７は速度指令に基づいて生成する基準波ｅｊθと脈動周波数成分検出部６で検出したｎ次重畳成分とから適応フィルタアルゴリズムＤＸＨＳを用いて脈動成分を同定する演算を行う適応フィルタ演算部７１により実現されていて、適応フィルタ演算部７１からの出力信号を相殺信号として負帰還させつつ、適応フィルタ演算部７１において脈動のｎ次重畳成分が小さくなる方向に適応フィルタＡＦを逐次更新するように構成しているので、速度検出部５（特にエンコーダ５１）の特性が未知であっても、脈動のｎ次重畳成分が小さくなるように適応フィルタＡＦを逐次更新するため、学習によって脈動成分をほぼ完全に相殺することができる。
【００５２】
＜第２実施形態＞
【００５３】
次に、図１における適応フィルタ演算部７１から脈動相殺信号の負帰還先である脈動相殺信号帰還部８までの間にモータ系（電流制御部４３＋実モータ部３）の順方向の数学モデルＭＭを挿入した例を図７に示す。この数学モデルＭＭによってモータが脈動に応答した後の速度を推定し、当該数学モデルＭＭからの出力信号を脈動相殺信号帰還部８において速度検出部５からの検出信号に負帰還させる。同図において図１と共通する部分には同一符号を付して説明を省略している。
【００５４】
脈動重畳信号の周波数が低い場合、脈動重畳信号に速度ループの応答が追従するのは前述した通りである。これに対し、速度ＦＢ信号の脈動重畳成分の波形に対するモータ応答速度を推定してこれを速度ＦＢ値ｎ次脈動成分相殺信号として脈動相殺信号帰還部８に負帰還してやれば、低速域でより効果的にモータの脈動成分を低減することができる。
【００５５】
＜解析例＞
【００５６】
ここで、図１に示したモータモデル（数学モデルＭＭ）無しの第１実施形態と図7に示したモータモデル（数学モデルＭＭ）有りの第２実施形態の解析例を比較する。両実施形態で設計した速度ループ系の特性を図８のボート線図に示す。同図に見るように、解析モデルの速度ループ制御のカットオフ周波数は１０Ｈｚに設定されている。
【００５７】
そして、この速度ループ系において、重畳脈動成分の周波数を変えてモータモデルの有無で各種信号の様子を解析した結果を図９〜図１６に示す。図９（ａ）、（ｂ）は重畳脈動周波数が５Ｈｚでモータモデル無の場合、図１０（ａ）、（ｂ）は重畳脈動周波数が５Ｈｚでモータモデル有の場合、図１１（ａ）、（ｂ）は重畳脈動周波数が１０Ｈｚでモータモデル無の場合、図１２（ａ）、（ｂ）は重畳脈動周波数が１０Ｈｚでモータモデル有の場合、図１３（ａ）、（ｂ）は重畳脈動周波数が３０Ｈｚでモータモデル無の場合、図１４（ａ）、（ｂ）は重畳脈動周波数が３０Ｈｚでモータモデル有の場合、図１５（ａ）、（ｂ）は重畳脈動周波数が１００Ｈｚでモータモデル無の場合、図１６（ａ）、（ｂ）は重畳脈動周波数が１００Ｈｚでモータモデル有の場合である。
【００５８】
グラフの見方を例えば図９に基づいて説明する。図９中の「ＥＮＣ重畳信号」は、図１における速度検出部５のエンコーダ５１からモータ速度に重畳して検出される回転数ｎ次成分の信号を指す。また、「ＥＮＣ速度ＦＢ」は、図１における速度フィードバック部４０にフィードバックされる速度ＦＢ信号（脈動相殺信号を負帰還させた後の信号）を指す。同図（ａ）の上はモータ実速度、下はＥＮＣ重畳信号、同図（ｂ）の上はＥＮＣ速度ＦＢ、下はフィルタ同定信号である。開始１秒までは制御が掛かっておらず、ＥＮＣ重畳信号が脈動しており、ＥＮＣ速度ＦＢやモータ実速度にも脈動の影響が出ている。フィルタ同定信号は０である。次に、１秒後に制御をＯＮにすると、ＥＮＣ重畳信号は同じであるが、適応フィルタ演算部７１の出力であるフィルタ同定信号が振れ始め、これによってＥＮＣ速度ＦＢの脈動成分が除去され、これに伴いモータ実速度の脈動が即座に低減していることがわかる。図１０はモータモデル有の場合で、制御をＯＮにし、フィルタ同定信号が出始めると、ＥＮＣ速度ＦＢは一時的に大きくなった後にモータモデル無の場合よりも精度よく収束し、それに伴いモータ実速度も一時的に大きくなった後にモータモデル無の場合よりも精度よく収束している。これは、低速回転域ではモータモデルの収束性が良いことを表わしている。
【００５９】
このような見方で図１１、図１２を見ると、何れも優劣が殆どない状態でモータ実速度の収束性は良好となっている。この場合の１０Ｈｚは速度ループのカットオフ周波数である。
【００６０】
一方、図１３、図１４を見ると、モータモデル無のほうはモータ実速度は良好に収束しているが、モータモデル有の方は収束性が悪くなっており、図１５、図１６に至っては、モータモデル無は依然として収束は良好であるのに対して、モータモデル有のほうは殆ど収束しない状態となっている。
【００６１】
これを見ると、モータ系のモデルを適用するかしないかの境界は、速度ループの応答周波数（図示例ではカットオフ周波数である１０Ｈｚ）付近とすると良いことがわかる。
【００６２】
＜変形例＞
【００６３】
図７に示したモータモデル有の場合（併用した場合）において、低周波数の脈動（例えば３Ｈｚ）の脈動が重畳したとき、図１７に示すようにモータの実際の速度が速度指令値に対してオフセットを生じる場合（モータ速度と速度検出値がオフセット誤差を発生して収束する場合）がある。
【００６４】
その理由には、モータモデルは、積分要素を有しているため、入力信号をすべて加算していく。
【００６５】
ここで、正弦波の積分は、周波数・振幅が完全に固定で、位相が±９０度から開始すれば理論的にはオフセット値は発生せず、中心値がゼロの脈動信号となる。しかし、適応フィルタの出力は正確な正弦波ではなく、学習するなかで振幅と位相が時々刻々と変化している（正に振れる半周期に対して次に負に振れる半周期は反転した波形ではなく、また、正に振れる半周期と次に正に振れる半周期も同じ波形ではない）。そのため、歪みのある脈動波形をモータモデルが積分するとその出力信号に脈動成分以外のオフセット値（値は一定にならない）を発生する。特に、短時間で同定を完了するような場合にはこの傾向が顕著になる。すなわち、メカニズム的には、
【００６６】
１）適応フィルタ演算部７１が脈動成分を同定する（出力信号の振幅・位相は常に変化）
【００６７】
２）適応フィルタ演算部７１が同定した信号をモータモデル（数学モデル）ＭＭが積分する。この時、適応フィルタ出力信号のゆがみに相当する値が蓄積し、オフセット値を生じる。
【００６８】
３）収束後の速度ＦＢ信号は、適応フィルタ演算部７１により速度検出部５のエンコーダ５１が重畳する脈動成分が除去されると同時にオフセット値が差し引かれ、実際のモータ速度とは異なる値となる。
【００６９】
４）速度指令値が６であるので、速度制御部４２の偏差が０となるように速度ＦＢ信号の値が６に収束する。３）より、実際のモータ速度は速度ＦＢ信号の６に対してモータモデルＭＭの出力オフセット値の逆符号分ずれた値となる。
【００７０】
そこで、適応フィルタ演算部７１の出力信号をカットオフ周波数の低いＨＰＦ（図1における破線部参照）を通して帰還させてやれば、図１８に示すように定常成分を除去して実際のモータ速度のオフセット誤差を低減することができる。
【００７１】
以上、本発明の実施形態等について説明したが、各部の具体的な構成は、上述した実施形態のみに限定されるものではない。
【００７２】
例えば、図５の構成に対して、適応フィルタを可変μ設計とすることで、適応フィルタの即応性や安定性を向上させることができる。
【００７３】
また、図６の変形例として図１９に示すように、適応フィルタ演算部７１に周波数補償機構９１を組み込んでもよい。この周波数補償機構９１は、即時周波数特定部９１ａと、同定信号周波数特定部９１ｂとから周波数差特定部９１ｃにおいて基準波周波数と脈動周波数との周波数差を特定し、これを基準波生成部７０に戻して生成する基準波の周波数を補償するように構成される。このようにすることで、モータ回転速度が変更される場合、適応フィルタの応答性を向上させることができる。特にロボットのような停止と運動を繰り返すシステムは、周波数変動に対する応答性が向上する効果は大きい。
【００７４】
或いは、図２０に示すように、適応フィルタ演算部７１に位相補償機構９２を組み込んでもよい。この位相補償機構９２は、即時位相特定部９２ａと、同定信号位相特定部９２ｂとから位相差特定部９２ｃにおいて脈動成分の位相と基準波の位相との位相差を特定し、これを基準波生成部７０に戻して生成する基準波の位相を補償するように構成される。位相補償制御は、周波数変動を位相変動としてとらえることもできるため、上記周波数補償制御と同様の効果がある。
【００７５】
さらに、適応フィルタ演算部の周波数を検出する脈動周波数成分検出部は、速度ＦＢ信号にＬＰＦを適用した信号でも良い。
【００７６】
また、図1における信号検出部ｓｄよりもフィードバック入力部４０に近い位置に可変ノッチフィルタ１００を、速度ＦＢ値から見て適応フィルタ演算部７１と直列の関係となるように配置することもできる（図２１）。このようにすれば、可変ノッチフィルタの即応性と適応フィルタの脈動成分完全相殺の両方の効果が得られる。
【００７７】
さらにまた、相殺信号生成部を、速度検出の脈動周波数を中心とする可変バンドパスフィルタとして組み込み、位相とゲインを調整して脈動成分を除去した速度ＦＢ信号として、速度検出信号に負帰還させるようにしてもよい。このようにすれば、適応フィルタを設計するより容易に実装が可能である。この場合、速度ＦＢ信号としてサーボドライバに帰還する信号はＢＰＦ入力信号とする。
【００７８】
或いは、エンコーダ重畳脈動成分が複数の次数成分を持っている場合は、図２２に示すように、それぞれの次数（Ｎ次、Ｎ´次、…）に対応して脈動周波数成分検出部６および適応フィルタ演算部７を設計し、各々の出力Ａ´ｓｉｎ（ｎωｔ＋φ´）、Ａ´´ｓｉｎ（ｎ´ωｔ＋φ´´）を相殺信号として図１、図７、図２１等における速度検出信号に負帰還させることで、複数の脈動成分を同時に低減させることが可能である。
【００７９】
以上のような本発明のモータ制御装置は、モータがダイレクトドライブモータである場合に特に有効である。減速機が介在するモータ制御系であれば、減速機の弾性や減衰・ガタでモータの脈動は平滑化されるなどして問題になりにくいが、ダイレクトドライブモータは入力に対してダイレクトに回転出力が現れるため、脈動の除去は顕著な効果となる。また、本発明は回転モータに限られるものではなく、リニアモータにも好適に用いることができる。
【００８０】
そして本発明は、関節型ロボットアームの間接を駆動するモータの制御装置であったり、或いは、一定の低速度でスクリーンを搬送しながらスクリーン上に均一な成膜を行う成膜装置（例えば半導体膜、有機ＥＬなどの機能性薄膜）のモータ制御装置等として極めて有用なものとなり得る。
【００８１】
その他の構成も、本発明の趣旨を逸脱しない範囲で種々変形が可能である。
【符号の説明】
【００８２】
１…モータ制御装置
２…モータ
５…速度検出部
６…脈動周波数成分検出部
７…相殺信号生成部
４０…速度指令入力部
７１…適応フィルタ演算部
ＡＦ…適応フィルタ
ＭＭ…数学モデル
ＨＰＦ…ハイパスフィルタ
【図１】
0006544056.tif 000002
【図２】
0006544056.tif 000003
【図３】
0006544056.tif 000004
【図４】
0006544056.tif 000005
【図５】
0006544056.tif 000006
【図６】
0006544056.tif 000007
【図７】
0006544056.tif 000008
【図８】
0006544056.tif 000009
【図９】
0006544056.tif 000010
【図１０】
0006544056.tif 000011
【図１１】
0006544056.tif 000012
【図１２】
0006544056.tif 000013
【図１３】
0006544056.tif 000014
【図１４】
0006544056.tif 000015
【図１５】
0006544056.tif 000016
【図１６】
0006544056.tif 000017
【図１７】
0006544056.tif 000018
【図１８】
0006544056.tif 000019
【図１９】
0006544056.tif 000020
【図２０】
0006544056.tif 000021
【図２１】
0006544056.tif 000022
【図２２】
0006544056.tif 000023