(57)【要約】【課題】二自由度制御を行う現在オブザーバ制御による位置制御装置において、固定小数点のプロセッサを用いて、計算精度を向上する。【解決手段】オブザーバを使用した二自由度制御系（２６）の入力である目標位置軌道、位置誤差を基準軌道を基準とした相対値とし、オブザーバの状態変数が、基準位置からの相対的な距離を保持するようにした。絶対的な距離を保持する場合に比べて，値の変化する範囲が小さくなり、固定小数点方式でも、小数点の有効桁数を増加でき、計算精度が改善できる。このため、加速区間における制御電流が滑らかになり、共振や騒音の発生を防止でき、定速区間や減速区間では、残留振動の発生を防止でき、シーク時間を短縮できる。【選択図】図５
2008084161.tif 000002
【特許請求の範囲】
【請求項１】
対象物を目標位置に、アクチュエータにより位置制御する位置制御方法において、
前記目標位置への目標位置軌道を生成するステップと、
前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、
前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとを有する
ことを特徴とする位置制御方法。
【請求項２】
前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正するステップを更に有する
ことを特徴とする請求項１の位置制御方法。
【請求項３】
前記出力値演算ステップは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算するステップからなる
ことを特徴とする請求項１の位置制御方法。
【請求項４】
記憶媒体のデータを少なくとも読み取るヘッドと、
前記記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、
前記目標位置への目標位置軌道を生成し、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算し、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有する
ことを特徴とする媒体記憶装置。
【請求項５】
前記制御ユニットは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正する
ことを特徴とする請求項４の媒体記憶装置。
【請求項６】
前記制御ユニットは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算する
ことを特徴とする請求項４の媒体記憶装置。
【請求項７】
対象物を目標位置に、アクチュエータにより位置制御する位置制御装置において、
前記目標位置への目標位置軌道を生成する生成ブロックと、
前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算する誤差演算ブロックと、
前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有する
ことを特徴とする位置制御装置。
【請求項８】
前記制御ユニットは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正する
ことを特徴とする請求項７の位置制御装置。
【請求項９】
前記制御ユニットは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算する
ことを特徴とする請求項７の位置制御装置。
【請求項１０】
前記制御ユニットは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第１の目標位置軌道の相対値と、サンプル時刻＋０．５サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第２の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する
ことを特徴とする請求項７の位置制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィードバックとフィードフォワード併用した二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置に関し、特に、オブザーバ制御を用いて、二自由度制御するための２自由度位置制御方法、２自由度位置制御装置及び媒体記憶装置に関する。
【背景技術】
【０００２】
対象物を目標位置に位置制御する装置は、広く利用されている。例えば、磁気ディスク装置や光ディスク装置等のディスク装置の位置決め制御の１つである、ヘッドを目標トラックへ移動させるシーク制御に利用されている。
【０００３】
このシーク制御として、二自由度制御（Two Degree of Freedom Control）を用いる方法がある。この二自由度制御は、フィードバック・ループを構成しながら、目標位置を、フィルタを通して、与える。即ち、目標位置から観測位置までの伝達関数を、ローパスフィルタの形状にする。これにより、オーバーシュート（又はオーバーラン）を効果的に抑圧する方法である。
【０００４】
ディスク装置等で、一般的に利用されているオブザーバ制御系においても，二自由度制御系を構成することが可能である。この際には、制御系は、フィードバック極と同じ極を持つ２次ローパスフィルタ（以下，ＬＰＦと略す)の形になる。図１５は、従来の２自由度制御系の構成図、図１６は、目標軌道の説明図である。
【０００５】
図１５に示すように、目標軌道生成部１００は、目標位置ｒからシーク距離を計算し、シーク距離Ｌｓｅｅｋに応じて、目標軌道ｒ（ｎ）を生成する。図１６に示すように、目標軌道ｒ（ｎ）は、サンプル毎に、移動する目標位置を示す。一方、位置誤差演算部１０２は、目標位置ｒとプラント１０６から観測した現在位置ｙとの誤差ｙ（ｎ）を演算する。コントローラ１０４は、目標軌道ｒ（ｎ）と位置誤差ｙ（ｎ）を受け、二自由度オブザーバの演算を行い、プラント１０６の駆動指令値を計算し、プラント１０６を駆動する（例えば、非特許文献１参照）。
【非特許文献１】「Digital Control of Dynamic Systems」（著者  Gene F. Franklin 他２名、発行元  ADDISON-WESLEY, 発行年１９９８年）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このような二自由度制御を用いたシーク制御においては、オブザーバの状態変数に、位置誤差を保持することが必要になる。一方、近年，磁気ディスク装置に代表される媒体記憶装置は，記録密度が急激に向上している。例えば，２．５型ＨＤＤ（Hard Disk Drive）においては，ディスク１枚あたりの容量が６０ＧＢにもなっている。それにともない，トラック本数も大幅に増大しおり、例えば、２．５型ＨＤＤでは、すでに４〜５万本のトラック数になっている。
【０００７】
又、このような装置では、コストの低減及び装置の小型化が要請されている。このため、浮動小数点ではなく、固定小数点方式のＭＣＵ（マイクロコトローラユニット）を使用している。特に，１６ｂｉｔの演算器が広く使用されている。
【０００８】
図１７に示すように、１６ビット固定小数点方式では、最上位ビットに、符号ビットＳを設定し、残りの１５ビットで数字を表現する。１６ビットは、−３２７６８から＋３２６７８までしか表現できないため、前述の５万という数字を、符号付きで表現することはできない。
【０００９】
この固定小数点方式で、桁数を拡張する方法として、Ｑ−フォーマット方式が知られている。図１８に示すように、例えば、Ｑ２−フォーマットは、上位２ビットを整数に、下位１４ビットを小数に使用する。又、Ｑ−１−フォーマットは、小数点位置をマイナス１ＬＳＢに設定することで、数字を表現するビット数を１６ビットに拡張できる。この場合に、小数点より上の１ビットは、表現できない。
【００１０】
この従来の桁数の拡張方法を、前述の２自由度オブザーバに適用する場合には、小数点位置をマイナスに設定するため、観測した位置及び推定した位置の精度を落とすことになる。例えば、小数点位置が、マイナス１ＬＳＢならば，小数点より上の下位１ビットを丸めることとなる。
【００１１】
このことは、計算精度を劣化させることにつながり，位置制御におけるシーク電流の変動が、特に加速区間において、大きくなり、シーク電流が、滑らかにならず、共振や騒音の原因となる。今後，ますます記録密度が向上し、トラック数が増大すると，この影響は、ますます深刻になる。
【００１２】
従って、本発明の目的は、固定小数点方式のプロセッサを使用しても、二自由度制御における計算精度を向上するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【００１３】
又、本発明の他の目的は、固定小数点方式のプロセッサを使用して、二自由度制御しても、滑らかな位置制御を実現するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【００１４】
更に、本発明の他の目的は、固定小数点方式のプロセッサを使用して、二自由度制御しても、騒音の発生を防止するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【００１５】
更に、本発明の他の目的は、高精度の位置制御を安価な固定小数点方式のプロセッサを使用して、実現するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【課題を解決するための手段】
【００１６】
この目的の達成のため、本発明の対象物を目標位置に、アクチュエータにより位置制御する位置制御方法は、前記目標位置への目標位置軌道を生成するステップと、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとを有する。
【００１７】
又、本発明の媒体記憶装置は、記憶媒体のデータを少なくとも読み取るヘッドと、前記記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、前記目標位置への目標位置軌道を生成し、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算し、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有する。
【００１８】
又、本発明の対象物を目標位置に、アクチュエータにより位置制御する位置制御装置は、前記目標位置への目標位置軌道を生成する生成ブロックと、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算する誤差演算ブロックと、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有する。
【００１９】
更に、本発明では、好ましくは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正するステップを更に有する。
【００２０】
更に、本発明では、好ましくは、前記出力値演算ステップは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算するステップからなる。
【００２１】
更に、本発明では、好ましくは、前記出力値演算ステップは、サンプル毎の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップからなる。
【００２２】
更に、本発明では、好ましくは、出力値演算ステップは、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いて、目標位置軌道の相対値を求めるステップと、前記位置誤差から前記基準軌道を差し引いて、前記位置誤差の相対値を求めるステップと、前記目標位置軌道の相対値と前記位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとからなる。
【００２３】
更に、本発明では、好ましくは、前記位置誤差を演算するステップは、記憶媒体のデータを少なくとも読み取るヘッドの出力から得た現在位置と、前記アクチュエータを駆動して前記ヘッドを前記記憶媒体の所定位置に移動するための目標位置との位置誤差を演算するステップからなる。
【００２４】
更に、本発明では、好ましくは、前記出力値演算ステップは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第１の目標位置軌道の相対値と、サンプル時刻＋０．５サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第２の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップからなる。
【発明の効果】
【００２５】
オブザーバを使用した二自由度制御系の入力を、相対値とし、絶対値を取り扱わなくて良いので、オブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよく、絶対的な距離を保持する場合に比べて，値の変化する範囲が小さくなる。したがって，固定小数点方式でも、小数点の有効桁数を増加でき、計算精度が改善できる。このため、加速区間における制御電流が滑らかになり、共振や騒音の発生を防止でき、定速区間や減速区間では、残留振動の発生を防止でき、シーク時間を短縮できる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態を、媒体記憶装置、二自由度位置制御系の第１の実施の形態、二自由度現在オブザーバ、第２の実施の形態、第３の実施の形態、マルチレート制御現在オブザーバ、第４の実施の形態、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
【００２７】
（媒体記憶装置）
図１は、本発明の一実施の形態の媒体記憶装置の構成図、図２は、図１の磁気ディスクの位置信号の配置図、図３は、図１及び図２の磁気ディスクの位置信号の構成図、図４は、シーク制御の制御遷移図である。
【００２８】
図１は、媒体記憶装置として、磁気ディスク装置を示す。図１に示すように、磁気記憶媒体である磁気ディスク４が、スピンドルモータ５の回転軸２に設けられている。スピンドルモータ５は、磁気ディスク４を回転する。アクチュエータ（ＶＣＭ）１は、先端に磁気ヘッド３を備え、磁気ヘッド３を磁気ディスク４の半径方向に移動する。
【００２９】
アクチュエータ１は、回転軸を中心に回転するボイスコイルモータ（ＶＣＭ）で構成される。図では、磁気ディスク装置に、２枚の磁気ディスク４が搭載され、４つの磁気ヘッド３が、同一のアクチュエータ１で同時に駆動される。
【００３０】
磁気ヘッド３は、リード素子と、ライト素子とからなる。磁気ヘッド３は、スライダに、磁気抵抗（ＭＲ）素子を含むリード素子を積層し、その上にライトコイルを含むライト素子を積層して、構成される。
【００３１】
位置検出回路７は、磁気ヘッド３が読み取った位置信号（アナログ信号）をデジタル信号に変換する。リード／ライト（Ｒ／Ｗ）回路１０は、磁気ヘッド３の読み取り及び書込みを制御する。スピンドルモータ（ＳＰＭ）駆動回路８は、スピンドルモータ５を駆動する。ボイスコイルモータ（ＶＣＭ）駆動回路６は、ボイスコイルモータ（ＶＣＭ）１に駆動電流を供給し、ＶＣＭ１を駆動する。
【００３２】
マイクロコントローラ（ＭＣＵ）１４は、位置検出回路７からのデジタル位置信号から現在位置を検出（復調）し、検出した現在位置と目標位置との誤差に従い、ＶＣＭ駆動指令値を演算する。即ち、位置復調と図５以下で説明する外乱抑圧を含むサーボ制御（現在オブザーバ制御）を行う。リードオンリーメモリ（ＲＯＭ）１３は、ＭＣＵ１４の制御プログラム等を格納する。ランダムアクセスメモリ（ＲＡＭ）１２は、ＭＣＵ１４の処理のためのデータ等を格納する。
【００３３】
ハードディスクコントローラ（ＨＤＣ）１１は、サーボ信号のセクタ番号を基準にして，１周内の位置を判断し，データを記録・再生する。バッファ用ランダムアクセスメモリ（ＲＡＭ）１５は、リードデータやライトデータを一時格納する。ＨＤＣ１１は、ＵＳＢ(Universal Serial Bus)，ＡＴＡやＳＣＳＩ(Small Computer System Interface) 等のインターフェイスＩＦで、ホストと通信する。バス９は、これらを接続する。
【００３４】
図２に示すように、磁気ディスク４には、外周から内周に渡り、各トラックにサーボ信号（位置信号）１６が、円周方向に等間隔に配置される。尚、各トラックは、複数のセクタで構成され、図２の実線は、サーボ信号１６の記録位置を示す。図３に示すように、位置信号は，サーボマークＳｅｒｖｏ  Ｍａｒｋと、トラック番号Ｇｒａｙ  Ｃｏｄｅと、インデックスＩｎｄｅｘと、オフセット情報（サーボバースト）ＰｏｓＡ，ＰｏｓＢ，ＰｏｓＣ，ＰｏｓＤとからなる。尚、図３の点線は、トラックセンターを示す。
【００３５】
図３の位置信号をヘッド３で読み取り、トラック番号Ｇｒａｙ  Ｃｏｄｅとオフセット情報ＰｏｓＡ，ＰｏｓＢ，ＰｏｓＣ，ＰｏｓＤを使い，磁気ヘッドの半径方向の位置を検出する。さらに、インデックス信号Ｉｎｄｅｘを元にして，磁気ヘッドの円周方向の位置を把握する。
【００３６】
例えば，インデックス信号を検出したときのセクタ番号を０番に設定し、サーボ信号を検出する毎に、カウントアップして、トラックの各セクタのセクタ番号を得る。このサーボ信号のセクタ番号は，データの記録再生を行うときの基準となる。尚、インデックス信号は、１周に１つである、又、インデックス信号の代わりに、セクタ番号を設けることもできる。
【００３７】
図１のＭＣＵ１４は、位置検出回路７を通じて、アクチュエータ１の位置を確認して，サーボ演算し、適切な電流をＶＣＭ１に供給する。即ち、図４に示すように、シーク制御は、コアース制御、整定制御及びフォローイング制御と遷移することで，目標位置まで移動させることができる。いずれも、ヘッドの現在位置を検出する必要がある。
【００３８】
このような，位置を確認するためには，前述の図２のように、磁気ディスク上にサーボ信号を事前に記録しておく。即ち、図３に示したように、サーボ信号の開始位置を示すサーボマーク，トラック番号を表すグレイコード，インデックス信号，オフセットを示すＰｏｓＡ〜ＰｏｓＤといった信号が記録されている。この信号を磁気ヘッドで読み出し、このサーボ信号を、位置検出回路７が、デジタル値に変換する。又、ＭＣＵ１４は、固定小数点方式のプロセッサ（ここでは、１６ビット）を有する。
【００３９】
（二自由度位置制御系の第１の実施の形態）
図５は、本発明の位置制御系の第１の実施の形態のブロック図、図６は、その動作説明図である。
【００４０】
図５は、図１のＭＣＵ１４が実行する現在オブザーバを使用した二自由度位置制御系を示す。図５に示すように、目標位置（目標シリンダ）Ｔｐが与えられ、シーク制御が開始する。シーク距離計算ブロック２０は、目標位置Ｔｐと現在位置との差を計算し、シーク距離Ｌｓｅｅｋを得る。
【００４１】
目標軌道生成ブロック２２は、シーク距離Ｌｓｅｅｋに応じた目標位置軌道ｒ（ｎ）を生成する。図６に示すように、目標軌道ｒ（ｎ）は、シーク距離Ｌｓｅｅｋに応じて、各サンプルの目標位置の軌道である。
【００４２】
ベース軌道作成ブロック２４は、目標位置軌道ｒ（ｎ）に追従して変化する基準位置軌道Ｐｂａｓｅ（ｎ）を作成する。例えば、図６に示すように、目標位置軌道ｒ（ｎ）より所定値小さい位置の値を持つ軌道を基準位置軌道Ｐｂａｓｅ（ｎ）として、作成する。勿論、目標位置軌道ｒ（ｎ）より所定値大きい位置の値を持つ軌道を基準位置軌道Ｐｂａｓｅ（ｎ）として、作成しても良い。
【００４３】
二自由度コントローラ２６は、図７で示す現在オブザーバで構成される。第１の演算器３２は、目標位置軌道ｒ（ｎ）から基準位置軌道Ｐｂａｓｅ（ｎ）を差し引き、コントローラ２６への目標位置軌道ｒｄ（ｎ）を求める。
【００４４】
位置誤差演算器３０は、プラント２８（１，３）の観測位置ｙ（ｎ）から目標位置Ｔｐを差し引き、位置誤差ｙ（ｎ）を演算する。第２の演算器３４は、位置誤差ｙ（ｎ）から基準位置軌道Ｐｂａｓｅ（ｎ）を差し引き、コントローラ２６への位置誤差ｙｄ（ｎ）を求める。
【００４５】
又、遅延ブロック３６は、現サンプルの基準位置軌道Ｐｂａｓｅ（ｎ）を１サンプル遅延する。第３の演算器３８は、コントローラ２６の推定位置ｘ（ｎ＋１）に、前のサンプルの基準位置軌道Ｐｂａｓｅ（ｎ−１）から現サンプルの基準位置軌道Ｐｂａｓｅ（ｎ）を差し引いた値を加算し、コントローラ２６の次のサンプルの推定位置ｘ（ｎ＋１）を修正する。
【００４６】
即ち、コントローラ２６の入力ｒ（ｎ），ｙ（ｎ）は、それぞれのサンプル時刻において、基準位置Ｐｂａｓｅ（ｎ）からの相対値ｒｄ（ｎ），ｙｄ（ｎ）としている。そして、基準位置を基準としているため、次のサンプルの推定位置ｘ（ｎ＋１）は、基準位置の変動分修正する。即ち、１サンプル毎に、前のサンプルの基準位置軌道Ｐｂａｓｅ（ｎ−１）から現サンプルの基準位置軌道Ｐｂａｓｅ（ｎ）を差し引いた値で、推定位置ｘ（ｎ＋１）を修正する。この基準位置を、目標位置軌道ｒ（ｎ）の変化に伴い、変化させる。
【００４７】
このようにコントローラ２６の入力を、相対値とし、コントローラ２６は、絶対値を取り扱わなくて良いので、コントローラ２６を構成するオブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよくなる。そのため，絶対的な距離を保持する場合に比べて，値の変化する範囲が小さくなる。したがって，固定小数点方式でも、小数点をプラス１ビットやプラス２ビットの位置に設定可能となり、計算精度が改善できる。
【００４８】
例えば、位置誤差に応じて、小数点位置を変更する方法がある。これを適用すると、位置誤差が大きい加速区間は、前述の小数点位置をプラス１ビットやプラス２ビット（Ｑ２−フォーマット）とすることにより、図４の加速区間は、従来のＱ−２−フォーマットに比し、１６倍の精度で出力電流を演算できる。このため、加速区間における制御電流が滑らかになり、共振や騒音の発生を防止できる。
【００４９】
又、位置誤差が小さくなる定速区間や減速区間では、前述の小数点位置をプラス７ビットやプラス８ビット（Ｑ８−フォーマット）とすることにより、図４の定速、減速区間は、従来に比し、１６倍の精度で出力電流を演算できる。このため、定速区間や減速区間では、残留振動の発生を防止でき、シーク時間を短縮できる。
【００５０】
更に、図５の構成を、１つの１６ビットプロセッサで構成する場合には、コントローラ２６以外の演算を、倍精度演算すると、コントローラ２６の入力も精度を向上できる。この場合に、コントローラ２６の現在オブザーバの演算は、行列を取り扱うため、演算負荷が大きいのに比し、コントローラ２６以外の演算は、行列を取り扱わないため、演算負荷が小さい。このため、コントローラ２６以外の演算を倍精度演算しても、出力遅延の影響は少ない。
【００５１】
又、コントローラ２６のみを専用プロセッサで構成する場合には、他のプロセッサ（例えば、図１のＭＣＵ１４又はＨＤＣ１１のプロセッサ）で、コントローラ以外の演算を倍精度演算することにより、出力遅延を防止できる。
【００５２】
（二自由度制御現在オブザーバ）
次に、コントローラ２６を構成する現在オブザーバを説明する。磁気ディスク装置のアクチュエータは、回転型である。しかし、次式（１）の形の直進型アクチュエータの状態方程式に変換して表現できる。尚、ｘは位置（ｍ）、ｖは速度（ｍ／ｓ），ｕは電流（Ａｍｐｅｒｅ）、Ｂｌは力定数（Ｎ／ｍ）、ｍは等価質量（ｋｇ）、ｕは出力、ｓはラプラス演算子である。
【００５３】
【数１】
2008084161.tif 000003
【００５４】
サンプリング周期をＴ（ｓ）、電流の最大値をＩｍａｘ（Ａｍｐｅｒｅ），トラック幅をＬｐ（ｍ／ｔｒａｃｋ）とおき、位置の単位をｔｒａｃｋ、速度の単位をｔｒａｃｋ／ｓａｍｐｌｅ、電流の単位を、Ｉｍａｘを「１」とする変換を行い、（１）式を、デジタルの状態方程式で表現すると、次式（２）を得る。
【００５５】
【数２】
2008084161.tif 000004
【００５６】
一方、定常バイアスを推定するため、定常バイアスを一定とした次式（３）を仮定する。尚、ｓはラプラス演算子である。
【００５７】
【数３】
2008084161.tif 000005
【００５８】
これをデジタル空間に変換すると、次式（４）を得る
【００５９】
【数４】
2008084161.tif 000006
【００６０】
又、外乱モデルとして、次式（５）の２次式の特性を設定する。
【００６１】
【数５】
2008084161.tif 000007
【００６２】
式（５）の外乱モデルのアナログの状態方程式は、次式（６）で表現される。
【００６３】
【数６】
2008084161.tif 000008
【００６４】
この式（６）をデジタル空間に変換すると、次式（７）を得る。
【００６５】
【数７】
2008084161.tif 000009
【００６６】
この式（２）、式（４）、式（７）をまとめて、拡大モデルを構成すると、次式（８）が得られる。ここでは、式（４）の定常バイアス、式（７）の２次式で表現された外乱を２つ含めている。
【００６７】
【数８】
2008084161.tif 000010
【００６８】
式（８）のアクチュエータのモデルと１つ又は複数の外乱モデルを含む拡大モデルを、簡単化して、次式（９）で表す。
【００６９】
【数９】
2008084161.tif 000011
【００７０】
式（９）は、式（８）の行列を、Ｘ（ｎ＋１），Ｘ（ｎ）、Ａ，Ｂ、Ｃで表して、簡単化したものである。式（９）から予測オブザーバは、次式（１０）で表される。
【００７１】
【数１０】
2008084161.tif 000012
【００７２】
この式は、アナログ制御のオブザーバの式をそのままデジタルの式に直したものである。Ｌは、状態推定ゲインであり、位置、速度、バイアス、外乱の４つ（式（８）に対応すると、外乱が２つのため、５つ）の状態推定ゲインからなる。又、Ｆは、フィードバックゲインであり、同様に、５つのフィードバックゲインからなる。
【００７３】
この式では、観測位置ｙ（ｎ）が、現サンプルの電流出力ｕ（ｎ）に反映されない。即ち、予測オブザーバの形式であるため、応答が１サンプル遅延する。１サンプルの遅延を補うため、一般には、現在オブザーバが利用される。現在オブザーバは、次式（１１）で表現される。但し、ｙ（ｎ）は、現サンプルでの観測位置である。
【００７４】
【数１１】
2008084161.tif 000013
【００７５】
このように、１サンプルで、１回の演算を行い、１回駆動電流を変化するための現在オブザーバを構成する。
【００７６】
次に、この現在オブザーバから、出力遅延を考慮した現在オブザーバの構成を求める。図８に示すように、サンプル時刻ｎから時刻Ｔｄだけ遅延した（進んだ）時間での状態変数Ｘは、式（１０）と同様に、求めると、次の式（１２）で表現できる。
【００７７】
【数１２】
2008084161.tif 000014
【００７８】
式（１２）を、式（２）と同様に、アクチュエータのモデルで表すと、式（１３）で表現できる。尚、式（１３）において、Ｔｄは、時間単位のため、サンプル数ｎに変換するため、サンプリング周期Ｔで、Ｔｄを割り、サンプル数単位に変換している。
【００７９】
【数１３】
2008084161.tif 000015
【００８０】
又、定常バイアスｂは、常に一定であるため、次式（１４）で表される。
【００８１】
【数１４】
2008084161.tif 000016
【００８２】
他の外乱モデルも、式（７）に従い、式（１２）、式（１３）と同様に変換できる。変換は、ｚ変換を用いる。前述の現在オブザーバの式（１１）と、上記式を合わせれば、次式（１５）を構成できる。
【００８３】
【数１５】
2008084161.tif 000017
【００８４】
式（１５）において、Ｘｈ（ｎ）は、現サンプルｎでの推定状態、Ｘｈ（ｎ＋Ｔｄ／Ｔ）は、現サンプルｎからＴｄだけ進んだ時の推定状態である。
【００８５】
式（１５）は、現サンプルｎでの推定状態Ｘｈ（ｎ）を求め、次に、遅延を考慮した時間Ｔｄだけ進んだ状態Ｘｈ（ｎ＋Ｔｄ／Ｔ）を、現サンプルｎでの推定状態Ｘｈ（ｎ）と前サンプルの出力値ｕ（ｎ−１）から計算する。
【００８６】
ここで、一般に、次のサンプルの状態を推定するには、式（１１）のように、現サンプルの出力ｕ（ｎ）を使用するが、この例では、シングルレート制御のため、１サンプルで、１回出力するから、サンプル時点では、ｕ（ｎ）が計算されていない。このため、既に計算された前サンプルの出力ｕ（ｎ−１）を使用して、時間Ｔｄだけ進んだ状態Ｘｈ（ｎ＋Ｔｄ／Ｔ）を計算する。そして、計算された時間Ｔｄだけ進んだ状態Ｘｈ（ｎ＋Ｔｄ／Ｔ）から、現サンプルｎでの出力ｕ（ｎ）を計算する。
【００８７】
次のサンプルの推定状態Ｘｂ（ｎ＋１）は、式（１５）では、式（１１）と異なり、ｕ（ｎ）とｕ（ｎ−１）とを使用する。ここで、式（１５）の推定状態Ｘｂ（ｎ＋１）の位置ｘ（ｎ＋１），速度ｖ（ｎ＋１）は、下記式（１６）で表される。
【００８８】
【数１６】
2008084161.tif 000018
【００８９】
この式（１６）のｕ（ｎ）の係数が、式（１５）のＢ１であり、ｕ（ｎ−１）の係数が、式（１５）のＢ２である。
【００９０】
式（１６）に二自由度制御のフィードフォワードを付与すると、式（１７）が得られる。
【００９１】
【数１７】
2008084161.tif 000019
【００９２】
即ち、式（１５）に比し、Ｘｈ（ｎ＋Ｔｄ／Ｔ）の計算に、フィードフォワード項である（Ｃ＾Ｔ・ｒ（ｎ））を加えている。尚、式（１７）の行列Ｃ、Ｃ＾Ｔ（Ｃの転置）は、下記式（１８）、式（１９）で表される。
【００９３】
【数１８】
2008084161.tif 000020
【００９４】
【数１９】
2008084161.tif 000021
【００９５】
この場合に、従来の二自由度制御の式に従うと、出力ｕ（ｎ）の計算式に、直接フィードフォワード項を加える。しかしながら、このようにすると、サンプル時点が異なるＸｈ（ｎ＋Ｔｄ／Ｔ）から（Ｃ＾Ｔ・ｒ（ｎ））を引くことになり、計算順序が複雑となり、高速に演算することが難しい。又、状態推定順序が変化し、系全体の安定性を維持するのが困難となるおそれがある。
【００９６】
このため、サンプル時点が同じであるＸｈ（ｎ）に対し、フィードフォワード項である（Ｃ＾Ｔ・ｒ（ｎ））を加えて、進んだ状態Ｘｈ（ｎ＋Ｔｄ／Ｔ）を計算する。
【００９７】
式（１７）を簡単化し、式（１７）の第２式を、第３式に代入して、下記式（２０）を得る。
【００９８】
【数２０】
2008084161.tif 000022
【００９９】
図７は、式（２０）をブロック化したブロック図である。図７に示すように、現サンプルｎでの観測位置（図５の演算器３４からの基準位置軌道を基準とした位置誤差）ｙｄ（ｎ）を取り込み，前サンプルで推定した現サンプルの予測位置Ｃ・Ｘｂ（ｎ）と観測位置ｙｒ（ｎ）の差分を、演算ブロック５２で演算し，推定位置誤差ｅｒ［ｎ］を生成する。乗算ブロック５４で、この推定位置誤差ｅｒ［ｎ］に，推定ゲインＬをかけて、補正値を作る。
【０１００】
加算ブロック５６により、この補正値と，予測位置，予測速度などの現サンプルでの推定状態Ｘｂ［ｎ］と加算する。これにより，式（２０）の現サンプルでの推定位置・推定速度など推定状態Ｘｈ（ｎ）を生成する。
【０１０１】
そして二自由度制御では、推定状態（位置）Ｘｈ（ｎ）と目標位置軌道（図５の演算器３２からの基準位置軌道を基準にした目標位置軌道）ｒｄ（ｎ）との差分値を加算ブロック６０で演算し、乗算ブロック６２で、それに係数行列−Ｆ・Ａｄをかけた値を演算する。一方、出力ｕ（ｎ−１）に、乗算ブロック６６で、係数行列−Ｆ・Ｂｄを乗じて、この結果と、乗算ブロック６２の結果を加算ブロック６８で加算し、時刻Ｔｄだけ進んだ状態Ｘｈ（ｎ＋Ｔｄ／Ｔ）による、式（２０）の２番目の式の出力値ｕ（ｎ）を得る。
【０１０２】
一方、次のサンプル（ｎ＋１）の推定状態Ｘｂ（ｎ＋１）を、現サンプルの推定状態Ｘｈ（ｎ）と、出力値ｕ（ｎ）と、遅延ブロック６４で遅延された前サンプルの出力値ｕ（ｎ−１）から乗算ブロック７０，７２，７４、加算ブロック７６により、（２０）式の３番目の式のように、計算する。
【０１０３】
尚、遅延ブロック７８は、次のサンプル（ｎ＋１）の推定状態Ｘｂ（ｎ＋１）を遅延し、乗算ブロック５０は、遅延ブロック７８の出力に、式（１８）の行列Ｃを乗じて、現サンプルの推定位置ｘ（ｎ）を計算する。
【０１０４】
更に、図５で説明したように、加算ブロック７６の次のサンプルの推定状態Ｘｂ（ｎ＋１）の推定位置ｘ（ｎ＋１）を、前のサンプルの基準位置軌道Ｐｂａｓｅ（ｎ−１）から現サンプルの基準位置軌道Ｐｂａｓｅ（ｎ）を差し引いた値で、推定位置ｘ（ｎ＋１）を修正する。
【０１０５】
この例では、オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延（演算遅延及び駆動アンプ、Ｄ／Ａコンバータ等のハード遅延）を考慮して、サンプル時点から遅延分進んだ時刻Ｔｄの推定状態を演算し、この推定状態から出力を演算するため、サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。
【０１０６】
又、同一のサンプル時刻で、二自由度制御項を計算しているため、計算順序が複雑となることを防止でき、高速に演算できる。更に、状態推定順序が守ることができ、系全体の安定性を維持することができる。
【０１０７】
（二自由度位置制御系の第２の実施の形態）
図９は、本発明の位置制御系の第２の実施の形態のブロック図であり、図１のＭＣＵ１４が実行する現在オブザーバを使用した二自由度位置制御系を示す。図９において、図５で示したものと同一のものは、同一の記号で示してある。
【０１０８】
図９に示すように、目標位置（目標シリンダ）Ｔｐが与えられ、シーク制御が開始する。シーク距離計算ブロック２０は、目標位置Ｔｐと現在位置との差を計算し、シーク距離Ｌｓｅｅｋを得る。
【０１０９】
目標軌道生成ブロック２２は、シーク距離Ｌｓｅｅｋに応じた目標位置軌道ｒ（ｎ）を生成する。図６に示したように、目標軌道ｒ（ｎ）は、シーク距離Ｌｓｅｅｋに応じて、各サンプルの目標位置の軌道である。
【０１１０】
二自由度コントローラ２６は、図７で示した現在オブザーバで構成される。第１の演算器３２は、目標位置軌道ｒ（ｎ）から目標位置軌道ｒ（ｎ）を差し引き、コントローラ２６への目標位置軌道ｒｄ（ｎ）を求める。即ち、コントローラ２６への目標位置軌道ｒｄ（ｎ）は、「０」である。
【０１１１】
位置誤差演算器３０は、プラント２８（１，３）の観測位置ｙ（ｎ）から目標位置Ｔｐを差し引き、位置誤差ｙ（ｎ）を演算する。第２の演算器３４は、位置誤差ｙ（ｎ）から目標位置軌道ｒ（ｎ）を差し引き、コントローラ２６への位置誤差ｙｄ（ｎ）を求める。
【０１１２】
又、遅延ブロック３６は、現サンプルの目標位置軌道ｒ（ｎ）を１サンプル遅延する。第３の演算器３８は、コントローラ２６の推定位置ｘ（ｎ＋１）に、前のサンプルの目標位置軌道ｒ（ｎ−１）から現サンプルの目標位置軌道ｒ（ｎ）を差し引いた値を加算し、コントローラ２６の次のサンプルの推定位置ｘ（ｎ＋１）を修正する。
【０１１３】
即ち、コントローラ２６の入力ｒ（ｎ），ｙ（ｎ）は、それぞれのサンプル時刻において、目標位置軌道を基準とした相対値ｒｄ（ｎ），ｙｄ（ｎ）としている。そして、目標位置軌道を基準としているため、次のサンプルの推定位置ｘ（ｎ＋１）は、目標位置軌道の変動分修正する。即ち、１サンプル毎に、前のサンプルの目標位置軌道ｒ（ｎ−１）から現サンプルの目標位置軌道ｒ（ｎ）を差し引いた値で、推定位置ｘ（ｎ＋１）を修正する。
【０１１４】
この基準位置は、目標位置軌道であり、図５と同様に、目標位置軌道ｒ（ｎ）の変化に伴い、変化する。
【０１１５】
このように、基準位置を目標位置軌道にしても、コントローラ２６の入力を、相対値とし、コントローラ２６は、絶対値を取り扱わなくて良いので、コントローラ２６を構成するオブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよくなる。そのため，絶対的な距離を保持する場合に比べて，値の変化する範囲が小さくなる。したがって，固定小数点方式でも、小数点をプラス１ビットやプラス２ビットの位置に設定可能となり、計算精度が改善できる。
【０１１６】
しかも、図５の基準位置軌道の生成が不要となり、より容易に、且つ演算負荷を少なくして、実現できる。
【０１１７】
（位置制御系の第３の実施の形態）
図１０は、本発明の二自由度位置制御系の第３の実施の形態のブロック図、図１１は、その目標位置軌道の説明図、図１２は、マルチレート制御の動作シーケンス図である。図１０乃至図１２は、２倍のマルチレート制御を用いた二自由制御系の構成を示す。図１０において、図５、図９で示したものと同一のものは、同一の記号で示してある。
【０１１８】
マルチレート制御は、図１２に示すように、１サンプルで、２回又は３回、電流を変化させるものである。２回変化するものを２倍のマルチレート構成、３回変化するものを３倍のマルチレート構成という。
【０１１９】
図１０の２倍のマルチレート構成に示すように、目標位置（目標シリンダ）Ｔｐが与えられ、シーク制御が開始する。シーク距離計算ブロック２０は、目標位置Ｔｐと現在位置との差を計算し、シーク距離Ｌｓｅｅｋを得る。
【０１２０】
目標軌道生成ブロック２２−１は、シーク距離Ｌｓｅｅｋに応じて、サンプル毎に、ｎサンプルでの目標軌道ｒ（ｎ）と、（ｎ＋０．５）サンプルでの目標軌道ｒ（ｎ＋０．５）を生成する。例えば、図１１に示すように、目標軌道ｒ（ｎ）は、シーク距離Ｌｓｅｅｋに応じて、各サンプルの目標位置の軌道であり、ｒ（ｎ＋０．５）は、ｒ（ｎ）より、０．５サンプル進んだ時刻の目標位置軌道である。
【０１２１】
二自由度コントローラ２６−１は、図１３で説明するマルチレート制御現在オブザーバで構成される。第１の演算器３２−１は、目標位置軌道ｒ（ｎ）から目標位置軌道ｒ（ｎ）を差し引き、コントローラ２６−１への目標位置軌道ｒｄ（ｎ）を求める。即ち、コントローラ２６−１への目標位置軌道ｒｄ（ｎ）は、「０」である。
【０１２２】
第４の演算器３２−２は、目標位置軌道ｒ（ｎ＋０．５）から目標位置軌道ｒ（ｎ）を差し引き、コントローラ２６−１への目標位置軌道ｒｄ（ｎ＋０．５）を求める。即ち、コントローラ２６−１への目標位置軌道ｒｄ（ｎ＋０．５）は、目標位置軌道ｒ（ｎ）を基準とした位置軌道である。
【０１２３】
位置誤差演算器３０は、プラント２８（１，３）の観測位置ｙ（ｎ）から目標位置Ｔｐを差し引き、位置誤差ｙ（ｎ）を演算する。第２の演算器３４は、位置誤差ｙ（ｎ）から目標位置軌道ｒ（ｎ）を差し引き、コントローラ２６−１への位置誤差ｙｄ（ｎ）を求める。
【０１２４】
又、遅延ブロック３６は、現サンプルの目標位置軌道ｒ（ｎ）を１サンプル遅延する。第３の演算器３８は、コントローラ２６−１の推定位置ｘ（ｎ＋１）に、前のサンプルの目標位置軌道ｒ（ｎ−１）から現サンプルの目標位置軌道ｒ（ｎ）を差し引いた値を加算し、コントローラ２６−１の次のサンプルの推定位置ｘ（ｎ＋１）を修正する。
【０１２５】
即ち、マルチレートコントローラ２６−１の入力ｒ（ｎ），ｒ（ｎ＋０．５），ｙ（ｎ）は、それぞれのサンプル時刻において、目標位置軌道を基準とした相対値ｒｄ（ｎ），ｒｄ（ｎ＋０．５），ｙｄ（ｎ）としている。そして、目標位置軌道を基準としているため、次のサンプルの推定位置ｘ（ｎ＋１）は、目標位置軌道の変動分修正する。即ち、１サンプル毎に、前のサンプルの目標位置軌道ｒ（ｎ−１）から現サンプルの目標位置軌道ｒ（ｎ）を差し引いた値で、推定位置ｘ（ｎ＋１）を修正する。
【０１２６】
この基準位置は、目標位置軌道ｒ（ｎ）そのものであり、図５と同様に、目標位置軌道ｒ（ｎ）の変化に伴い、変化する。
【０１２７】
このように、基準位置を目標位置軌道にしても、コントローラ２６の入力を、相対値とし、コントローラ２６−１は、絶対値を取り扱わなくて良いので、コントローラ２６−１を構成するオブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよくなる。そのため，絶対的な距離を保持する場合に比べて，値の変化する範囲が小さくなる。したがって，固定小数点方式でも、小数点をプラス１ビットやプラス２ビットの位置に設定可能となり、計算精度が改善できる。
【０１２８】
しかも、図５の基準位置軌道の生成が不要となり、より容易に、且つ演算負荷を少なくして、実現できる。
【０１２９】
（マルチレート制御現在オブザーバ）
次に、図１０のマルチレート制御現在オブザーバを説明する。図１２に示すように、このマルチレート制御には、状態推定をシングルレートで行うシングルレート状態推定と、状態推定をマルチレートで行うマルチレート状態推定とがある。いずれも、１サンプルで、電流を、ｕ（ｎ），ｕ（ｎ＋０．５）と２回演算し、変化する。
【０１３０】
先ず、シングルレート状態推定でのマルチレート制御を説明する。マルチレート制御では、１サンプルで、電流出力値をｕ（ｎ），ｕ（ｎ＋０．５）と出力する。そのため、基本的には、式（１７）を２回演算する。即ち、下記式（２１）、式（２２）を実行する。
【０１３１】
【数２１】
2008084161.tif 000023
【０１３２】
【数２２】
2008084161.tif 000024
【０１３３】
即ち、先ず、出力ｕ（ｎ）と、次の状態Ｘｂ（ｎ＋０．５）を演算するため、式（２１）を演算する。この式（２１）は、基本的に、式（１７）と同一であるが、１サンプル中に２回電流が変化するため、Ｘｈ（ｎ＋Ｔｄ／Ｔ）とＸｂ（ｎ＋０．５）の演算には、ｕ（ｎ−１）と、ｕ（ｎ−０．５）とを使用する。
【０１３４】
そして、式（２２）のように、（ｎ＋０．５）サンプルでの推定状態Ｘｈ（ｎ＋０．５）を、式（２１）の推定状態Ｘｂ（ｎ＋０．５）とした上で、目標軌道ｒ（ｎ＋０．５）を用いて、式（２１）と同様に、出力ｕ（ｎ＋０．５）と、次の状態Ｘｂ（ｎ＋１）を演算する。
【０１３５】
ここで、式（２１）、式（２２）中の係数Ｂ１，Ｂ２，Ｂ３は、遅延を加味したＴｄが、Ｔ／２（＝ｎ＋０．５）との比較により変わり、Ｔｄ＜Ｔ／２の場合には、次式（２３）で決まる。
【０１３６】
【数２３】
2008084161.tif 000025
【０１３７】
一方、Ｔ／２＜Ｔｄ＜Ｔの場合は、次式（２４）で決まる。
【０１３８】
【数２４】
2008084161.tif 000026
【０１３９】
即ち、この式（２３）、（２４）のｕ（ｎ）の係数が、式（２１）、式（２２）のＢ１であり、ｕ（ｎ−０．５）の係数が、Ｂ２であり、ｕ（ｎ−１）の係数が、Ｂ３である。従って、Ｔｄ＜Ｔ／２の場合には、係数Ｂ３は、「０」、Ｔ／２＜Ｔｄの場合は、Ｂ１は、「０」となる。
【０１４０】
次に、マルチレート状態推定でのマルチレート制御を説明する。同様に、マルチレート制御では、１サンプルで、電流出力値をｕ（ｎ），ｕ（ｎ＋０．５）と出力する。そのため、マルチレート状態推定でも、基本的には、式（１７）を２回演算する。即ち、下記式（２５）、式（２６）を実行する。
【０１４１】
【数２５】
2008084161.tif 000027
【０１４２】
【数２６】
2008084161.tif 000028
【０１４３】
先ず、出力ｕ（ｎ）と、次の状態Ｘｂ（ｎ＋０．５）を演算するため、式（２５）を演算する。この式（２５）は、基本的に、式（１７）と同一であるが、１サンプル中に２回電流が変化するため、Ｘｈ（ｎ＋Ｔｄ／Ｔ）とＸｂ（ｎ＋０．５）の演算には、ｕ（ｎ−１）と、ｕ（ｎ−０．５）とを使用する。又、推定位置誤差ｅ（ｎ）を、（ｙ（ｎ）−Ｃ・Ｘｂ（ｎ））で、別に演算する。
【０１４４】
そして、式（２６）のように、（ｎ＋０．５）サンプルでの推定状態Ｘｈ（ｎ＋０．５）を、式（２８）の推定状態Ｘｂ（ｎ＋０．５）に、式（２５）のｅ（ｎ）にＬ２を乗じた値で補正する。更に、目標軌道ｒ（ｎ＋０．５）を用いて、式（２５）と同様に、出力ｕ（ｎ＋０．５）と、次の状態Ｘｂ（ｎ＋１）を演算する。
【０１４５】
ここで、式（２５）、式（２６）中の係数Ｂ１，Ｂ２，Ｂ３は、遅延を加味したＴｄが、Ｔ／２（＝ｎ＋０．５）との比較により変わり、Ｔｄ＜Ｔ／２の場合には、式（２３）、２／Ｔ＜Ｔｄの場合は、式（２４）で決まる。
【０１４６】
式（２１）、式（２２）のシングルレート状態推定と比較すると、式（２６）のように、（ｎ＋０．５）サンプルでの推定状態Ｘｈ（ｎ＋０．５）を、式（２５）の推定状態Ｘｂ（ｎ＋０．５）に、式（２５）のｅ（ｎ）にＬ２を乗じた値で補正している点が相違する
このように、１回目と同様に、２回目の推定状態を、サンプル時刻に観測した位置誤差で補正することが、マルチレート状態推定である。
【０１４７】
式（２５）、式（２６）のＸｈ（ｎ＋Ｔｄ／Ｔ）とＸｈ（ｎ＋０．５＋Ｔｄ／Ｔ）を、式（２５）、式（２６）の他の式に代入すると、式（２５）、式（２６）は、次式（２７）に変形できる。
【０１４８】
【数２７】
2008084161.tif 000029
【０１４９】
式（２７）は、式（２５）のＸｈ（ｎ＋Ｔｄ／Ｔ）を式（２６）のｕ（ｎ）の計算にまとめ、式（２６）のＸｈ（ｎ＋０．５＋Ｔｄ／Ｔ）を、式（２６）のｕ（ｎ＋０．５）に纏め、結合したものである。式が少なくなれば、当然、計算時間も短くなり、応答が速くなる。
【０１５０】
尚、式（２７）のＬ２を「０」とすると、式（２１）、式（２２）で説明したシングルレート状態推定式を示し、Ｌ２が「０」でないと、マルチレート状態推定式を示す。
【０１５１】
図１３は、式（２７）をブロック化したブロック図である。図１３の構成は、基本的に、図７の構成を２つ直列に連結したものである。図１３に示すように、現サンプルｎでの観測位置（図１０の誤差演算器３４からの位置誤差）ｙｄ（ｎ）を取り込み，前サンプルで推定した現サンプルの予測位置Ｃ・Ｘｂ（ｎ）と観測位置ｙｄ（ｎ）の差分を、演算ブロック５２−１で演算し，推定位置誤差ｅｒ［ｎ］を生成する。乗算ブロック５４−１で、この推定位置誤差ｅｒ［ｎ］に，推定ゲインＬ１をかけて、補正値を作る。
【０１５２】
加算ブロック６６−１により、この補正値と，予測位置，予測速度などの現サンプルでの推定状態Ｘｂ［ｎ］とを加算する。これにより，式（２７）の現サンプルでの推定位置・推定速度など推定状態Ｘｈ（ｎ）を生成する。
【０１５３】
そして二自由度制御では、推定状態（位置）Ｘｈ（ｎ）と目標位置軌道ｒｄ（ｎ）との差分値を加算ブロック６０−１で演算し、乗算ブロック６２−１で、それに係数行列−Ｆ・Ａｄをかけた値を演算する。一方、出力ｕ（ｎ−１）に、乗算ブロック６６−１ａで、係数行列−Ｆ・Ｂｄ２を乗じて、出力ｕ（ｎ−０．５）に、乗算ブロック６６−１ｂで、係数行列−Ｆ・Ｂｄ１を乗じる。３つの乗算ブロック６２−１，６６−１ａ，６６−１ｂの出力を加算ブロック６８−１で加算し、式（２７）の３番目の式の出力値ｕ（ｎ）を得る。
【０１５４】
一方、次の（ｎ＋０．５）の推定状態Ｘｂ（ｎ＋０．５）を、現サンプルの推定状態Ｘｈ（ｎ）に乗算ブロック７０−１で係数行列Ａを乗じた値と、乗算ブロック７４−１で、出力値ｕ（ｎ）に係数行列Ｂ１を乗じた値と、乗算ブロック７２−１ａで、出力値ｕ（ｎ−０．５）に係数行列Ｂ２を乗じた値と、遅延ブロック６４−１で遅延された前サンプルの出力値ｕ（ｎ−１）に乗算ブロック７２−１ｂで係数行列Ｂ３を乗じた値とを、加算ブロック７６−１により加算して、（２７）式の４番目の式のように、計算する。
【０１５５】
次に、演算ブロック５２−１で演算した推定位置誤差ｅｒ［ｎ］に、乗算ブロック５４−２で、推定ゲインＬ２をかけて、補正値を作る。加算ブロック６６−２により、この補正値と，予測位置，予測速度などの現サンプルでの推定状態Ｘｂ［ｎ＋０．５］とを加算する。これにより，式（２７）の現サンプルでの推定位置・推定速度など推定状態Ｘｈ（ｎ＋０．５）を生成する。
【０１５６】
そして、マルチレート制御では、推定状態（位置）Ｘｈ（ｎ＋０．５）と目標位置軌道ｒｄ（ｎ＋０．５）との差分値を加算ブロック６０−２で演算し、乗算ブロック６２−２で、それに係数行列−Ｆ・Ａｄをかけた値を演算する。
【０１５７】
一方、出力ｕ（ｎ−０．５）に、乗算ブロック６６−２ａで、係数行列−Ｆ・Ｂｄ２を乗じて、出力ｕ（ｎ）に、乗算ブロック６６−２ｂで、係数行列−Ｆ・Ｂｄ１を乗じる。３つの乗算ブロック６２−２，６６−２ａ，６６−２ｂの出力を加算ブロック６８−２で加算し、式（２７）の６番目の式の出力値ｕ（ｎ＋０．５）を得る。
【０１５８】
一方、次の（ｎ＋１）の推定状態Ｘｂ（ｎ＋１）を、現サンプルの推定状態Ｘｈ（ｎ＋０．５）に乗算ブロック７０−２で係数行列Ａを乗じた値と、乗算ブロック７４−２で、出力値ｕ（ｎ＋０．５）に係数行列Ｂ１を乗じた値と、乗算ブロック７２−２ａで、出力値ｕ（ｎ）に係数行列Ｂ２を乗じた値と、遅延ブロック６４−２で遅延された前サンプルの出力値ｕ（ｎ−０．５）に乗算ブロック７２−２ｂで係数行列Ｂ３を乗じた値とを、加算ブロック７６−２により加算して、（２７）式の７番目の式のように、計算する。
【０１５９】
尚、遅延ブロック７８は、次のサンプル（ｎ＋１）の推定状態Ｘｂ（ｎ＋１）を遅延し、乗算ブロック５０−１は、遅延ブロック７８の出力に、Ｃを乗じて、現サンプルの推定位置ｘ（ｎ）を計算する。
【０１６０】
更に、図１０で説明したように、加算ブロック７６−２の次のサンプルの推定状態Ｘｂ（ｎ＋１）の推定位置ｘ（ｎ＋１）を、前のサンプルの目標位置軌道ｒ（ｎ−１）から現サンプルの目標位置軌道ｒ（ｎ）を差し引いた値で、推定位置ｘ（ｎ＋１）を修正する。
【０１６１】
このように、オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延（演算遅延及び駆動アンプ、Ｄ／Ａコンバータ等のハード遅延）を考慮して、サンプル時点から遅延分進んだＴｄの推定状態を演算し、この推定状態から出力を演算するため、サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。
【０１６２】
又、同一のサンプル時刻で、二自由度制御項を計算しているため、このマルチレート制御では、特に、計算順序が複雑となることを防止でき、高速に演算できる。更に、状態推定順序が守ることができ、系全体の安定性を維持することができる。このため、マルチレート制御のオブザーバ構成を容易に構築できる。
【０１６３】
尚、図１３のブロックにおいて、乗算ブロック５４−２のＬ２を「０」に設定すると、シングルレート状態推定の構成となり、図１３の構成は、シングルレート、マルチレート状態推定にいずれにも使用できる。
【０１６４】
（位置制御系の第４の実施の形態）
図１４は、本発明の二自由度位置制御系の第４の実施の形態のブロック図である。図１４は、２倍のマルチレート制御を用いた二自由制御系の構成を示す。図１４において、図５、図９、図１０で示したものと同一のものは、同一の記号で示してある。
【０１６５】
このマルチレート制御では、基準軌道をｒ（ｎ＋０．５）としたものである。図１４の２倍のマルチレート構成に示すように、目標位置（目標シリンダ）Ｔｐが与えられ、シーク制御が開始する。シーク距離計算ブロック２０は、目標位置Ｔｐと現在位置との差を計算し、シーク距離Ｌｓｅｅｋを得る。
【０１６６】
目標軌道生成ブロック２２−１は、シーク距離Ｌｓｅｅｋに応じて、サンプル毎に、ｎサンプルでの目標軌道ｒ（ｎ）と、（ｎ＋０．５）サンプルでの目標軌道ｒ（ｎ＋０．５）を生成する。例えば、図１１に示したように、目標軌道ｒ（ｎ）は、シーク距離Ｌｓｅｅｋに応じて、各サンプルの目標位置の軌道であり、ｒ（ｎ＋０．５）は、ｒ（ｎ）より、０．５サンプル進んだ時刻の目標位置軌道である。
【０１６７】
二自由度コントローラ２６−１は、図１３で説明したマルチレート制御現在オブザーバで構成される。第１の演算器３２−１は、目標位置軌道ｒ（ｎ）から目標位置軌道ｒ（ｎ＋０．５）を差し引き、コントローラ２６−１への目標位置軌道ｒｄ（ｎ）を求める。即ち、コントローラ２６−１への目標位置軌道ｒｄ（ｎ）は、目標軌道ｒ（ｎ＋０．５）を基準とする相対値である。
【０１６８】
第４の演算器３２−２は、目標位置軌道ｒ（ｎ＋０．５）から目標位置軌道ｒ（ｎ＋０．５）を差し引き、コントローラ２６−１への目標位置軌道ｒｄ（ｎ＋０．５）を求める。即ち、コントローラ２６−１への目標位置軌道ｒｄ（ｎ＋０．５）は、目標位置軌道ｒ（ｎ＋０．５）を基準とした「０」である。
【０１６９】
位置誤差演算器３０は、プラント２８（１，３）の観測位置ｙ（ｎ）から目標位置Ｔｐを差し引き、位置誤差ｙ（ｎ）を演算する。第２の演算器３４は、位置誤差ｙ（ｎ）から目標位置軌道ｒ（ｎ＋０．５）を差し引き、コントローラ２６−１への位置誤差ｙｄ（ｎ）を求める。
【０１７０】
又、遅延ブロック３６は、現サンプルの目標位置軌道ｒ（ｎ＋０．５）を１サンプル遅延する。第３の演算器３８は、コントローラ２６−１の推定位置ｘ（ｎ＋１）に、前のサンプルの目標位置軌道ｒ（ｎ−０．５）から現サンプルの目標位置軌道ｒ（ｎ＋０．５）を差し引いた値を加算し、コントローラ２６−１の次のサンプルの推定位置ｘ（ｎ＋１）を修正する。
【０１７１】
即ち、マルチレートコントローラ２６−１の入力ｒ（ｎ），ｒ（ｎ＋０．５），ｙ（ｎ）は、それぞれのサンプル時刻において、目標位置軌道ｒ（ｎ＋０．５）を基準とした相対値ｒｄ（ｎ），ｒｄ（ｎ＋０．５），ｙｄ（ｎ）としている。そして、目標位置軌道を基準としているため、次のサンプルの推定位置ｘ（ｎ＋１）は、目標位置軌道の変動分修正する。即ち、１サンプル毎に、前のサンプルの目標位置軌道ｒ（ｎ−０．５）から現サンプルの目標位置軌道ｒ（ｎ＋０．５）を差し引いた値で、推定位置ｘ（ｎ＋１）を修正する。
【０１７２】
この基準位置は、目標位置軌道ｒ（ｎ＋０．５）そのものであり、図１１と同様に、目標位置軌道ｒ（ｎ）の変化に伴い、変化する。
【０１７３】
このように、基準位置を目標位置軌道ｒ（ｎ＋０．５）にしても、コントローラ２６の入力を、相対値とし、コントローラ２６−１は、絶対値を取り扱わなくて良いので、コントローラ２６−１を構成するオブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよくなる。そのため，絶対的な距離を保持する場合に比べて，値の変化する範囲が小さくなる。したがって，固定小数点方式でも、小数点をプラス１ビットやプラス２ビットの位置に設定可能となり、計算精度が改善できる。
【０１７４】
しかも、図５の基準位置軌道の生成が不要となり、より容易に、且つ演算負荷を少なくして、実現できる。
【０１７５】
（他の実施の形態）
前述の実施の形態では、オブザーバ制御を、磁気ディスク装置のヘッド位置決め装置の適用の例で説明したが、光ディスク装置等の他の媒体記憶装置にも適用できる。又、外乱モデルを考慮しているが、外乱モデルを考慮しない場合にも、採用できる。
【０１７６】
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
【０１７７】
（付記１）対象物を目標位置に、アクチュエータにより位置制御する位置制御方法において、前記目標位置への目標位置軌道を生成するステップと、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとを有することを特徴とする位置制御方法。
【０１７８】
（付記２）前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正するステップを更に有することを特徴とする付記１の位置制御方法。
【０１７９】
（付記３）前記出力値演算ステップは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算するステップからなることを特徴とする付記１の位置制御方法。
【０１８０】
（付記４）前記出力値演算ステップは、サンプル毎の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップからなることを特徴とする付記１の位置制御方法。
【０１８１】
（付記５）出力値演算ステップは、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いて、目標位置軌道の相対値を求めるステップと、前記位置誤差から前記基準軌道を差し引いて、前記位置誤差の相対値を求めるステップと、前記目標位置軌道の相対値と前記位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとからなることを特徴とする付記１の位置制御方法。
【０１８２】
（付記６）前記位置誤差を演算するステップは、記憶媒体のデータを少なくとも読み取るヘッドの出力から得た現在位置と、前記アクチュエータを駆動して前記ヘッドを前記記憶媒体の所定位置に移動するための目標位置との位置誤差を演算するステップからなることを特徴とする付記１の位置制御方法。
【０１８３】
（付記７）前記出力値演算ステップは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第１の目標位置軌道の相対値と、サンプル時刻＋０．５サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第２の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップからなることを特徴とする付記１の位置制御方法。
【０１８４】
（付記８）記憶媒体のデータを少なくとも読み取るヘッドと、前記記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、前記目標位置への目標位置軌道を生成し、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算し、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有することを特徴とする媒体記憶装置。
【０１８５】
（付記９）前記制御ユニットは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正することを特徴とする付記８の媒体記憶装置。
【０１８６】
（付記１０）前記制御ユニットは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算することを特徴とする付記８の媒体記憶装置。
【０１８７】
（付記１１）前記制御ユニットは、サンプル毎に、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記８の媒体記憶装置。
【０１８８】
（付記１２）前記制御ユニットは、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いて、目標位置軌道の相対値を求め、前記位置誤差から前記基準軌道を差し引いて、前記位置誤差の相対値を求め、前記目標位置軌道の相対値と前記位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記８の媒体記憶装置。
【０１８９】
（付記１３）前記制御ユニットは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第１の目標位置軌道の相対値と、サンプル時刻＋０．５サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第２の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記１１の媒体記憶装置。
【０１９０】
（付記１４）前記記憶媒体が、回転するディスク記憶媒体であることを特徴とする付記８の媒体記憶装置。
【０１９１】
（付記１５）対象物を目標位置に、アクチュエータにより位置制御する位置制御装置において、前記目標位置への目標位置軌道を生成する生成ブロックと、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算する誤差演算ブロックと、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有することを特徴とする位置制御装置。
【０１９２】
（付記１６）前記制御ユニットは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正することを特徴とする付記１５の位置制御装置。
【０１９３】
（付記１７）前記制御ユニットは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算することを特徴とする付記１５の位置制御装置。
【０１９４】
（付記１８）前記制御ユニットは、サンプル毎に、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記１５の位置制御装置。
【０１９５】
（付記１９）前記制御ユニットは、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いて、目標位置軌道の相対値を求め、前記位置誤差から前記基準軌道を差し引いて、前記位置誤差の相対値を求め、前記目標位置軌道の相対値と前記位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記１５の位置制御装置。
【０１９６】
（付記２０）前記制御ユニットは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第１の目標位置軌道の相対値と、サンプル時刻＋０．５サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第２の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記１５の位置制御装置。
【産業上の利用可能性】
【０１９７】
オブザーバを使用した二自由度制御系の入力を、相対値とし、絶対値を取り扱わなくて良いので、オブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよく、絶対的な距離を保持する場合に比べて，値の変化する範囲が小さくなる。したがって，固定小数点方式でも、小数点の有効桁数を増加でき、計算精度が改善できる。このため、加速区間における制御電流が滑らかになり、共振や騒音の発生を防止でき、定速区間や減速区間では、残留振動の発生を防止でき、シーク時間を短縮できる。
【図面の簡単な説明】
【０１９８】
【図１】本発明の一実施形態を示す媒体記憶装置の構成図である。
【図２】図１のディスクの位置信号の説明図である。
【図３】図２の位置信号の詳細説明図である。
【図４】本発明の一実施の形態のシーク制御の遷移図である。
【図５】本発明の第１の実施の形態の二自由度制御系のブロック図である。
【図６】図５の目標位置軌道と基準軌道の説明図である。
【図７】図５の二自由度制御現在オブザーバのブロック図である。
【図８】図７の現在オブザーバの動作シーケンス図である。
【図９】本発明の第２の実施の形態の二自由度制御系のブロック図である。
【図１０】本発明の第３の実施の形態の二自由度制御系のブロック図である。
【図１１】図１０の目標位置軌道の説明図である。
【図１２】図１０のマルチレート制御の説明図である。
【図１３】図１０のマルチレート制御現在オブザーバのブロック図である。
【図１４】本発明の第４の実施の形態の二自由度制御系のブロック図である。
【図１５】従来の二自由度制御のブロック図である。
【図１６】図１５の目標位置軌道の説明図である。
【図１７】プロセッサの固定小数点の説明図である。
【図１８】プロセッサの固定小数点方式のＱ−フォーマットの説明図である。
【符号の説明】
【０１９９】
１  アクチュエータ
２  スピンドルモータの回転軸
３  ヘッド
４  ディスク
５  スピンドルモータ
６  アクチュエータのＶＣＭ駆動回路
７  位置復調回路
８  スピンドルモータの駆動回路
９  バス
１０  データの記録再生回路
１１  ハードディスクコントローラ
１２  ＭＣＵのＲＡＭ
１３  ＭＣＵのＲＯＭ
１４  マイクロコントローラユニット
１５  ハードディスクコントローラのＲＡＭ
１６  位置信号
【図１】
2008084161.tif 000030
【図２】
2008084161.tif 000031
【図３】
2008084161.tif 000032
【図４】
2008084161.tif 000033
【図５】
2008084161.tif 000034
【図６】
2008084161.tif 000035
【図７】
2008084161.tif 000036
【図８】
2008084161.tif 000037
【図９】
2008084161.tif 000038
【図１０】
2008084161.tif 000039
【図１１】
2008084161.tif 000040
【図１２】
2008084161.tif 000041
【図１３】
2008084161.tif 000042
【図１４】
2008084161.tif 000043
【図１５】
2008084161.tif 000044
【図１６】
2008084161.tif 000045
【図１７】
2008084161.tif 000046
【図１８】
2008084161.tif 000047