(57)【特許請求の範囲】
【請求項１】
位置決め駆動機構を備えた被制御システムの動作を制御する制御方法において、
前記被制御システムから出力される当該被制御システムの動作状態を示す測定信号を比較手段により基準信号と比較して、前記被制御システムの動作における位置誤差を示す位置誤差信号を生成し、
入力に対する予め定めた関数をそれぞれ出力する隠れ層ニューロンユニットを複数個含み、該複数個の隠れ層ニューロンユニットが対に配置され、各対の一方のニューロンユニットの出力が他方のニューロンユニットに入力されるよう構成された隠れ層と、該複数個の隠れ層ニューロンユニットの出力をそれぞれ重み付けして加算した合計を出力する出力層ニューロンユニットを含む出力層とを有し、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、入力に対して、任意に近似した周期的信号を出力するニューラルネットワークに入力される周期的外乱の影響下における前記被制御システムの動作状態を示す測定信号から前記比較手段により生成される位置誤差信号に基づいて、ニューラルネットワーク学習機構により、前記周期的外乱の影響を学習して、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、前記被制御システムにおける周期的外乱の影響を補償する周期的信号を前記ニューラルネットワークの出力層ニューロンユニットから出力するように、前記ニューラルネットワークを制御し、
前記比較手段により生成される位置誤差信号をサーボ制御器に供給して、前記位置誤差信号により示される前記被制御システムの動作における位置誤差を修正する修正信号を生成し、
前記サーボ制御器により生成される修正信号を前記出力層ニューロンユニットから出力される周期的信号と加算手段により加算合成し、
前記加算手段により前記修正信号と周期的信号を加算合成して得られる制御信号を前記被制御システムに供給し、前記周期的外乱の影響を補償した状態で前記被制御システムの位置決め駆動機構を駆動することを特徴とする制御方法。
【請求項２】
位置決め駆動機構を備えた被制御システムの動作を制御する制御装置において、
前記被制御システムから出力される当該被制御システムの動作状態を示す測定信号を基準信号と比較して、前記被制御システムの動作における位置誤差を示す位置誤差信号を生成する比較手段と、
前記被制御システムの位置決め駆動機構を駆動し、前記比較手段により生成される位置誤差信号により示される前記被制御システムの動作における位置誤差を修正する修正信号を生成するサーボ制御器と、
前記比較手段により生成される位置誤差信号が入力され、入力に対する予め定めた関数をそれぞれ出力する隠れ層ニューロンユニットを複数個含み、該複数個の隠れ層ニューロンユニットが対に配置され、各対の一方のニューロンユニットの出力が他方のニューロンユニットに入力されるよう構成された隠れ層と、該複数個の隠れ層ニューロンユニットの出力をそれぞれ重み付けして加算した合計を出力する出力層ニューロンユニットを含む出力層とを有し、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、入力に対して、任意に近似した周期的信号を出力するニューラルネットワークと、
周期的外乱の影響下における前記被制御システムの動作状態を示す測定信号から前記比較手段により生成され、前記ニューラルネットワークに入力される位置誤差信号に基づいて、前記周期的外乱の影響を学習して、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、前記被制御システムにおける周期的外乱の影響を補償する周期的信号を前記ニューラルネットワークの出力層ニューロンユニットから出力するように、前記ニューラルネットワークを制御するニューラルネットワーク学習機構と、
前記サーボ制御器により生成される修正信号と前記出力層ニューロンユニットから出力される周期的信号を加算合成する加算手段とを備え、
前記加算手段により前記修正信号と周期的信号を加算合成して得られる制御信号を前記被制御システムに供給し、前記周期的外乱の影響を補償した状態で前記被制御システムの位置決め駆動機構を駆動することを特徴とする制御装置。
【請求項３】
前記隠れ層ニューロンユニット対の個数をｎとし、各対をｉ＝１，．．．，ｎとした場合、各ｉの対において、前記隠れ層ニューロンユニットの一方が、対応する入力ｈの関数ｉωｖ（ｈ）を出力し、当該対の他方が−ｉωｖ（ｈ）を出力するものであって、ｖが予め定めた関数、ωが定数であることを特徴とする請求項２に記載の制御装置。
【請求項４】
前記ｖ（ｈ）が、ｈの時間積分であることを特徴とする請求項３に記載の制御装置。
【請求項５】
前記隠れ層が、アナログＶＬＳＩハードウェアで構成されることを特徴とする請求項４に記載の制御装置。
【請求項６】
前記ｖ（ｈ）が、ｈの離散時間積分であることを特徴とする請求項３に記載の制御装置。
【請求項７】
前記隠れ層ニューロンユニットが、デジタルソフトウェアで構成されることを特徴とする請求項６に記載の制御装置。
【請求項８】
前記ニューラルネットワーク学習機構が、重み付け更新毎に、重み付け値を、対応する隠れ層の出力の瞬時値で乗算された比例定数である量で変化するように構成されることを特徴とする請求項２に記載の制御装置。
【請求項９】
前記比例定数が、前記サーボ制御器の出力及び誤差信号の瞬時値の関数であることを特徴とする請求項８に記載の制御装置。
【請求項１０】
位置決め駆動機構を備えた被制御システムと、前記被制御システムの動作を制御する制御装置とからなる位置決めサーボシステムであって、
前記制御装置は、
前記被制御システムから出力される当該被制御システムの動作状態を示す測定信号を基準信号と比較して、前記被制御システムの動作における位置誤差を示す位置誤差信号を生成する比較手段と、
前記被制御システムの位置決め駆動機構を駆動し、前記比較手段により生成される位置誤差信号により示される前記被制御システムの動作における位置誤差を修正する修正信号を生成するサーボ制御器と、
前記比較手段により生成される位置誤差信号が入力され、入力に対する予め定めた関数をそれぞれ出力する隠れ層ニューロンユニットを複数個含み、該複数個の隠れ層ニューロンユニットが対に配置され、各対の一方のニューロンユニットの出力が他方のニューロンユニットに入力されるよう構成された隠れ層と、該複数個の隠れ層ニューロンユニットの出力をそれぞれ重み付けして加算した合計を出力する出力層ニューロンユニットを含む出力層とを有し、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、入力に対して、任意に近似した周期的信号を出力するニューラルネットワークと、
周期的外乱の影響下における前記被制御システムの動作状態を示す測定信号から前記比較手段により生成され、前記ニューラルネットワークに入力される位置誤差信号に基づいて、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、前記被制御システムにおける周期的外乱の影響を補償する周期的信号を前記ニューラルネットワークの出力層ニューロンユニットから出力するように、前記周期的外乱の影響を学習して、前記ニューラルネットワークを制御するニューラルネットワーク学習機構と、
前記サーボ制御器により生成される修正信号と前記出力層ニューロンユニットから出力される周期的信号を加算合成する加算手段とを備え、
前記加算手段により前記修正信号と周期的信号を加算合成して得られる制御信号を前記被制御システムに供給し、前記周期的外乱の影響を補償した状態で前記被制御システムの位置決め駆動機構を駆動する
ことを特徴とする位置決めサーボシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばディスクドライブのリード／ライトヘッド制御のような位置決め駆動機構を備えた被制御システムの動作を制御する制御方法に関する。本発明は、さらに、上述の方法を実行させる制御装置、及びこの制御装置を含む位置決めサーボシステムに関する。
【０００２】
【従来の技術】
周期的外乱は、多くのサーボシステムにおいて見られ、システムの性能を悪化させる。主な例としては、データ記録用のディスクドライブ内のリード／ライトヘッドのサーボシステムがあり、ここでは、このサーボの主要な機能は、回転するディスクの選択されたトラック上に、ヘッドを正確に維持することである。周期的外乱の影響による位置決めの不正確さは、繰返し回転振れ（Repeatable Run-Out：以下、ＲＲＯという。）と呼ばれ、システムの位置決めの正確さを改良するにあたって、主要な障害の１つとなっている。
【０００３】
図１は、リード／ライトヘッドが、所望のトラックへ移動し、同トラックで位置を維持しようとする、所謂トラック追従（track following）と呼ばれるプロセスの後の、３．５”ハードディスクドライブの位置誤差信号（position error signal）を示す。
【０００４】
スピンドルディスクが偏心している場合には、その影響から、ヘッドの位置に周期的外乱が生じ、その結果、従来のサーボでは残差（residual error）をトラック幅の±２５％内までしか確実に抑えることができない。しかし、それに対し、必要とされる位置の正確さはトラック幅の±１０％未満の残差である。
【０００５】
ディスクが着脱可能なディスクドライブでは、ディスクの偏心度がより大きいため、ＲＲＯはより大きい。周期的外乱についてのこの種の問題は、工作機械、繰返しの作業を行うロボットマニピュレータを含む回転機械においても発生する。さらに、アクチュエータでの非直線性には、周期的外乱としてモデル化することができるものがある。
【０００６】
これらの外乱に共通の特徴は、これらが周期的（すなわち、繰返し）であるということである。この周期は、周知であるか、又は解析若しくは測定可能である。
【０００７】
【発明が解決しようとする課題】
図１に示されている残差ｅ（ｔ）は周期的であり、且つ、残差の基本周波数は７５Ｈｚであり、これはディスクの回転速度と完全に一致することがわかる。
【０００８】
従来、ＲＲＯを打ち消す方法として、フィードバックループの一部としてノッチフィルタを使用するものがある。ノッチフィルタは、フィードバックループ中に直列挿入されているので、ループ内においてノッチ周波数を持つ全ての信号に影響がある。したがって、閉ループにノッチフィルタを挿入すると、システム特性が変わるので、サーボ制御器の構成がより複雑になる。さらに、ノッチフィルタを用いる場合の主な問題点は、その方法がモデルベースであり、外乱についての情報に基づいて選択された固定パラメータでノッチフィルタが設計されることにある。外乱は動作状態によって変わり得るので、ノッチフィルタによる補償が常に有効であるとは限らない。
【０００９】
ＲＲＯに関する他の解決策として、適応フィードフォワードキャンセル（Adaptive Feedforward Cancellation：以下、ＡＦＣという。）がある（参考文献［１］ A. Sacks, M. Bodson And W. Messer, "Advanced method for repeatable runout compensation", IEEE Trans. On Magnetics, vol. 31, No. 2, pp. 1031-1036"、[２] Y. Onuki, H. Ishioka and H. Yada, "Repeatable runout compensation for disk drives using multi-loop adaptive feedforward compensation", SICE ’98, Chiba Japan, pp. 1093-1098、[３] M. Bodson, A. Sacks and P. Khosla, "Harmonic Generation in adaptive feedforward cancellation schemes", IEEE Trans. On Automatic Control, vol. 39, No. 9, pp. 1939-1994参照）。ＡＦＣは、ノッチフィルタ法とは異なり、フィードフォワードパスで動作し、システム特性を変えることがない。
【００１０】
しかしながら、所定数の周波数成分を除去するように設計されたＡＦＣアルゴリズムは、高次の高調波を発生することがあり（上記文献［３］参照）、補償効果を悪化させることがあることが判っている。
【００１１】
さらに、所謂「修正ＡＦＣ」では位相シフトが必要とされるが、位相シフトを正確に特定できない場合、残差が大きくなる原因となる（上記文献［１］、［２］参照）。
【００１２】
また、ＡＦＣの実現には、サイン（sin）及びコサイン（cos）関数が必要であり、これらは通常、デジタルシグナルプロセッサ（digital signal processor：以下、ＤＳＰという。）のルックアップテーブル（look-up table）によって実行される。ルックアップテーブルは大きなメモリスペースを占め、プログラミングを煩雑にする。
【００１３】
参考文献［４］（Y. Lou, "Observer-based compensation of repeatable run-outs in hard disk drives", Proceedings of the 9ｔｈ Sony Research Forum (1999) p 453-458）において、本発明者はオブザーバベースドフィードフォワード補償（Observer-based Feedforward Compensation：以下、ＯＦＣという。）法を提案している。ＲＲＯは、状態オブザーバによって観察される追加のシステム状態として処理される。観察された信号は、次に、フィードフォワード補償ループを作成するために用いられ、ＲＲＯの影響を除去する。ＯＦＣの問題点は、ＲＲＯの各高調波成分について２つの余分な状態変数を必要とすることにあり、これによって、十分に高調波成分の補償を実行することが困難になる。
【００１４】
周期的外乱を除去する他の仕組みとして、繰返し制御器（repetitive controller）があり、参考文献［５］（Y. Onuki and H. Ishioka, "Compensation for repeatable tracking errors in hard drives using discrete-time repetitive controllers", Proceedings of the 6ｔｈ International Workshop on advanced motion control, March 2000, Nagoya, Japan, pp 490-495）においてＡＦＣと比較されている。上記文献で述べられているように、繰返し制御器はＡＦＣよりも高い高調波を補償することができ、繰返し制御器の計算負荷は、ＡＦＣの４分の１にすぎない。しかし、各高調波について、繰返し制御器による補償効果は、ＡＦＣによるものよりも小さい。上記参考文献［５］で使用されている繰返し制御器は、基本高調波について４５ｄＢの減衰率、及びその他のより高い高調波についてはより低い減衰となるが、一方、ＡＦＣは各被補償高調波について、６０ｄＢよりも大きな減衰率を有する。
【００１５】
さらに、上述の全ての方法は、ＤＳＰ又はマイクロプロセッサで、ソフトウェアによって実行される。したがって、ＤＳＰ又はマイクロプロセッサの制限（すなわち、限られた計算速度及び／又はワード長）によって、外乱を補償する能力が限定されることがある。
【００１６】
本発明は、サーボシステムを制御する新規で有用な方法及び装置を提供する。また、本発明はサーボシステムでの周期的外乱を効果的、確実、簡潔、経済的に補償し得る方法及び装置を提供する。
【００１７】
【課題を解決するための手段】
本発明は、周期的ノイズの影響下にあるサーボシステムを、２つの層（隠れ層及び出力層）を含むニューラルネットワーク（neural network）を使用して制御することを提案する。
すなわち、本発明は、位置決め駆動機構を備えた被制御システムの動作を制御する制御方法において、前記被制御システムから出力される当該被制御システムの動作状態を示す測定信号を比較手段により基準信号と比較して、前記被制御システムの動作における位置誤差を示す位置誤差信号を生成し、入力に対する予め定めた関数をそれぞれ出力する隠れ層ニューロンユニットを複数個含み、該複数個の隠れ層ニューロンユニットが対に配置され、各対の一方のニューロンユニットの出力が他方のニューロンユニットに入力されるよう構成された隠れ層と、該複数個の隠れ層ニューロンユニットの出力をそれぞれ重み付けして加算した合計を出力する出力層ニューロンユニットを含む出力層とを有し、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、入力に対して、任意に近似した周期的信号を出力するニューラルネットワークに入力される周期的外乱の影響下における前記被制御システムの動作状態を示す測定信号から前記比較手段により生成される位置誤差信号に基づいて、ニューラルネットワーク学習機構により、前記周期的外乱の影響を学習して、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、前記被制御システムにおける周期的外乱の影響を補償する周期的信号を前記ニューラルネットワークの出力層ニューロンユニットから出力するように、前記ニューラルネットワークを制御し、前記比較手段により生成される位置誤差信号をサーボ制御器に供給して、前記位置誤差信号により示される前記被制御システムの動作における位置誤差を修正する修正信号を生成し、前記サーボ制御器により生成される修正信号を前記出力層ニューロンユニットから出力される周期的信号と加算手段により加算合成し、前記加算手段により前記修正信号と周期的信号を加算合成して得られる制御信号を前記被制御システムに供給し、前記周期的外乱の影響を補償した状態で前記被制御システムの位置決め駆動機構を駆動することを特徴とする。
また、本発明は、位置決め駆動機構を備えた被制御システムの動作を制御する制御装置において、前記被制御システムから出力される当該被制御システムの動作状態を示す測定信号を基準信号と比較して、前記被制御システムの動作における位置誤差を示す位置誤差信号を生成する比較手段と、前記被制御システムの位置決め駆動機構を駆動し、前記比較手段により生成される位置誤差信号により示される前記被制御システムの動作における位置誤差を修正する修正信号を生成するサーボ制御器と、前記比較手段により生成される位置誤差信号が入力され、入力に対する予め定めた関数をそれぞれ出力する隠れ層ニューロンユニットを複数個含み、該複数個の隠れ層ニューロンユニットが対に配置され、各対の一方のニューロンユニットの出力が他方のニューロンユニットに入力されるよう構成された隠れ層と、該複数個の隠れ層ニューロンユニットの出力をそれぞれ重み付けして加算した合計を出力する出力層ニューロンユニットを含む出力層とを有し、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、入力に対して、任意に近似した周期的信号を出力するニューラルネットワークと、周期的外乱の影響下における前記被制御システムの動作状態を示す測定信号から前記比較手段により生成され、前記ニューラルネットワークに入力される位置誤差信号に基づいて、前記周期的外乱の影響を学習して、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、前記被制御システムにおける周期的外乱の影響を補償する周期的信号を前記ニューラルネットワークの出力層ニューロンユニットから出力するように、前記ニューラルネットワークを制御するニューラルネットワーク学習機構と、前記サーボ制御器により生成される修正信号と前記出力層ニューロンユニットから出力される周期的信号を加算合成する加算手段とを備え、前記加算手段により前記修正信号と周期的信号を加算合成して得られる制御信号を前記被制御システムに供給し、前記周期的外乱の影響を補償した状態で前記被制御システムの位置決め駆動機構を駆動することを特徴とする。
さらに、本発明は、位置決め駆動機構を備えた被制御システムと、前記被制御システムの動作を制御する制御装置とからなる位置決めサーボシステムであって、前記制御装置は、前記被制御システムから出力される当該被制御システムの動作状態を示す測定信号を基準信号と比較して、前記被制御システムの動作における位置誤差を示す位置誤差信号を生成する比較手段と、前記被制御システムの位置決め駆動機構を駆動し、前記比較手段により生成される位置誤差信号により示される前記被制御システムの動作における位置誤差を修正する修正信号を生成するサーボ制御器と、前記比較手段により生成される位置誤差信号が入力され、入力に対する予め定めた関数をそれぞれ出力する隠れ層ニューロンユニットを複数個含み、該複数個の隠れ層ニューロンユニットが対に配置され、各対の一方のニューロンユニットの出力が他方のニューロンユニットに入力されるよう構成された隠れ層と、該複数個の隠れ層ニューロンユニットの出力をそれぞれ重み付けして加算した合計を出力する出力層ニューロンユニットを含む出力層とを有し、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、入力に対して、任意に近似した周期的信号を出力するニューラルネットワークと、周期的外乱の影響下における前記被制御システムの動作状態を示す測定信号から前記比較手段により生成され、前記ニューラルネットワークに入力される位置誤差信号に基づいて、前記出力層ニューロンユニットにおける前記複数個の隠れ層ニューロンユニットの出力を加算する際の重み付け値を調整することにより、前記被制御システムにおける周期的外乱の影響を補償する周期的信号を前記ニューラルネットワークの出力層ニューロンユニットから出力するように、前記周期的外乱の影響を学習して、前記ニューラルネットワークを制御するニューラルネットワーク学習機構と、前記サーボ制御器により生成される修正信号と前記出力層ニューロンユニットから出力される周期的信号を加算合成する加算手段とを備え、前記加算手段により前記修正信号と周期的信号を加算合成して得られる制御信号を前記被制御システムに供給し、前記周期的外乱の影響を補償した状態で前記被制御システムの位置決め駆動機構を駆動することを特徴とする。
【００１９】
本発明は、三角級数で展開可能であるという周期的外乱の固有特性に基づいている。実質的には、隠れ層ニューロンの各対は、三角級数の成分の１つを補償することができる。よって、十分な数の隠れ層ユニットがあれば、どの次元の周期的外乱も、正確に補償することができる。
【００２０】
ニューラルネットワークは自動的に同調できる。つまり、周期的ノイズの変化のような環境変化を学習し、それに適応する学習能力を有している。
【００２１】
後述するように、本発明の制御方法及び制御装置は、ＤＳＰのソフトウェアのみならず、ハードウェアでも実行することができるので、得られる補償がサーボＤＳＰの制限に限定されることがない。
【００２２】
具体的には、本発明の制御方法及び制御装置は、アナログ回路、好ましくはＶＬＳＩのような集積回路によって実現することができる。特に、ニューラルネットワーク及びその学習システムは、例えば、既存のドライバチップ内に集積された追加部分のように、チップ内に集積することができる。
【００２３】
ＡＦＣに対して、本発明が有する利点は、ＡＦＣのサイン／コサイン（sin/cos）ルックアップテーブルが、隠れ層の自己フィードバックで置き換えられることである。これによって、本発明がより簡潔になり、信頼性が増す。
【００２４】
さらに、本発明の学習機構により、ニューラルネットワークは、変化する動作状況に対処することができる。これによって、本発明の好ましい実施の形態が、より高い耐性をもつようになる。
【００２５】
さらに、構造の物理的意味が明確なので、本発明では、より多くのニューロンを加えるだけで、周期的外乱のどの次元の高調波も補償することができる。これによって、本発明の好ましい実施の形態が、より柔軟性をもつようになる。
【００２６】
【発明の実施の形態】
以下、本発明に係る制御方法及び制御装置について、図面を参照しながら、詳細に説明する。なお、本発明は、以下の実施の形態に限定されるものではない。
【００２７】
先ず、図２（ａ）に本発明の一実施の形態を示す。この実施の形態は、例えば、ハードディスクドライブのサーボシステムである。
【００２８】
この実施の形態のサーボシステムは、リード／ライトヘッドに対応して制御されるシステム２１０を有する。このシステム２１０は、外乱ｒの影響を受ける。なお、本明細書における全ての信号は、時間の関数である。測定信号ｙｍはシステム２１０から出力され、システム２１０の状態を示す。公称サーボ制御器２００の入力である位置誤差信号（position error signal）ｅを求めるために、測定信号ｙｍは比較器１００により基準信号ｙ＊と比較される。公称サーボ制御器２００は、アクチュエータを駆動する指示信号ｕを出力する。公称サーボ制御器２００は、公称システム、すなわち外乱ｒのないシステム２１０用に設計されたサーボ制御器である。
【００２９】
このサーボシステムは、さらにニューラルネットワーク２２２を有するユニット２２０を備える。本明細書では、ニューラルネットワーク（詳細は後述する）は、ハイブリッド三角関数ニューラルネットワーク（Hybrid Trigonometric NeuralNetwork：以下、ＨＴＮＮという。）と称し、それぞれがベクトルＸで表される出力を有する（２ｎ＋１）個のニューロンからなる隠れ層、及び単一の出力ｆＮを生成する出力層を有する。ＨＴＮＮ２２２は、ベクトルＷとして記述される（２ｎ＋１）個の重み付け値の群に基づいて制御される。ベクトルＷは、学習機構（Learning Mechanism：ＬＭ）２２１により設定される。学習機構２２１は、隠れ層ニューロンの出力Ｘ及び瞬時値ｅが供給される。
【００３０】
公称サーボ制御器２００の出力である指示信号ｕは、加算器１１０によりＨＴＮＮ２２２の出力ｆＮに加算され、制御されるシステム２１０への入力である制御信号を形成する。ここでは、制御されるシステム２１０は、２つの積分器２１１及び２１２としてモデル化されている。
【００３１】
システム２１０が、ハードディスクドライブ（ＨＤＤ）である場合は、システム２１０は、移動可能なアクチュエータ、サスペンション付アーム、アクチュエータの位置決めのための移動を可能にする駆動機構、及びボイスコイルモータを有する。これらの部品の何れも図示はされていないが、何れも公知の構造であるので、当業者には明らかである。
【００３２】
ここで繰返し回転振れ（ＲＲＯ）と称する周期的外乱は、ｒで示される。ＨＤＤの場合は、ディスクの偏心、回転軸の変形、又はサーボ書込み工程の不完全さによって引き起こされる位置の外乱として現れる。
【００３３】
このＲＲＯは周期的であるので、下記式（１）のように三角多項式で概算することができる。
【００３４】
【数１】
0004306299.tif 000002
【００３５】
このＲＲＯは位置の外乱として現れるが、これはラプラス変換Ｆ（ｓ）で図２（ｂ）に示すように力の外乱ｆ（ｔ）と等価である。
【００３６】
【数２】
0004306299.tif 000003
【００３７】
ここで、Ｒ（ｓ）はＲＲＯ  ｒ（ｔ）のラプラス変換である。したがって、
【００３８】
【数３】
0004306299.tif 000004
【００３９】
ここで、Ｆｉ＝−ｉ２ω２Ｒｉ／ｋｖｋｙである。式（１）で指数がゼロの第１項は、定数であるため２重の微分後に消える。式（３）は、さらに、下記式（４）のように記述することができる。
【００４０】
【数４】
0004306299.tif 000005
【００４１】
ここで、
【００４２】
【数５】
0004306299.tif 000006
【００４３】
であり、且つこれらは、以下で定められる。
【００４４】
Ｘ（ｔ）＝［sinωt sin2ωt ・・・ sinnωt cosωt cos2ωt ・・・ cosnωt］ＴＷ＝［F１cosj1 F２cosj2 ・・・ Fｎcosjn F１sinj1 F２sinj2 ・・・ Fｎsinjn］Ｔ
三角関数の特性によって、次の行列運動方程式が得られる。
【００４５】
【数６】
0004306299.tif 000007
【００４６】
ここで、
【００４７】
【数７】
0004306299.tif 000008
【００４８】
且つ、
【００４９】
【数８】
0004306299.tif 000009
【００５０】
である。
【００５１】
式（４）及び式（５）は、周期的外乱が三角多項式で表現され得ることを示しており、この三角多項式は、図３のニューラルネットワークで表される。図３のニューラルネットワークは２層になっている。すなわち、（２ｎ＋１）個のニューロンを有する隠れ層と、１つのニューロンからなる出力層の２層である。ニューロン３０３を除き、Ｘ１，．．．，Ｘｎ，Ｘｎ＋１，．．．，Ｘ２ｎで示されている隠れ層ニューロンの出力は、式（４）のＸのそれぞれの成分に等しい。
【００５２】
図３で、ニューロン３０３以外の各隠れ層ニューロンは、入力を、それぞれの値ａ１，．．．，ａｎ，ａｎ＋１，．．．，ａ２ｎで乗算する（この乗算は、素子３００として示されている）という簡単な機能を果たし、その結果を積分器３０１に入力して、隠れ層ニューロンの出力を生成する。ニューロン３０３は、特別なニューロンであり、一定の出力として１を出力し、出力層のバイアスとして作用する。ニューロン３０３は、他の隠れ層ニューロンと等しく取り扱うことが可能だが、その値ａ０＝０の場合は、
【００５３】
【数９】
0004306299.tif 000010
【００５４】
となる。
【００５５】
隠れ層からの各出力Ｘ０，．．．，Ｘｎ，Ｘｎ＋１，．．．，Ｘ２ｎは、１つのニューロンからなる出力層に入力される。この１つのニューロンは、入力された各出力Ｘ０，．．．，Ｘｎ，Ｘｎ＋１，．．．，Ｘ２ｎのそれぞれを、対応する重み付け値Ｗ０，．．．，Ｗｎ，Ｗｎ＋１，．．．，Ｗ２ｎで乗算して（３０４で示す乗算器で）、それぞれ結果３０６を得る。この結果３０６を加算器３０７を使用して合計し、ｆＮ（ｔ，Ｗ（ｔ））である出力３０８を得る。
【００５６】
調整可能な重みＷ０，．．．，Ｗｎ，Ｗｎ＋１，．．．，Ｗ２ｎの値は、後述する学習機構により変化させることが可能であり、動作３０５として図３に示されている。
【００５７】
このニューラルネットワークの構造は、所謂「放射状ニューラルネットワーク（Radial Neural Network）」に極めて類似している。その理由としては、このニューラルネットワークが、各フィードフォワードパスに、１つだけしか調整可能な重みを有しておらず、出力前に出口関数がないことがあげられる。すなわち、出力ニューロンの出力は、重み付けされた入力の合計にすぎず、その関数ではない。このニューラルネットワークと放射状ニューラルネットワークとの相違は、図３のニューラルネットワークが、それ自身の動作によって出力層への入力を三角関数の形式で得ることである。このため、図３のニューラルネットワークをハイブリッド三角関数ニューラルネットワーク（ＨＴＮＮ）と称する。
【００５８】
ＨＴＮＮについて、以下２点の注釈を加える。
【００５９】
１．ＨＴＮＮは、任意の周期的信号に近似することができる。これは、次のように数学的に表すことができる。周期Ｔを有する任意の連続周期的関数ｆ（ｔ＋Ｔ）＝ｆ（ｔ）、及び任意のδ＞０において、有限の値ｎ及び重み付けベクトルＷ＊が存在し、下記式（７）のようになる。
【００６０】
【数１０】
0004306299.tif 000011
【００６１】
２．周期Ｔ、及びｎ未満の次元を有する全三角多項式の中で、ＨＴＮＮは可能な限り最良の平均平方近似値をｆに与える。
【００６２】
以下に、図３のＨＴＮＮの学習機構及びシステム安定性について説明する。
【００６３】
図２（ｂ）から、ｙ＝ｙｍならば、ＨＴＮＮを有しないＨＤＤサーボの原動力は、下記式（８）のように記述することができる。
【００６４】
【数１１】
0004306299.tif 000012
【００６５】
公称サーボ制御器２００が、線形比例微分制御器である場合、下記式（９）が得られる。
【００６６】
【数１２】
0004306299.tif 000013
【００６７】
ここで、ｅ＝ｙ＊−ｙは、位置誤差（position error）である。
【００６８】
この制御器のゲインは下記式（１０）のとおりである。
【００６９】
【数１３】
0004306299.tif 000014
【００７０】
ここで、ｋｃ＞０，β０＞０及びβ１＞０は、下記式（１１）で定義される合成誤差（composite error）の係数である。
【００７１】
【数１４】
0004306299.tif 000015
【００７２】
したがって、上記式（８）乃至式（１０）を考慮して、式（１１）を微分することによって、下記式（１２）が得られる。
【００７３】
【数１５】
0004306299.tif 000016
【００７４】
ここで、ｆＲ（ｔ）＝−ｋｖｋｙｆ（ｔ）である。
【００７５】
ＨＴＮＮ２２２の出力ｆＮ（ｔ，Ｗ（ｔ））を考慮すると、下記式（１３）が得られる。
【００７６】
【数１６】
0004306299.tif 000017
【００７７】
安定性の設計の場合は、下記式（１４）のように、リアプノフ関数が構築される。
【００７８】
【数１７】
0004306299.tif 000018
【００７９】
ここで、ＥＷ（ｔ）＝Ｗ＊−Ｗ（ｔ）は重み誤差（weight error）である。
【００８０】
ＨＴＮＮ２２２が、連続時間で（例えば、アナログ回路によって）動作する場合は、ＨＴＮＮ２２２の学習ルールは、ここでは下記式（１５）となるように選ばれる。
【００８１】
【数１８】
0004306299.tif 000019
【００８２】
ここで、
【００８３】
【数１９】
0004306299.tif 000020
【００８４】
である。
【００８５】
したがって、ＨＴＮＮ２２２の動作、及び学習アルゴリズムは図４に概略的に示されているようになる。ここで、ボックス４００はＨＴＮＮ２２２を表し、ボックス４０１は学習機構２２１の動作を示す。ＨＴＮＮ２２２は、ＸをＡで乗算する連続ループを有し、Ｘは学習機構４０１にフィードバックされる。したがって、Ｖ（ｔ）の時間微分は、下記式（１６）のとおりである。
【００８６】
【数２０】
0004306299.tif 000021
【００８７】
よって、
【００８８】
【数２１】
0004306299.tif 000022
【００８９】
上記式（１７ａ）が満たされる時、式（１７ｂ）に示す関係が成り立つ。
【００９０】
したがって、システム合成誤差は、β１δ／ｋｃに収束するが、これは換言すると、誤差ｅ（ｔ）は次の線形微分方程式（１８）に従って収束することを意味する。
【００９１】
【数２２】
0004306299.tif 000023
【００９２】
式（１８）の解は、下記式（１９）のとおりである。
【００９３】
【数２３】
0004306299.tif 000024
【００９４】
式（１９）は、システムの誤差ｅ（ｔ）が、その初期値ｅ（０）から、β１δ／（β０ｋｃ）のバイアスで、正の定数β１δ／（β０ｋｃ）に向かって、β０／β１の指数定数で、指数関数的に収束することを示している。
【００９５】
以下に、ＨＴＮＮ及び学習機構のパラメータをどのようにして選択するかという点について説明する。
【００９６】
ＨＴＮＮの隠れ層ニューロンの初期状態、すなわちＸ（０）は、状態Ｘ（ｔ）が三角関数的であることを確実にするように割り当てられるべきであり、つまり下記式（２０）のようになる。
【００９７】
【数２４】
0004306299.tif 000025
【００９８】
ＨＴＮＮ内の重みＷ（０）の初期値は、ＨＴＮＮがゼロ初期出力を有するように、ゼロに設定されてもよい。
【００９９】
【数２５】
0004306299.tif 000026
【０１００】
ＨＴＮＮの次元ｎは、近似精度δに影響し、さらに、全体のシステム補償性能に影響する。一般に、ｎが大きいと、結果的にδが小さくなるので、良好な補償である。しかしながら、ＨＴＮＮの次元ｎは、実際には制限がある。例えば、ＨＴＮＮがアナログＶＬＳＩで実現される場合は、集積度で制限され、また、ＨＴＮＮがソフトウェアで実現される場合は、ＤＳＰの計算能力で制限されることがある。ＨＴＮＮの次元ｎを選択する現実的な方法は、誤差信号に対する高調波解析によるものである。誤差信号の高調波成分の内容から、ＨＴＮＮが全ての主な高調波成分を打ち消すことが確実となるように、適切なｎを選ぶことができる。ｎを設定する他の方法としては、ハードウェア又はソフトウェアの制限を考慮した上で、充分な補償性能が達成されるまでｎを初期値から増加させるというものがある。この方法は、ＨＴＮＮが動作設定前に、又はオンラインアダプテーションによって行われる。
【０１０１】
次に、パラメータβ０、β１及びｋｃの設定方法について説明する。
【０１０２】
上記式（１０）から、下記式（２２）が得られる。
【０１０３】
【数２６】
0004306299.tif 000027
【０１０４】
リニアシステムが臨界状態で動作するようにリニア制御器が設計されていると仮定した場合、すなわち、
【０１０５】
【数２７】
0004306299.tif 000028
【０１０６】
であると仮定すると、下記式（２４）が得られる。
【０１０７】
【数２８】
0004306299.tif 000029
【０１０８】
β１＝ｋ１と設定すると、β０＝２ｋ０となる。よって、式（９）及び式（１１）から、下記式（２５）が得られる。
【０１０９】
【数２９】
0004306299.tif 000030
【０１１０】
学習機構において式（２５）を使用すると、通常現実的には問題となるｅ（ｔ）の微分の測定が避けられる。
【０１１１】
ここで、ハードウェア又はソフトウェアのいずれか一方を用いた実施の形態について説明する。
【０１１２】
先ず、ＤＳＰを使用してのソフトウェアによる実施の形態、及びアナログＶＬＳＩでのハードウェアによる実施の形態を以下に詳細に説明する。この場合、上述の連続方程式はもはや適切ではないので、代わりに、式（５）を下記式（２６）のように変換する。
【０１１３】
【数３０】
0004306299.tif 000031
【０１１４】
ここで、Ｔはサンプリング時間で、
【０１１５】
【数３１】
0004306299.tif 000032
【０１１６】
である。Ｘｄ（ｋ）の初期値は
Ｘｄ（０）＝［０１×ｎ  Ｉ１×ｎ］Ｔ
である。
【０１１７】
学習ルールを表す式（１５）は、下記式（２７）で置換される。
【０１１８】
【数３２】
0004306299.tif 000033
【０１１９】
ＤＳＰソフトウェアにより学習機構が実現されるＨＴＮＮの概略ブロック図を図５に示す。ここで、５００はニューラルネットワーク本体であり、５０１は学習機構である。この場合、全体の構造は図４のものに似ているが、ブロック５００において、行列Ａが行列Ｄに置き換えられ、積分器はｚ−１で示されている遅延ユニットに置き換えられている。同様に、学習機構に対応するブロック５０１において、積分器は遅延ユニットｚ−１に置き換えられ、ブロック５０１の出力はこの遅延ユニットの合計、すなわち、式（２７）の結果で、前のサイクルにおけるＷである。
【０１２０】
次に、アナログＶＬＳＩによる実施の形態について説明する。この場合、上記式（５）及び式（１５）は有効であり、上記式（２６）及び式（２７）に置き換えられることはない。一実施例が図６に示されており、これは参考文献［６］（S. P. DeWeerth et al., "A neuron-based pulse servo for motion control", Proc. IEEE Conf. Robotics and Automation (Cincinnati, OH), 1990, pp1698-1703）、［７］(C. A. Mead, Analog VLSI and neural systems, Reading MA, Addison-Wesley, 1989)で発表されている設計手法に従っている。
【０１２１】
図６の左上には相互コンダクタンス増幅器（上記文献［７］参照）と呼ばれる部品６００を示している。部品６００は出力電流ｉ０を有しており、この電流は、複数ある入力端子のうちの２つ入力端子間の入力電圧ｖｉ、他の端子へのバイアス電流ｉｂ、及び利得Ｋの関数であり、下記式（２８）で求められる。
【０１２２】
【数３３】
0004306299.tif 000034
【０１２３】
図６には、また、４象限乗算器と呼ばれる部品６０１が示されている。部品６０１は出力電流ｉ０を有し、この電流は２つの入力電圧ｖｉ１、ｖｉ２並びにバイアス電流ｉｂの関数であり、下記式（２９）で求められる。
【０１２４】
【数３４】
0004306299.tif 000035
【０１２５】
図６の上部はニューラルネットワーク本体であり、下部は学習機構である。
【０１２６】
ニューラルネットワーク本体は、６１０で示される２ｎ個のニューロンを隠れ層に含み、１つのニューロン６２０を出力層に含んでいる。ニューロン６１０からの出力電圧は、ニューロン６２０の入力の一部をなす。ニューロン６１０は、隠れ層ニューロンを構成する素子６１１、６１２、６１３及び６１４を有する。ニューロン６２０は、隠れ層ニューロンの出力を対応する重み付け値で乗算し、その合計をして電圧出力ｖ０を求める素子６２１及び６２２を有する。
【０１２７】
６４０として示されている定電圧ｖｘ０は、学習素子６３０に対応する部分によって生成される重み付け値ｗ０を介して、ニューロン６２０内のいずれかの乗算器（例えば図６の素子６２１）のバイアス電流によってニューロン６２０にバイアスを与える。学習素子６３０は、乗算器６２１で使用するための重み付け値を生成する。
【０１２８】
誤差信号ｅ（ｔ）は、増幅器６５０として示される部品を使用して生成され、増幅器６５０は図示の抵抗配列で、２つの入力ｙ及びｙ＊に接続されている。
【０１２９】
この動作を詳細に説明する。抵抗値Ｒを有する抵抗器６１３を考慮しつつ、相互コンダクタンス増幅器６１２の定義を利用すると、下記式（３０）が得られる。
【０１３０】
【数３５】
0004306299.tif 000036
【０１３１】
ここで、フィードバック行列［αｉ］は、ニューロン６１０内の各ノードを接続、又はその接続を切ることによって決まる。相互コンダクタンス増幅器６１２及びキャパシタＣからなる追従積分器（follower integrator）６１４を使用すると、Ｋ及びＲの正しい選択について、下記式（３１）が得られる。
【０１３２】
【数３６】
0004306299.tif 000037
【０１３３】
乗算器６２１は、下記式（３２）に従って、隠れ層ニューロンの出力を学習した重みｗｉで乗算する。
【０１３４】
【数３７】
0004306299.tif 000038
【０１３５】
ここで、重みは学習素子６３０により求められ、ｉｂ１＝ｗ０である。
【０１３６】
ＨＴＮＮの全出力は、２ｎ全てからの電流の合計を取り、且つ増幅器６２２を使用して、電流ｉ０を電圧信号Ｖ０に変換することによって求められる。
【０１３７】
【数３８】
0004306299.tif 000039
【０１３８】
各学習素子６３０は、下記式（３４）に従って、対応する重み値を連続的に更新する。
【０１３９】
【数３９】
0004306299.tif 000040
【０１４０】
こうして、式（４）中のＨＴＮＮは、アナログＶＬＳＩで実現される。
【０１４１】
上述のように、本発明の実施例によれば、位置決めサーボシステムのシステム性能について、周期的外乱が及ぼす影響を補償することが可能な方法及び装置を提供することができる。
【０１４２】
【発明の効果】
本発明に係る制御装置及び制御方法は、システマティックに実現することができ、周期的外乱の必要な成分の全てが容易に補償可能である。
【０１４３】
また本発明に係る制御装置及び制御方法は、環境変化を学習し、それらに適応する学習能力を有している。
【０１４４】
さらに、本発明に係る制御装置及び制御方法は、ＤＳＰのソフトウェアによってのみならず、ハードウェアによっても実行することができ、サーボＤＳＰの制限は、本発明の補償効果に影響しない。
【０１４５】
また、アナログＶＬＳＩで実現できるので、全ＨＴＮＮ及びその学習機構を、１つのチップに集積することができる。
【０１４６】
本明細書においては、本発明の実施の形態を詳細に説明したが、当業者にとって明らかであるように、本発明は上述した実施の形態に限定される物ではなく、本発明の範囲内で多様な変形が可能であることは言うまでもない。
【０１４７】
（参考文献）
下記参考文献の開示内容を全て本願に引用して援用する：
［１］A. Sacks, M. Bodson and W. Messer, "Advanced method for repeatable runout compensation", IEEE Trans. on Magnetics, vol. 31, no. 2, pp. 1031-1036.
［２］Y. Onuki, H. Ishioka and H. Yada, "Repeatable runout compensation for disk drives using multi-loop adaptive feedforward compensation", SICE ’98, Chiba Japan, pp. 1093-1098.
［３］M. Bodson, A. Sacks and P. Khosla, "Harmonic generation in adaptive feedforward cancellation schemes", IEEE Trans. on Automatic Control, vol. 39, no. 9, pp. 1939-1994
［４］Y. Lou, "Observer-based compensation of repeatable run-outs in hard disk drives", Proceedings of the 9ｔｈ Sony Research Forum (1999) p453-458.
［５］Y. Onuki and H. Ishioka, "Compensation for repeatable tracking errors in hard drives using discrete-time repetitive controllers", Proceedings of the 6ｔｈ International Workshop on advanced motion control, March 2000, Nagoya, Japan, pp 490-495.
［６］S. P. DeWeerth et al., "A neuron-based pulse servo for motion control," Proc. IEEE Int Conf. Robotics and Automation (Cincinnati, OH), 1990, pp 1698-1703.
［７］C. A. Mead, Analog VLSI and neural systems, Reading MA, Addison-Wesley, 1989.
【図面の簡単な説明】
【図１】ハードディスクドライブのサーボシステムにおける周期的外乱の影響を示すグラフである。
【図２】（ａ）はハードディスクドライブのサーボシステムを制御する本発明の実施の形態の構造を示す概略図であり、（ｂ）は同様の図において周期的外乱を力信号として表したものである。
【図３】図２のニューラルネットワークの構造を示す概略図である。
【図４】図３のニューラルネットワーク、及び学習機構の概略を示し、ニューラルネットワークは、連続システムで表されている。
【図５】ＤＳＰソフトウェアで実行される図３のニューラルネットワーク、及びその学習機構の概略ブロック図である。
【図６】アナログＶＬＳＩによる図３のニューラルネットワークの実施例を示す図である。
【符号の説明】
２００  公称サーボ制御器、２１０  システム、２１１  積分器、２１２  積分器、２２０  ユニット、２２１  学習機構、２２２  ＨＴＮＮ、３００  素子、３０１  積分器、３０３  ニューロン、３０４  乗算器、３０６  結果、３０７加算素子、３０８  出力、４００  ＨＴＮＮ、４０１  学習機構、５００  ニューラルネットワーク本体、５０１  学習機構、６００  相互コンダクタンス増幅器、６０１  ４象限乗算器、６１０  ニューロン、６２０  ニューロン、６３０  学習部品、６４０  定電圧、６５０  増幅器
【図１】
0004306299.tif 000041
【図２】
0004306299.tif 000042
【図３】
0004306299.tif 000043
【図４】
0004306299.tif 000044
【図５】
0004306299.tif 000045
【図６】
0004306299.tif 000046