(57)【要約】【課題】  適応型のフィードフォワード制御機構を備えたサーボ制御システムにおいて、位置決め制御を高精度かつ短い整定時間で行えるようにする。【解決手段】  フィードフォワード制御部１２は、制御対象であるプラント２のダイナミクスモデルを備える。フィードフォワード調整部１０は、フィードフォワード制御部１２のモデルの初期パラメータを最小二乗法により求め、初期値に微小な範囲で揺動を与え、その変化において制御されたプラント２の制御結果（入力電流、ヘッダ位置）をバッファに入力し、その制御結果を用いて所定の評価を行い、最良評価となるパラメータを選択する。そして、選択されたパラメータをフィードフォワード制御部１２に設定する。【選択図】  図２
2005339011.tif 000002
【特許請求の範囲】
【請求項１】
適応型のフィードフォワード制御機構を備えたサーボ制御システムにおけるサーボ制御方法において、
前記フィードフォワード制御機構に制御対象のダイナミクスモデルを設け、所定の評価関数を用いて前記ダイナミクスモデルの１または複数のパラメータについて初期値を決定する第１の処理過程と、
前記初期値を所定の微小な範囲で変化させる第２の処理過程と、
前記パラメータの変化において制御される制御対象の制御結果を入力する第３の処理過程と、
前記入力した制御結果を用いて所定の評価における最適値を選択する第４の処理過程と、
前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定する第５の処理過程とを備える
ことを特徴とするサーボ制御方法。
【請求項２】
前記ダイナミクスモデルは、前記制御対象のインバース・ダイナミクスモデルである
ことを特徴とする請求項１に記載のサーボ制御方法。
【請求項３】
前記フィードフォワード制御機構のパラメータが複数である場合に、前記第２ないし第５の処理過程を各パラメータごとに行う
ことを特徴とする請求項１に記載のサーボ制御方法。
【請求項４】
適応型のフィードフォワード制御機構を備えたサーボ制御システムにおいて、
制御対象のダイナミクスモデルを設けたフィードフォワード制御機構と、
所定の評価関数を用いて前記ダイナミクスモデルの１または複数のパラメータについて初期値を決定し、前記初期値を所定の微小な範囲で変化させ、前記パラメータの変化において制御される制御対象の制御結果を入力し、前記入力した制御結果を用いて所定の評価における最適値を選択するパラメータ調整手段と、
前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定するパラメータ更新手段とを備える
ことを特徴とするサーボ制御システム。
【請求項５】
フィードフォワード制御機構を備えたサーボ制御に従ってヘッドを移動するアクチュエータと、前記ヘッドの位置を検出する位置センサとを備えて、前記ヘッドによりディスク状記憶媒体にデータの読み出しもしくは書き込みを行うディスク装置において、
前記アクチュエータのダイナミクスモデルを設けたフィードフォワード制御機構と、
所定の評価関数を用いて前記アクチュエータの１または複数のパラメータについて初期値を決定し、前記初期値を所定の微小な範囲で変化させ、前記パラメータの変化において制御される制御対象の制御結果を入力し、前記入力した制御結果を用いて所定の評価における最適値を選択するパラメータ調整手段と、
前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定するパラメータ更新手段とを備える
ことを特徴とするディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、適応型フィードフォワード制御機構を備えるサーボ制御システムにおけるサーボ制御方法およびそのシステムならびに前記サーボ制御方法を用いるディスク装置に関する。
【背景技術】
【０００２】
本発明は、サーボ・トラック・リード／ライタなどの産業機器、ロボットなどに適用することができる。
【０００３】
以下に、本発明の適用が可能なサーボ制御システムとして、例えばサーボ・トラック・リード／ライタ（ディスク装置）のタイプをいくつか説明する。本発明は、このようなディスク装置におけるヘッドの位置決め制御に適用することができる。
【０００４】
図１９に、内部アクチュエータと光学式ヘッドとを備えるディスク装置の例を示す。図１９に示す装置では、サーボトラックへの読み出し／書き込み用の磁気ヘッド９１３の位置決めは、ボイス・コイル・モータ（ＶＣＭ）を備えた内部アクチュエータ９１５によって行われる。オプティカルヘッド９１１が移動することにより、磁気ヘッド９１３が目標位置へ移動する。
【０００５】
また、図２０に、内部アクチュエータとエンコーダとを備えるディスク装置の例を示す。図２０に示す装置では、読み出し／書き込み用の磁気ヘッド９２１の目標位置は、内部アクチュエータ９２４によって決定される。磁気ヘッド９２１の位置は、センサ９２２とエンコーダスケール９２３を用いて検出され、ガイドアーム９２５によって決められる。
【０００６】
また、図２１に、外部アクチュエータを備えるディスク装置の例を示す。図２１に示す装置では、外部アクチュエータ９３４によって、ピン９３２を介してガイドアーム９３７と磁気ヘッド９３１を目標位置まで移動させて、ミラー９３３とレーザ光線９３６とを用いたセンサ９３５によって磁気ヘッド９３１の正確な位置が検出される。
【０００７】
近年では、高容量の磁気ディスク装置の需要が著しい。磁気ディスク装置の製造では記憶容量が多くなるほど時間がかかるため、単位時間あたりの製造能力が減少することになる。これは、必然的に製品のコストを押し上げるため、ディスク装置の小型化など、従来技術の改良が必要とされている。
【０００８】
ロボットは、複数の自由度（ＤＯＦ）が組み合わされた複雑なシステムである。ロボットでは、制御対象の不確実性、ギアのバックラッシュなどの影響下で制御する必要がある。本発明は、例えば、ロボットの股関節部の動きの回転パラメータの調整に適用することができる。
【０００９】
ディスク装置の読み出し／書き込み用のヘッドの位置決めを安定的に制御するために、フィードバック・システムが必要である。そのため、次の制御周期における状態量を予測してフィードバック補整するディジタルサーボ制御装置などがある（例えば特許文献１参照）。
【００１０】
しかし、多くの場合、フィードバックによる補正だけでは、良いトラッキング性能を実現することはできない。例えば、図２２に示すように、フィードバック制御機構（ＦＢコントローラ）を備えたディスク装置において、0.001secの整定時間内で磁気ヘッドの位置決めを行うように制御しても、目標位置周辺でのオーバーシュートなどによって、実際に目標位置へ整定されるまでの時間は0.004secとなり、目標の時間より４倍も長くなる。
【００１１】
最短の整定時間(0.001sec)を実現するために、図２３に示すように、制御システムに第２の制御機構として、フィードフォワード制御機構（ＦＦコントローラ）を追加する手法がある。
【００１２】
ＦＦコントローラは、制御対象のプロセスやシステムの動作特性が十分に同定されている場合にのみ有効である。ＦＦコントローラのパラメータは、制御対象システムのステップ応答の観測にもとづいてマニュアルで調整される。ＦＦコントローラによる補正結果は有効ではあるが、制御対象が多くなると調整に非常に長時間を要する。
【００１３】
そのため、制御対象とする装置について、例えば１０台程度の装置のステップ応答の観察結果を解析するだけで、全ての装置のＦＦコントローラのパラメータを設定することが行われる。しかし、この場合には、制御対象のいくつかの装置の動作特定を観察するだけで全ての装置の動作特性を特定したとみなしてＦＦパラメータを設定することになる。全ての装置の動作特性が完全に同一であることはないため、たとえ装置が同一かつ通常の仕様であっても、あらゆる装置においてＦＦパラメータが有効に働き、良い性能を発揮できるとは限らない。
【特許文献１】特開平０６−２９２３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
例えばディスク装置において磁気ヘッドの迅速な位置決めを実現するために、制御されるシステムの特性を正確に反映したフィードフォワード制御が必要である。
【００１５】
図２４に示すように、従来技術のフィードフォワードコントローラを備えたディスク装置においても、読み出し／書き込み用の磁気ヘッドは、目標トラックに整定される前にその周囲で振動する。そのため、ヘッドの整定時間を、目標位置に対して設定された最小値に近づけることは困難であった。
【００１６】
本発明の目的は、適応型フィードフォワード制御機構を備えたサーボ制御システムにおける位置決め制御において、目標位置の周囲での振動を抑制し、整定時間を短縮できるようなＦＦコントローラのパラメータの調整を行うサーボ制御方法およびそのシステムを提供することである。
【００１７】
また、前記のようなサーボ制御方法によりヘッドの位置決めを制御できるようなディスク装置を提供することである。
【課題を解決するための手段】
【００１８】
上記の目的を達成するために、本発明は、適応型のフィードフォワード制御機構を備えたサーボ制御システムにおけるサーボ制御方法において、１）前記フィードフォワード制御機構に制御対象のダイナミクスモデルを設け、所定の評価関数を用いて前記ダイナミクスモデルの１または複数のパラメータについて初期値を決定する第１の処理過程と、２）前記初期値を所定の微小な範囲で変化させる第２の処理過程と、３）前記パラメータの変化において制御される制御対象の制御結果を入力する第３の処理過程と、４）前記入力した制御結果を用いて所定の評価における最適値を選択する第４の処理過程と、５）前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定する第５の処理過程とを備える。
【００１９】
また、本発明は、適応型のフィードフォワード制御機構を備えたサーボ制御システムにおいて、１）制御対象のダイナミクスモデルを設けたフィードフォワード制御機構と、２）所定の評価関数を用いて前記ダイナミクスモデルの１または複数のパラメータについて初期値を決定し、前記初期値を所定の微小な範囲で変化させ、前記パラメータの変化において制御される制御対象の制御結果を入力し、前記入力した制御結果を用いて所定の評価における最適値を選択するパラメータ調整手段と、３）前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定するパラメータ更新手段とを備える。
【００２０】
また、本発明は、フィードフォワード制御機構を備えたサーボ制御に従ってヘッドを移動するアクチュエータと、前記ヘッドの位置を検出する位置センサとを備えて、前記ヘッドによりディスク状記憶媒体にデータの読み出しもしくは書き込みを行うディスク装置において、１）前記アクチュエータのダイナミクスモデルを設けたフィードフォワード制御機構と、２）所定の評価関数を用いて前記アクチュエータの１または複数のパラメータについて初期値を決定し、前記初期値を所定の微小な範囲で変化させ、前記パラメータの変化において制御される制御対象の制御結果を入力し、前記入力した制御結果を用いて所定の評価における最適値を選択するパラメータ調整手段と、３）前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定するパラメータ更新手段とを備える。
【００２１】
本発明では、サーボ制御システムによる位置決めを高精度かつ短い整定時間で実現するために、フィードフォワード制御機構に対して、制御対象（プロセス、システムなど）が制御されている間に正確に特定された状態にもとづいた最適なパラメータが設定されるように、２つのアルゴリズムの組み合わせて、パラメータフィードフォワード制御機構のパラメータを調整する手段を備えることを特徴とする。
【００２２】
フィードフォワード制御機構のパラメータ調整手段は、例えば最小二乗アルゴリズム（Least squares algorithm ）を基にした第１のアルゴリズムと、本発明で新規に提案する第２のアルゴリズムとを組み合わせてパラメータの調整処理を行う。
【００２３】
第１のアルゴリズムは、所定の評価関数の最小値を探索するために最初の段階において使用される。第２のアルゴリズムは、より高い精度で最小値を探索してリアルタイムで位置決めを行うために使用される。
【００２４】
従来、フィードフォワード制御に最小二乗法などの手法を適用する際に、特に制御対象へ入力される断続的な励磁信号が十分でない場合には、すぐに高い制御性能を実現することはできなかった。
【００２５】
ディスク装置など多く制御対象システムでは、制御対象の共振周波数が低く抑えられるため、開ループシステムのゲイン幅に比べてフィードバックのゲイン余有が限られたものになり、迅速な応答には十分ではなかった。そのため、最小二乗法だけを用いたとしても、ステップ応答における振動が長時間残存することになっていた。
【００２６】
本発明では、フィードフォワード制御機構のパラメータ調整に２つのアルゴリズムを組み合わせることにより、このような問題を解決したものである。
【００２７】
最初の段階として、第１のアルゴリズムでは、例えばディスク装置において、トラックから次のトラックへの切り換わり時のアクチュエータ入力（電流）およびヘッドの位置情報をトレースし、例えば最小二乗法を用いてトレースデータからＦＦパラメータを決定する、そして、第２のアルゴリズムによって調整された直近の最適値に従って、フィードフォワード制御機構のパラメータを設定する。
【００２８】
第２のアルゴリズムでは、ディスク装置の制御中に、第１のアルゴリズムで決定されたＦＦパラメータに対して所定の微小な範囲での揺動を継続的に与えて、所定の評価関数の最小値（最適値）を探索し、全体としての最適値とする。
【００２９】
第２のアルゴリズムをより詳しく説明する。第１の最小二乗アルゴリズムにより取得した評価関数の初期値をｆ0 とする。値ｆ0 は、ｆとして最適化されるパラメータの近傍にある値である。パラメータＰ0 （ｆ0 , ｅ0 ）において、ｅ0 は、パラメータの初期値ｆ0 に対応するコスト関数の値とする。
【００３０】
まず、パラメータＰ0 のｆ0 から所定の値α分ある方向（＋方向）へ移動させて、ｅ1 がｅ0 より大きいＰ1 （ｆ1 , ｅ1 ）を得る。また、α分だけｆ0 を逆方向（−方向）へ移動させてＰ2 （ｆ2 ，ｅ2 ）を得る。ここで、e 2 がｅ0 より小さければ、α分だけｆ2 を同方向（−方向）へ移動させてＰ3 （ｆ3 ，ｅ3 ）を得る。
【００３１】
さらに、ｅ3 がｅ2 より大きい場合は、１つ前のＰ2 へ戻り、α／２分だけ同方向（−方向）へ移動してｆ2 の値を変更し、Ｐ4 （ｆ4 ，ｅ4 ）を得る。さらに、ｅ4 がｅ2 より大きい値であると仮定すると、前のＰ2 へ戻り、α／４分だけ同方向（−方向）へ移動してＰ5 を得る。ここで、ｅ5 がｅ2 より大きいＰ5 （ｆ5 ，ｅ5 ) を得たとすると、同方向（−方向）の探索を中止し、反対方向（＋方向）を探索する。
【００３２】
同様に、α／２分だけｆ2 の値を＋方向へ移動して、ｅ6 がｅ2 より大きいＰ6 （ｆ6 ，ｅ6 ）を得ると仮定する。この場合、前のＰ2 へ戻り、α／４分だけｆ2 を同方向（＋方向）へ移動させる。ｅ7 がｅ2 より大きいＰ7 （ｆ7 ，ｅ7 ）を得ると仮定する。この場合に、コスト関数を最小とする値は、ｆ2 の−α／４からα／４までの区間に位置することがわかる。
【００３３】
最終的にＰ2 に対応するｆ2 の値に戻ることになるが、最適化処理のループが終了する前にシステムが実行され制御対象の状態が変化しているので、Ｐ2 のｆ2 に対応する新しいデータを再トレースする必要があり、結果的にｅ2 が再計算される。
【００３４】
また、本発明は、第２のアルゴリズムの処理において、調整対象とする数値を順次変化させる手法を組み合わせることを特徴とする。
【００３５】
あまり高くない精度で制御されるシステム（もしくはダイナミクスモデル）のフィードフォワード制御機構（もしくは逆ダイナミクスモデル）を考える。簡明にするため、フィードフォワード制御機構のパラメータ取得の問題を、位置（位置パラメータ）および速度（速度パラメータ）に限定する。
【００３６】
第１処理ループは、位置パラメータについての解の一次オーダであり、位置パラメータの初期値に所定の微小な揺動を与えて、前述のアルゴリズムに従って評価を行い、位置パラメータの最適値を取得する。この第１処理ループで取得した解（位置パラメータの最適値）は変更せずに保持したまま、第２処理ループを行う。
【００３７】
第２処理ループでは、位置パラメータを取得したアルゴリズムと同じアルゴリズムに従って速度パラメータを取得する。そして、第２処理ループを終了すると、この速度パラメータ（最適値）を変更せずに保持したままで、位置パラメータの最初の最適値について揺動を行い、評価関数を通じてヘッドの位置の良否を評価する。
【００３８】
このようにして、第２のアルゴリズムでは、複数のパラメータについて、順番に、リアルタイムでトラッキングしたデータに従って各パラメータの所定の評価関数の最小値を求め、全体での最小値（最適値）を決定していく。
【００３９】
第２アルゴリズムによって全体での最小値を探索するためには、フィードフォワード制御機構のパラメータの初期値が、評価関数の全体での最小値を含む曲線に一致している必要がある。このような最小値の探索の初期パラメータを取得するために、最小二乗法の他、試行錯誤法、もしくは他の手法のアルゴリズムを用いることができる。
【発明の効果】
【００４０】
本発明によれば、適応型フィードフォワード制御機構に備えたサーボ制御システムにおいて、制御対象のダイナミクスを事前に特定することなく、フィードフォワード制御機構に備えた制御対象のダイナミクスモデル（もしくは逆ダイナミクスのモデル）のパラメータを自動的にかつリアルタイムにチューニングすることができ、位置決め制御を高精度かつ短い整定時間で実現することができる。
【００４１】
特に、低い周波数により高いゲインのフィードバックが期待できない制御システムにおいても迅速な応答を実現することができる。
【００４２】
よって、本発明は、ロボットやディスク装置のような自律システムなど広範囲のシステムに適用することができ、高精度のリアルタイムの適応制御を実現することができる。
【発明を実施するための最良の形態】
【００４３】
最良の実施形態として、本発明をディスク装置に適用した場合の処理を説明する。
【００４４】
図１に、ディスク装置のシステム構成例を示す。
【００４５】
ディスク装置は、サーボ制御に従ってディスクにデータの書き込み／読み出しを行うサーボ・トラック・リード／ライタ（以下、プラントとする）２、プラント２のサーボ制御を行う信号を処理するサーボボード内のディジタル信号プロセッサ（ＤＳＰ）１、ＩＳＡインタフェースを介してサーボ制御のモニタリングなどを行うコンピュータ端末（ＰＣ）３などで構成される。
【００４６】
ＤＳＰ１は、プラント２のアクチュエータ２１へ入力電力を出力し、読み出し／書き込み用のヘッド２２の位置を検出する位置センサ２３からヘッド位置情報を入力する。
【００４７】
図２に、ＤＳＰ１の構成例を示す。
【００４８】
ＤＳＰ１は、フィードフォワード調整部（ＦＦ調整部）１０、フィードフォワード制御部（ＦＦコントローラ）１２、フィードバック制御部（ＦＢコントローラ）１４などから構成される。
【００４９】
ＦＦ調整部１０は、第１のアルゴリズムおよび第２のアルゴリズムを組み合わせて、ＦＦコントローラ１２のパラメータのチューニングをリアルタイムで行う処理手段である。ＦＦコントローラ１２は、フィードフォワード・パラメータ（ＦＦパラメータ）を出力して、プラント２のアクチュエータ２１を制御する処理手段である。フィードバック制御部（ＦＢコントローラ）１４は、位置センサ２３から取得したヘッド位置をもとに、アクチュエータ２１の動作を補償する処理手段である。
【００５０】
図３に、フィードフォワード調整部１０の構成例を示す。
【００５１】
ＦＦ調整部１０は、トレースデータバッファ１１１、チューニング部１１３、フィードフォワード・パラメータ更新部（ＦＦパラメータ更新部）１１５からなる。
【００５２】
トレースデータバッファ１１１は、ヘッド２２が、あるトラック（Ｔｒａｃｋ１）から別のトラック（Ｔｒａｃｋ２）へ切り換わる間のアクチュエータ２１の入力（電流）とヘッド位置とのトレースデータが格納される記憶手段である。
【００５３】
チューニング部１１３は、トレースデータバッファ１１１のトレースデータを用いてＦＦコントローラ１２のパラメータの最適値を計算する処理手段である。
【００５４】
ＦＦパラメータ更新部１１５は、チューニング部１１３で計算されたＦＦパラメータの最適値に従ってＦＦコントローラ１２を更新する処理手段である。
【００５５】
ＦＦ調整部１０は、アクチュエータ２１への入力信号と位置センサ２３からのヘッド位置のトレースデータをトレースデータバッファ１１１に格納すると、チューニング部１１３によって、このトレースデータをもとにＦＦコントローラ１２のパラメータの最適値を求め、ＦＦパラメータ更新部１１５によって、求めた最適値をＦＦコントローラ１２に設定する。これらの処理は、プラント２のディスクの最後のトラックまで断続的に繰り返される。
【００５６】
図４に、フィードフォワード調整部１０の処理の流れを示す。
【００５７】
ＦＦ調整部１０では、まず、各トラックについてのアクチュエータ２１の入力（電流）とヘッド位置を含むデータをトレースし、トレースされたデータをトレースデータバッファ１１１へ格納する（ステップＳ１）。そして、ランダムな雑音を補正するために、数トラック分のトレースデータを平均化し（ステップＳ２）、トレースデータをオフセットし（ステップＳ３）、高周波雑音の除去のためにローパス・フィルタリング処理を行い（ステップＳ４）、ＦＦパラメータのチューニング処理を行う（ステップＳ５）。
【００５８】
その後、推定したＦＦパラメータと実際の制御対象の状態とのマッチングを行う（ステップＳ６）。主に制御対象のダイナミクスが適切にモデル化されていないことが原因で、推定したＦＦパラメータが、所定の入力電流に対して適切な値へと収束しない状況が生じることがあるからである。
【００５９】
推定したＦＦパラメータによるモデルと実際のアクチュエータ２１の状態との相違を示すマッチング因子αが所定の範囲（ε）内である場合には、ＦＦコントローラ１２のパラメータを更新する（ステップＳ７）。
【００６０】
一方、予期されない原因によってマッチング因子αが所定の範囲（ε）を超えていた場合には、チューニングは失敗し、直前に推定されたパラメータを使用して制御が行われている間に、ステップＳ１の処理へ戻り、チューニング用の新たなデータをトレースして、以降の処理を繰り返す。
【００６１】
図５のチューニング処理におけるタイムチャートに示すように、トラックカウンタは、各チューニング処理の開始時においてゼロに設定される。トレースデータの平均化は、例えば２０トラック程度のトラックのデータを用いて行われる。
【００６２】
トラックデータの平均化が終了すると直ちにチューニング処理が開始される。チューニング処理は、２トラック分程度の時間で行われる。チューニング処理終了後に、ＦＦコントローラ１２は、新たなチューニング結果によって更新される。以降、トラックカウンタが所定のトラック数（例えば１００）に達すると、カウンタ値がゼロに設定され、同様の処理が繰り返される。これにより、本システムでは、１００トラックごとにＦＦコントローラ１２のパラメータが更新されることになる。
【００６３】
図６に、ステップＳ５のチューニング処理のより詳細な処理の流れを示す。
【００６４】
ＦＦコントローラ１２に設定された制御対象のダイナミクスモデルに、３つのパラメータ、すなわち、速度（ＦｆＶｅｌ）、加速度（ＦｆＡｃｃ）および加速度変化量（ＦｆＤａｃｃ）が定められているとする。図６に示す処理の流れに、２つの主なループ、ループＬ１とループＬ２がある。ループＬ１は、ＦＦパラメータを、加速度ＦｆＡｃｃから速度ＦｆＶｅｌへ、さらに加速度変化量ＦｆＤａｃｃへと順にシフトする処理ループである。ループＬ２はトラック番号をインクリメントする処理ループである。
【００６５】
ステップＳ５００：  チューニング部１１３は、最適化処理を実行するための開始点として、ＦＦコントローラ１２からＦＦパラメータを読み込む。
【００６６】
ステップＳ５０１：  制御対象をシークして、例えば、連続した２０トラック分のトレースデータ（ヘッドの位置）をトレースデータバッファ１１１に格納し、トレースデータの平均値を得る。なお、平均化に用いるトラック数は、本発明を適用する対象ごとに異なってよい。
【００６７】
ステップＳ５０２：  図７に示すように、以下に示す式（２）に従って、目標位置”ｅｍ0 ”と、ヘッド２２の実際の位置との最大位置誤差”ＭａｘＰｏｓＥｒｒ”を計算する。
【００６８】
【数１】
2005339011.tif 000003
式（１）および式（２）において、ｐｏｓは、制御されたヘッダ２２の位置を、ｐｉｔｃｈは、目標位置を意味する。
【００６９】
ステップＳ５０３：  ｉ＝０とする。ｉ＝０の場合は、ＦＦコントローラ１２の加速度パラメータが最適化処理の対象となることを意味する。なお、ｉ＝１の場合は、ＦＦコントローラ１２の速度パラメータが、ｉ＝２の場合は、ＦＦコントローラ１２の加速度変化量パラメータが、それぞれ最適化処理の対象であることを意味する。
【００７０】
ステップＳ５０４：  ＦＦコントローラ１２のパラメータの揺動量であるα［ｉ］を設定する。α［ｉ］は、複数の実験値によって決定されているものとする。α［ｉ］の選択は、非常に重要であり、最適化アルゴリズムの収束率について重大な影響を及ぼす。そのため、図７に示すように、α［ｉ］の選択は、式（１）におけるＭａｘＰｏｓＥｒｒ、すなわち実際の位置と目標位置との最大位置誤差に従って決定される。
【００７１】
ステップＳ５０５：  トラックカウンタをもとに、「トラック数ｉＴｒａｃｋ％＝５００」であるか否かを判定する。ｉＴｒａｃｋ％＝５００であればステップＳ５０６の処理を行い、ｉＴｒａｃｋ％＝５００でなければステップＳ５０７の処理を行う。
【００７２】
ステップＳ５０６：  ＦＦパラメータの最適値を選択してファイルに保存する。数百トラックの範囲内での最大位置誤差の最小値に対応するＦＦパラメータがファイルに保存される。
【００７３】
ステップＳ５０７：  最適化処理を行う。ＦＦパラメータを決定する評価関数の最小値をリアルタイムでトラッキングすることで、パラメータの精度を向上させるためである。最適化処理の詳細は、図８および図９を用いて後述する。
【００７４】
ステップＳ５０８：  ｉ＜３であるか否かを判定する。ここで、“３”は、最適化の対象となるパラメータ数に相当するものである。ｉ＜３であれば、ｉをインクリメントして（ステップＳ５０９）、ステップＳ５０４の処理へ戻る。
【００７５】
ステップＳ５１０：  「トラック数ｉＴｒａｃｋ＜最大トラック数ｉＭａｘＴｒａｃｋ」であるか否かを判定する。トラック数ｉＴｒａｃｋが、最大トラック数ｉＭａｘＴｒａｃｋより小さければ、ｉＴｒａｃｋをインクリメントして（ステップＳ５１１）、ステップＳ５０３の処理へ戻る。トラック数ｉＴｒａｃｋが、最大トラック数ｉＭａｘＴｒａｃｋに達していれば、処理を終了する。
【００７６】
図８は、ステップＳ５０７の最適化処理のアルゴリズムを説明するための図である。
【００７７】
ＦＦコントローラ１２の初期パラメータを、Ｐ0 に対応するＦＦ0 と仮定する。Ｐ0 （ＦＦ0 ）から、ある方向（＋方向）へα分移動すると、ｅｍ1 がより大きいＰ1 を取得する。そこで、次のステップでは、Ｐ0 から逆方向（−方向）へα分移動して、ｅｍ1 がより小さいＰ2 を取得する。そこで、Ｐ2 から同方向（−方向）へα分移動してＰ3 を取得する。
【００７８】
しかし、Ｐ3 ではｅｍ1 がＰ2 より大きな値となるため、一つ前のＰ2 へ戻る。そして、αをα／２とし、Ｐ2 から同方向（−方向）へα／２分だけ移動してＰ4 を取得する。Ｐ4 では、ｅｍ1 がＰ2 の値より大きい。そこで、先のＰ2 へ戻る。
【００７９】
さらに、αをα／４とし、Ｐ2 から同方向（−方向）へα／４分移動してＰ5 を取得するが、ｅｍ1 がＰ2 の値より大きい。そこで、現在の移動方向（−方向）と反対方向（＋方向）で探索を行う。そして、同様の処理により、ｅｍ1 がＰ2 の値より大きいＰ6 およびＰ7 を取得する。このようにして、ｅｍ1 がｅｍ0 より小さい時に、後者のｅｍ0 は、ｅｍ1 によって更新されて、最終的にＰ2 に対応するＦＦを決定する。
【００８０】
ここで、プラント２は制御中であって、ダイナミクスの状態が変化しているので、最適化処理を抜ける前に、Ｐ2 のＦＦに相当するヘッド位置を再トレースし、ｅｍ1 を再計算することになる。
【００８１】
さらに、図９に、ステップＳ５０７の最適化処理のより詳細な処理フローを示す。
【００８２】
図９に示す処理フローは、異なるケースに対応する４つのループからなる。処理開始時において、すべてのフラグは、ｎｕｌｌである。例えば、ｉＮｇ＝０であり、ｉＥｎｄ＝０である。ｅｍ0 は、最適化処理におけるｅｍ1 の最小値である。
【００８３】
ＦＦコントローラ１２の初期パラメータを、Ｐ0 に対応するＦＦ0 と仮定する。ＦＦ0 をＦＦ0 ＋αと設定する（ステップＳ６０１）。シークおよびトレースを行い（ステップＳ６０２）、ｅｍ1 とＭａｘＰｏｓＥｒｒを計算する（ステップＳ６０３）。「ｅｍ1 ＜ｅｍ0 」を判定する（ステップＳ６０４）。
【００８４】
ｅｍ1 ＜ｅｍ0 であれば、ｉＮｇ＝０およびｉＥｎｄ＝０とし（ステップＳ６０５）、さらに、ｅｍ1 ＝ｅｍ0 として（ステップＳ６０６）、「最適化数ｉＯｐｔｉｍａｌ＜ループ数ｉＬｏｏｐ」を判定する（ステップＳ６０７）。ここで、最適化数ｉＯｐｔｉｍａｌ＜ループ数ｉＬｏｏｐであれば、最適化数ｉＯｐｔｉｍａｌをインクリメントし（ステップＳ６０８）、ステップＳ６０１の処理へ戻る。
【００８５】
一方、ｅｍ1 ＜ｅｍ0 でなければ、さらに、「ｉＯｐｔｉｍａｌ＝０」を判定する（ステップＳ６０９）。ｉＯｐｔｉｍａｌ＝０、すなわち１回目の処理ループであれば、ＦＦ＝ＦＦ−αとして移動し（ステップＳ６１０）、α＝−αとして（ステップＳ６１１）、ステップＳ６０７の処理へ進む。
【００８６】
また、ｉＯｐｔｉｍａｌ＝０でなければ、すなわち２回目以降の処理ループであれば、さらに、ＦＦ＝ＦＦ−αとし、さらにｉＮｇをインクリメントする（ステップＳ６１２）。
【００８７】
次に、「ｉＮｇ＝３」を判定し（ステップＳ６１３）、ｉＮｇ＝３でなければ、すなわち２回目の処理ループであれば、α＝α／２として（ステップＳ６１４）、ステップＳ６０７の処理へ進む。
【００８８】
また、ｉＮｇ＝３であれば、すなわち３回目の処理ループであれば、α＝−２αとし、さらにｉＮｇ＝１としてｉＥｎｄをインクリメントする（ステップＳ６１５）。
【００８９】
そして、「ｉＥｎｄ＝２」を判定する（ステップＳ６１６）。ｉＥｎｄ＝２でなければ、ＦＦを読み込んで設定し（ステップＳ６１７）、位置のシークとトレースを行い（ステップＳ６１８）、ｅｍ1 とＭａｘＰｏｓＥｒｒを計算する（ステップＳ６１９）。なお、この後ステップＳ６０４の処理へ戻る。また、ｉＥｎｄ＝２であれば、ステップＳ６０７の処理へ戻る。
【００９０】
以下に、本発明の具体的な適用例を示す。
【００９１】
本適用例では、１回のチューニング処理の所要時間は、１回のサンプリング時間、さらには１トラックの持続時間より長い。また、ランダムなノイズを減らすために、チューニング処理前に２０トラック分のデータの平均化が行われるようにする。一方、制御対象のパラメータは、ゆっくりと時間に従って変動すると仮定する。
【００９２】
図１０に、本発明が適用されるディスク装置の構成例を示す。
【００９３】
図１０に示すディスク装置は、ＤＳＰ１、外部アクチュエータを備えたサーボ・トラック・リード／ライタ（プラント）２などからなる。
【００９４】
プラント２を制御するＤＳＰ１は、ＦＦ調整部１０、ＦＦコントローラ１２、ＦＢコントローラ１４、基準電流出力部１６、ＩＩＲ（Infinite Impulse Response ）フィルタ１８などから構成される。図１０の処理手段のうち図２に示す処理手段と同一番号が付与された処理手段は、同様の処理を行う。
【００９５】
まず、ＦＦコントローラ１２に設定されるアクチュエータ２１のダイナミクスモデルを説明する。ここでは、プラントの離散時間モデルが使用される。制御対象の形式から、以下のような２次オーダーの連続時間プラントモデルを演繹する。
【００９６】
Ｐ（ｓ）＝Ｋmv／ｓ（ｓＴm ＋１），     (3)
ここで、１／ＫmvとＴm は、それぞれ、ＤＣモータのモータ電圧上の定数および機構上の定数である。
【００９７】
前記のような連続時間プラントの離散時間モデルを得るために、数回の変換が行われる。適切な変換は適用例ごとに異なってよいが、本例では、シミュレーション結果によって、２次オーダーの連続時間モデルのパルス変換関数である式（３）が、良い結果を得るのに十分に正確である。しかし、プラントには不定ゼロが存在しうるので、フィードバックのシステムには、以下のように、カスケード状に遅延を挿入する。
【００９８】
Ｐ（ｚ-1）＝ｂ0 ＋ｂ1 ｚ-1／１＋ａ1 ｚ-1＋ａ2 ｚ-2      (4) 
図１１に、本発明が適用される別のディスク装置の構成例を示す。図１１に示すディスク装置は、ＤＳＰ１、外部アクチュエータを備えたサーボ・トラック・リード／ライタ（プラント）２などからなる。図１１に示すように、ＦＦコントローラ１２に設定される制御対象のアクチュエータ２１のモデルが、式（３）より高階の連続領域であるとするものである。このモデルは、以下の式によって与えられる。
【００９９】
Ｐ（ｓ）＝Ｋmv／ｓ（ｓＴm ＋１）（ｓＴe ＋１）          (5) 
ここで、Ｔe は、ＤＣモータの電気上の定数である。
【０１００】
式（５）の離散時間モデルに対応するものは、以下の、直交バックワード近似、
ｓ＝（１−ｚ-1）／Ｔs 
である。
【０１０１】
この変換を用いることにより、離散時間モデルの構造は、連続時間モデルのものと同じとなる。なお、この変換は、サンプリングが高速である場合にメリットがある。
【０１０２】
変換の詳細を以下に示す。
【０１０３】
まず、式（３）のモデルを、以下のように書き直す。
【０１０４】
Ｐ（ｓ）＝
１／｛Ｋd （ｓＴs ）3 ＋Ｋa （ｓＴs ）2 ＋Ｋv （ｓＴs ）｝,     (6) 
ここで、Ｔs は、サンプリング期間である。
【０１０５】
また、式（６）のｓに（１−ｚ-1）／Ｔs を代入して、Ｋd ＝Ｔm Ｔe ／Ｔmv，Ｋa ＝（Ｔm ＋Ｔe ）／Ｔmv，Ｋv ＝１／Ｔmvとすると、以下のようになる。
【０１０６】
Ｐ（ｓ）＝
１／｛（Ｋd ＋Ｋa ＋Ｋv ）＋（−３Ｋd −２Ｋa −Ｋv ）ｚ-1＋（３Ｋd ＋Ｋa ）ｚ-2−Ｋv ｚ-3｝        (7) 
さらに、式（７）は、以下のような形式で表現できる。
【０１０７】
Ｐ（ｓ）＝ｂ0 ／（１＋ａ1 ｚ-1＋ａ2 ｚ-2＋ａ3 ｚ-3）    (8) 
ここで、
ｂ0 ＝１／（Ｋd ＋Ｋa ＋Ｋv ）                            (9a)
ａ1 ＝（−３Ｋd −２Ｋa −Ｋv ）／（Ｋd ＋Ｋa ＋Ｋv ）    (9b)
ａ2 ＝（３Ｋd ＋Ｋa ）／（Ｋd ＋Ｋa ＋Ｋv ）              (9c)
ａ3 ＝−Ｋv ／（Ｋd ＋Ｋa ＋Ｋv ）                        (9d)
である。
【０１０８】
式（８）は、再帰的最小二乗法で使用されるモデルを示す。
【０１０９】
そして、制御システムにＦＦコントローラ１２のパラメータを挿入するために、Ｋd 、Ｋa 、Ｋv について、推定パラメータａ1 、ａ2 、ａ3 、ｂ0 を用いて式（９ａ）、（９ｂ）、（９ｃ）、（９ｄ）を以下のように解く。
【０１１０】
Ｋv ＝−ａ3 ／ｂ0 ，
Ｋa ＝ａ2 ／ｂ0 −３Ｋv ，
Ｋd ＝１／ｂ0 −Ｋv −Ｋa 
次に、ＦＦ調整部１０で実行される最小二乗アルゴリズムを説明する。
【０１１１】
ＦＦ調整部１０は、５０ＫＨｚのサンプリング周波数を使用して処理を行う。最小二乗アルゴリズムは、１トラックが使用される期間のトレースデータを用いて実行されて、次の１００トラックを制御するためのＦＦパラメータを取得する。すなわち、ＦＦコントローラ１２のパラメータは、１００トラックごとに更新されることになる。
【０１１２】
図１２に、本発明と従来手法とを比較する図を示す。
【０１１３】
図１２には、本発明によるヘッド２２の位置と、従来手法として、ＦＢコントローラだけを使用した場合のヘッドの位置を示した。本発明によれば、目標トラックの付近でのオーバーシュートがほとんどなく、かつ短い整定時間でヘッド２２の位置が整定されることがわかる。
【０１１４】
前記のように、最小二乗アルゴリズムを採用することにより、かなり良い初期パラメータを得ることができる。しかし、最小二乗アルゴリズムのみによるチューニングでは、プラント２の稼働中にチューニングの精度が低くなってしまうことがある。そのため、ＦＦ調整部１０は、第２のアルゴリズムと組み合わせることによって、リアルタイムで評価関数の最小値をトラッキングして最適化処理を行い、チューニング精度を向上させている。
【０１１５】
最適化処理の第２のアルゴリズムでは、式（６）の直交バックワード近似のプラントモデルが使用される。なお、第２のアルゴリズムは、制御入力から独立している。
【０１１６】
図１３に、本発明をディスク装置に適用した場合の図９に示す処理フロー中のＶ１とＶ２における、フラグ、評価関数、ＦＦパラメータの各値を示す図である。ここで、サンプリング周波数は２０ｋＨｚである。基準入力は、１．６ｍｓの立ち上がり時間で取得されたものである。図８に示す評価関数の結果と、図１３に示す表の結果とによって、本発明で提案した第２のアルゴリズムのロジックが明らかになる。
【０１１７】
図１４に、トラックに対する評価関数の変動を示す。図１４では、評価関数におけるｅｍ1 の値は、概ね６００以下を維持している。しかし、内側のトラックにおいて値が若干増加することがわかる。
【０１１８】
図１５に、トラックに対する最大位置誤差（ＭａｘＰｏｓＥｒｒ）の変動を示す。図１５では、図１４と同様に、ＭａｘＰｏｓＥｒｒのカウント数は、概ね８以下を維持しているが、内側のトラックでは８以上となっている。
【０１１９】
また、図１６に、ＦＦコントローラ１２の加速度パラメータの変動を示す。図１６では、内側のトラックでは、加速度パラメータの値がゼロに近づき、制御対象に対するＦＦコントローラの補償効果が減少していくことがわかる。
【０１２０】
図１７に、評価関数の全体での最小値の再現性を示す。図１７から、外側や中間部のトラックでは評価関数の最小値の変化に再現性があるが、内側のトラックでは再現性がないことがわかる。
【０１２１】
図１４および図１５に示す結果は、おそらく、内側のトラックでは、評価関数の最小値の変更が、第２のアルゴリズムの処理速度に比べて速いことに起因すると思われる。換言すれば、揺動量αの選択が適切でないか、または平均化のトラック数（２０）が大きすぎると考えられる。
【０１２２】
また、ＭａｘＰｏｓＥｒｒは、５００００トラックから著しく増加する。この問題に対処するために、ＦＦ調整部１０は、ＭａｘＰｏｓＥｒｒが８カウントを超えた場合に、内部トラックでのＦＦコントローラの最適化を中止するように動作してもよい。
【０１２３】
また、図１８に、第２のアルゴリズムを用いたチューニングにおけるヘッド位置誤差を示す。図１８から、磁気ディスクのフォーマット操作は、４ｍｓで開始されるように設定するとよいことがわかる。
【０１２４】
以上、本発明をその実施の形態により説明したが、本発明はその主旨の範囲において種々の変形が可能であることは当然である。例えば、ＤＳＰ１のチューニング部１１３は、ＰＣ３内に構成され、チューニング結果をＤＳＰ１に送出するようにしてもよい。
【０１２５】
また、本発明は、コンピュータにより読み取られ実行される処理プログラムとして実施することができる。本発明を実現する処理プログラムは、コンピュータが読み取り可能な、可搬媒体メモリ、半導体メモリ、ハードディスクなどの適当な記録媒体に格納することができ、これらの記録媒体に記録して提供され、または、通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
【０１２６】
本発明の形態および実施例の特徴を列記すると以下のとおりである。
【０１２７】
（付記１）  適応型のフィードフォワード制御機構を備えたサーボ制御システムにおけるサーボ制御方法において、
前記フィードフォワード制御機構に制御対象のダイナミクスモデルを設け、所定の評価関数を用いて前記ダイナミクスモデルの１または複数のパラメータについて初期値を決定する第１の処理過程と、
前記初期値を所定の微小な範囲で変化させる第２の処理過程と、
前記パラメータの変化において制御される制御対象の制御結果を入力する第３の処理過程と、
前記入力した制御結果を用いて所定の評価における最適値を選択する第４の処理過程と、
前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定する第５の処理過程とを備える
ことを特徴とするサーボ制御方法。
【０１２８】
（付記２）  前記ダイナミクスモデルは、前記制御対象のインバース・ダイナミクスモデルである
ことを特徴とする前記付記１に記載のサーボ制御方法。
【０１２９】
（付記３）  前記フィードフォワード制御機構のパラメータが複数である場合に、前記第２ないし第５の処理過程を各パラメータごとに行う
ことを特徴とする前記付記１に記載のサーボ制御方法。
【０１３０】
（付記４）  適応型のフィードフォワード制御機構を備えたサーボ制御システムにおいて、
制御対象のダイナミクスモデルを設けたフィードフォワード制御機構と、
所定の評価関数を用いて前記ダイナミクスモデルの１または複数のパラメータについて初期値を決定し、前記初期値を所定の微小な範囲で変化させ、前記パラメータの変化において制御される制御対象の制御結果を入力し、前記入力した制御結果を用いて所定の評価における最適値を選択するパラメータ調整手段と、
前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定するパラメータ更新手段とを備える
ことを特徴とするサーボ制御システム。
【０１３１】
（付記５）  適応型のフィードフォワード制御機構を備えたサーボ制御システムにおけるサーボ制御方法を、コンピュータに実行させるためのプログラムであって、
前記フィードフォワード制御機構に制御対象のダイナミクスモデルを設け、所定の評価関数を用いて前記ダイナミクスモデルの１または複数のパラメータについて初期値を決定する第１の処理過程と、
前記初期値を所定の微小な範囲で変化させる第２の処理過程と、
前記パラメータの変化において制御される制御対象の制御結果を入力する第３の処理過程と、
前記入力した制御結果を用いて所定の評価における最適値を選択する第４の処理過程と、
前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定する第５の処理過程とを、コンピュータに実行させる
ことを特徴とするサーボ制御プログラム。
【０１３２】
（付記６）  フィードフォワード制御機構を備えたサーボ制御に従ってヘッドを移動するアクチュエータと、前記ヘッドの位置を検出する位置センサとを備えて、前記ヘッドによりディスク状記憶媒体にデータの読み出しもしくは書き込みを行うディスク装置において、
前記アクチュエータのダイナミクスモデルを設けたフィードフォワード制御機構と、
所定の評価関数を用いて前記アクチュエータの１または複数のパラメータについて初期値を決定し、前記初期値を所定の微小な範囲で変化させ、前記パラメータの変化において制御される制御対象の制御結果を入力し、前記入力した制御結果を用いて所定の評価における最適値を選択するパラメータ調整手段と、
前記選択された最適値を前記フィードフォワード制御機構のパラメータに設定するパラメータ更新手段とを備える
ことを特徴とするディスク装置。
【図面の簡単な説明】
【０１３３】
【図１】本発明のディスク装置のシステム構成例を示す図である。
【図２】ＤＳＰの構成例を示す図である。
【図３】フィードフォワード調整部の構成例を示す図である。
【図４】フィードフォワード調整部の処理の流れを示す図である。
【図５】チューニング処理におけるタイムチャートを示す図である。
【図６】チューニング処理のより詳細な処理の流れを示す図である。
【図７】目標位置”ｅｍ0 ”との最大位置誤差”ＭａｘＰｏｓＥｒｒ”を説明するための図である。
【図８】最適化処理のアルゴリズムを説明するための図である。
【図９】最適化処理の処理の流れを示す図である。
【図１０】本発明が適用されるディスク装置の構成例を示す図である。
【図１１】本発明が適用される別のディスク装置の構成例を示す図である。
【図１２】本発明と従来手法とを比較する図である。
【図１３】本発明をディスク装置に適用した場合の図９に示すループ中のＶ１とＶ２における、フラグ、評価関数、ＦＦパラメータの各値を示す図である。
【図１４】トラックに対する評価関数の変動を示す図である。
【図１５】トラックに対する最大位置誤差（ＭａｘＰｏｓＥｒｒ）の変動を示す図である。
【図１６】ＦＦコントローラの加速度パラメータの変動を示す図である。
【図１７】評価関数の全体での最小値の再現性を示す図である。
【図１８】第２のアルゴリズムを用いたチューニングにおけるヘッド位置誤差を示す図である。
【図１９】内部アクチュエータと光学式ヘッドとを備えるディスク装置の例を示す図である。
【図２０】内部アクチュエータとエンコーダとを備えるディスク装置の例を示す図である。
【図２１】外部アクチュエータを備えるディスク装置の例を示す図である。
【図２２】フィードバック制御機構（ＦＢコントローラ）を備えたディスク装置を説明するための図である。
【図２３】フィードバック制御機構（ＦＢコントローラ）およびフィードフォワード制御機構（ＦＦコントローラ）を備えたディスク装置を説明するための図である。
【図２４】従来のＦＦコントローラを備えたディスク装置におけるヘッド位置の例を示す図である。
【符号の説明】
【０１３４】
１  ディジタル信号プロセッサ（ＤＳＰ）
１０  フィードフォワード調整部（ＦＦ調整部）
１１１  トレースデータバッファ
１１３  チューニング部
１１５  フィードフォワード・パラメータ更新部（ＦＦ更新部）
１２  フィードフォワード制御部（ＦＦコントローラ）
１４  フィードバック制御部（ＦＢコントローラ）
１６  基準電流出力部
１８  ＩＩＲフィルタ
２  サーボ・トラック・リード／ライタ（プラント）
２１  アクチュエータ
２２  ヘッド
２３  位置センサ
３  コンピュータ（ＰＣ）
【図１】
2005339011.tif 000004
【図２】
2005339011.tif 000005
【図３】
2005339011.tif 000006
【図４】
2005339011.tif 000007
【図５】
2005339011.tif 000008
【図６】
2005339011.tif 000009
【図７】
2005339011.tif 000010
【図８】
2005339011.tif 000011
【図９】
2005339011.tif 000012
【図１０】
2005339011.tif 000013
【図１１】
2005339011.tif 000014
【図１２】
2005339011.tif 000015
【図１３】
2005339011.tif 000016
【図１４】
2005339011.tif 000017
【図１５】
2005339011.tif 000018
【図１６】
2005339011.tif 000019
【図１７】
2005339011.tif 000020
【図１８】
2005339011.tif 000021
【図１９】
2005339011.tif 000022
【図２０】
2005339011.tif 000023
【図２１】
2005339011.tif 000024
【図２２】
2005339011.tif 000025
【図２３】
2005339011.tif 000026
【図２４】
2005339011.tif 000027