説明

二自由度位置制御方法、二自由度位置制御装置および媒体記憶装置

【課題】二自由度制御を行う現在オブザーバ制御による位置制御装置において、固定小数点のプロセッサを用いて、計算精度を向上する。
【解決手段】オブザーバを使用した二自由度制御系(26)の入力である目標位置軌道、位置誤差を基準軌道を基準とした相対値とし、オブザーバの状態変数が、基準位置からの相対的な距離を保持するようにした。絶対的な距離を保持する場合に比べて,値の変化する範囲が小さくなり、固定小数点方式でも、小数点の有効桁数を増加でき、計算精度が改善できる。このため、加速区間における制御電流が滑らかになり、共振や騒音の発生を防止でき、定速区間や減速区間では、残留振動の発生を防止でき、シーク時間を短縮できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フィードバックとフィードフォワード併用した二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置に関し、特に、オブザーバ制御を用いて、二自由度制御するための2自由度位置制御方法、2自由度位置制御装置及び媒体記憶装置に関する。
【背景技術】
【0002】
対象物を目標位置に位置制御する装置は、広く利用されている。例えば、磁気ディスク装置や光ディスク装置等のディスク装置の位置決め制御の1つである、ヘッドを目標トラックへ移動させるシーク制御に利用されている。
【0003】
このシーク制御として、二自由度制御(Two Degree of Freedom Control)を用いる方法がある。この二自由度制御は、フィードバック・ループを構成しながら、目標位置を、フィルタを通して、与える。即ち、目標位置から観測位置までの伝達関数を、ローパスフィルタの形状にする。これにより、オーバーシュート(又はオーバーラン)を効果的に抑圧する方法である。
【0004】
ディスク装置等で、一般的に利用されているオブザーバ制御系においても,二自由度制御系を構成することが可能である。この際には、制御系は、フィードバック極と同じ極を持つ2次ローパスフィルタ(以下,LPFと略す)の形になる。図15は、従来の2自由度制御系の構成図、図16は、目標軌道の説明図である。
【0005】
図15に示すように、目標軌道生成部100は、目標位置rからシーク距離を計算し、シーク距離Lseekに応じて、目標軌道r(n)を生成する。図16に示すように、目標軌道r(n)は、サンプル毎に、移動する目標位置を示す。一方、位置誤差演算部102は、目標位置rとプラント106から観測した現在位置yとの誤差y(n)を演算する。コントローラ104は、目標軌道r(n)と位置誤差y(n)を受け、二自由度オブザーバの演算を行い、プラント106の駆動指令値を計算し、プラント106を駆動する(例えば、非特許文献1参照)。
【非特許文献1】「Digital Control of Dynamic Systems」(著者 Gene F. Franklin 他2名、発行元 ADDISON-WESLEY, 発行年1998年)
【発明の開示】
【発明が解決しようとする課題】
【0006】
このような二自由度制御を用いたシーク制御においては、オブザーバの状態変数に、位置誤差を保持することが必要になる。一方、近年,磁気ディスク装置に代表される媒体記憶装置は,記録密度が急激に向上している。例えば,2.5型HDD(Hard Disk Drive)においては,ディスク1枚あたりの容量が60GBにもなっている。それにともない,トラック本数も大幅に増大しおり、例えば、2.5型HDDでは、すでに4〜5万本のトラック数になっている。
【0007】
又、このような装置では、コストの低減及び装置の小型化が要請されている。このため、浮動小数点ではなく、固定小数点方式のMCU(マイクロコトローラユニット)を使用している。特に,16bitの演算器が広く使用されている。
【0008】
図17に示すように、16ビット固定小数点方式では、最上位ビットに、符号ビットSを設定し、残りの15ビットで数字を表現する。16ビットは、−32768から+32678までしか表現できないため、前述の5万という数字を、符号付きで表現することはできない。
【0009】
この固定小数点方式で、桁数を拡張する方法として、Q−フォーマット方式が知られている。図18に示すように、例えば、Q2−フォーマットは、上位2ビットを整数に、下位14ビットを小数に使用する。又、Q−1−フォーマットは、小数点位置をマイナス1LSBに設定することで、数字を表現するビット数を16ビットに拡張できる。この場合に、小数点より上の1ビットは、表現できない。
【0010】
この従来の桁数の拡張方法を、前述の2自由度オブザーバに適用する場合には、小数点位置をマイナスに設定するため、観測した位置及び推定した位置の精度を落とすことになる。例えば、小数点位置が、マイナス1LSBならば,小数点より上の下位1ビットを丸めることとなる。
【0011】
このことは、計算精度を劣化させることにつながり,位置制御におけるシーク電流の変動が、特に加速区間において、大きくなり、シーク電流が、滑らかにならず、共振や騒音の原因となる。今後,ますます記録密度が向上し、トラック数が増大すると,この影響は、ますます深刻になる。
【0012】
従って、本発明の目的は、固定小数点方式のプロセッサを使用しても、二自由度制御における計算精度を向上するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【0013】
又、本発明の他の目的は、固定小数点方式のプロセッサを使用して、二自由度制御しても、滑らかな位置制御を実現するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【0014】
更に、本発明の他の目的は、固定小数点方式のプロセッサを使用して、二自由度制御しても、騒音の発生を防止するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【0015】
更に、本発明の他の目的は、高精度の位置制御を安価な固定小数点方式のプロセッサを使用して、実現するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【課題を解決するための手段】
【0016】
この目的の達成のため、本発明の対象物を目標位置に、アクチュエータにより位置制御する位置制御方法は、前記目標位置への目標位置軌道を生成するステップと、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとを有する。
【0017】
又、本発明の媒体記憶装置は、記憶媒体のデータを少なくとも読み取るヘッドと、前記記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、前記目標位置への目標位置軌道を生成し、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算し、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有する。
【0018】
又、本発明の対象物を目標位置に、アクチュエータにより位置制御する位置制御装置は、前記目標位置への目標位置軌道を生成する生成ブロックと、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算する誤差演算ブロックと、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有する。
【0019】
更に、本発明では、好ましくは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正するステップを更に有する。
【0020】
更に、本発明では、好ましくは、前記出力値演算ステップは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算するステップからなる。
【0021】
更に、本発明では、好ましくは、前記出力値演算ステップは、サンプル毎の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップからなる。
【0022】
更に、本発明では、好ましくは、出力値演算ステップは、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いて、目標位置軌道の相対値を求めるステップと、前記位置誤差から前記基準軌道を差し引いて、前記位置誤差の相対値を求めるステップと、前記目標位置軌道の相対値と前記位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとからなる。
【0023】
更に、本発明では、好ましくは、前記位置誤差を演算するステップは、記憶媒体のデータを少なくとも読み取るヘッドの出力から得た現在位置と、前記アクチュエータを駆動して前記ヘッドを前記記憶媒体の所定位置に移動するための目標位置との位置誤差を演算するステップからなる。
【0024】
更に、本発明では、好ましくは、前記出力値演算ステップは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第1の目標位置軌道の相対値と、サンプル時刻+0.5サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第2の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップからなる。
【発明の効果】
【0025】
オブザーバを使用した二自由度制御系の入力を、相対値とし、絶対値を取り扱わなくて良いので、オブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよく、絶対的な距離を保持する場合に比べて,値の変化する範囲が小さくなる。したがって,固定小数点方式でも、小数点の有効桁数を増加でき、計算精度が改善できる。このため、加速区間における制御電流が滑らかになり、共振や騒音の発生を防止でき、定速区間や減速区間では、残留振動の発生を防止でき、シーク時間を短縮できる。
【発明を実施するための最良の形態】
【0026】
以下、本発明の実施の形態を、媒体記憶装置、二自由度位置制御系の第1の実施の形態、二自由度現在オブザーバ、第2の実施の形態、第3の実施の形態、マルチレート制御現在オブザーバ、第4の実施の形態、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
【0027】
(媒体記憶装置)
図1は、本発明の一実施の形態の媒体記憶装置の構成図、図2は、図1の磁気ディスクの位置信号の配置図、図3は、図1及び図2の磁気ディスクの位置信号の構成図、図4は、シーク制御の制御遷移図である。
【0028】
図1は、媒体記憶装置として、磁気ディスク装置を示す。図1に示すように、磁気記憶媒体である磁気ディスク4が、スピンドルモータ5の回転軸2に設けられている。スピンドルモータ5は、磁気ディスク4を回転する。アクチュエータ(VCM)1は、先端に磁気ヘッド3を備え、磁気ヘッド3を磁気ディスク4の半径方向に移動する。
【0029】
アクチュエータ1は、回転軸を中心に回転するボイスコイルモータ(VCM)で構成される。図では、磁気ディスク装置に、2枚の磁気ディスク4が搭載され、4つの磁気ヘッド3が、同一のアクチュエータ1で同時に駆動される。
【0030】
磁気ヘッド3は、リード素子と、ライト素子とからなる。磁気ヘッド3は、スライダに、磁気抵抗(MR)素子を含むリード素子を積層し、その上にライトコイルを含むライト素子を積層して、構成される。
【0031】
位置検出回路7は、磁気ヘッド3が読み取った位置信号(アナログ信号)をデジタル信号に変換する。リード/ライト(R/W)回路10は、磁気ヘッド3の読み取り及び書込みを制御する。スピンドルモータ(SPM)駆動回路8は、スピンドルモータ5を駆動する。ボイスコイルモータ(VCM)駆動回路6は、ボイスコイルモータ(VCM)1に駆動電流を供給し、VCM1を駆動する。
【0032】
マイクロコントローラ(MCU)14は、位置検出回路7からのデジタル位置信号から現在位置を検出(復調)し、検出した現在位置と目標位置との誤差に従い、VCM駆動指令値を演算する。即ち、位置復調と図5以下で説明する外乱抑圧を含むサーボ制御(現在オブザーバ制御)を行う。リードオンリーメモリ(ROM)13は、MCU14の制御プログラム等を格納する。ランダムアクセスメモリ(RAM)12は、MCU14の処理のためのデータ等を格納する。
【0033】
ハードディスクコントローラ(HDC)11は、サーボ信号のセクタ番号を基準にして,1周内の位置を判断し,データを記録・再生する。バッファ用ランダムアクセスメモリ(RAM)15は、リードデータやライトデータを一時格納する。HDC11は、USB(Universal Serial Bus),ATAやSCSI(Small Computer System Interface) 等のインターフェイスIFで、ホストと通信する。バス9は、これらを接続する。
【0034】
図2に示すように、磁気ディスク4には、外周から内周に渡り、各トラックにサーボ信号(位置信号)16が、円周方向に等間隔に配置される。尚、各トラックは、複数のセクタで構成され、図2の実線は、サーボ信号16の記録位置を示す。図3に示すように、位置信号は,サーボマークServo Markと、トラック番号Gray Codeと、インデックスIndexと、オフセット情報(サーボバースト)PosA,PosB,PosC,PosDとからなる。尚、図3の点線は、トラックセンターを示す。
【0035】
図3の位置信号をヘッド3で読み取り、トラック番号Gray Codeとオフセット情報PosA,PosB,PosC,PosDを使い,磁気ヘッドの半径方向の位置を検出する。さらに、インデックス信号Indexを元にして,磁気ヘッドの円周方向の位置を把握する。
【0036】
例えば,インデックス信号を検出したときのセクタ番号を0番に設定し、サーボ信号を検出する毎に、カウントアップして、トラックの各セクタのセクタ番号を得る。このサーボ信号のセクタ番号は,データの記録再生を行うときの基準となる。尚、インデックス信号は、1周に1つである、又、インデックス信号の代わりに、セクタ番号を設けることもできる。
【0037】
図1のMCU14は、位置検出回路7を通じて、アクチュエータ1の位置を確認して,サーボ演算し、適切な電流をVCM1に供給する。即ち、図4に示すように、シーク制御は、コアース制御、整定制御及びフォローイング制御と遷移することで,目標位置まで移動させることができる。いずれも、ヘッドの現在位置を検出する必要がある。
【0038】
このような,位置を確認するためには,前述の図2のように、磁気ディスク上にサーボ信号を事前に記録しておく。即ち、図3に示したように、サーボ信号の開始位置を示すサーボマーク,トラック番号を表すグレイコード,インデックス信号,オフセットを示すPosA〜PosDといった信号が記録されている。この信号を磁気ヘッドで読み出し、このサーボ信号を、位置検出回路7が、デジタル値に変換する。又、MCU14は、固定小数点方式のプロセッサ(ここでは、16ビット)を有する。
【0039】
(二自由度位置制御系の第1の実施の形態)
図5は、本発明の位置制御系の第1の実施の形態のブロック図、図6は、その動作説明図である。
【0040】
図5は、図1のMCU14が実行する現在オブザーバを使用した二自由度位置制御系を示す。図5に示すように、目標位置(目標シリンダ)Tpが与えられ、シーク制御が開始する。シーク距離計算ブロック20は、目標位置Tpと現在位置との差を計算し、シーク距離Lseekを得る。
【0041】
目標軌道生成ブロック22は、シーク距離Lseekに応じた目標位置軌道r(n)を生成する。図6に示すように、目標軌道r(n)は、シーク距離Lseekに応じて、各サンプルの目標位置の軌道である。
【0042】
ベース軌道作成ブロック24は、目標位置軌道r(n)に追従して変化する基準位置軌道Pbase(n)を作成する。例えば、図6に示すように、目標位置軌道r(n)より所定値小さい位置の値を持つ軌道を基準位置軌道Pbase(n)として、作成する。勿論、目標位置軌道r(n)より所定値大きい位置の値を持つ軌道を基準位置軌道Pbase(n)として、作成しても良い。
【0043】
二自由度コントローラ26は、図7で示す現在オブザーバで構成される。第1の演算器32は、目標位置軌道r(n)から基準位置軌道Pbase(n)を差し引き、コントローラ26への目標位置軌道rd(n)を求める。
【0044】
位置誤差演算器30は、プラント28(1,3)の観測位置y(n)から目標位置Tpを差し引き、位置誤差y(n)を演算する。第2の演算器34は、位置誤差y(n)から基準位置軌道Pbase(n)を差し引き、コントローラ26への位置誤差yd(n)を求める。
【0045】
又、遅延ブロック36は、現サンプルの基準位置軌道Pbase(n)を1サンプル遅延する。第3の演算器38は、コントローラ26の推定位置x(n+1)に、前のサンプルの基準位置軌道Pbase(n−1)から現サンプルの基準位置軌道Pbase(n)を差し引いた値を加算し、コントローラ26の次のサンプルの推定位置x(n+1)を修正する。
【0046】
即ち、コントローラ26の入力r(n),y(n)は、それぞれのサンプル時刻において、基準位置Pbase(n)からの相対値rd(n),yd(n)としている。そして、基準位置を基準としているため、次のサンプルの推定位置x(n+1)は、基準位置の変動分修正する。即ち、1サンプル毎に、前のサンプルの基準位置軌道Pbase(n−1)から現サンプルの基準位置軌道Pbase(n)を差し引いた値で、推定位置x(n+1)を修正する。この基準位置を、目標位置軌道r(n)の変化に伴い、変化させる。
【0047】
このようにコントローラ26の入力を、相対値とし、コントローラ26は、絶対値を取り扱わなくて良いので、コントローラ26を構成するオブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよくなる。そのため,絶対的な距離を保持する場合に比べて,値の変化する範囲が小さくなる。したがって,固定小数点方式でも、小数点をプラス1ビットやプラス2ビットの位置に設定可能となり、計算精度が改善できる。
【0048】
例えば、位置誤差に応じて、小数点位置を変更する方法がある。これを適用すると、位置誤差が大きい加速区間は、前述の小数点位置をプラス1ビットやプラス2ビット(Q2−フォーマット)とすることにより、図4の加速区間は、従来のQ−2−フォーマットに比し、16倍の精度で出力電流を演算できる。このため、加速区間における制御電流が滑らかになり、共振や騒音の発生を防止できる。
【0049】
又、位置誤差が小さくなる定速区間や減速区間では、前述の小数点位置をプラス7ビットやプラス8ビット(Q8−フォーマット)とすることにより、図4の定速、減速区間は、従来に比し、16倍の精度で出力電流を演算できる。このため、定速区間や減速区間では、残留振動の発生を防止でき、シーク時間を短縮できる。
【0050】
更に、図5の構成を、1つの16ビットプロセッサで構成する場合には、コントローラ26以外の演算を、倍精度演算すると、コントローラ26の入力も精度を向上できる。この場合に、コントローラ26の現在オブザーバの演算は、行列を取り扱うため、演算負荷が大きいのに比し、コントローラ26以外の演算は、行列を取り扱わないため、演算負荷が小さい。このため、コントローラ26以外の演算を倍精度演算しても、出力遅延の影響は少ない。
【0051】
又、コントローラ26のみを専用プロセッサで構成する場合には、他のプロセッサ(例えば、図1のMCU14又はHDC11のプロセッサ)で、コントローラ以外の演算を倍精度演算することにより、出力遅延を防止できる。
【0052】
(二自由度制御現在オブザーバ)
次に、コントローラ26を構成する現在オブザーバを説明する。磁気ディスク装置のアクチュエータは、回転型である。しかし、次式(1)の形の直進型アクチュエータの状態方程式に変換して表現できる。尚、xは位置(m)、vは速度(m/s),uは電流(Ampere)、Blは力定数(N/m)、mは等価質量(kg)、uは出力、sはラプラス演算子である。
【0053】
【数1】

【0054】
サンプリング周期をT(s)、電流の最大値をImax(Ampere),トラック幅をLp(m/track)とおき、位置の単位をtrack、速度の単位をtrack/sample、電流の単位を、Imaxを「1」とする変換を行い、(1)式を、デジタルの状態方程式で表現すると、次式(2)を得る。
【0055】
【数2】

【0056】
一方、定常バイアスを推定するため、定常バイアスを一定とした次式(3)を仮定する。尚、sはラプラス演算子である。
【0057】
【数3】

【0058】
これをデジタル空間に変換すると、次式(4)を得る
【0059】
【数4】

【0060】
又、外乱モデルとして、次式(5)の2次式の特性を設定する。
【0061】
【数5】

【0062】
式(5)の外乱モデルのアナログの状態方程式は、次式(6)で表現される。
【0063】
【数6】

【0064】
この式(6)をデジタル空間に変換すると、次式(7)を得る。
【0065】
【数7】

【0066】
この式(2)、式(4)、式(7)をまとめて、拡大モデルを構成すると、次式(8)が得られる。ここでは、式(4)の定常バイアス、式(7)の2次式で表現された外乱を2つ含めている。
【0067】
【数8】

【0068】
式(8)のアクチュエータのモデルと1つ又は複数の外乱モデルを含む拡大モデルを、簡単化して、次式(9)で表す。
【0069】
【数9】

【0070】
式(9)は、式(8)の行列を、X(n+1),X(n)、A,B、Cで表して、簡単化したものである。式(9)から予測オブザーバは、次式(10)で表される。
【0071】
【数10】

【0072】
この式は、アナログ制御のオブザーバの式をそのままデジタルの式に直したものである。Lは、状態推定ゲインであり、位置、速度、バイアス、外乱の4つ(式(8)に対応すると、外乱が2つのため、5つ)の状態推定ゲインからなる。又、Fは、フィードバックゲインであり、同様に、5つのフィードバックゲインからなる。
【0073】
この式では、観測位置y(n)が、現サンプルの電流出力u(n)に反映されない。即ち、予測オブザーバの形式であるため、応答が1サンプル遅延する。1サンプルの遅延を補うため、一般には、現在オブザーバが利用される。現在オブザーバは、次式(11)で表現される。但し、y(n)は、現サンプルでの観測位置である。
【0074】
【数11】

【0075】
このように、1サンプルで、1回の演算を行い、1回駆動電流を変化するための現在オブザーバを構成する。
【0076】
次に、この現在オブザーバから、出力遅延を考慮した現在オブザーバの構成を求める。図8に示すように、サンプル時刻nから時刻Tdだけ遅延した(進んだ)時間での状態変数Xは、式(10)と同様に、求めると、次の式(12)で表現できる。
【0077】
【数12】

【0078】
式(12)を、式(2)と同様に、アクチュエータのモデルで表すと、式(13)で表現できる。尚、式(13)において、Tdは、時間単位のため、サンプル数nに変換するため、サンプリング周期Tで、Tdを割り、サンプル数単位に変換している。
【0079】
【数13】

【0080】
又、定常バイアスbは、常に一定であるため、次式(14)で表される。
【0081】
【数14】

【0082】
他の外乱モデルも、式(7)に従い、式(12)、式(13)と同様に変換できる。変換は、z変換を用いる。前述の現在オブザーバの式(11)と、上記式を合わせれば、次式(15)を構成できる。
【0083】
【数15】

【0084】
式(15)において、Xh(n)は、現サンプルnでの推定状態、Xh(n+Td/T)は、現サンプルnからTdだけ進んだ時の推定状態である。
【0085】
式(15)は、現サンプルnでの推定状態Xh(n)を求め、次に、遅延を考慮した時間Tdだけ進んだ状態Xh(n+Td/T)を、現サンプルnでの推定状態Xh(n)と前サンプルの出力値u(n−1)から計算する。
【0086】
ここで、一般に、次のサンプルの状態を推定するには、式(11)のように、現サンプルの出力u(n)を使用するが、この例では、シングルレート制御のため、1サンプルで、1回出力するから、サンプル時点では、u(n)が計算されていない。このため、既に計算された前サンプルの出力u(n−1)を使用して、時間Tdだけ進んだ状態Xh(n+Td/T)を計算する。そして、計算された時間Tdだけ進んだ状態Xh(n+Td/T)から、現サンプルnでの出力u(n)を計算する。
【0087】
次のサンプルの推定状態Xb(n+1)は、式(15)では、式(11)と異なり、u(n)とu(n−1)とを使用する。ここで、式(15)の推定状態Xb(n+1)の位置x(n+1),速度v(n+1)は、下記式(16)で表される。
【0088】
【数16】

【0089】
この式(16)のu(n)の係数が、式(15)のB1であり、u(n−1)の係数が、式(15)のB2である。
【0090】
式(16)に二自由度制御のフィードフォワードを付与すると、式(17)が得られる。
【0091】
【数17】

【0092】
即ち、式(15)に比し、Xh(n+Td/T)の計算に、フィードフォワード項である(C^T・r(n))を加えている。尚、式(17)の行列C、C^T(Cの転置)は、下記式(18)、式(19)で表される。
【0093】
【数18】

【0094】
【数19】

【0095】
この場合に、従来の二自由度制御の式に従うと、出力u(n)の計算式に、直接フィードフォワード項を加える。しかしながら、このようにすると、サンプル時点が異なるXh(n+Td/T)から(C^T・r(n))を引くことになり、計算順序が複雑となり、高速に演算することが難しい。又、状態推定順序が変化し、系全体の安定性を維持するのが困難となるおそれがある。
【0096】
このため、サンプル時点が同じであるXh(n)に対し、フィードフォワード項である(C^T・r(n))を加えて、進んだ状態Xh(n+Td/T)を計算する。
【0097】
式(17)を簡単化し、式(17)の第2式を、第3式に代入して、下記式(20)を得る。
【0098】
【数20】

【0099】
図7は、式(20)をブロック化したブロック図である。図7に示すように、現サンプルnでの観測位置(図5の演算器34からの基準位置軌道を基準とした位置誤差)yd(n)を取り込み,前サンプルで推定した現サンプルの予測位置C・Xb(n)と観測位置yr(n)の差分を、演算ブロック52で演算し,推定位置誤差er[n]を生成する。乗算ブロック54で、この推定位置誤差er[n]に,推定ゲインLをかけて、補正値を作る。
【0100】
加算ブロック56により、この補正値と,予測位置,予測速度などの現サンプルでの推定状態Xb[n]と加算する。これにより,式(20)の現サンプルでの推定位置・推定速度など推定状態Xh(n)を生成する。
【0101】
そして二自由度制御では、推定状態(位置)Xh(n)と目標位置軌道(図5の演算器32からの基準位置軌道を基準にした目標位置軌道)rd(n)との差分値を加算ブロック60で演算し、乗算ブロック62で、それに係数行列−F・Adをかけた値を演算する。一方、出力u(n−1)に、乗算ブロック66で、係数行列−F・Bdを乗じて、この結果と、乗算ブロック62の結果を加算ブロック68で加算し、時刻Tdだけ進んだ状態Xh(n+Td/T)による、式(20)の2番目の式の出力値u(n)を得る。
【0102】
一方、次のサンプル(n+1)の推定状態Xb(n+1)を、現サンプルの推定状態Xh(n)と、出力値u(n)と、遅延ブロック64で遅延された前サンプルの出力値u(n−1)から乗算ブロック70,72,74、加算ブロック76により、(20)式の3番目の式のように、計算する。
【0103】
尚、遅延ブロック78は、次のサンプル(n+1)の推定状態Xb(n+1)を遅延し、乗算ブロック50は、遅延ブロック78の出力に、式(18)の行列Cを乗じて、現サンプルの推定位置x(n)を計算する。
【0104】
更に、図5で説明したように、加算ブロック76の次のサンプルの推定状態Xb(n+1)の推定位置x(n+1)を、前のサンプルの基準位置軌道Pbase(n−1)から現サンプルの基準位置軌道Pbase(n)を差し引いた値で、推定位置x(n+1)を修正する。
【0105】
この例では、オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延(演算遅延及び駆動アンプ、D/Aコンバータ等のハード遅延)を考慮して、サンプル時点から遅延分進んだ時刻Tdの推定状態を演算し、この推定状態から出力を演算するため、サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。
【0106】
又、同一のサンプル時刻で、二自由度制御項を計算しているため、計算順序が複雑となることを防止でき、高速に演算できる。更に、状態推定順序が守ることができ、系全体の安定性を維持することができる。
【0107】
(二自由度位置制御系の第2の実施の形態)
図9は、本発明の位置制御系の第2の実施の形態のブロック図であり、図1のMCU14が実行する現在オブザーバを使用した二自由度位置制御系を示す。図9において、図5で示したものと同一のものは、同一の記号で示してある。
【0108】
図9に示すように、目標位置(目標シリンダ)Tpが与えられ、シーク制御が開始する。シーク距離計算ブロック20は、目標位置Tpと現在位置との差を計算し、シーク距離Lseekを得る。
【0109】
目標軌道生成ブロック22は、シーク距離Lseekに応じた目標位置軌道r(n)を生成する。図6に示したように、目標軌道r(n)は、シーク距離Lseekに応じて、各サンプルの目標位置の軌道である。
【0110】
二自由度コントローラ26は、図7で示した現在オブザーバで構成される。第1の演算器32は、目標位置軌道r(n)から目標位置軌道r(n)を差し引き、コントローラ26への目標位置軌道rd(n)を求める。即ち、コントローラ26への目標位置軌道rd(n)は、「0」である。
【0111】
位置誤差演算器30は、プラント28(1,3)の観測位置y(n)から目標位置Tpを差し引き、位置誤差y(n)を演算する。第2の演算器34は、位置誤差y(n)から目標位置軌道r(n)を差し引き、コントローラ26への位置誤差yd(n)を求める。
【0112】
又、遅延ブロック36は、現サンプルの目標位置軌道r(n)を1サンプル遅延する。第3の演算器38は、コントローラ26の推定位置x(n+1)に、前のサンプルの目標位置軌道r(n−1)から現サンプルの目標位置軌道r(n)を差し引いた値を加算し、コントローラ26の次のサンプルの推定位置x(n+1)を修正する。
【0113】
即ち、コントローラ26の入力r(n),y(n)は、それぞれのサンプル時刻において、目標位置軌道を基準とした相対値rd(n),yd(n)としている。そして、目標位置軌道を基準としているため、次のサンプルの推定位置x(n+1)は、目標位置軌道の変動分修正する。即ち、1サンプル毎に、前のサンプルの目標位置軌道r(n−1)から現サンプルの目標位置軌道r(n)を差し引いた値で、推定位置x(n+1)を修正する。
【0114】
この基準位置は、目標位置軌道であり、図5と同様に、目標位置軌道r(n)の変化に伴い、変化する。
【0115】
このように、基準位置を目標位置軌道にしても、コントローラ26の入力を、相対値とし、コントローラ26は、絶対値を取り扱わなくて良いので、コントローラ26を構成するオブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよくなる。そのため,絶対的な距離を保持する場合に比べて,値の変化する範囲が小さくなる。したがって,固定小数点方式でも、小数点をプラス1ビットやプラス2ビットの位置に設定可能となり、計算精度が改善できる。
【0116】
しかも、図5の基準位置軌道の生成が不要となり、より容易に、且つ演算負荷を少なくして、実現できる。
【0117】
(位置制御系の第3の実施の形態)
図10は、本発明の二自由度位置制御系の第3の実施の形態のブロック図、図11は、その目標位置軌道の説明図、図12は、マルチレート制御の動作シーケンス図である。図10乃至図12は、2倍のマルチレート制御を用いた二自由制御系の構成を示す。図10において、図5、図9で示したものと同一のものは、同一の記号で示してある。
【0118】
マルチレート制御は、図12に示すように、1サンプルで、2回又は3回、電流を変化させるものである。2回変化するものを2倍のマルチレート構成、3回変化するものを3倍のマルチレート構成という。
【0119】
図10の2倍のマルチレート構成に示すように、目標位置(目標シリンダ)Tpが与えられ、シーク制御が開始する。シーク距離計算ブロック20は、目標位置Tpと現在位置との差を計算し、シーク距離Lseekを得る。
【0120】
目標軌道生成ブロック22−1は、シーク距離Lseekに応じて、サンプル毎に、nサンプルでの目標軌道r(n)と、(n+0.5)サンプルでの目標軌道r(n+0.5)を生成する。例えば、図11に示すように、目標軌道r(n)は、シーク距離Lseekに応じて、各サンプルの目標位置の軌道であり、r(n+0.5)は、r(n)より、0.5サンプル進んだ時刻の目標位置軌道である。
【0121】
二自由度コントローラ26−1は、図13で説明するマルチレート制御現在オブザーバで構成される。第1の演算器32−1は、目標位置軌道r(n)から目標位置軌道r(n)を差し引き、コントローラ26−1への目標位置軌道rd(n)を求める。即ち、コントローラ26−1への目標位置軌道rd(n)は、「0」である。
【0122】
第4の演算器32−2は、目標位置軌道r(n+0.5)から目標位置軌道r(n)を差し引き、コントローラ26−1への目標位置軌道rd(n+0.5)を求める。即ち、コントローラ26−1への目標位置軌道rd(n+0.5)は、目標位置軌道r(n)を基準とした位置軌道である。
【0123】
位置誤差演算器30は、プラント28(1,3)の観測位置y(n)から目標位置Tpを差し引き、位置誤差y(n)を演算する。第2の演算器34は、位置誤差y(n)から目標位置軌道r(n)を差し引き、コントローラ26−1への位置誤差yd(n)を求める。
【0124】
又、遅延ブロック36は、現サンプルの目標位置軌道r(n)を1サンプル遅延する。第3の演算器38は、コントローラ26−1の推定位置x(n+1)に、前のサンプルの目標位置軌道r(n−1)から現サンプルの目標位置軌道r(n)を差し引いた値を加算し、コントローラ26−1の次のサンプルの推定位置x(n+1)を修正する。
【0125】
即ち、マルチレートコントローラ26−1の入力r(n),r(n+0.5),y(n)は、それぞれのサンプル時刻において、目標位置軌道を基準とした相対値rd(n),rd(n+0.5),yd(n)としている。そして、目標位置軌道を基準としているため、次のサンプルの推定位置x(n+1)は、目標位置軌道の変動分修正する。即ち、1サンプル毎に、前のサンプルの目標位置軌道r(n−1)から現サンプルの目標位置軌道r(n)を差し引いた値で、推定位置x(n+1)を修正する。
【0126】
この基準位置は、目標位置軌道r(n)そのものであり、図5と同様に、目標位置軌道r(n)の変化に伴い、変化する。
【0127】
このように、基準位置を目標位置軌道にしても、コントローラ26の入力を、相対値とし、コントローラ26−1は、絶対値を取り扱わなくて良いので、コントローラ26−1を構成するオブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよくなる。そのため,絶対的な距離を保持する場合に比べて,値の変化する範囲が小さくなる。したがって,固定小数点方式でも、小数点をプラス1ビットやプラス2ビットの位置に設定可能となり、計算精度が改善できる。
【0128】
しかも、図5の基準位置軌道の生成が不要となり、より容易に、且つ演算負荷を少なくして、実現できる。
【0129】
(マルチレート制御現在オブザーバ)
次に、図10のマルチレート制御現在オブザーバを説明する。図12に示すように、このマルチレート制御には、状態推定をシングルレートで行うシングルレート状態推定と、状態推定をマルチレートで行うマルチレート状態推定とがある。いずれも、1サンプルで、電流を、u(n),u(n+0.5)と2回演算し、変化する。
【0130】
先ず、シングルレート状態推定でのマルチレート制御を説明する。マルチレート制御では、1サンプルで、電流出力値をu(n),u(n+0.5)と出力する。そのため、基本的には、式(17)を2回演算する。即ち、下記式(21)、式(22)を実行する。
【0131】
【数21】

【0132】
【数22】

【0133】
即ち、先ず、出力u(n)と、次の状態Xb(n+0.5)を演算するため、式(21)を演算する。この式(21)は、基本的に、式(17)と同一であるが、1サンプル中に2回電流が変化するため、Xh(n+Td/T)とXb(n+0.5)の演算には、u(n−1)と、u(n−0.5)とを使用する。
【0134】
そして、式(22)のように、(n+0.5)サンプルでの推定状態Xh(n+0.5)を、式(21)の推定状態Xb(n+0.5)とした上で、目標軌道r(n+0.5)を用いて、式(21)と同様に、出力u(n+0.5)と、次の状態Xb(n+1)を演算する。
【0135】
ここで、式(21)、式(22)中の係数B1,B2,B3は、遅延を加味したTdが、T/2(=n+0.5)との比較により変わり、Td<T/2の場合には、次式(23)で決まる。
【0136】
【数23】

【0137】
一方、T/2<Td<Tの場合は、次式(24)で決まる。
【0138】
【数24】

【0139】
即ち、この式(23)、(24)のu(n)の係数が、式(21)、式(22)のB1であり、u(n−0.5)の係数が、B2であり、u(n−1)の係数が、B3である。従って、Td<T/2の場合には、係数B3は、「0」、T/2<Tdの場合は、B1は、「0」となる。
【0140】
次に、マルチレート状態推定でのマルチレート制御を説明する。同様に、マルチレート制御では、1サンプルで、電流出力値をu(n),u(n+0.5)と出力する。そのため、マルチレート状態推定でも、基本的には、式(17)を2回演算する。即ち、下記式(25)、式(26)を実行する。
【0141】
【数25】

【0142】
【数26】

【0143】
先ず、出力u(n)と、次の状態Xb(n+0.5)を演算するため、式(25)を演算する。この式(25)は、基本的に、式(17)と同一であるが、1サンプル中に2回電流が変化するため、Xh(n+Td/T)とXb(n+0.5)の演算には、u(n−1)と、u(n−0.5)とを使用する。又、推定位置誤差e(n)を、(y(n)−C・Xb(n))で、別に演算する。
【0144】
そして、式(26)のように、(n+0.5)サンプルでの推定状態Xh(n+0.5)を、式(28)の推定状態Xb(n+0.5)に、式(25)のe(n)にL2を乗じた値で補正する。更に、目標軌道r(n+0.5)を用いて、式(25)と同様に、出力u(n+0.5)と、次の状態Xb(n+1)を演算する。
【0145】
ここで、式(25)、式(26)中の係数B1,B2,B3は、遅延を加味したTdが、T/2(=n+0.5)との比較により変わり、Td<T/2の場合には、式(23)、2/T<Tdの場合は、式(24)で決まる。
【0146】
式(21)、式(22)のシングルレート状態推定と比較すると、式(26)のように、(n+0.5)サンプルでの推定状態Xh(n+0.5)を、式(25)の推定状態Xb(n+0.5)に、式(25)のe(n)にL2を乗じた値で補正している点が相違する
このように、1回目と同様に、2回目の推定状態を、サンプル時刻に観測した位置誤差で補正することが、マルチレート状態推定である。
【0147】
式(25)、式(26)のXh(n+Td/T)とXh(n+0.5+Td/T)を、式(25)、式(26)の他の式に代入すると、式(25)、式(26)は、次式(27)に変形できる。
【0148】
【数27】

【0149】
式(27)は、式(25)のXh(n+Td/T)を式(26)のu(n)の計算にまとめ、式(26)のXh(n+0.5+Td/T)を、式(26)のu(n+0.5)に纏め、結合したものである。式が少なくなれば、当然、計算時間も短くなり、応答が速くなる。
【0150】
尚、式(27)のL2を「0」とすると、式(21)、式(22)で説明したシングルレート状態推定式を示し、L2が「0」でないと、マルチレート状態推定式を示す。
【0151】
図13は、式(27)をブロック化したブロック図である。図13の構成は、基本的に、図7の構成を2つ直列に連結したものである。図13に示すように、現サンプルnでの観測位置(図10の誤差演算器34からの位置誤差)yd(n)を取り込み,前サンプルで推定した現サンプルの予測位置C・Xb(n)と観測位置yd(n)の差分を、演算ブロック52−1で演算し,推定位置誤差er[n]を生成する。乗算ブロック54−1で、この推定位置誤差er[n]に,推定ゲインL1をかけて、補正値を作る。
【0152】
加算ブロック66−1により、この補正値と,予測位置,予測速度などの現サンプルでの推定状態Xb[n]とを加算する。これにより,式(27)の現サンプルでの推定位置・推定速度など推定状態Xh(n)を生成する。
【0153】
そして二自由度制御では、推定状態(位置)Xh(n)と目標位置軌道rd(n)との差分値を加算ブロック60−1で演算し、乗算ブロック62−1で、それに係数行列−F・Adをかけた値を演算する。一方、出力u(n−1)に、乗算ブロック66−1aで、係数行列−F・Bd2を乗じて、出力u(n−0.5)に、乗算ブロック66−1bで、係数行列−F・Bd1を乗じる。3つの乗算ブロック62−1,66−1a,66−1bの出力を加算ブロック68−1で加算し、式(27)の3番目の式の出力値u(n)を得る。
【0154】
一方、次の(n+0.5)の推定状態Xb(n+0.5)を、現サンプルの推定状態Xh(n)に乗算ブロック70−1で係数行列Aを乗じた値と、乗算ブロック74−1で、出力値u(n)に係数行列B1を乗じた値と、乗算ブロック72−1aで、出力値u(n−0.5)に係数行列B2を乗じた値と、遅延ブロック64−1で遅延された前サンプルの出力値u(n−1)に乗算ブロック72−1bで係数行列B3を乗じた値とを、加算ブロック76−1により加算して、(27)式の4番目の式のように、計算する。
【0155】
次に、演算ブロック52−1で演算した推定位置誤差er[n]に、乗算ブロック54−2で、推定ゲインL2をかけて、補正値を作る。加算ブロック66−2により、この補正値と,予測位置,予測速度などの現サンプルでの推定状態Xb[n+0.5]とを加算する。これにより,式(27)の現サンプルでの推定位置・推定速度など推定状態Xh(n+0.5)を生成する。
【0156】
そして、マルチレート制御では、推定状態(位置)Xh(n+0.5)と目標位置軌道rd(n+0.5)との差分値を加算ブロック60−2で演算し、乗算ブロック62−2で、それに係数行列−F・Adをかけた値を演算する。
【0157】
一方、出力u(n−0.5)に、乗算ブロック66−2aで、係数行列−F・Bd2を乗じて、出力u(n)に、乗算ブロック66−2bで、係数行列−F・Bd1を乗じる。3つの乗算ブロック62−2,66−2a,66−2bの出力を加算ブロック68−2で加算し、式(27)の6番目の式の出力値u(n+0.5)を得る。
【0158】
一方、次の(n+1)の推定状態Xb(n+1)を、現サンプルの推定状態Xh(n+0.5)に乗算ブロック70−2で係数行列Aを乗じた値と、乗算ブロック74−2で、出力値u(n+0.5)に係数行列B1を乗じた値と、乗算ブロック72−2aで、出力値u(n)に係数行列B2を乗じた値と、遅延ブロック64−2で遅延された前サンプルの出力値u(n−0.5)に乗算ブロック72−2bで係数行列B3を乗じた値とを、加算ブロック76−2により加算して、(27)式の7番目の式のように、計算する。
【0159】
尚、遅延ブロック78は、次のサンプル(n+1)の推定状態Xb(n+1)を遅延し、乗算ブロック50−1は、遅延ブロック78の出力に、Cを乗じて、現サンプルの推定位置x(n)を計算する。
【0160】
更に、図10で説明したように、加算ブロック76−2の次のサンプルの推定状態Xb(n+1)の推定位置x(n+1)を、前のサンプルの目標位置軌道r(n−1)から現サンプルの目標位置軌道r(n)を差し引いた値で、推定位置x(n+1)を修正する。
【0161】
このように、オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延(演算遅延及び駆動アンプ、D/Aコンバータ等のハード遅延)を考慮して、サンプル時点から遅延分進んだTdの推定状態を演算し、この推定状態から出力を演算するため、サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。
【0162】
又、同一のサンプル時刻で、二自由度制御項を計算しているため、このマルチレート制御では、特に、計算順序が複雑となることを防止でき、高速に演算できる。更に、状態推定順序が守ることができ、系全体の安定性を維持することができる。このため、マルチレート制御のオブザーバ構成を容易に構築できる。
【0163】
尚、図13のブロックにおいて、乗算ブロック54−2のL2を「0」に設定すると、シングルレート状態推定の構成となり、図13の構成は、シングルレート、マルチレート状態推定にいずれにも使用できる。
【0164】
(位置制御系の第4の実施の形態)
図14は、本発明の二自由度位置制御系の第4の実施の形態のブロック図である。図14は、2倍のマルチレート制御を用いた二自由制御系の構成を示す。図14において、図5、図9、図10で示したものと同一のものは、同一の記号で示してある。
【0165】
このマルチレート制御では、基準軌道をr(n+0.5)としたものである。図14の2倍のマルチレート構成に示すように、目標位置(目標シリンダ)Tpが与えられ、シーク制御が開始する。シーク距離計算ブロック20は、目標位置Tpと現在位置との差を計算し、シーク距離Lseekを得る。
【0166】
目標軌道生成ブロック22−1は、シーク距離Lseekに応じて、サンプル毎に、nサンプルでの目標軌道r(n)と、(n+0.5)サンプルでの目標軌道r(n+0.5)を生成する。例えば、図11に示したように、目標軌道r(n)は、シーク距離Lseekに応じて、各サンプルの目標位置の軌道であり、r(n+0.5)は、r(n)より、0.5サンプル進んだ時刻の目標位置軌道である。
【0167】
二自由度コントローラ26−1は、図13で説明したマルチレート制御現在オブザーバで構成される。第1の演算器32−1は、目標位置軌道r(n)から目標位置軌道r(n+0.5)を差し引き、コントローラ26−1への目標位置軌道rd(n)を求める。即ち、コントローラ26−1への目標位置軌道rd(n)は、目標軌道r(n+0.5)を基準とする相対値である。
【0168】
第4の演算器32−2は、目標位置軌道r(n+0.5)から目標位置軌道r(n+0.5)を差し引き、コントローラ26−1への目標位置軌道rd(n+0.5)を求める。即ち、コントローラ26−1への目標位置軌道rd(n+0.5)は、目標位置軌道r(n+0.5)を基準とした「0」である。
【0169】
位置誤差演算器30は、プラント28(1,3)の観測位置y(n)から目標位置Tpを差し引き、位置誤差y(n)を演算する。第2の演算器34は、位置誤差y(n)から目標位置軌道r(n+0.5)を差し引き、コントローラ26−1への位置誤差yd(n)を求める。
【0170】
又、遅延ブロック36は、現サンプルの目標位置軌道r(n+0.5)を1サンプル遅延する。第3の演算器38は、コントローラ26−1の推定位置x(n+1)に、前のサンプルの目標位置軌道r(n−0.5)から現サンプルの目標位置軌道r(n+0.5)を差し引いた値を加算し、コントローラ26−1の次のサンプルの推定位置x(n+1)を修正する。
【0171】
即ち、マルチレートコントローラ26−1の入力r(n),r(n+0.5),y(n)は、それぞれのサンプル時刻において、目標位置軌道r(n+0.5)を基準とした相対値rd(n),rd(n+0.5),yd(n)としている。そして、目標位置軌道を基準としているため、次のサンプルの推定位置x(n+1)は、目標位置軌道の変動分修正する。即ち、1サンプル毎に、前のサンプルの目標位置軌道r(n−0.5)から現サンプルの目標位置軌道r(n+0.5)を差し引いた値で、推定位置x(n+1)を修正する。
【0172】
この基準位置は、目標位置軌道r(n+0.5)そのものであり、図11と同様に、目標位置軌道r(n)の変化に伴い、変化する。
【0173】
このように、基準位置を目標位置軌道r(n+0.5)にしても、コントローラ26の入力を、相対値とし、コントローラ26−1は、絶対値を取り扱わなくて良いので、コントローラ26−1を構成するオブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよくなる。そのため,絶対的な距離を保持する場合に比べて,値の変化する範囲が小さくなる。したがって,固定小数点方式でも、小数点をプラス1ビットやプラス2ビットの位置に設定可能となり、計算精度が改善できる。
【0174】
しかも、図5の基準位置軌道の生成が不要となり、より容易に、且つ演算負荷を少なくして、実現できる。
【0175】
(他の実施の形態)
前述の実施の形態では、オブザーバ制御を、磁気ディスク装置のヘッド位置決め装置の適用の例で説明したが、光ディスク装置等の他の媒体記憶装置にも適用できる。又、外乱モデルを考慮しているが、外乱モデルを考慮しない場合にも、採用できる。
【0176】
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
【0177】
(付記1)対象物を目標位置に、アクチュエータにより位置制御する位置制御方法において、前記目標位置への目標位置軌道を生成するステップと、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとを有することを特徴とする位置制御方法。
【0178】
(付記2)前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正するステップを更に有することを特徴とする付記1の位置制御方法。
【0179】
(付記3)前記出力値演算ステップは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算するステップからなることを特徴とする付記1の位置制御方法。
【0180】
(付記4)前記出力値演算ステップは、サンプル毎の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップからなることを特徴とする付記1の位置制御方法。
【0181】
(付記5)出力値演算ステップは、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いて、目標位置軌道の相対値を求めるステップと、前記位置誤差から前記基準軌道を差し引いて、前記位置誤差の相対値を求めるステップと、前記目標位置軌道の相対値と前記位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとからなることを特徴とする付記1の位置制御方法。
【0182】
(付記6)前記位置誤差を演算するステップは、記憶媒体のデータを少なくとも読み取るヘッドの出力から得た現在位置と、前記アクチュエータを駆動して前記ヘッドを前記記憶媒体の所定位置に移動するための目標位置との位置誤差を演算するステップからなることを特徴とする付記1の位置制御方法。
【0183】
(付記7)前記出力値演算ステップは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第1の目標位置軌道の相対値と、サンプル時刻+0.5サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第2の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップからなることを特徴とする付記1の位置制御方法。
【0184】
(付記8)記憶媒体のデータを少なくとも読み取るヘッドと、前記記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、前記目標位置への目標位置軌道を生成し、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算し、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有することを特徴とする媒体記憶装置。
【0185】
(付記9)前記制御ユニットは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正することを特徴とする付記8の媒体記憶装置。
【0186】
(付記10)前記制御ユニットは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算することを特徴とする付記8の媒体記憶装置。
【0187】
(付記11)前記制御ユニットは、サンプル毎に、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記8の媒体記憶装置。
【0188】
(付記12)前記制御ユニットは、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いて、目標位置軌道の相対値を求め、前記位置誤差から前記基準軌道を差し引いて、前記位置誤差の相対値を求め、前記目標位置軌道の相対値と前記位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記8の媒体記憶装置。
【0189】
(付記13)前記制御ユニットは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第1の目標位置軌道の相対値と、サンプル時刻+0.5サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第2の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記11の媒体記憶装置。
【0190】
(付記14)前記記憶媒体が、回転するディスク記憶媒体であることを特徴とする付記8の媒体記憶装置。
【0191】
(付記15)対象物を目標位置に、アクチュエータにより位置制御する位置制御装置において、前記目標位置への目標位置軌道を生成する生成ブロックと、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算する誤差演算ブロックと、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有することを特徴とする位置制御装置。
【0192】
(付記16)前記制御ユニットは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正することを特徴とする付記15の位置制御装置。
【0193】
(付記17)前記制御ユニットは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算することを特徴とする付記15の位置制御装置。
【0194】
(付記18)前記制御ユニットは、サンプル毎に、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記15の位置制御装置。
【0195】
(付記19)前記制御ユニットは、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いて、目標位置軌道の相対値を求め、前記位置誤差から前記基準軌道を差し引いて、前記位置誤差の相対値を求め、前記目標位置軌道の相対値と前記位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記15の位置制御装置。
【0196】
(付記20)前記制御ユニットは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第1の目標位置軌道の相対値と、サンプル時刻+0.5サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第2の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算することを特徴とする付記15の位置制御装置。
【産業上の利用可能性】
【0197】
オブザーバを使用した二自由度制御系の入力を、相対値とし、絶対値を取り扱わなくて良いので、オブザーバの状態変数が、基準位置からの相対的な距離を保持するだけでよく、絶対的な距離を保持する場合に比べて,値の変化する範囲が小さくなる。したがって,固定小数点方式でも、小数点の有効桁数を増加でき、計算精度が改善できる。このため、加速区間における制御電流が滑らかになり、共振や騒音の発生を防止でき、定速区間や減速区間では、残留振動の発生を防止でき、シーク時間を短縮できる。
【図面の簡単な説明】
【0198】
【図1】本発明の一実施形態を示す媒体記憶装置の構成図である。
【図2】図1のディスクの位置信号の説明図である。
【図3】図2の位置信号の詳細説明図である。
【図4】本発明の一実施の形態のシーク制御の遷移図である。
【図5】本発明の第1の実施の形態の二自由度制御系のブロック図である。
【図6】図5の目標位置軌道と基準軌道の説明図である。
【図7】図5の二自由度制御現在オブザーバのブロック図である。
【図8】図7の現在オブザーバの動作シーケンス図である。
【図9】本発明の第2の実施の形態の二自由度制御系のブロック図である。
【図10】本発明の第3の実施の形態の二自由度制御系のブロック図である。
【図11】図10の目標位置軌道の説明図である。
【図12】図10のマルチレート制御の説明図である。
【図13】図10のマルチレート制御現在オブザーバのブロック図である。
【図14】本発明の第4の実施の形態の二自由度制御系のブロック図である。
【図15】従来の二自由度制御のブロック図である。
【図16】図15の目標位置軌道の説明図である。
【図17】プロセッサの固定小数点の説明図である。
【図18】プロセッサの固定小数点方式のQ−フォーマットの説明図である。
【符号の説明】
【0199】
1 アクチュエータ
2 スピンドルモータの回転軸
3 ヘッド
4 ディスク
5 スピンドルモータ
6 アクチュエータのVCM駆動回路
7 位置復調回路
8 スピンドルモータの駆動回路
9 バス
10 データの記録再生回路
11 ハードディスクコントローラ
12 MCUのRAM
13 MCUのROM
14 マイクロコントローラユニット
15 ハードディスクコントローラのRAM
16 位置信号

【特許請求の範囲】
【請求項1】
対象物を目標位置に、アクチュエータにより位置制御する位置制御方法において、
前記目標位置への目標位置軌道を生成するステップと、
前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、
前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算するステップとを有する
ことを特徴とする位置制御方法。
【請求項2】
前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正するステップを更に有する
ことを特徴とする請求項1の位置制御方法。
【請求項3】
前記出力値演算ステップは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算するステップからなる
ことを特徴とする請求項1の位置制御方法。
【請求項4】
記憶媒体のデータを少なくとも読み取るヘッドと、
前記記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、
前記目標位置への目標位置軌道を生成し、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算し、前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有する
ことを特徴とする媒体記憶装置。
【請求項5】
前記制御ユニットは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正する
ことを特徴とする請求項4の媒体記憶装置。
【請求項6】
前記制御ユニットは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算する
ことを特徴とする請求項4の媒体記憶装置。
【請求項7】
対象物を目標位置に、アクチュエータにより位置制御する位置制御装置において、
前記目標位置への目標位置軌道を生成する生成ブロックと、
前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算する誤差演算ブロックと、
前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する制御ユニットとを有する
ことを特徴とする位置制御装置。
【請求項8】
前記制御ユニットは、前記オブザーバを使用した二自由度制御系の保持する推定位置を、前記基準軌道からの相対値に修正する
ことを特徴とする請求項7の位置制御装置。
【請求項9】
前記制御ユニットは、前記基準軌道に前記目標位置軌道を使用して、前記アクチュエータへの出力値を演算する
ことを特徴とする請求項7の位置制御装置。
【請求項10】
前記制御ユニットは、サンプル時刻の前記目標位置軌道から前記目標位置軌道に追従する基準軌道を差し引いた第1の目標位置軌道の相対値と、サンプル時刻+0.5サンプル時刻の目標位置軌道から前記基準軌道を差し引いた第2の目標位置軌道の相対値と、前記位置誤差から前記基準軌道を差し引いた位置誤差の相対値を使用して、マルチレート制御オブザーバを使用した二自由度制御系により、前記アクチュエータへの出力値を演算する
ことを特徴とする請求項7の位置制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2008−84161(P2008−84161A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−265472(P2006−265472)
【出願日】平成18年9月28日(2006.9.28)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】