以下、本発明を、ディスク装置、位置決め制御系、位置決め制御処理、バイアス推定の実施例、他の実施の位置決め制御、別の実施の形態の位置決め制御、軌道生成方法、軌道制御の実施例、他の実施の形態に分けて、説明する。
[ディスク装置]
図1は、本発明の一実施の態様のディスク装置の上面図、図2は、そのディスク装置の断面図である。この例では、ディスク装置として、ハードディスク装置を例にしてある。
図1及び図2に示すように、磁気ディスク6は、基板(円板)に磁気記録層を設けて構成される。磁気ディスク6は、2.5インチの大きさであり、ドライブ内に、3枚設けられている。スピンドルモータ5は、磁気ディスク6を支持し、且つ回転する。磁気ヘッド4は、アクチュエータに設けられている。アクチュエータは、回転型VCM(ボイスコイルモータ)3と、アーム8と、フレクチャー(サスペンション)9を有する。フレクチャー9の先端に、磁気ヘッド4が取り付けられている。
磁気ヘッド4は、磁気ディスク6のデータを読み取り、データを書き込む。アクチュエータ3は、磁気ヘッド4を磁気ディスク6の所望のトラックに位置付ける。アクチュエータ3及びスピンドルモータ5は、ドライブベース2に設けられる。カバー1は、ドライブベース2を覆い、ドライブ内部を外部から隔離する。プリント板7は、ドライブベース2の下に設けられ、ドライブの制御回路を搭載する。コネクタ10は、ドライブベース2の下に設けられ、制御回路と外部とを接続する。
このドライブは、小型であり、横、90mm、縦、63mm、幅、10mm 程度である。従って、ノートパソコンの内蔵ディスクとして使用される。
図3は、プリント板7及びドライブ内に設けられた制御回路のブロック図である。HDC(ハードディスクコントローラ)18は、ホストCPUの各種コマンドの授受、データの授受等のホストCPUとのインターフェース制御及び磁気ディスク媒体上の記録再生フォーマットを制御するための磁気ディスク装置内部の制御信号の発生等を行う。バッファ17は、ホストCPUよりのライトデータの一時的な記憶及び磁気ディスク媒体よりのリードデータの一時的な記憶に使用される。
MCU(マイクロコントローラ)19は、マイクロプロセッサ(MPU)、メモリ、DAコンバータ、ADコンバータ等で構成されている。MCU(以下、MPUという)19は、磁気ヘッドの位置決めのためのサーボ制御(位置決め制御)等を行う。MPU19は、メモリに記憶されたプログラムを実行して、サーボ復調回路16よりの位置信号を認識し、位置決めのためのアクチュエータ3のVCM制御電流の制御値を計算する。更に、MPU19は、SPM駆動回路14の駆動電流の制御を行う。
VCM駆動回路13は、VCM(ボイスコイルモータ)3に駆動電流を流すためのパワーアンプで構成される。SPM駆動回路14は、磁気ディスクを回転するスピンドルモータ(SPM)5に駆動電流を流すためのパワーアンプで構成される。
リードチャネル15は、記録再生を行うための回路である。リードチャネル15は、ホストCPUよりのライトデータを磁気ディスク媒体6に記録するための変調回路、パラレルシリアル変換回路、磁気ディスク媒体6よりデータを再生するための復調回路、シリアルパラレル変換回路等を有する。サーボ復調回路16は、磁気ディスク媒体6に記録されたサーボパターンを復調する回路であり、ピークホールド回路、積分回路等を有し、MPU19に位置信号を出力する。
尚、図示されていないが、ドライブHDA内には、磁気ヘッド4に記録電流を供給するライトアンプと、磁気ヘッド4よりの再生電圧を増幅するプリアンプとを内蔵したヘッドICが設けられている。
ここでは、ディスク装置として、磁気ディスク装置を例に説明しているが、DVD、MO等の光ディスク装置等を用いても良く、リード/ライト可能な装置で示しているが、リードオンリーの装置(再生装置)を用いても良い。
[位置決め制御系]
次に、MPU19が実行する位置決め制御系について説明する。
図4は、シーク動作の遷移図、図5は、オブザーバのモデル図である。
図4に示すように、シーク動作は、コアース制御、整定制御、フォロイング制御と遷移する。コアース制御は、目標位置への速度制御である。コアース制御は、速度制御、PD制御、又は定常バイアス推定を含まないオブザーバ制御等により構成されている。制御系の中に、積分要素(積分補償又はバイアス補償)が含まれない。速度の単位は、SI単位系なら、メートル/secである。しかし、ディスク装置の場合、データを記録再生する単位が、トラックであるので、1サンプル当たりの移動トラック数、トラック/サンプルで表現される。
図4に示すように、コアース制御は、加速、定速、減速と、制御モードを切り替える。この加速モードは、電流を流し、速度を速くする制御である。定速モードは、電流を「0」またはバイアス補正値を加えるようにして、速度を一定速度に保つ制御である。減速モードは、電流を加速時とは反対方向に流し、速度を目標位置付近でゼロに近くする制御である。距離が小さい場合には、定速モードは含まれない。
フォロイング制御は、磁気ヘッドを目標位置に追従する制御である。フォロイング制御は、PID制御、PI×LeadLag、定常バイアス推定を含むオブザーバ制御等で構成される。制御系の中に、積分要素(積分補償又はバイアス補償)が含まれることが特長である。目標位置の単位は、SI単位系なら、メートルである。しかし、ディスク装置の場合、データを記録再生する単位が、トラックであるので、トラック又はシリンタで表現される。
整定制御は、コアース制御とフォロイング制御とのつなぎを行うための制御モードである。整定制御では、制御系に積分要素を含む。
次に、本発明の位置決め制御に好適なオブザーバ制御を説明する。オブザーバ制御とは、状態フィードバック制御を実現するための制御対象モデルをシュミレーションする手段である。ハードディスクドライブ(HDD)のアクチュエータは、(1)式の伝達関数で表現される。
尚、yは位置、Blは力定数、mは質量、sはラプラス演算子、uは駆動電流値である。ここでは、回転型の応答を、直進型に変換して表現している。
この伝達関数表現を、状態方程式で表現すると、次の(2)式となる。
尚、x、yは位置、vは速度である。
この式は、SI単位であり、位置はメートル、速度はm/s、電流はAである。しかし、実際の装置では、目標位置は、トラック単位であり、速度もサンプル周期を、T(s)とした時に、トラック/サンプルという単位で表現したほうが都合が良い。更に、電流も出力をDAC(デジタルアナログコンバータ)に設定するため、最大電流を「1」に正規化するのが好都合である。このようにして、単位を変換すると、(2)式は、次の(3)式に変換される。但し、状態変数は、新たな単位に変換したものとする。
このアナログモデルを、離散系のデジタルモデルに変換すると、次の(4)式を得る。
尚、Ka=Bl/mである。
この式を基に、オブザーバ制御系を構成することができる。実際にオブザーバ制御を適用するには、次の(5)式の現在オブザーバの構成を用いる。
この式をモデル化したものが、図5のモデル図である。図5を基に、説明する。今回の推定位置x hat[k]、推定速度v hat[k]は、前回サンプル時に計算した今回の推定位置x bar[k]、推定速度v bar[k]と、観測位置(検出位置)y(k)と推定位置x bar[k]との差に、ゲインL を乗じたものとの加算から得る。指示電流値u(k)は、今回の推定位置x hat[k]、推定速度v hat[k]にゲインFを乗じて得る。出力電流値u out(k)は、指示電流値u(k)に、バイアステーブル値BiasTable(y[k]) を加算して得る。
この指示電流値u(k)による次回のサンプル時の推定位置x bar[k +1]、推定速度v bar[k +1]を、今回の推定位置x hat[k]、推定速度v hat[k]と、指示電流値u(k)とから計算する。
バイアステーブル値BiasTable(y[k]) は、事前に測定された平均的なバイアス値であり、テーブルに格納されている。この制御系は、コアース制御で使用される。コアース制御でも、平均的なバイアス値が補正されるため、バイアスによる速度誤差は少ない。
次に、整定制御及びフォロイング制御で使用されるバイアス値の推定を含むオブザーバ制御系を説明する。アナログのプラントモデル((3)式)に、定常バイアスのモデル、即ち、下記(6)式、を加速度の単位で加える。更に、離散化して、前述と同様に、現在オブザーバを構成すると、下記(7)式のオブザーバ制御系が得られる。
sB=0 (6)
この(7)式は、図5のモデル図に、バイアスBを加速度で加えたものであり、モデル図としては、同一となる。
即ち、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]は、前回サンプル時に計算した今回の推定位置x bar[k]、推定速度v bar[k]、推定バイアス値b bar[k]と、観測位置(検出位置)y(k)と推定位置x bar[k]との差に、ゲインL を乗じたものとの加算から得る。指示電流値u(k)は、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]にゲインFを乗じて得る。出力電流値u out(k)は、指示電流値u(k)に、バイアステーブル値BiasTable(y[k]) を加算して得る。
この指示電流値u(k)による次回のサンプル時の推定位置x bar[k +1]、推定速度v bar[k +1]、推定バイアス値b bar[k +1]を、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]と、指示電流値u(k)とから計算する。
このオブザーバ制御系の構成は、整定制御及びフォロイング制御で使用される。定常バイアスを推定して、補正するので、位置誤差のDC成分は「0」となる。オブザーバゲイン(L1、L2)又は(L1、L2、L3)、及び状態フィードバックゲイン(Fx、Fv)又は(Fx、Fv、Fb)は、最適制御理論又は極配置法により求める。
次に、本発明の整定制御を説明する。図6は、本発明の一実施の形態の整定制御のモデル図、図7及び図8は、定常バイアス推定を含まないオブザーバ制御系のバイアス値に対する応答のシュミレーション図、図9は、バイアスに対する実位置と推定位置とのずれの関係図、図10は、バイアスに対する実速度と推定速度のずれ関係図である。
図6に示すように、オブザーバ20に対し、初期バイアス推定器21が設けられている。初期バイアス推定器21を説明する。
整定制御の直前のコアース制御の減速モードでは、積分器(又はバイアス推定器)を含まない制御系を構成している。整定制御及びフォロイング制御では、積分器(又はバイアス推定器)を含む制御系を構成する。初期バイアス推定器21は、整定開始時又は整定開始直前に、オブザーバ20の観測位置x bar[k]と実際の位置y[k]との差分を求め、その位置誤差に、予定のゲインKxをかけて、初期バイアス値を計算し、初期バイアス値を、オブザーバ20に設定する。更に、位置誤差にゲインKvをかけたものを、オブザーバ20の推定速度v bar[k]に加えて、推定速度を補正する。尚、図6では、検出位置y[k](絶対位置)から目標位置Yoを差し引いたものを、実位置(相対位置)y[k]としている。尚、検出位置y[k]は、前述の磁気ヘッド4の位置信号から得られる。
この原理を説明する。前述の積分器(又はバイアス推定器)を含まない制御系(コアース制御系)では、バイアス値が加わると、オブザーバの位置及び速度の推定値にずれが生じる。しかも、そのずれは、バイアス値に比例する。従って、位置誤差を求めれば、バイアス値が推定できる。
図7及び図8は、状態フィードバックの極を330Hzとしたした時の定常バイアス推定を含まないオブザーバ制御系のバイアス値に対する応答をシミュレーションした図である。図7は、初期位置、初期速度が0とした時の、+4mAの定常バイアスを加えた時の、指示電流U(%)、位置P(トラック)、速度V(トラック/サンプル)、(実位置y−観測位置x)、(実速度v−推定速度vhat)の時間応答を示す。図8は、初期位置がー32トラック、初期速度が10トラック/サンプルとした時の、+4mAの定常バイアスを加えた時の、指示電流U(%)、位置P(トラック)、速度V(トラック/サンプル)、位置誤差(実位置y−観測位置x)、速度誤差(実速度v−推定速度vhat)の時間応答を示す。尚、図7及び図8において、位置P(トラック)、速度V(トラック/サンプル)に、2つの線があるのは、上側が推定位置又は推定速度、下側が実位置又は実速度である。
図7及び図8のどちらの図でも、実位置と推定位置との位置誤差、及び実速度と推定速度との速度誤差は、同じ応答を示す。又、1.5ms経過後は、一定値を示している。その値は、バイアス値が4mAの時、位置誤差が、0.47トラック、速度誤差は、0.40トラック/サンプルである。
このバイアス値Biasと、位置誤差Position Offset 及び速度誤差Velocity Offset との関係をシュミレーションすると、図9のバイアス値Biasと、位置誤差Position Offset の関係、図10のバイアス値Biasと、速度誤差Velocity Offset との関係が得られる。このように、バイアス値Biasに対し、推定位置のずれ(位置誤差Position Offset )及び推定速度のずれ(速度誤差Velocity Offset )は、比例の関係を示す。この事は、定常バイアス推定を含まないオブザーバ制御系では、実位置とオブザーバの推定位置との誤差が判れば、バイアス値を推定できることを示している。
従って、実位置とオブザーバの推定位置との誤差を、整定開始時に測定し、その誤差を基に、バイアス値を推定できる。バイアス値b bar[k]は、下記(8)式によりえることができる。
b bar[k]=Kx・(y[k] ーx bar[k]) (8)
同じく、速度誤差分も補正できる。補正された推定速度v bar[k]は、下記(9)式により得ることができる。
v bar[k]=v bar[k]+Kv・(y[k] ーx bar[k]) (9)
尚、シーク方向に応じて、ゲインKx、Kvの符号を切り替える必要がある。
このバイアス推定値は、前述のように、定常バイアス推定を含まないオブザーバ制御系で得ることができる。このため、定常バイアス推定を含むオブザーバ制御が行われる整定制御の前に、即ち、整定開始時又は整定開始直前に、初期値として計算する。以降、この初期値を利用して、定常バイアス推定を含むオブザーバ制御により整定制御する。
このようにして、バイアス値を正確に推定できる。これにより、シーク時のバイアス値のバラツキに伴うシーク時間のバラツキを抑制できる。このため、平均シーク時間は短縮される。例えば、平均シーク時間が、2.5インチHDDで10ms程度とすることができる。
又、ここでは、オブザーバの推定位置を使用して、バイアス値を推定している。しかし、オブザーバの推定位置は、前の位置+速度+電流値で表現される。又、速度が十分小さい場合には、オブザーバの推定位置は、前の位置+電流値で表現される。この式に従うと、オブザーバの推定位置を使用しなくても良い。即ち、前のサンプルの位置から次のサンプルの位置を推定する式のみ同様に計算しても良い。
次に、本発明では、整定時間を更に短縮するため、フィードフォワード制御を、整定制御時に使用している。即ち、バイアス値を推定するだけでは、応答が制御系の帯域又は状態フィードバックの極に依存しているため、整定時間の短縮に限りがある。例えば、状態フィードバックの極を500Hzに配置した場合に、収束は、1/500=2msかかる。
この応答を速くするため、フィードフォワード制御を、整定制御に導入する。このため、図6に示すように、軌道生成器22を設けている。軌道生成器22は、整定開始時の初期位置x0と初期速度v0に応じた目標軌道及びフィードフォワード電流(以下、FF電流という)を生成し、制御系に与えるものである。
この目標軌道及びフィードフォワード電流は、初期位置x0と初期速度v0に応じて、軌道及び電流を生成する必要がある。このための軌道及び電流は予め設計しておく。この制御では、電流アンプのカットオフ周波数の影響及びアクチュエータの共振の影響を考慮した設計を行う必要がある。
図11は、軌道及びFF電流を設計するためのブロック図、図12は、アクチュエータの共振を抑止するFIRフィルタの特性図、図13(A)及び図13(B)は基本波の説明図、図14乃至図17は、設計軌道の説明図である。
先ず、目標位置に対する軌道は、次のようにして、設計する。図11に示すように、共振周波数成分を除去するFIRフィルタ51を用意する。このFIRフィルタ51に基本波発生器50から任意の波形を流して、FF電流を設計する。このようにして設計された電流波形は、共振の周波数成分が除去されている。
このFIRフィルタ51は、共振の周波数の零点をもつようにする。これにより、その零点の周波数成分がゼロ又は減衰する。そこで、このFIRフィルタ51を通して、任意の波形を与えれば、FIRフィルタ51から出力される波形は、共振周波数付近のゲインが抑圧された波形となる。図11に示すように、位置軌道は、FIRフィルタ51を通した電流を、プラントモデル52に与えて、得る。
図12は、5.8kのアクチュエータ共振を抑止するFIRフィルタ51の周波数特性図である。ここでは、5.7kHz及び5.9kHzに近接して2つの周波数に零点をおき、5.8kHz付近の広い範囲の周波数成分の除去を狙ったものである。零点は、1つでもよいし、複数の異なる箇所に配置しても良い。
次に、軌道は、位置軌道と速度軌道の2つに分ける。即ち、初期位置が1トラックで、初期速度が0トラック/サンプルの場合の軌道(位置軌道)と、初期位置が0トラックで、初期速度が1トラック/サンプルの場合の軌道(速度軌道)とである。そして、初期位置がX0トラックで、初期速度がV0トラック/サンプルの場合の軌道は、2つの軌道に、X0とV0のゲインをかけて、合成する。このようにすると、任意の初期位置、初期速度に対する軌道を、1つの単位軌道の合成により得ることができる。
更に整定制御用の目標軌道の生成方法、アクチュエータの共振周波数成分を制御する軌道を生成する方法について説明する。
共振周波数をFr(Hz)とおく。共振周波数に個体差、経年・温度変化がある場合には、平均的な値を採用する。この時に以下の式で求まる値を求める。ただし、サンプル周期をT(s)とする。ただし、ここで述べるサンプル周期は電流を切りかえる時間間隔である。位置を検出する周期とは異なる場合がある。
ω=2π・Fr
S2+2ζωs+ω2=0
Z0=exp(sT)
Z0は共振周波数に対応したフィルタの零点を離散系で表現したものである。Z0は1つではなく、2つ求まり、複素数である。ここでは、Z01,Z02と標記しておく。
このZ0を零点として持つFIRフィルタを考える。
F(z)=(1-Z01Z-1)(1-Z02Z-1)=1-(Z01+Z02)Z-1+Z01Z02Z-2
この特性はノッチフィルタと同等になる。図12は5.7kHzおよび5.9kHzで、ζを0とおいて計4つの零点:Z0を設計して、合成した(フィルタを直列接続した)ものである。このフィルタに基本波を流すと、フィルタの出力は、共振周波数成分が制御された波形を得ることができる。ここでは、基本波としては、図13(A)の矩形波を流すことにより、整定制御用の初期位置に対応した軌道生成(FF電流、位置軌道)を得る。また、同じ矩形波でも、図13(B)の波形を流し、初期速度に対応した軌道生成(FF電流、位置軌道)を得る。
位置軌道の設計は、移動後に位置が初期位置だけ移動し、電流及び速度がゼロになる軌道を設計することにより得られる。又、初期速度に対する軌道の設計は、速度がゼロ、位置もゼロになる軌道を設計すれば良い。
即ち、位置に対する軌道は、適当な電流を流し、軌道を設計する。電流値を移動距離で除算することにより、距離1トラックに対する電流を設計できる。図14に示すように、初期速度がゼロで、1トラック移動するための電流、速度、位置の軌道をシミュレーションにより得る。
次に、一定速度を与える電流を設計する。電流を流し終えた後は、一定速度を維持する。その一定速度で距離を除算することにより、1トラック/サンプルを与える軌道が求まる。図15は、1トラック/サンプルの速度を得るための電流、速度、位置の軌道を示す。
次に、初期条件を、0トラック、1トラック/サンプルとした時に、マイナス方向に、前記軌道を与えた時の到達位置を求める。図16は、初期位置が0で、初期速度が1トラック/サンプルの状態から、速度を0にするための電流、速度、位置の軌道を示す。この到達位置を0にするように、前記位置軌道を加えることにより、初期位置が0トラックで、初期速度が1トラック/サンプルで、終了後に、0トラック、0トラック/サンプルとなる軌道を設計できる。図17は、初期位置が0トラックで、初期速度が1トラック/サンプルで、終了後に、0トラック、0トラック/サンプルとなる軌道(電流、速度、位置値)を示す。
このようにして、初期条件が、1トラックで、初期速度が0トラック/サンプルで、終了条件が、0トラック、0トラック/サンプルとなる軌道と、初期条件が、0トラックで、初期速度が1トラック/サンプルで、終了条件が、0トラック、0トラック/サンプルとなる軌道との2つの軌道を設計できる。
図6は、図で示した軌道の内、電流と位置を制御系に与える例を、示している。即ち、軌道生成器22は、電流の軌道と、目標位置の軌道を持つ。このため、電流の単位軌道発生器36、38と、目標位置の単位軌道発生器30、31とを設ける。そして、クロック源により、目標位置の単位軌道発生器30、31を駆動し、乗算器32、33及び加算器34により、整定開始時の初期位置X0及び初期速度V0に比例した、目標位置軌道を生成する。この目標位置軌道は、目標値として、オブザーバ20の前段の加算器23に与えられ、検出位置との差をとり、オブザーバ20に観測位置として入力される。
同様に、クロック源により、電流の単位軌道発生器36、38を駆動し、乗算器37、39及び加算器40により、整定開始時の初期位置X0及び初期速度V0に比例した、目標電流軌道を生成する。この目標電流軌道は、フィードフォワード電流として、オブザーバ20の出力段の加算器24に与えられる。
このようにして、整定制御時に、フィードフォワード制御するため、高速応答が可能となる。又、軌道設計時に、電流アンプの特性を含め、且つ共振の影響も考慮するため、フィードフォワード制御しても、高速応答が可能となる。
[位置決め制御処理]
次に、MPU19が実行して、好適なプログラムによる位置決め制御処理を説明する。図18は、位置決め制御のタスクの制御フロー図、図19は、そのコアース制御処理フロー図、図20は、その整定制御処理フロー図、図21は、そのフォローイング制御フロー図である。
先ず、図18により、位置決め制御処理を説明する。
(S1)オントラック開始コマンドを受けると、このタスク処理を実行する。先ず、目標値y0が変化したかを判定する。
(S2)目標値y0が変化していない場合には、フォローイング制御(図20にて後述する)を実行して、ステップS1に戻る。
(S3)目標値y0が変化した場合には、目標値y0までの距離が、4トラック以下かを判定する。
(S4)目標値y0までの距離が、4トラック以下でない場合は、コアース制御(図19にて後述する)を実行して、ステップS3に戻る。
(S5)目標値y0までの距離が、4トラック以下であると、所定の整定条件を満足しているかを判定する。所定の整定条件を満足している場合には、ステップS2のフォロイング制御に移行する。この判定条件については、図20の整定制御で説明する。
(S6)所定の整定条件を満足していない場合には、整定制御(図20にて後述する)を実行して、ステップS5に戻る。
従って、シーク処理においては、コアース制御し、距離が4トラック以内になると、整定制御に移行し、整定条件を満足すると、フォロイング制御に移行する。
次に、図19によりコアース制御を説明する。このコアース制御は、オブザーバーを使用した速度制御である。
(S10)今回の推定位置x bar[k]を、距離(y[k]−y0) に初期化する。尚、y[k]は、ヘッド4から得た検出位置(現在位置)であり、y0は、目標位置である。
(S11)距離(y[k]−y0) に応じた目標速度vobj[k] を、図4で示したコアース制御の速度カーブに従い、計算する。
(S12)そして、今回の推定位置x hat[k]、推定速度v hat[k]を、前回サンプル時に計算した今回の推定位置x bar[k]、推定速度v bar[k]と、観測位置(検出位置)y(k)と推定位置x bar[k]との差に、ゲインL を乗じたものとの加算から得る。下記に計算式を示す。
x hat[k]=x bar[k]+L4(y[k] −x bar[k])
v hat[k]=v bar[k]+L5(y[k] −x bar[k])
(S13)指示電流値u[k]を、今回の推定速度v hat[k]と目標速度vobj[k] との差(速度誤差)にゲインFを乗じて得る。出力電流値u out(k)は、指示電流値u(k)に、バイアステーブル値BiasTable(y[k]) を加算して得る。下記に計算式を示す。
u[k]=−F4(v hat[k]−vobj[k])
u out[k]=u(k)+BiasTable(y[k])
(S14)この指示電流値u(k)による次回のサンプル時の推定位置x bar[k +1]、推定速度v bar[k +1]を、今回の推定位置x hat[k]、推定速度v hat[k]と、指示電流値u(k)とから計算する。計算式を下記に示す。
x bar[k +1]=x hat[k]+v hat[k]+Am/2・u(k)
v bar[k +1]=v hat[k]+Am・u(k)
(S15)距離(y[k] −y0) が、4トラック以下かを判定する。距離(y[k] −y0) が、4トラック以下なら、整定制御に移行する。尚、理解の容易のために、図17の移行条件を重複して記載してある。
(S16)距離(y[k]−y0) が、4トラック以下でないなら、次のサンプルまで待ち、ステップS11に戻る。
このようにして、コアース制御する。
次に、図20により整定制御を説明する。この整定制御は、定常バイアスを推定するオブザーバー制御である。
(S20)整定開始時に初期値を設定する。先ず、推定速度v bar[k]を、現在速度V0に設定する。この時、前述したように、観測位置y[k]と推定位置x bar[k]との差により、補正する。即ち、前述の(9)式により、推定速度v bar[k]の初期値を得る。
v bar[k]=v bar[k]+Kv・(y[k]−x bar[k]) (9)
又、実位置とオブザーバの推定位置との誤差を基に、前述の(8)式により、バイアス値の初期値を計算する。
b bar[k]=Kx・(y[k] −x bar[k]) (8)
更に、推定位置x bar[k]を、現在位置X0(=y[k])に設定する。次に、前述のフィードフォワード期間を示すカウント値Count を「1」に初期化する。
(S21)カウント値Count が「N」(フィードフォワード終了値)を越えているかを判定する。
(S22)カウント値Count が「N」を越えていない場合には、軌道テーブル(図6のブロック30、31)からカウント値Count に応じた単位軌道値PxTable[Count]、PvTable[Count]を読み出し、初期位置X0、初期速度V0に応じた軌道値Prefを、下記式により計算する。
Pref=X0・PxTable[Count]+V0・PvTable[Count]
又、電流テーブル(図6のブロック36、38)からカウント値Count に応じた単位電流値UxTable[Count]、UvTable[Count]を読み出し、初期位置X0、初期速度V0に応じた電流値Uff を、下記式により計算する。
Uff =X0・UxTable[Count]+V0・UvTable[Count]
更に、カウント値Count を「1」インクリメントする。
(S23)逆に、カウント値Count が「N」を越えている場合には、フィードフォワード期間が終了したため、軌道値Pref、電流値Uff に「0」を設定する。
(S24)そして、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]を、前回サンプル時に計算した今回の推定位置x bar[k]、推定速度v bar[k]、推定バイアス値b bar[k]と、観測位置(検出位置)y(k)と推定位置x bar[k]と軌道値Prefの差に、ゲインL を乗じたものとの加算から得る。下記に計算式を示す。
x hat[k]=x bar[k]+L1(y[k] −x bar[k]−Pref)
v hat[k]=v bar[k]+L2(y[k] −x bar[k]−Pref)
b hat[k]=b bar[k]+L3(y[k] −x bar[k]−Pref)
(S25)指示電流値u[k]を、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]にゲインFを乗じて得る。更に、出力電流値u out(k)は、指示電流値u(k)に、バイアステーブル値BiasTable(y[k]) とFF電流値Uff とを加算して得る。下記に計算式を示す。
u[k]=−F1・x hat[k]−F2・v hat[k]−F3・b hat[k]
u out[k]=u(k)+BiasTable(y[k]) +Uff
(S26)この指示電流値u(k)による次回のサンプル時の推定位置x bar[k +1]、推定速度v bar[k +1]、推定バイアス値b bar[k +1]を、今回の推定位置x hat[k]、推定速度v hat[k]と、推定バイアス値b hat[k]と、指示電流値u(k)とから計算する。計算式を下記に示す。
x bar[k +1]=x hat[k]+v hat[k]+b hat[k]+Ka/2・u(k)
v bar[k +1]=v hat[k]+2 ・b hat[k]+Ka・u(k)
b bar[k +1]=b hat[k]
(S27)整定完了かを判定する。例えば、距離(y[k]−y0) が、0.1トラック以内の状態になったら(リード時)、又は0.1トラック以内の状態が所定サンプル続いたら(ライト時)、整定完了と判断する。整定完了なら、整定完了を通知(リード/ライトを許可)して、終了する。即ち、図17のフォロイング制御に移行する。尚、理解の容易のために、図17の移行条件を重複して記載してある。整定完了でない場合には、ステップS21に戻る。このようにして、整定制御する。
次に、図21によりフォロイング制御を説明する。このフォロイング制御は、定常バイアスを推定するオブザーバー制御である。
(S30)先ず、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]を、前回サンプル時に計算した今回の推定位置x bar[k]、推定速度v bar[k]、推定バイアス値b bar[k]と、観測位置(検出位置)y(k)と推定位置x bar[k]の差に、ゲインL を乗じたものとの加算から得る。下記に計算式を示す。
x hat[k]=x bar[k]+L1(y[k] −x bar[k])
v hat[k]=v bar[k]+L2(y[k] −x bar[k])
b hat[k]=b bar[k]+L3(y[k] −x bar[k])
(S31)指示電流値u[k]を、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]にゲインFを乗じて得る。更に、出力電流値u out(k)は、指示電流値u(k)に、バイアステーブル値BiasTable(y[k]) とを加算して得る。下記に計算式を示す。
u[k]=−F1・x hat[k]−F2・v hat[k]−F3・b hat[k]
u out[k]=u(k)+BiasTable(y[k])
(S32)この指示電流値u(k)による次回のサンプル時の推定位置x bar[k +1]、推定速度v bar[k +1]、推定バイアス値b bar[k +1]を、今回の推定位置x hat[k]、推定速度v hat[k]と、推定バイアス値b hat[k]と、指示電流値u(k)とから計算する。計算式を下記に示す。
x bar[k +1]=x hat[k]+v hat[k]+b hat[k]+Ka/2・u(k)
v bar[k +1]=v hat[k]+2 ・b hat[k]+Ka・u(k)
b bar[k +1]=b hat[k]
(S33)そして、次のサンプルを待ち、ステップS30に戻る。
このようにして、フォロイング制御が行われる。又、フォロイング制御の各ステップは、整定制御のステップS24〜26と同一の内容であるため、共通のフローとすることもできる。
[バイアス推定の実施例]
次に、実験結果を示す。図22、図23は、従来の整定制御(バイアス初期値を「0」に設定したオブザーバ制御)の応答波形を示し、図24、図25は、本発明による整定制御の応答波形を示す。
図22は、従来の整定制御の電流、観測位置、制御モードを示し、図23は、従来の整定制御のバイアス推定値、制御モードを示す。図22から判るように、整定時の位置の収束に、4ms程度かかる。この原因としては、図23に示すように、バイアス推定値の収束に、3ms程度かかっているためである。このように、位置の収束時間が長くなるのは、バイアス推定値が整定開始時に、正しい値を示さないためである。
図24は、本発明による整定制御のバイアス推定値、制御モードを示し、図25は、本発明による整定制御の電流、観測位置、制御モードを示す。図24から判るように、整定開始時から、正しいバイアス値を示している。又、このバイアス値は、整定開始直後から殆ど変動せず、一定の値を示している。更に、図25に示すように、整定開始から4サンプルの間、初期位置及び初期速度に応じたFF電流と目標位置軌道を与えている。このため、目標位置に高速に到達している。この例では、2.5msで整定している。尚、図22の従来例では、4msかかっている。平均シーク時間が、例えば、10msであると、この1.5msの改善は、大きい。
次に、2.5インチのHDDにおいて、1万回のシークを行った時の整定時間のバラツキを実験した。図26は、従来の整定制御の整定時間のヒストグラム、図27は、本発明の整定制御の整定時間のヒストグラムである。尚、距離は、1024トラックである。シーク制御の方式、条件は、同一として、整定制御のみを変えたものである。
図26に示すように、従来の整定制御の整定時間は、バラツキがある。このため、平均値も3.1msと長い。図27に示すように、従来の整定制御の整定時間は、バラツキが少なく、平均値は、2.5msとなった。平均値で、0.6msもの時間が短縮できた。更に、バラツキも少ない。
[他の実施の形態の位置決め制御]
図28は、本発明の他の実施の形態の位置決め制御系のモデル図である。この実施の形態では、コアース制御に速度制御を用い、整定制御、フォロイング制御に、PID制御を用いるものである。
コアース制御では、位置差分による速度生成を行う。即ち、実速度v[k]を、次の式により得る。
v[k]=y[k]−y[k −1]
又、目標位置y0までの残り距離(y[k]−y0) で、速度テーブルを参照して、目標速度VelTable(y[k] −y0) を生成し、速度誤差をフィードバックして、電流指示値u[k]を得て、出力電流値u out[k]を得る。
u[k]=−F ・(v[k] −VelTable(y[k]−y0))
u out[k]=u[k]+BiasTable(y[k])
この時、次のサンプルでの位置y hat[k +1]を推定する。
y hat[k +1]=y[k]+v[k]+Am/2・u[k]
整定制御時には、PIDレギュレータを使用する。即ち、次の式により、位置、微分、積分の各成分を求めて、ゲインをかけて、電流を生成する。
x[k]=y[k]−y0
v[k]=x[k]−x[k−1]
xi[k] =xi[k−1]+x[k]
u[k]=−Fp・x[k]−Fi・xi[k]−Fv・v[k]
整定開始時に、前述の(8) 式により、バイアス値b[k]を推定し、PIDレギレータの積分項の初期値にセットする。
このように、オブザーバーを使用しない制御系にも適用できる。
更に、本発明の別の実施の形態を説明する。図29は、本発明の別の実施の形態のモデル図である。
図6の制御系において、FF制御の変形例を示し、図6と同一のものは同一の記号で示してある。先ず、図6のモデル(軌道生成器)22は、位置x[k]、速度v[k]、電流u[k]の3つを計算する。このモデル22の構成は基本的に図6のものと同一であるが、ただし、速度v[k]も生成するのが異なる。この時に、図のようにフィードバック系を構成する。まず、差分器26で目標軌道生成器22の(位置、速度)x[k],v[k]とオブザーバ20,21の位置、速度とを各々差分をとり、フィードバックゲイン(−F)をかけて、軌道からのずれに対するフィードバック電流を生成する。加算器24で、これに、FF電流u[k]を加える。
図30は、本発明の更に別の実施の形態のモデル図であり、図29の変形例を示す。
モデル22の目標位置x[k]と目標速度v[k]にフィードバックゲイン(F)をかけてから、電流として系に加える。即ち、加算器25により、FF電流u[k]とこの電流とを加算し、加算器24に加える。このようにすれば、電流値のみをテーブルとして保存すればよくなる。即ち、初期位置に対するFF電流と初期速度に対するFF電流の2つである。目標位置軌道を持つ必要がなくなる。
[別の実施の形態の位置決め制御]
次に、図6で説明した軌道制御を更に詳細に説明する。図31は、本発明の別の実施の形態の位置決め制御系のブロック図、図32は、図31の長距離シーク制御(コアース制御)のブロック図、図33は、図31の追従制御のブロック図、図34は、図31の短距離/整定制御のブロック図、図35は、図31の軌道テーブルの構成図である。
図31に示すように、位置決め制御系は、制御信号生成器44と、長距離シーク制御部43と、短距離シーク/整定制御部41と、追従制御部42と、切り替え器45と、バイアステーブル46と、加算器24と有する。
制御信号生成器44及び切り替え器45は、基本的に、図18で説明したタスク制御と同一の制御を行うブロックである。即ち、オントラック開始コマンドを受けると、目標値y0が変化していない場合には、フォローイング制御42を指定し、目標値y0が変化した時点で、目標値y0までの距離が、16トラック以下かを判定する。そして、目標値y0までの距離が、16トラック以下でない場合は、長距離シーク制御(コアース制御)43(図19)を指定する。
オントラック開始コマンドを受けた時点で、目標値y0までの距離が、16トラック以下なら、短距離シーク制御41を指定する。長距離シーク制御43を指定し、且つ目標値y0までの距離が、4トラック以下となり、所定の整定条件を満足している場合には、フォロイング制御42に移行する。また、所定の整定条件を満足していない場合には、整定制御41(図20)を実行する。
従って、シーク処理においては、長距離シーク(ここでは、16トラック以上のシーク)では、コアース制御し、距離が4トラック以内になると、整定制御に移行し、整定条件を満足すると、フォロイング制御に移行する。又、短距離シーク(ここでは、16トラック以下のシーク)では、整定制御と同様の制御を行い、整定条件を満足すると、フォロイング制御に移行する。
この切り替え器45からの指令電流は、現在位置でアクセスされるバイアステーブル値を格納するバイアステーブル46のバイアステーブル値を加算器24で加算され、アクチュエータのアンプに出力される。
次に、図32により長距離シーク(コアース)制御を説明する。このコアース制御は、図19のオブザーバー20を使用した速度制御をブロックで示したものであり、動作は同一である。
即ち、オブザーバ20は、今回の推定位置x bar[k]を、加算器23からの距離(y[k]−y0) に初期化する。尚、y[k]は、ヘッド4から得た検出位置(現在位置)であり、y0は、目標位置である。目標速度生成器25は、距離(y[k]−y0) に応じた目標速度vobj[k] を、図4で示したコアース制御の速度カーブに従い、計算する。
そして、オブザーバ20は、今回の推定位置x hat[k]、推定速度v hat[k]を、前回サンプル時に計算した今回の推定位置x bar[k]、推定速度v bar[k]と、観測位置(検出位置)y(k)と推定位置x bar[k]との差に、ゲインL を乗じたものとの加算から得る。下記に計算式を示す。
x hat[k]=x bar[k]+L4(y[k] −x bar[k])
v hat[k]=v bar[k]+L5(y[k] −x bar[k])
更に、加算器26で、指示電流値u[k]を、今回の推定速度v hat[k]と目標速度vobj[k] との差(速度誤差)にゲインFを乗じて得る。出力電流値u out(k)は、指示電流値u(k)に、前述の図31のバイアステーブル値BiasTable(y[k]) を加算して得る。下記に計算式を示す。
u[k]=−F4(v hat[k]−vobj[k])
u out[k]=u(k)+BiasTable(y[k])
又、オブザーバ20では、この指示電流値u(k)による次回のサンプル時の推定位置x bar[k +1]、推定速度v bar[k +1]を、今回の推定位置x hat[k]、推定速度v hat[k]と、指示電流値u(k)とから計算する。計算式を下記に示す。
x bar[k +1]=x hat[k]+v hat[k]+Am/2・u(k)
v bar[k +1]=v hat[k]+Am・u(k)
尚、制御信号生成器44が、前述のように、距離(y[k] −y0) が、4トラック以下かを判定し、距離(y[k] −y0) が、4トラック以下なら、長距離シーク制御を終了し、整定制御に移行する。又、距離(y[k]−y0) が、4トラック以下でないなら、次のサンプルまで待ち、動作を繰り返す。
次に、図33によりフォロイング制御42を説明する。このフォロイング制御は、図21で説明した定常バイアスを推定するオブザーバー制御をブロック化したものである。
即ち、オブザーバ20は、先ず、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]を、前回サンプル時に計算した今回の推定位置x bar[k]、推定速度v bar[k]、推定バイアス値b bar[k]と、観測位置(検出位置)y(k)と推定位置x bar[k]の差(加算器23の出力)に、ゲインL を乗じたものとの加算から得る。下記に計算式を示す。
x hat[k]=x bar[k]+L1(y[k] −x bar[k])
v hat[k]=v bar[k]+L2(y[k] −x bar[k])
b hat[k]=b bar[k]+L3(y[k] −x bar[k])
次に、指示電流値u[k]を、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]にゲインFを乗じて得る。更に、出力電流値u out(k)は、指示電流値u(k)に、前述の図31のように、バイアステーブル値BiasTable(y[k]) とを加算して得る。下記に計算式を示す。
u[k]=−F1・x hat[k]−F2・v hat[k]−F3・b hat[k]
u out[k]=u(k)+BiasTable(y[k])
オブザーバ20は、この指示電流値u(k)による次回のサンプル時の推定位置x bar[k +1]、推定速度v bar[k +1]、推定バイアス値b bar[k +1]を、今回の推定位置x hat[k]、推定速度v hat[k]と、推定バイアス値b hat[k]と、指示電流値u(k)とから計算する。計算式を下記に示す。
x bar[k +1]=x hat[k]+v hat[k]+b hat[k]+Ka/2・u(k)
v bar[k +1]=v hat[k]+2 ・b hat[k]+Ka・u(k)
b bar[k +1]=b hat[k]
これを繰り返す。
次に、図34、図35により短距離シーク/整定制御を説明する。この制御は、基本的に、図6及び図20で説明して定常バイアスを推定するオブザーバー制御である。ただし、短距離シーク用のテーブルを追加してある。即ち、軌道テーブルは、整定制御用軌道テーブル60と、N個(ここでは、4個)の短距離シーク用軌道テーブル60−1〜60−4からなる。
各軌道テーブル60、61−1〜61−4には、図6で説明した軌道テーブル30、31、電流テーブル36、38が、制御モード及びシーク距離に応じて設けられている。切り替え器64は、制御信号生成部44からの制御信号(整定モード、短距離シークモード1、2、3、4)に応じて、軌道テーブル60、61−1〜61−4を選択し、分配器62は、選択した軌道テーブルの4つの出力を各乗算器32、33、37、39に分配する。
即ち、図34は、軌道の内、電流と位置を制御系に与える例を、示している。即ち、軌道生成器22は、電流の軌道と、目標位置の軌道を持つ。このため、各軌道テーブル60、61−1〜61−4は、電流の単位軌道発生器36、38と、目標位置の単位軌道発生器30、31とを設ける。そして、クロック源により、目標位置の単位軌道発生器30、31を駆動し、乗算器32、33及び加算器34により、整定開始時の初期位置X0及び初期速度V0に比例した、目標位置軌道を生成する。この目標位置軌道は、目標値として、オブザーバ20の前段の加算器23に与えられ、検出位置との差をとり、オブザーバ20に観測位置として入力される。
同様に、クロック源により、電流の単位軌道発生器36、38を駆動し、乗算器37、39及び加算器40により、整定開始時の初期位置X0及び初期速度V0に比例した、目標電流軌道を生成する。この目標電流軌道は、フィードフォワード電流として、オブザーバ20の出力段の加算器24に与えられる。
このようにして、短距離シーク時及び整定制御時に、フィードフォワード制御するため、高速応答が可能となる。初期位置の他に初期速度もパラメータとしているため、初期速度が異なっても、収束時間を短縮できるフィードフォワード制御が可能となる。又、軌道設計時に、電流アンプの特性を含め、且つ共振の影響も考慮するため、フィードフォワード制御しても、高速応答が可能となる。
後述するように、単位軌道は、収束時間が最小となるように設計され、整定制御、短距離シークの距離により異なる。この例では、短距離シークを、1(0〜4トラック)、2(5〜8トラック)、3(9〜12トラック)、4(13〜16トラック)の4種類に分割し、各々軌道テーブル61−1〜61−4を設けている。
この動作を説明する。短距離シーク開始時及び整定制御開始時に、初期値を設定する。先ず、バイアス推定器21は、推定速度v bar[k]を、現在速度V0に設定する。この時、前述したように、観測位置y[k]と推定位置x bar[k]との差により、補正する。即ち、前述の(9)式により、推定速度v bar[k]の初期値を得る。
v bar[k]=v bar[k]+Kv・(y[k]−x bar[k]) (9)
又、バイアス推定器21は、実位置とオブザーバ20の推定位置との誤差を基に、前述の(8)式により、バイアス値の初期値を計算する。
b bar[k]=Kx・(y[k] −x bar[k]) (8)
更に、オブザーバ20は、推定位置x bar[k]を、現在位置X0(=y[k])に設定する。これら初期位置及び初期速度は、保持器21に保持される。次に、前述のフィードフォワード期間を示すカウント値Count を「1」に初期化する。
カウント値Count が「N」(フィードフォワード終了値)を越えているかを判定する。カウント値Count が「N」を越えていない場合には、シークモード及び短距離シークの距離に応じてセレクタ64で選択された軌道テーブル60、60−1〜60−4(図6のブロック30、31)から、カウント値Count に応じた単位軌道値PxTable[Count]、PvTable[Count]を読み出し、初期位置X0、初期速度V0に応じた軌道値(目標位置)Prefを、乗算器32、33、加算器34で下記式により計算する。
Pref=X0・PxTable[Count]+V0・PvTable[Count]
又、シークモード及び短距離シークの距離に応じてセレクタ64で選択された軌道テーブル60、60−1〜60−4(電流テーブル(図6のブロック36、38))からカウント値Count に応じた単位電流値UxTable[Count]、UvTable[Count]を読み出し、初期位置X0、初期速度V0に応じた電流値Uff を、乗算器37、39、加算器40で下記式により計算する。
Uff =X0・UxTable[Count]+V0・UvTable[Count]
更に、カウント値Count を「1」インクリメントする。逆に、カウント値Count が「N」を越えている場合には、フィードフォワード期間が終了したため、軌道値Pref、電流値Uff に「0」を設定する。
そして、オブザーバ20は、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]を、前回サンプル時に計算した今回の推定位置x bar[k]、推定速度v bar[k]、推定バイアス値b bar[k]と、観測位置(検出位置)y(k)と推定位置x bar[k]と軌道値Prefの差に、ゲインL を乗じたものとの加算から得る。下記に計算式を示す。
x hat[k]=x bar[k]+L1(y[k] −x bar[k]−Pref)
v hat[k]=v bar[k]+L2(y[k] −x bar[k]−Pref)
b hat[k]=b bar[k]+L3(y[k] −x bar[k]−Pref)
更に、指示電流値u[k]を、今回の推定位置x hat[k]、推定速度v hat[k]、推定バイアス値b hat[k]にゲインFを乗じて得る。更に、出力電流値u out(k)は、指示電流値u(k)に、図31のバイアステーブル値BiasTable(y[k]) とFF電流値Uff とを加算器24で加算して得る。下記に計算式を示す。
u[k]=−F1・x hat[k]−F2・v hat[k]−F3・b hat[k]
u out[k]=u(k)+BiasTable(y[k]) +Uff
オブザーバ20は、この指示電流値u(k)による次回のサンプル時の推定位置x bar[k +1]、推定速度v bar[k +1]、推定バイアス値b bar[k +1]を、今回の推定位置x hat[k]、推定速度v hat[k]と、推定バイアス値b hat[k]と、指示電流値u(k)とから計算する。計算式を下記に示す。
x bar[k +1]=x hat[k]+v hat[k]+b hat[k]+Ka/2・u(k)
v bar[k +1]=v hat[k]+2 ・b hat[k]+Ka・u(k)
b bar[k +1]=b hat[k]
制御信号生成部44は、整定完了かを判定する。例えば、距離(y[k]−y0) が、0.1トラック以内の状態になったら(リード時)、又は0.1トラック以内の状態が所定サンプル続いたら(ライト時)、整定完了と判断する。整定完了なら、整定完了を通知(リード/ライトを許可)して、終了する。即ち、図17のフォロイング制御に移行する。
このオブザーバ20の初期バイアス推定器21は、前述と同様である。即ち、初期バイアス推定器21は、短距離シーク開始時、整定開始時又は整定開始直前に、オブザーバ20の観測位置x bar[k]と実際の位置y[k]との差分を求め、その位置誤差に、予定のゲインKxをかけて、初期バイアス値を計算し、初期バイアス値を、オブザーバ20に設定する。更に、位置誤差にゲインKvをかけたものを、オブザーバ20の推定速度v bar[k]に加えて、推定速度を補正する。尚、図6では、検出位置y[k](絶対位置)から目標位置Yoを差し引いたものを、実位置(相対位置)y[k]としている。尚、検出位置y[k]は、前述の磁気ヘッド4の位置信号から得られる。
本発明では、短距離シーク時間、整定時間を更に短縮するため、フィードフォワード制御を、短距離シーク及び整定制御時に使用している。即ち、バイアス値を推定するだけでは、応答が制御系の帯域又は状態フィードバックの極に依存しているため、整定時間の短縮に限りがある。例えば、状態フィードバックの極を500Hzに配置した場合に、収束は、1/500=2msかかる。
この応答を速くするため、フィードフォワード制御を、短距離シーク及び整定制御に導入する。このため、図6に示すように、軌道生成器22を設けている。軌道生成器22は、整定開始時の初期位置x0と初期速度v0に応じた目標軌道及びフィードフォワード電流(以下、FF電流という)を生成し、制御系に与えるものである。
この目標軌道及びフィードフォワード電流は、初期位置x0と初期速度v0に応じて、軌道及び電流を生成する。これにより、初期位置と初期速度に応じた最短シーク時間を得る。このための軌道及び電流は、後述するように、予め設計しておく。この制御では、電流アンプのカットオフ周波数の影響及びアクチュエータの共振の影響を考慮した設計を行う必要がある。
図35は、この軌道テーブルの一例を示し、軌道は、位置軌道30、36と速度軌道31、38の2つに分ける。即ち、初期位置が1トラックで、初期速度が0トラック/サンプルの場合で最終位置、最終速度が0の位置軌道30、36と、初期位置が0トラックで、初期速度が1トラック/サンプルで最終位置、最終速度が0の場合の軌道(速度軌道)31、38とである。各位置軌道、速度軌道は、時間対目標位置X,時間対電流uの2つに時間波形を保持する。
図35は、目標位置は、シングルレート(サンプル間隔)で変化し、電流はマルチレート(サンプル間隔の半分)で変化するようにし、高速な収束を得るようにしている。そして、初期位置がX0トラックで、初期速度がV0トラック/サンプルの場合の軌道は、2つの軌道に、X0とV0のゲインをかけて、合成する。このようにすると、任意の初期位置、初期速度に対する軌道を、1つの単位軌道の合成により得ることができる。
このように、フィードフォワード電流によるフィードフォワードを行い、且つこのフィードフォワード電流により位置ずれをプラントの応答前に位置軌道でフィードフォワードするため、収束時間を大幅に短縮できる。又、整定制御のみならず、短距離シークにも適用したため、短距離シークのシーク時間をより短縮できる。又、短距離シークのみ又は整定制御のみ軌道制御を適用しても良い。更に、整定制御と短距離シーク制御系を共用するため、回路又はプログラム規模を小さくできる。
[軌道生成方法]
次に、各軌道テーブル60、61−1〜61−4の単位位置軌道及び速度軌道の設計例を詳細に説明する。図36は、軌道及びFF電流を設計するためのシュミレーションブロック図、図37は、その電流アンプのモデル例の説明図、図38は、その共振特性のモデル例の説明図、図39は、そのFIRフィルタの設計例の説明図、図40、図41は、位置軌道設計の説明図、図42乃至図45は、速度軌道設計の説明図である。
先ず、シーク軌道の設計には、図36に示すように、プラントを詳細なモデル化して、実応答とシミレーションとのずれをなくす。図36のシミュレーションモデルは,米国のThe MathWorks Inc.が販売しているMATLABのような市販のソフトウェアを用いてもよいし,独自にC言語などの汎用のプログラミング言語を用いることもできる。
尚、以下では,4.62kHzの位置検出のサンプル周波数を持つHDDにおいて,電流出力をその倍のサンプル周波数で駆動する設計例を示す。
図36で述べる、制御対象モデル52は、アクチュエータ、電流アンプ、他のフィルタ特性(アナログまたはデジタルでノッチフィルタや低域通過フィルタが回路に挿入されている場合のみ)であり、いずれも伝達関数で表現する。
伝達関数を求める手順は,どちらも同じで,次の手順で行う。
FFTアナライザで周波数特性を測定し、測定した周波数特性(ゲインおよび位相のカーブ)に一致するように,伝達関数を求める。伝達関数を求めるためには,たとえば,MATLABのような解析ソフトを使えばよい。また,すでに解析的に伝達関数を求めているのならば,それを使ってもよい。ただし,実際の測定結果とずれがないことを確認することは必要になる。
図36の電流アンプ54のモデル例は、図37の周波数対ゲイン、位相の周波数特性である。又、図36のアクチュエータ等の共振特性のモデル56は、図38に示すような周波数特性である。又、加速度モデル55は、アクチュエータの加速度モデルである。更に、DAC53は、DAコンバータのモデルである。
次に、デジタル制御の仕様の設定を行う。先ず、電流出力のサンプル周期(又は位置検出のサンプル周期)を設定する。たとえば,2倍のマルチレート制御を行う際には,位置検出のサンプル周期の半分となる。
次に、電流出力の遅延時間を設定する。位置信号検出の時刻から電流が実際に変化するまでの時間で定義する。更に、DAC分解能、即ち、VCM電流を設定するときの,DACのビット数で決まる分解能を決める。
更に、その他の仕様の決定を行う。先ず、シーク距離ごとの目標シーク時間を設定する。1トラック,2トラックなど,距離ごとに目標シーク時間の仕様を決める。ただし,実際に目標軌道を設計する際には,ここで決めた目標シーク時間よりも短くすることが必要になる。シーク後に位置のゆれを確認するための時間(整定待ち時間)が必要になるためである。また,前述の図31のテーブル例のように、1トラック単位ではなく,複数のトラックをまとめて同じ目標シーク時間とする選択もある。シーク時間は電流出力のサンプル周期単位となる。そのため,複数の距離が同じシーク時間になりうる。
特に,近年のHDDはトラック幅がμm以下になっている。そのため,一昔前のHDDの1トラックが,現在のHDDの10トラック以上に相当する。そのことから考えても,複数の距離を同じシーク時間で対応することは妥当である。たとえば,4トラック単位で,0から4、5から8、9から12、13から16に分割するとよい。なお,ここでは16トラックまでの例を示したが,それ以上の距離を設計してもよい。
次に、最大電流を設定する。電流アンプが流せる最大電流が決まっているためである。他に,アクチュエータの加速度定数が場所・温度により異なるので,その分の余裕を見込んでおかなければならない。さらに,定常バイアス,偏心,を補正するための電流分の余裕も見込んでおかなければならない。そのため,出力できる100%の最大電流をシーク軌道設計時には使えない。最低でも20%は小さくしておかなければならない。
電流アンプによっては,電流出力レンジを1,1/2,1・4,1/8倍のように切り替えることができるものがある。出力レンジを切り替える際には,各レンジのゲイン,電流のオフセットが微妙に異なる。そのため,今回提供するシーク軌道においては,シーク中に出力レンジを切り替えないようにしたほうがよい。その際には,最大電流は,電流アンプの出力レンジに制限を受ける。
次に、図36のFIRフィルタ51を設計する。即ち、共振周波数成分を抑止するためのFIRフィルタを設計する。FIRフィルタは主にノッチフィルタ特性を有する。複数のノッチフィルタを組み合わせて,抑止する周波数領域を決める。この際には,共振特性,電流アンプの特性,他のフィルタ特性をあわせて,設計を行う。
本FIRフィルタで抑止する周波数の数が多いほど,シーク時間が延びる。フィルタ出力の信号の時間が延びるためである。そのため,短い距離では抑止する周波数の数は少なく,長い距離では抑止する周波数の数を多く,設定するとよい。
共振の影響に伴う残留振動はシーク距離が長いほど,シーク時間が短いほど,大きくなる。そのため,短い距離では抑止する周波数の数を少なくしても大丈夫な場合がある。実際にシミュレーションしながら,シーク時間を調整していく。
FIRフィルタの設計例を図39に示す。ここでは、5.8kHz付近の共振周波数のみに対応している。又、共振周波数は,温度・個体差により変化する。そのため.ノッチフィルタを2つ合わせて,広い範囲を抑止している。
このようにして、個々のモデル51〜58を設計し、図36のような軌道設計シミュレーションのモデルを作成する。前記で説明した個々のモデルを組み合わせる。
次に、図40乃至図41により、位置軌道30、36の設計を説明する。図36の矩形波生成器50からFIRフィルタ51に、図40に示す矩形波を与える。図40のように、加速・減速波形を与えて電流を設定する。
FIRフィルタ51通過後の波形(図36の指示電流)を観測し、その長さが目標シーク時間の仕様内に収まるように,矩形波生成器50の入力波形(矩形波)の長さを調整する。この際に,FIRフィルタで抑止していない共振の影響が大きく,残留振動か無視できない場合には,軌道の長さを延ばす。
そのあと,矩形波の波高を調整して,目標距離に一致させる。図41は、位置軌道の電流、速度、位置を示す。即ち、図36のモデルの調整後の指示電流、速度、位置の出力例である。
次に、図42乃至図45より、速度軌道31、38の設計を説明する。
速度軌道は,位置軌道設計に用いたものと同じFIRフィルタ51を用いる。このFIRフィルタ51に,図36の矩形波生成器50から図42に示す矩形波を与える。
図36の矩形波を与えた後の速度を観測し、1track/sampleの速度を発生させることができる矩形波の波高が求まる。図43は、その時の図36のモデルの調整後の指示電流、速度、位置の出力例である。
次に、逆に1track/sampleの速度でアクチュエータが移動していたときに,速度を0に抑えるためには,先の矩形波の逆(符号反転)の信号を矩形波生成器50からFIRフィルタ51に与える。図44は、その時の図36のモデルの指示電流、速度、位置の出力例である。
図44の位置の特性に示すように、そのときに,位置が移動する。この位置の移動分を,図41で設計した位置軌道波形で0に戻すようにする。
図41の位置軌道波形に「2」を掛け、反転したものを、図44の波形に加算する。これにより、図45に示すように,合成波形は、初期位置「0」、初期速度「1」、終了位置「0」、終了速度「0」の速度軌道となる。
以上のように設計して,初期位置および初期速度に応じた軌道を求める。図31の例では、位置軌道、速度軌道とも、電流、位置を使用する。
このように、軌道は、位置軌道と速度軌道の2つに分ける。即ち、初期位置が1トラックで、初期速度が0トラック/サンプルの場合の軌道(位置軌道)と、初期位置が0トラックで、初期速度が1トラック/サンプルの場合の軌道(速度軌道)とである。そして、初期位置がX0トラックで、初期速度がV0トラック/サンプルの場合の軌道は、2つの軌道に、X0とV0のゲインをかけて、合成する。このようにすると、任意の初期位置、初期速度に対する軌道を、1つの単位軌道の合成により得ることができる。
このようにして、初期条件が、1トラックで、初期速度が0トラック/サンプルで、終了条件が、0トラック、0トラック/サンプルとなる軌道と、初期条件が、0トラックで、初期速度が1トラック/サンプルで、終了条件が、0トラック、0トラック/サンプルとなる軌道との2つの軌道を設計できる。
[軌道設計の実施例]
図46及び図47は、0〜4トラック距離の初期位置及び初期速度用の軌道例を示し、図48乃至図49は、5〜8トラック距離の初期位置及び初期速度用の軌道例を示し、図50乃至図51は、9〜12トラック距離の初期位置及び初期速度用の軌道例を示し、図52乃至図53は、13〜16トラック距離の初期位置及び初期速度用の軌道例を示す。
いずれも、2.5インチHDDでの設計例であり、電流は、最大電流で正規化して表示している。このように、シーク距離に応じて、最短の収束時間が得られる位置及び速度軌道を設計し、テーブル61−1〜61−4に設定する。同様に、整定制御の位置軌道、速度軌道を、図14乃至図17のように設計し、テーブル60に設定する。
図54及び図55は、短距離シークでの軌道制御の実験例を示す説明図であり、図54は、4トラックシークにおける指示電流、目標位置からの位置誤差、シーク状態信号を上から順に示し、約1msで4トラックシークが完了する。又、図55は、15トラックシークにおける指示電流、目標位置からの位置誤差、シーク状態信号を上から順に示し、約1.5msで15トラックシークが完了する。
このようにして、短距離シーク時に、速度を考慮したフィードフォワード制御するため、高速応答が可能となる。又、軌道設計時に、電流アンプの特性を含め、且つ共振の影響も考慮するため、フィードフォワード制御しても、高速応答が可能となる。
[他の実施の形態]
上述の実施の態様の他に、本発明は、次のような変形が可能である。
(1) 前述の実施の態様では、整定制御の開始直前の1サンプルで、バイアス値を推定している。この方法では、1サンプルの位置信号に欠陥があった時や位置信号がずれてディスクに書かれていた時には、推定誤差が大きくなるおそれがある。そこで、数サンプルに渡って、バイアス値を推定し、その平均値を初期値とすると良い。
(2) バイアス推定値が変化すると、シーク後の位置の揺れが大きくなり、整定時間が延びる。整定時間を監視していれば、推定値のずれが大きくなったことを判断できる。バイアス推定値のずれは、(8)式の推定ゲインKbのずれにより生じる。このゲインKbは、アクチュエータの力定数Blにより変化する。従って、整定時間を監視し、整定時間が延びた場合には、ゲインがずれたと判断して、ゲインの測定処理を行うと良い。
(3) 位置誤差を使ってバイアス値の推定及び速度補正を行う計算機上のシュミレーションプログラムを用い、シュミレーションした値を基に、ディスク装置に搭載するプログラムのゲインを決定することができる。
(4) 前述の計算機シュミレーションの代わりに、ディスク装置のファームウェアで、フォロイング制御を行い、バイアス値を測定しておく。次に、シーク時と同じ制御を行い、わざと位置ずれを生じさせ、位置ずれ量、速度ずれ量を計測し、位置ずれ量からバイアス値補正ゲイン、速度ずれ補正ゲインを計測することができる。この方法を用いることにより、制御系の設計を変えるたび、バイアス推定ゲインや速度補正ゲインを再設計することを不要とできる。一度、測定しておき、その値を不揮発性の記憶エリア、例えば、ディスク、ROMに記憶しておけば良い。
(5) 位置誤差の要因は、バイアス値以外にもある。例えば、外部振動である。外部振動が与えられた場合に、バイアス推定値(初期値)は、不確かになる。バイアス推定値が不確かにあると、暴走するおそれがある。このため、HDDに設けられた衝撃センサの値が基準値より大きい時は、外部振動が大きいと判断して、バイアス値の推定をしない、又は推定ゲインを下げる制御を行う。又、通常のフォロイング制御時に、位置決め精度が悪い時は、外部振動が大きいと仮定して、同様に、バイアス値の推定をしない、又は推定ゲインを下げる制御を行う。更に、通常の位置決め精度は、トラック幅に対して、±5〜10%である。この範囲内の推定誤差である場合には、バイアス値のずれによる位置誤差か、モータの振動や位置信号のゆれ書きによる位置誤差かを区別できない。このため、この範囲内の位置誤差なら、バイアス値の推定をしない、又は推定ゲインを下げる制御を行う。
(6) 前述のように、整定時に、目標軌道を供給することにより、高速な応答が可能となる。この場合、初期位置だけ又は初期速度だけの軌道を与えても良い。尚、初期位置だけの軌道を与える場合には、速度が充分に小さいことが前提である。又、初期速度だけの軌道を与える場合には、速度が大きく、そのままでは、オーバーシュートすることが予想される場合に有効である。
(7) 位置に対し速度に対する軌道の応答を速くすることもできる。例えば、初期位置に対する軌道を1.5ms、初期速度に対する軌道を1msとする。位置は直接観測することができるが、速度は推定計算するしかない。このため、推定速度には、誤差を伴う。そこで、初期速度の補正を速くして、速度誤差による応答のずれが収束した時に、位置が目標に到達できるようにする。これにより、速度誤差の影響を軽減できる。
(8) 軌道の生成方法は、前述したように、アクチュエータの共振を除去した軌道を設計している。しかし、ディスク装置の回路に、既にフィルタが挿入されおり、アクチュエータの共振成分が充分除去できる構成の場合には、軌道に含まれる共振周波数成分の除去をする必要がない。
(9) 軌道の設計は、計算機上のシュミレーションを用いて、行うことができる。計算機上の応答と実際の応答がずれが生じる場合には、実際の応答を観測しながら、修正すると良い。例えば、装置のキャリブレーションにおいて、位置軌道、速度軌道を修正する。初期速度が0で、1トラック分の軌道を流し、移動距離が1トラックになるように、電流の振幅を調整する。更に、その時の目標軌道からの位置誤差を求め、目標軌道自体を位置誤差分だけ修正する。これにより、位置軌道を修正する。次に、速度軌道を修正する。位置軌道で修正したゲインの分だけ、速度軌道の電流振幅も修正する。次に、1トラック/サンプルの速度で等速度シークを行い、測定開始時の位置を目標位置とおいて、速度軌道を与えて、目標位置に収束させる。その時の位置誤差を測定して、初期速度に対する軌道の位置軌道を位置誤差分だけ修正すれば良い。
(10)整定制御への切り換えにおいて、切り換え後に流す電流が、規定範囲内に収まるまで、整定制御への移行タイミングを待つこともできる。電流値が大きくなると、シミュレーションでは、仮定していない高い周波数の共振が生じるため、この影響を避けるためである。
(11)コアース制御時に、リアルタイムに、バイアス値を推定して、実位置及び実速度を推定して、その値に応じて、コアース制御から整定制御へと切り換えても良い。オブザーバの推定位置ではなく、実速度を推定して、その速度で整定制御に切り換える。これにより、逆方向に動いたり、速度が0となり、いつまでたっても目標位置に近づかない現象を回避できる。
(12)観測位置と推定位置との差を常に観測し、その位置誤差の変動が予め定めた範囲内に入れば、バイアス値が正しく推定できると判断して、整定制御に切り換えることもできる。
以上、本発明を実施の形態により説明したが、本発明の主旨の範囲内で種々の変形が可能であり、これらを本発明の範囲から排除するものではない。
(付記1)ヘッドをディスクの所定位置に位置決めするためのディスク装置のヘッド位置決め制御方法において、前記ヘッドの現在位置に基づき、積分補償又はバイアス補償を行わないコアース制御を行うステップと、次のサンプルでの前記ヘッドの位置を推定し、前記検出位置と前記推定位置との差から、バイアス初期値を推定するステップと、前記バイアス初期値を用いて、積分補償又はバイアス補償を伴う整定制御を行うステップとを有することを特徴とするヘッド位置決め制御方法。
(付記2)前記整定制御を行うステップは、前記整定開始時の初期位置又は初期速度に比例した大きさの目標軌道又はフィードフォワード電流の少なくとも一方を、前記整定制御を行う制御系に供給するステップを有することを特徴とする付記1のヘッド位置決め制御方法。
(付記3)前記整定制御を行うステップは、オブザーバ制御により整定制御を行うステップであることを特徴とする付記1のヘッド位置決め制御方法。
(付記4)前記コアース制御は、前記ヘッドの速度制御であることを特徴とする付記1のヘッド位置決め制御方法。
(付記5)ヘッドをディスクの所定位置に位置決めするためのディスク装置のヘッド位置決め制御方法において、前記ヘッドの現在位置及び現在速度に基づき、位置軌道及びフィードフォワード電流を生成するステップと、前記ヘッドの現在位置と目標位置との位置誤差により制御量を算出するフィードバック制御系に、前記位置軌道とフィードフォワード電流とを供給するステップとを有することを特徴とするヘッド位置決め制御方法。
(付記6)前記供給ステップは、前記位置誤差を前記位置軌道で修正するステップと、前記修正された位置誤差から前記フィードバック制御系が算出する前記制御量に前記フィードフォワード電流を加えるステップとからなることを特徴とする付記5のヘッド位置決め制御方法。
(付記7)前記生成ステップは、比較的短距離のシーク時に実行することを特徴とする付記5のヘッド位置決め制御方法。
(付記8)前記生成ステップは、比較的長距離のシークにおける整定制御時に実行するステップであることを特徴とする付記5のヘッド位置決め制御方法。
(付記9)前記生成ステップは、単位位置軌道に前記現在位置軌道を乗じて、前記位置軌道を生成するステップと、単位速度軌道に前記現在速度を乗じて、前記フィードフォワード電流を生成するステップからなることを特徴とする付記5のヘッド位置制御方法。
(付記10)前記生成ステップは、前記シーク距離に応じて、前記ヘッドの現在位置及び現在速度に基づく前記位置軌道及びフィードフォワード電流を生成するステップからなることを特徴とする付記5のヘッド位置制御方法。
(付記11)アクチュエータを駆動して、ヘッドをディスクの所定位置に位置決めするためのディスク装置のヘッド位置決め制御装置において、
前記ヘッドの現在位置を検出する検出手段と、前記アクチュエータを、前記検出位置に基づき、積分補償又はバイアス補償を行わないコアース制御した後、整定制御する制御手段とを有し、前記制御手段は、次のサンプルでの前記ヘッドの位置を推定し、前記検出位置と前記推定位置との差から、バイアス初期値を推定し、前記バイアス初期値を用いて、積分補償又はバイアス補償を伴う整定制御を行うことを特徴とするヘッド位置決め制御装置。
(付記12)前記制御手段は、前記整定開始時の初期位置又は初期速度に比例した目標軌道とフィードフォワード電流の少なくとも一方を、前記整定制御を行う制御系に供給することを特徴とする付記11のヘッド位置決め制御装置。
(付記13)前記制御手段は、オブザーバ制御により整定制御を行うことを特徴とする付記11のヘッド位置決め制御装置。
(付記14)前記コアース制御は、前記ヘッドの速度制御であることを特徴とする付記11のヘッド位置決め制御装置。
(付記15)アクチュエータを駆動して、ヘッドをディスクの所定位置に位置決めするためのディスク装置のヘッド位置決め制御装置において、前記ヘッドの現在位置を検出する検出手段と、前記アクチュエータを、前記検出位置に基づき、シーク制御する制御手段とを有し、前記制御手段は、前記ヘッドの現在位置及び現在速度に基づき、位置軌道及びフィードフォワード電流を生成し、前記ヘッドの現在位置と目標位置との位置誤差により制御量を算出するフィードバック制御系に、前記位置軌道とフィードフォワード電流とを供給することを特徴とするヘッド位置決め制御装置。
(付記16)前記制御手段は、前記位置誤差を前記位置軌道で修正し、前記修正された位置誤差から前記フィードバック制御系が算出する前記制御量に前記フィードフォワード電流を加えることを特徴とする付記15のヘッド位置決め制御装置。
(付記17)前記制御手段は、前記供給を比較的短距離のシーク時に実行することを特徴とする付記15のヘッド位置決め制御装置。
(付記18)前記制御手段は、前記供給を比較的長距離のシークにおける整定制御時に実行することを特徴とする付記15のヘッド位置決め制御装置。
(付記19)前記制御手段は、単位位置軌道に前記現在位置軌道を乗じて、前記位置軌道を生成し、単位速度軌道に前記現在速度を乗じて、前記フィードフォワード電流を生成することを特徴とする付記15のヘッド位置制御装置。
(付記20)前記制御手段は、前記シーク距離に応じて、前記ヘッドの現在位置及び現在速度に基づく前記位置軌道及びフィードフォワード電流を生成することを特徴とする付記15のヘッド位置制御装置。