説明

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

【課題】二自由度制御を行う現在オブザーバ制御による位置制御装置において、演算による出力遅延による位置精度劣化を防止する。
【解決手段】オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延(演算遅延及び駆動アンプ、D/Aコンバータ等のハード遅延)を考慮して、サンプル時点から遅延分進んだTdの推定状態を演算し、この推定状態から出力を演算する。サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フィードバックとフィードフォワード併用した二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置に関し、特に、オブザーバ制御を用いて、二自由度制御するための2自由度位置制御方法、2自由度位置制御装置及び媒体記憶装置に関する。
【背景技術】
【0002】
対象物を目標位置に位置制御する装置は、広く利用されている。例えば、磁気ディスク装置や光ディスク装置等のディスク装置の位置決め制御の1つである、ヘッドを目標トラックへ移動させるシーク制御に利用されている。
【0003】
このシーク制御として、二自由度制御(Two Degree of Freedom Control)を用いる方法がある。この二自由度制御は、フィードバック・ループを構成しながら、目標位置を、フィルタを通して、与える。即ち、目標位置から観測位置までの伝達関数を、ローパスフィルタの形状にする。これにより、オーバーシュート(オーバーラン)を効果的に抑圧する方法である。
【0004】
ディスク装置等で、一般的に利用されているオブザーバ制御系においても,二自由度制御系を構成することが可能である。この際には、制御系は、フィードバック極と同じ極を持つ2次ローパスフィルタ(以下,LPFと略す)の形になる。図12は、従来の2自由度制御系の構成図である。
【0005】
図12に示すように、目標軌道生成部100は、目標位置rから目標軌道r(n)を生成する。目標軌道r(n)は、サンプル毎に、サンプル間で移動する目標位置を示す。一方、位置誤差演算部102は、目標位置rとプラント106から観測した現在位置yとの誤差y[n]を演算する。コントローラ104は、目標軌道r(n)と位置誤差y[n]を受け、二自由度オブザーバの演算を行い、プラント106の駆動指令値を計算し、プラント106を駆動する。
【0006】
このコントローラ104に使用されるオブザーバとして、図13及び図14に示す二自由度制御オブザーバが提案されている(例えば、非特許文献1)。図13に示すように、コントローラ104にオブザーバ(エステメータ)104−1を使用する。このエステメータ104−1は、プラント106の現在位置yと、プラント106への出力とからの出力u[n]とを演算し、ゲイン乗算ブロック104−2で、開ループゲインKを乗じて、フィードバックする。
【0007】
一方、目標軌道r[n]に、係数Nを乗算ブロック104−4で乗じて、加算ブロック104−3に出力し、ゲイン乗算ブロック104−2の出力と加算して、プラント106への出力u[n]を計算する。
【0008】
この2自由度制御のオブザーバを簡略化すると、図14となり、次式(1)、(2)、(3)で表現される。
【0009】
【数1】

【0010】
【数2】

【0011】
【数3】

即ち、現サンプルnでの観測位置y(n)と,前サンプルで推定した現サンプルの予測位置C・Xb(n)との差分を、演算ブロック202で演算し,推定位置誤差er[n]を生成する。乗算ブロック204で、この推定位置誤差er[n]に,推定ゲインLをかけて、補正値を作る。
【0012】
加算ブロック206により、この補正値と,予測位置,予測速度などXb[n]と加算する。これにより,式(1)の現サンプルでの推定位置・推定速度などXh(n)を生成する。通常の状態フィードバックならば,この推定状態Xh(n)の推定位置にゲインをかけ,推定速度にゲインをかけて,両者の和をとり,状態フィードバック電流を生成する。
【0013】
前述の二自由度制御では、推定速度にゲインをかけた値を利用するのは同じであるが、推定位置Xh(n)と目標位置軌道r(n)との差分値を加算ブロック210で演算し、乗算ブロック212で、それにフィードバックゲインFをかけた値を、状態フィードバックに利用する。即ち、(2)式を演算する。
【0014】
一方、次のサンプル(n+1)の推定状態Xb(n+1)を、現サンプルの推定状態Xh(n)と出力値u(n)とから乗算ブロック214,216、加算ブロック218により、(3)式のように、計算する。
【0015】
ここで、A,B,C,C^T,L,Fは、位置x、速度v、バイアス値b、外乱値d1,d2に対する行列である。又、A,B,Lは、状態推定ゲイン、Fは、フィードバックゲインであり、C,C^T(Cの転置)は、下記式(4)、式(5)で示される。
【0016】
【数4】

【0017】
【数5】

この式(1)、式(2)、式(3)及び図14で示される現在オブザーバは、通常の現在オブザーバに、目標軌道r(n)に、式(5)のC^Tを乗じて、加算するだけで、二自由度制御を実現できる。
【非特許文献1】「Digital Control of Dynamic Systems」(著者 Gene F. Franklin 他2名、発行元 ADDISON-WESLEY, 発行年1998年)
【発明の開示】
【発明が解決しようとする課題】
【0018】
前述の従来の二自由度制御の提案は、図15に示すように、1サンプルで、駆動電流を1回変化する、所謂、シングルレート制御のものであった。即ち、図15に示すように、現サンプルnでの位置を観測し、1回二自由度制御演算を行い、駆動電流u(n)を出力するものである。
【0019】
しかしながら、デジタル制御では、マイクロコントローラで計算処理するため、出力遅延時間が生じる。近年の高速移動及び高精度の位置決めの要請に伴い、従来の1サンプルで、1回状態推定し、駆動電流を変化する方法では、制御の遅延が顕著となってきた。
【0020】
例えば、磁気ディスク装置では、ディスク1面に数万トラックという高密度に設定され、しかも移動速度も高速化が要求されているため、1サンプルで、1回状態推定し、駆動電流を1回変化しても、計算中に状態変化が大きくなり、出力遅延により、精度の高い位置制御が困難となり、オーバーランを生じやすくなっている。
【0021】
従って、本発明の目的は、二自由度制御の出力遅延を防止するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【0022】
又、本発明の他の目的は、二自由度制御しても、高精度の位置制御を実現するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【0023】
更に、本発明の他の目的は、1サンプル中に複数回出力変化するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【0024】
更に、本発明の他の目的は、計算処理時間を短縮して、位相余裕の減少や応答劣化を防止するための二自由度位置制御方法、二自由度位置制御装置及び媒体記憶装置を提供することにある。
【課題を解決するための手段】
【0025】
この目的の達成のため、本発明の対象物を目標位置に、アクチュエータにより位置制御する位置制御方法は、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、前記位置誤差と現在オブザーバの現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正するステップと、前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算するステップと、前記進んだ推定位置から前記アクチュエータへの出力値を演算するステップと、前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算するステップとを有する。
【0026】
又、本発明の媒体記憶装置は、ディスク記憶媒体のデータを少なくとも読み取るヘッドと、前記ディスク記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、前記ヘッドの目標位置と前記ヘッドから得た現在位置とから位置誤差を演算し、現在オブザーバ制御により前記アクチュエータを駆動する出力値を演算する制御ユニットとを有し、前記制御ユニットは、前記位置誤差と前記現在オブザーバの現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正し、前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、且つ前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算する。
【0027】
又、本発明の位置制御装置は、対象物を目標位置に、アクチュエータにより位置制御する位置制御装置において、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するブロックと、前記位置誤差と現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正し、前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、且つ前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算する現在オブザーバとを有する。
【0028】
更に、本発明では、好ましくは、前記次の出力値演算のための推定位置と(現サンプル+0.5サンプル)時刻の目標軌道との差を演算し、且つ0.5サンプル前の出力値と前記現サンプルの出力値と前記差とから前記サンプル時点から0.5サンプル進んだ推定位置を演算するステップと、前記進んだ推定位置から前記アクチュエータへの出力値を演算するステップと、前記補正された推定位置と、前記現サンプルの出力値と、前記0.5サンプル前の出力値と、前記計算された出力値とから次のサンプルの推定位置を演算するステップとを更に有する。
【0029】
更に、本発明では、好ましくは、前記進んだ推定位置を演算するステップは、前記次の出力値演算のための推定位置を、前記推定位置誤差で補正するステップを有する。
【0030】
更に、本発明では、好ましくは、前記目標位置から各サンプル時点の目標軌道を生成するステップを更に有する。
【0031】
更に、本発明では、好ましくは、前記目標位置から各サンプル時点と、このサンプル時点から0.5サンプル進んだ時点との目標軌道を生成するステップを更に有する。
【0032】
更に、本発明では、好ましくは、前記位置誤差を演算するステップは、記憶媒体のデータを少なくとも読み取るヘッドの出力から得た現在位置と、前記アクチュエータを駆動して前記ヘッドを前記記憶媒体の所定位置に移動するための目標位置との位置誤差を演算するステップからなる。
【発明の効果】
【0033】
オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延(演算遅延及び駆動アンプ、D/Aコンバータ等のハード遅延)を考慮して、サンプル時点から遅延分進んだTdの推定状態を演算し、この推定状態から出力を演算するため、サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。
【0034】
又、同一のサンプル時刻で、二自由度制御項を計算しているため、計算順序が複雑となることを防止でき、高速に演算できる。更に、状態推定順序が守ることができ、系全体の安定性を維持することができる。更に、電流波形が滑らかなとなり、媒体記憶装置のシーク時間短縮、オーバーラン防止に寄与する。
【発明を実施するための最良の形態】
【0035】
以下、本発明の実施の形態を、媒体記憶装置、二自由度位置制御系の第1の実施の形態、第2の実施の形態、第3の実施の形態、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
【0036】
(媒体記憶装置)
図1は、本発明の一実施の形態の媒体記憶装置の構成図、図2は、図1の磁気ディスクの位置信号の配置図、図3は、図1及び図2の磁気ディスクの位置信号の構成図、図4は、シーク制御の制御遷移図である。
【0037】
図1は、媒体記憶装置として、磁気ディスク装置を示す。図1に示すように、磁気記憶媒体である磁気ディスク4が、スピンドルモータ5の回転軸2に設けられている。スピンドルモータ5は、磁気ディスク4を回転する。アクチュエータ(VCM)1は、先端に磁気ヘッド3を備え、磁気ヘッド3を磁気ディスク4の半径方向に移動する。
【0038】
アクチュエータ1は、回転軸を中心に回転するボイスコイルモータ(VCM)で構成される。図では、磁気ディスク装置に、2枚の磁気ディスク4が搭載され、4つの磁気ヘッド3が、同一のアクチュエータ1で同時に駆動される。
磁気ヘッド3は、リード素子と、ライト素子とからなる。磁気ヘッド3は、スライダに、磁気抵抗(MR)素子を含むリード素子を積層し、その上にライトコイルを含むライト素子を積層して、構成される。
【0039】
位置検出回路7は、磁気ヘッド3が読み取った位置信号(アナログ信号)をデジタル信号に変換する。リード/ライト(R/W)回路10は、磁気ヘッド3の読み取り及び書込みを制御する。スピンドルモータ(SPM)駆動回路8は、スピンドルモータ5を駆動する。ボイスコイルモータ(VCM)駆動回路6は、ボイスコイルモータ(VCM)1に駆動電流を供給し、VCM1を駆動する。
【0040】
マイクロコントローラ(MCU)14は、位置検出回路7からのデジタル位置信号から現在位置を検出(復調)し、検出した現在位置と目標位置との誤差に従い、VCM駆動指令値を演算する。即ち、位置復調と図5以下で説明する外乱抑圧を含むサーボ制御(現在オブザーバ制御)を行う。リードオンリーメモリ(ROM)13は、MCU14の制御プログラム等を格納する。ランダムアクセスメモリ(RAM)12は、MCU14の処理のためのデータ等を格納する。
【0041】
ハードディスクコントローラ(HDC)11は、サーボ信号のセクタ番号を基準にして,1周内の位置を判断し,データを記録・再生する。バッファ用ランダムアクセスメモリ(RAM)15は、リードデータやライトデータを一時格納する。HDC11は、USB(Universal Serial Bus),ATAやSCSI(Small Computer System Interface) 等のインターフェイスIFで、ホストと通信する。バス9は、これらを接続する。
【0042】
図2に示すように、磁気ディスク4には、外周から内周に渡り、各トラックにサーボ信号(位置信号)16が、円周方向に等間隔に配置される。尚、各トラックは、複数のセクタで構成され、図2の実線は、サーボ信号16の記録位置を示す。図3に示すように、位置信号は,サーボマークServo Markと、トラック番号Gray Codeと、インデックスIndexと、オフセット情報(サーボバースト)PosA,PosB,PosC,PosDとからなる。尚、図3の点線は、トラックセンターを示す。
【0043】
図3の位置信号をヘッド3で読み取り、トラック番号Gray Codeとオフセット情報PosA,PosB,PosC,PosDを使い,磁気ヘッドの半径方向の位置を検出する。さらに、インデックス信号Indexを元にして,磁気ヘッドの円周方向の位置を把握する。
【0044】
例えば,インデックス信号を検出したときのセクタ番号を0番に設定し、サーボ信号を検出する毎に、カウントアップして、トラックの各セクタのセクタ番号を得る。このサーボ信号のセクタ番号は,データの記録再生を行うときの基準となる。尚、インデックス信号は、1周に1つである、又、インデックス信号の代わりに、セクタ番号を設けることもできる。
【0045】
図1のMCU14は、位置検出回路7を通じて、アクチュエータ1の位置を確認して,サーボ演算し、適切な電流をVCM1に供給する。即ち、図4に示すように、シーク制御は、コアース制御、整定制御及びフォローイング制御と遷移することで,目標位置まで移動させることができる。いずれも、ヘッドの現在位置を検出する必要がある。
【0046】
このような,位置を確認するためには,前述の図2のように、磁気ディスク上にサーボ信号を事前に記録しておく。即ち、図3に示したように、サーボ信号の開始位置を示すサーボマーク,トラック番号を表すグレイコード,インデックス信号,オフセットを示すPosA〜PosDといった信号が記録されている。この信号を磁気ヘッドで読み出し、このサーボ信号を、位置検出回路7が、デジタル値に変換する。
【0047】
(二自由度位置制御系の第1の実施の形態)
図5は、本発明の位置制御系の第1の実施の形態のブロック図であり、図1のMCU14が実行する外乱を抑圧する位置決め制御系のブロック図である。図6は、図5の変形例のブロック図、図7は、図5及び図6の制御シーケンスの説明図である。
【0048】
図5は、図1のMCU4が実行する現在オブザーバを使用した二自由度位置制御系を示す。先ず、現在オブザーバを説明する。磁気ディスク装置のアクチュエータは、回転型である。しかし、次式(6)の形の直進型アクチュエータの状態方程式に変換して表現できる。尚、xは位置(m)、vは速度(m/s),uは電流(Ampere)、Blは力定数(N/m)、mは等価質量(kg)、uは出力、sはラプラス演算子である。
【0049】
【数6】

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

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

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

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

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

この式(11)をデジタル空間に変換すると、次式(12)を得る。
【0055】
【数12】

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

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

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

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

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

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

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

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

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

この式(21)のu(n)の係数が、式(20)のB1であり、u(n−1)の係数が、式(20)のB2である。
【0069】
式(20)に二自由度制御のフィードフォワードを付与すると、式(22)が得られる。
【0070】
【数22】

即ち、式(20)に比し、Xh(n+Td/T)の計算に、フィードフォワード項である(C^T・r(n))を加えている。
【0071】
この場合に、従来の二自由度制御の式(2)に従うと、出力u(n)の計算式に、直接フィードフォワード項を加える。しかしながら、このようにすると、サンプル時点が異なるXh(n+Td/T)から(C^T・r(n))を引くことになり、計算順序が複雑となり、高速に演算することが難しい。又、状態推定順序が変化し、系全体の安定性を維持するのが困難となるおそれがある。
【0072】
このため、サンプル時点が同じであるXh(n)に対し、フィードフォワード項である(C^T・r(n))を加えて、進んだ状態Xh(n+Td/T)を計算する。
【0073】
図5は、式(22)をブロック化したブロック図である。図5に示すように、現サンプルnでの観測位置(位置誤差)y(n)を取り込み,前サンプルで推定した現サンプルの予測位置C・Xb(n)と観測位置y(n)の差分を、演算ブロック22で演算し,推定位置誤差er[n]を生成する。乗算ブロック24で、この推定位置誤差er[n]に,推定ゲインLをかけて、補正値を作る。
【0074】
加算ブロック26により、この補正値と,予測位置,予測速度などの現サンプルでの推定状態Xb[n]と加算する。これにより,式(22)の現サンプルでの推定位置・推定速度など推定状態Xh(n)を生成する。
【0075】
そして二自由度制御では、推定状態(位置)Xh(n)と目標位置軌道r(n)との差分値を加算ブロック30で演算し、乗算ブロック32で、それに係数行列Adをかけた値を演算する。一方、出力u(n−1)に、乗算ブロック36で、係数行列Bdを乗じて、この結果と、乗算ブロック32の結果を加算ブロック38で加算し、Tdだけ進んだ状態Xh(n+Td/T)を演算する。即ち、(22)式の2番目の式を演算する。
【0076】
更に、乗算ブロック40で、状態Xh(n+Td/T)にフィードバックゲインFを乗じて、式(22)の3番目の式の出力値u(n)を得る。一方、次のサンプル(n+1)の推定状態Xb(n+1)を、現サンプルの推定状態Xh(n)と、出力値u(n)と、遅延ブロック34で遅延された前サンプルの出力値u(n−1)から乗算ブロック42,44,46、加算ブロック48により、(22)式の4番目の式のように、計算する。
【0077】
尚、遅延ブロック50は、次のサンプル(n+1)の推定状態Xb(n+1)を遅延し、乗算ブロック20は、遅延ブロック50の出力に、Cを乗じて、現サンプルの推定位置x(n)を計算する。
【0078】
このように、オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延(演算遅延及び駆動アンプ、D/Aコンバータ等のハード遅延)を考慮して、サンプル時点から遅延分進んだTdの推定状態を演算し、この推定状態から出力を演算するため、サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。
【0079】
又、同一のサンプル時刻で、二自由度制御項を計算しているため、計算順序が複雑となることを防止でき、高速に演算できる。更に、状態推定順序が守ることができ、系全体の安定性を維持することができる。
【0080】
図6は、図5の変形例のブロック図である。図6の構成は、式(22)を簡単化し、次式(23)を演算する現在オブザーバである。
【0081】
【数23】

即ち、式(23)は、式(22)の第2式を、第3式に代入して、得たものである。
【0082】
図6において、図5と同一のものは、同一の記号で示してあり、図5の3つの乗算ブロック32,36,40を、2つの乗算ブロック52,54に纏めたものである。このように構成すると、式の簡素化が図れ、演算時間の短縮に有効である。
【0083】
(二自由度位置制御系の第2の実施の形態)
図8は、本発明の二自由度位置制御系の第2の実施の形態のブロック図、図9は、その動作シーケンス図である。図8及び図9は、2倍のマルチレート制御を用いた二自由制御系の構成を示す。
【0084】
マルチレート制御は、図8及び図9に示すように、1サンプルで、2回又は3回、電流を変化させるものである。2回変化するものを2倍のマルチレート構成、3回変化するものを3倍のマルチレート構成という。
【0085】
図8の2倍のマルチレート構成に示すように、目標軌道生成部110は、目標位置rからサンプル毎に、nサンプルでの目標軌道r(n)と、(n+0.5)サンプルでの目標軌道r(n+0.5)を生成し、コントローラ114に送る。一方、位置誤差演算部112は、目標位置rとプラント106から観測した現在位置yとの位置誤差(観測位置という)y(n)を演算する。
【0086】
コントローラ114は、nサンプルでの目標軌道r(n)と位置誤差y(n)から、二自由度オブザーバの演算を行い、プラント106の駆動指令値u(n)を計算し、プラント106を駆動する。又、(n+0.5)サンプルでの目標軌道r(n+0.5)と位置誤差y[n]から、二自由度オブザーバの演算を行い、プラント106の駆動指令値u(n+0.5)を計算し、プラント106を駆動する。
【0087】
図9に示すように、このマルチレート制御には、状態推定をシングルレートで行うシングルレート状態推定と、状態推定をマルチレートで行うマルチレート状態推定とがある。いずれも、1サンプルで、電流を、u(n),u(n+0.5)と2回演算し、変化する。
【0088】
先ず、シングルレート状態推定でのマルチレート制御を説明する。マルチレート制御では、1サンプルで、電流出力値をu(n),u(n+0.5)と出力する。そのため、基本的には、式(22)を2回演算する。即ち、下記式(24)、式(25)を実行する。
【0089】
【数24】

【0090】
【数25】

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

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

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

【0097】
【数29】

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

式(30)は、式(28)のXh(n+Td/T)を式(29)のu(n)の計算にまとめ、式(29)のXh(n+0.5+Td/T)を、式(29)のu(n+0.5)に纏め、結合したものである。式が少なくなれば、当然、計算時間も短くなり、応答が速くなる。
【0103】
尚、式(30)のL2を「0」とすると、式(24)、式(25)で説明したシングルレート状態推定式を示し、L2が「0」でないと、マルチレート状態推定式を示す。
【0104】
図10は、式(30)をブロック化したブロック図である。図10の構成は、基本的に、図6の構成を2つ直列に連結したものである。図10に示すように、現サンプルnでの観測位置(位置誤差)y(n)を取り込み,前サンプルで推定した現サンプルの予測位置C・Xb(n)と観測位置y(n)の差分を、演算ブロック22−1で演算し,推定位置誤差er[n]を生成する。乗算ブロック24−1で、この推定位置誤差er[n]に,推定ゲインL1をかけて、補正値を作る。
【0105】
加算ブロック26−1により、この補正値と,予測位置,予測速度などの現サンプルでの推定状態Xb[n]とを加算する。これにより,式(30)の現サンプルでの推定位置・推定速度など推定状態Xh(n)を生成する。
【0106】
そして二自由度制御では、推定状態(位置)Xh(n)と目標位置軌道r(n)との差分値を加算ブロック30−1で演算し、乗算ブロック52−1で、それに係数行列−F・Adをかけた値を演算する。一方、出力u(n−1)に、乗算ブロック54−1aで、係数行列−F・Bd2を乗じて、出力u(n−0.5)に、乗算ブロック54−1bで、係数行列−F・Bd1を乗じる。3つの乗算ブロック52−1,54−1a,54−1bの出力を加算ブロック56−1で加算し、式(30)の3番目の式の出力値u(n)を得る。
【0107】
一方、次の(n+0.5)の推定状態Xb(n+0.5)を、現サンプルの推定状態Xh(n)に乗算ブロック42−1で係数行列Aを乗じた値と、乗算ブロック46−1で、出力値u(n)に係数行列B1を乗じた値と、乗算ブロック44−1aで、出力値u(n−0.5)に係数行列B2を乗じた値と、遅延ブロック34−1で遅延された前サンプルの出力値u(n−1)に乗算ブロック44−1bで係数行列B3を乗じた値とを、加算ブロック48−1により加算して、(30)式の4番目の式のように、計算する。
【0108】
次に、演算ブロック22−1で演算した推定位置誤差er[n]に、乗算ブロック24−2で、推定ゲインL2をかけて、補正値を作る。加算ブロック26−1により、この補正値と,予測位置,予測速度などの現サンプルでの推定状態Xb[n+0.5]とを加算する。これにより,式(30)の現サンプルでの推定位置・推定速度など推定状態Xh(n+0.5)を生成する。
【0109】
そして、マルチレート制御では、推定状態(位置)Xh(n+0.5)と目標位置軌道r(n+0.5)との差分値を加算ブロック30−2で演算し、乗算ブロック52−2で、それに係数行列−F・Adをかけた値を演算する。
【0110】
一方、出力u(n−0.5)に、乗算ブロック54−2aで、係数行列−F・Bd2を乗じて、出力u(n)に、乗算ブロック54−2bで、係数行列−F・Bd1を乗じる。3つの乗算ブロック52−2,54−2a,54−2bの出力を加算ブロック56−6で加算し、式(30)の6番目の式の出力値u(n+0.5)を得る。
【0111】
一方、次の(n+1)の推定状態Xb(n+1)を、現サンプルの推定状態Xh(n+0.5)に乗算ブロック42−2で係数行列Aを乗じた値と、乗算ブロック46−2で、出力値u(n+0.5)に係数行列B1を乗じた値と、乗算ブロック44−2aで、出力値u(n)に係数行列B2を乗じた値と、遅延ブロック34−2で遅延された前サンプルの出力値u(n−0.5)に乗算ブロック44−2bで係数行列B3を乗じた値とを、加算ブロック48−2により加算して、(30)式の7番目の式のように、計算する。
【0112】
尚、遅延ブロック50は、次のサンプル(n+1)の推定状態Xb(n+1)を遅延し、乗算ブロック20−1は、遅延ブロック50の出力に、Cを乗じて、現サンプルの推定位置x(n)を計算する。
【0113】
このように、オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延(演算遅延及び駆動アンプ、D/Aコンバータ等のハード遅延)を考慮して、サンプル時点から遅延分進んだTdの推定状態を演算し、この推定状態から出力を演算するため、サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。
【0114】
又、同一のサンプル時刻で、二自由度制御項を計算しているため、このマルチレート制御では、特に、計算順序が複雑となることを防止でき、高速に演算できる。更に、状態推定順序が守ることができ、系全体の安定性を維持することができる。
【0115】
尚、図30のブロックにおいて、乗算ブロック24−2のL2を「0」に設定すると、シングルレート状態推定の構成となり、図30の構成は、シングルレート、マルチレート状態推定にいずれにも使用できる。
【0116】
(二自由度制御系の第3の実施の形態)
次に、外乱モデルを分離した実施の形態を示す。現在オブザーバにおいて、アクチュエータモデルと外乱モデルを分離した例を説明する。外乱モデルを分離した構成を実現することにより、アクチュエータのモデルに影響を与えず、容易に、自由な外乱抑圧特性を持つ外乱モデルを付与できる。
【0117】
このため、外乱モデルを付与した現在オブザーバを容易に構成でき、又、既存の現在オブザーバに所望の外乱特性を持つ外乱モデルを容易に付加できる。
【0118】
式(28)、式(29)のマルチレート状態推定式を変形して、外乱モデルを分離した計算式を作成する。式(28)において、式(28)の状態Xh(n),Xh(n+Td/T)を、位置、速度のアクチュエータモデルの状態Xh(n),Xh(n+Td/T)と、外乱モデルの状態Dh(n),Dh(n+Td/T)とに分離する。これにより、次式(31)を得る。
【0119】
【数31】

式(31)に示すように、速度、位置の推定状態Xh(n)を、式(28)と同様に、計算する。ここで、L1は、位置と速度の推定ゲインである。又、分離された外乱(バイアスを含む)の推定状態Dh(n)を同様に、計算する。ここで、Ld1は、バイアス、外乱の推定ゲインである。同様に、Td進んだ状態も位置、速度Xh(n+Td/T)と、外乱Dh(n+Td/T)とで分離して計算する。
【0120】
これに伴い、出力値は、速度Xh(n+Td/T)と、外乱Dh(n+Td/T)とで分離して計算し、その差分を出力値uout(n)とする。更に、次の(n+0.5)の状態も位置、速度Xb(n+0.5)と、外乱Db(n+0.5)とで分離して計算する。
【0121】
又、同様にして、式(29)の状態Xh(n+0.5),Xh(n++0.5+Td/T)を、位置、速度のアクチュエータモデルの状態Xh(n+0.5),Xh(n+0.5+Td/T)と、外乱モデルの状態Dh(n+0.5),Dh(n+0.5+Td/T)とに分離する。これにより、次式(32)を得る。
【0122】
【数32】

式(32)に示すように、速度、位置の推定状態Xh(n+0.5)を、式(28)と同様に、計算する。ここで、L2は、位置と速度の推定ゲインである。又、分離された外乱(バイアスを含む)の推定状態Dh(n+0.5)を同様に、計算する。ここで、Ld2は、バイアス、外乱の推定ゲインである。
【0123】
同様に、Td進んだ状態も位置、速度Xh(n+0.5+Td/T)と、外乱Dh(n+0.5+Td/T)とで分離して計算する。これに伴い、出力値は、速度Xh(n+0.5+Td/T)と、外乱Dh(n+0.5+Td/T)とで分離して計算し、その差分を出力値uout(n)とする。更に、次の(n+1)の状態も位置、速度Xb(n+1)と、外乱Db(n+1)とで分離して計算する。
【0124】
このようにして、外乱モデルを分離して、計算できる。尚、L2を「0」とすると、シングルレート状態推定式となる。この式(31)、式(32)は、冗長がある。計算時間を短縮して、位相余裕の減少を防止するため、式の簡略化を説明する。
【0125】
式(31)において、出力遅延のための位置、速度Xh(n+Td/T)を、u(n)の式に代入し、外乱Dh(n+Td/T)を、uout(n)に代入することにより、次式(33)が得られる。
【0126】
【数33】

同様に、式(32)において、出力遅延のための位置、速度Xh(n+0.5+Td/T)を、u(n+0.5)の式に代入し、外乱Dh(n+0.5+Td/T)を、uout(n+0.5)に代入することにより、次式(34)が得られる。
【0127】
【数34】

このように、計算式が少なくなり、計算時間を短縮できる。
【0128】
更に、式を統合する。即ち、式(33)、式(34)において、状態推定計算を、他の式に代入することにより、下記式(35)が得られる。
【0129】
【数35】

即ち、式(35)は、式(33)のXh(n)を、u(n),Xb(n+0.5)に代入し、Dh(n)を、uout(n),Db(n+0.5)に代入し、式(34)のXh(n+0.5)を、u(n+0.5),Xb(n+1)に代入し、Dh(n+0.5)を、uout(n+0.5),Db(n+1)に代入して、結合したものである。
【0130】
この形の式(35)または式(33)、式(34)は,2倍や3倍といったマルチレート制御に都合が良い。即ち、出力がu(n)〜Db(n+0.5)までの式と,u(n+0.5)〜Db(n+1)までの式を比べた場合,右辺の各状態変数に掛かる行列が,同じとなる(但し、L1=L2の場合)。その分だけ,行列を保持するメモリを減らすことが可能になる。
【0131】
図11は、式(35)をブロック化したブロック図である。図11の構成は、基本的に、図6の構成を2回使用し、且つ外乱用のブロックを追加したものである。図11に示すように、マルチレート切り替え信号Multiでスイッチ70、係数乗算ブロック24−3,60を切り替る。
【0132】
現サンプルnでの観測位置(位置誤差)y(n)を取り込み,前サンプルで推定した現サンプルの予測位置C・Xb(n)と観測位置y(n)の差分を、演算ブロック22で演算し,推定位置誤差er[n]を生成する。乗算ブロック24−3で、この推定位置誤差er[n]に,推定ゲインL1又はL2をかけて、補正値を作る。
【0133】
加算ブロック26により、この補正値と,予測位置,予測速度などの現サンプルでの推定状態Xb[n]とを加算する。これにより,式(35)の現サンプルでの推定位置・推定速度など推定状態Xh(n)を生成する。
【0134】
そして二自由度制御では、推定状態(位置)Xh(n)と目標位置軌道r(n)との差分値を加算ブロック30で演算し、乗算ブロック52で、それに係数行列−F・Adをかけた値を演算する。一方、出力u(n−1)に、乗算ブロック54−1で、係数行列−F・Bd2を乗じて、出力u(n−0.5)に、乗算ブロック54−2で、係数行列−F・Bd1を乗じる。3つの乗算ブロック52,54−1,54−2の出力を加算ブロック56−1で加算し、式(35)の2番目の式の出力値u(n)を得る。
【0135】
一方、次の(n+0.5)の推定状態Xb(n+0.5)を、現サンプルの推定状態Xh(n)に乗算ブロック42で係数行列Aを乗じた値と、乗算ブロック46で、出力値u(n)に係数行列B1を乗じた値と、乗算ブロック44−1で、出力値u(n−0.5)に係数行列B2を乗じた値と、遅延ブロック34−1,34−2で遅延された前サンプルの出力値u(n−1)に乗算ブロック44−2で係数行列B3を乗じた値とを、加算ブロック48により加算して、(35)式の4番目の式のように、計算する。
【0136】
又、乗算ブロック60で、この推定位置誤差er[n]に,外乱推定ゲインLd1又はLd2をかけて、補正値を作る。加算ブロック64により、この補正値と,現サンプルでの外乱推定状態Db[n]とを加算する。これにより,式(35)の現サンプルでの外乱推定状態Dh(n)を生成する。そして、乗算ブロック66で、係数行列−F・Ad2をDh(n)に乗じて、加算ブロックで、u(n)からこの乗算値を差し引き、uout(n)を得る。
【0137】
次に、2回目の演算では、マルチレート制御信号により、スイッチ70、係数乗算ブロック24−3,60を切り替え、同様の動作を行う。
【0138】
このように、推定ゲインLを、コントローラモデルと外乱モデルで分離し、且つフィードバックゲインFを、コントローラモデルと外乱モデルで分離し、コントローラモデルと外乱モデルを分離して、設計することができる。
【0139】
更に式の統合が可能である。式(35)では、9つの式を順々に計算するが、必要なのは、uout(n),uout(n+0.5),Xb(n+1),Db(n+1)である。他の状態変数は、これらの状態変数を求めるために必要なだけである。そこで、9つの式を代入、整理して、uout(n),uout(n+0.5),Xb(n+1),Db(n+1)を計算する次式(36)に纏める。
【0140】
【数36】

式(36)では、式(35)のe(n)を、u(n),uout(n),Xb(n+0.5),Db(n+0.5),u(n+0.5),uout(n+0.5),Xb(n+1),Db(n+1)に代入し、Xb(n+0.5),Db(n+0.5)を、u(n+0.5),uout(n+0.5),Xb(n+1),Db(n+1)に代入し、6つの式とし、且つ係数を纏めて、記載したものである。
【0141】
このように、必要に応じて、計算式を纏めることができる。
【0142】
(他の実施の形態)
前述の実施の形態では、オブザーバ制御を、磁気ディスク装置のヘッド位置決め装置の適用の例で説明したが、光ディスク装置等の他のディスク装置にも適用できる。又、外乱モデルを考慮しているが、外乱モデルを考慮しない場合にも、採用できる。
【0143】
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
【0144】
(付記1)対象物を目標位置に、アクチュエータにより位置制御する位置制御方法において、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、前記位置誤差と現在オブザーバの現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正するステップと、前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算するステップと、前記進んだ推定位置から前記アクチュエータへの出力値を演算するステップと、前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算するステップとを有することを特徴とする位置制御方法。
【0145】
(付記2)前記次の出力値演算のための推定位置と(現サンプル+0.5サンプル)時刻の目標軌道との差を演算し、且つ0.5サンプル前の出力値と前記現サンプルの出力値と前記差とから前記サンプル時点から0.5サンプル進んだ推定位置を演算するステップと、前記進んだ推定位置から前記アクチュエータへの出力値を演算するステップと、前記補正された推定位置と、前記現サンプルの出力値と、前記0.5サンプル前の出力値と、前記計算された出力値とから次のサンプルの推定位置を演算するステップとを更に有することを特徴とする付記1の位置制御方法。
【0146】
(付記3)前記進んだ推定位置を演算するステップは、前記次の出力値演算のための推定位置を、前記推定位置誤差で補正するステップを有することを特徴とする付記2の位置制御方法。
【0147】
(付記4)前記目標位置から各サンプル時点の目標軌道を生成するステップを更に有することを特徴とする付記1の位置制御方法。
【0148】
(付記5)前記目標位置から各サンプル時点と、このサンプル時点から0.5サンプル進んだ時点との目標軌道を生成するステップを更に有することを特徴とする付記2の位置制御方法。
【0149】
(付記6)前記位置誤差を演算するステップは、記憶媒体のデータを少なくとも読み取るヘッドの出力から得た現在位置と、前記アクチュエータを駆動して前記ヘッドを前記記憶媒体の所定位置に移動するための目標位置との位置誤差を演算するステップからなることを特徴とする付記1の位置制御方法。
【0150】
(付記7)記憶媒体のデータを少なくとも読み取るヘッドと、前記記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、前記ヘッドの目標位置と前記ヘッドから得た現在位置とから位置誤差を演算し、現在オブザーバ制御により前記アクチュエータを駆動する出力値を演算する制御ユニットとを有し、前記制御ユニットは、前記位置誤差と前記現在オブザーバの現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正し、前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、且つ前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算することを特徴とする媒体記憶装置。
【0151】
(付記8)前記制御ユニットは、前記次の出力値演算のための推定位置と(現サンプル+0.5サンプル)時刻の目標軌道との差を演算し、且つ0.5サンプル前の出力値と前記現サンプルの出力値と前記差とから前記サンプル時点から0.5サンプル進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、前記補正された推定位置と、前記現サンプルの出力値と、前記0.5サンプル前の出力値と、前記計算された出力値とから次のサンプルの推定位置を演算することを特徴とする付記7の媒体記憶装置。
【0152】
(付記9)前記制御ユニットは、前記進んだ推定位置を演算するため、前記次の出力値演算のための推定位置を、前記推定位置誤差で補正することを特徴とする付記8の媒体記憶装置。(6)
(付記10)前記制御ユニットは、前記目標位置から各サンプル時点の目標軌道を生成することを特徴とする付記7の媒体記憶装置。
【0153】
(付記11)前記制御ユニットは、前記目標位置から各サンプル時点と、このサンプル時点から0.5サンプル進んだ時点との目標軌道を生成することを特徴とする付記8の媒体記憶装置。
【0154】
(付記12)前記記憶媒体である記憶ディスクを回転するスピンドルモータを更に有することを特徴とする付記8の媒体記憶装置。
【0155】
(付記13)対象物を目標位置に、アクチュエータにより位置制御する位置制御装置において、前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するブロックと、前記位置誤差と現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正し、前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、且つ前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算する現在オブザーバとを有することを特徴とする位置制御装置。
【0156】
(付記14)前記現在オブザーバは、更に、前記次の出力値演算のための推定位置と(現サンプル+0.5サンプル)時刻の目標軌道との差を演算し、且つ0.5サンプル前の出力値と前記現サンプルの出力値と前記差とから前記サンプル時点から0.5サンプル進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、前記補正された推定位置と、前記現サンプルの出力値と、前記0.5サンプル前の出力値と、前記計算された出力値とから次のサンプルの推定位置を演算することを特徴とする付記13の位置制御装置。
【0157】
(付記15)前記現在オブザーバは、前記進んだ推定位置を演算するため、前記次の出力値演算のための推定位置を、前記推定位置誤差で補正することを特徴とする付記14の位置制御装置。
【0158】
(付記16)前記目標位置から各サンプル時点の目標軌道を生成する目標軌道生成ブロックを更に有することを特徴とする付記13の位置制御装置。
【0159】
(付記17)前記目標位置から各サンプル時点と、このサンプル時点から0.5サンプル進んだ時点との目標軌道を生成する目標軌道生成ブロックを更に有することを特徴とする付記14の位置制御装置。
【0160】
(付記18)前記位置誤差を演算するブロックは、記憶媒体のデータを少なくとも読み取るヘッドの出力から得た現在位置と、前記アクチュエータを駆動して前記ヘッドを前記記憶媒体の所定位置に移動するための目標位置との位置誤差を演算するブロックからなることを特徴とする付記13の位置制御装置。
【産業上の利用可能性】
【0161】
オーバーラン防止のための二自由度制御系において、二自由度制御の出力の遅延(演算遅延及び駆動アンプ、D/Aコンバータ等のハード遅延)を考慮して、サンプル時点から遅延分進んだTdの推定状態を演算し、この推定状態から出力を演算するため、サンプル時点から、計算中に状態変化があっても、出力遅延の影響を防止し、精度の高い位置制御が可能となり、オーバーランを防止できる。
【0162】
又、同一のサンプル時刻で、二自由度制御項を計算しているため、計算順序が複雑となることを防止でき、高速に演算できる。更に、状態推定順序が守ることができ、系全体の安定性を維持することができる。更に、電流波形が滑らかなとなり、媒体記憶装置のシーク時間短縮、オーバーラン防止に寄与する。
【図面の簡単な説明】
【0163】
【図1】本発明の一実施形態を示す媒体記憶装置の構成図である。
【図2】図1のディスクの位置信号の説明図である。
【図3】図2の位置信号の詳細説明図である。
【図4】本発明の一実施の形態のシーク制御の遷移図である。
【図5】本発明の第1の実施の形態の現在オブザーバのブロック図である。
【図6】図6の変形例のブロック図である。
【図7】図5及び図6の動作シーケンスの説明図である。
【図8】本発明の第2の実施の形態の現在オブザーバのブロック図である。
【図9】図8の動作シーケンスの説明図である。
【図10】図8の現在オブザーバのブロック図である。
【図11】本発明の第3の実施の形態の現在オブザーバのブロック図である。
【図12】従来の現在オブザーバのブロック図である。
【図13】従来の二自由度制御のブロック図である。
【図14】図13の詳細ブロック図である。
【図15】図13の動作シーケンス図である。
【符号の説明】
【0164】
1 アクチュエータ
2 スピンドルモータの回転軸
3 ヘッド
4 ディスク
5 スピンドルモータ
6 アクチュエータのVCM駆動回路
7 位置復調回路
8 スピンドルモータの駆動回路
9 バス
10 データの記録再生回路
11 ハードディスクコントローラ
12 MCUのRAM
13 MCUのROM
14 マイクロコントローラユニット
15 ハードディスクコントローラのRAM
16 位置信号

【特許請求の範囲】
【請求項1】
対象物を目標位置に、アクチュエータにより位置制御する位置制御方法において、
前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するステップと、
前記位置誤差と現在オブザーバの現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正するステップと、
前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算するステップと、
前記進んだ推定位置から前記アクチュエータへの出力値を演算するステップと、
前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算するステップとを有する
ことを特徴とする位置制御方法。
【請求項2】
前記次の出力値演算のための推定位置と(現サンプル+0.5サンプル)時刻の目標軌道との差を演算し、且つ0.5サンプル前の出力値と前記現サンプルの出力値と前記差とから前記サンプル時点から0.5サンプル進んだ推定位置を演算するステップと、
前記進んだ推定位置から前記アクチュエータへの出力値を演算するステップと、
前記補正された推定位置と、前記現サンプルの出力値と、前記0.5サンプル前の出力値と、前記計算された出力値とから次のサンプルの推定位置を演算するステップとを更に有する
ことを特徴とする請求項1の位置制御方法。
【請求項3】
前記進んだ推定位置を演算するステップは、前記次の出力値演算のための推定位置を、前記推定位置誤差で補正するステップを有する
ことを特徴とする請求項2の位置制御方法。
【請求項4】
記憶媒体のデータを少なくとも読み取るヘッドと、
前記記憶媒体の所定位置に、前記ヘッドを位置決めするアクチュエータと、
前記ヘッドの目標位置と前記ヘッドから得た現在位置とから位置誤差を演算し、現在オブザーバ制御により前記アクチュエータを駆動する出力値を演算する制御ユニットとを有し、
前記制御ユニットは、前記位置誤差と前記現在オブザーバの現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正し、前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、且つ前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算する
ことを特徴とする媒体記憶装置。
【請求項5】
前記制御ユニットは、
前記次の出力値演算のための推定位置と(現サンプル+0.5サンプル)時刻の目標軌道との差を演算し、且つ0.5サンプル前の出力値と前記現サンプルの出力値と前記差とから前記サンプル時点から0.5サンプル進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、前記補正された推定位置と、前記現サンプルの出力値と、前記0.5サンプル前の出力値と、前記計算された出力値とから次のサンプルの推定位置を演算する
ことを特徴とする請求項4の媒体記憶装置。
【請求項6】
前記制御ユニットは、前記進んだ推定位置を演算するため、前記次の出力値演算のための推定位置を、前記推定位置誤差で補正する
ことを特徴とする請求項5の媒体記憶装置。
【請求項7】
前記制御ユニットは、前記目標位置から各サンプル時点と、このサンプル時点から0.5サンプル進んだ時点との目標軌道を生成する
ことを特徴とする請求項6の媒体記憶装置。
【請求項8】
対象物を目標位置に、アクチュエータにより位置制御する位置制御装置において、
前記対象物の目標位置と前記対象物の現在位置とから位置誤差を演算するブロックと、
前記位置誤差と現サンプルの推定位置との推定位置誤差により、現サンプルの推定位置を補正し、前記補正された推定位置と現サンプルの目標軌道との差を演算し、且つ1サンプル前の出力値と前記差とから前記サンプル時点から所定時間進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、且つ前記補正された推定位置と、前記現サンプルの出力値と、前記1サンプル前の出力値とから次の出力値演算のための推定位置を演算する現在オブザーバとを有する
ことを特徴とする位置制御装置。
【請求項9】
前記現在オブザーバは、
更に、前記次の出力値演算のための推定位置と(現サンプル+0.5サンプル)時刻の目標軌道との差を演算し、且つ0.5サンプル前の出力値と前記現サンプルの出力値と前記差とから前記サンプル時点から0.5サンプル進んだ推定位置を演算し、前記進んだ推定位置から前記アクチュエータへの出力値を演算し、前記補正された推定位置と、前記現サンプルの出力値と、前記0.5サンプル前の出力値と、前記計算された出力値とから次のサンプルの推定位置を演算する
ことを特徴とする請求項8の位置制御装置。
【請求項10】
前記目標位置から各サンプル時点の目標軌道を生成する目標軌道生成ブロックを更に有する
ことを特徴とする請求項8の位置制御装置。

【図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


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