EMS磁気浮上モデル
$F_{mag}= K \cdot \dfrac{i^2}{d^2}$$m\ddot{d}= mg - F_{mag}+ F_{ext}$
PID: $u = K_p e + K_i\!\int\!e\,dt + K_d\dot{e}$
磁気浮上のリアルタイムシミュレーション。受動浮上(永久磁石)の不安定性とPID制御による能動安定化を体験。アーンショーの定理からリニアモーターカーの原理まで。
電磁石(EMS型)が発生する吸引力は、コイル電流の2乗に比例し、浮上ギャップ(物体との距離)の2乗に反比例します。
$$F_{mag}= K \cdot \dfrac{i^2}{d^2}$$$F_{mag}$: 電磁吸引力 (N), $K$: 磁力定数 (N·m²/A²), $i$: コイル電流 (A), $d$: 浮上ギャップ (m)
浮上物体の運動は、重力、電磁吸引力、外部からの力のバランスで決まります。この式(運動方程式)をPID制御で解くことで安定浮上が実現します。
$$m\ddot{d}= mg - F_{mag}+ F_{ext}$$$m$: 物体質量 (kg), $g$: 重力加速度 (m/s²), $F_{ext}$: 外力 (N), $\ddot{d}$: ギャップの加速度 (m/s²)
目標ギャップ $d_0$ と現在ギャップ $d$ の誤差 $e = d_0 - d$ に対して、PIDコントローラが制御電流 $i$(または電圧)を計算します。
$$u = K_p e + K_i\int e\, dt + K_d \frac{de}{dt}$$$u$: 制御出力, $K_p$: 比例ゲイン, $K_i$: 積分ゲイン, $K_d$: 微分ゲイン。積分項は過去の誤差の蓄積、微分項は誤差の変化速度を反映します。
リニアモーターカー(EMS方式):車体下部の電磁石と軌道との間のギャップをPID制御で常に一定に保ち、接触せずに浮上走行を実現しています。高速・低騒音・低振動が特徴です。
磁気軸受:回転機械の軸を磁気で浮上させ支持するため、摩擦や潤滑油が不要です。半導体製造装置や真空ポンプ、超高速ターボ機械などで応用され、メンテナンスフリーと高精度を両立させています。
精密測定・加工ステージ:微細な加工や測定を行う装置のステージ(台)に採用され、摩擦によるブレや振動を排除することで、ナノメートルレベルの超高精度な位置決めを可能にします。
展示用・教育用浮上デモ:アーンショーの定理を体感できる教材や、美術館などの展示物として、磁気浮上の原理を視覚的に示す装置に使われています。制御理論を学ぶ実践的な教材としても重要です。
まず、「Pゲインさえ大きくすれば速く安定する」というのは大きな誤解だ。確かにKpを上げれば誤差に素早く反応するけど、行き過ぎるとシミュレーターで見たように激しく振動(ハンチング)する。これは、システムが「過制御」状態になってるんだ。実機だとコイルが過熱したり、制御装置が発振して故障の原因になる。目安としては、振動が収まるギリギリ手前の値が「最適ゲイン」の第一歩だね。
次に、「Dゲインは大きければ大きいほど振動を抑えられる」と思いがちだが、これも落とし穴。微分項は誤差の「変化速度」を見ているので、センサーのノイズ(ごく小さな測定誤差)を極端に増幅してしまうんだ。例えば、ギャップ測定値に0.01mmのノイズが乗っていたら、Kdが大きいとそれが巨大な制御信号の乱れに変わってしまう。実務では、ノイズ対策として「不完全微分」を使うことが多いよ。
最後に、「Iゲインで定常誤差をゼロにできるから、最初から大きくしておこう」という考え方。これが一番危険かもしれない。積分項は過去の誤差をずっと蓄積するから、例えば急に外力がかかった後などに、誤差は解消されたのに蓄積した値(積分ワインドアップ)が残り、制御が大きくオーバーシュートする原因になる。実装時には「アンチワインドアップ」という対策が必須だ。シミュレーターで、Kiを大きくしてから急に外力を加えて離すと、この現象を体感できるはずだ。
この磁気浮上シミュレーターの核心は、「動く物体をセンサーで測り、リアルタイムで力を加えて目標位置に保つ」というフィードバック制御そのものだ。だから、全く別のモノを扱っているように見える分野でも、全く同じ考え方が応用されているんだ。
例えば、自動車のクルーズコントロールは、速度センサーで測った現在速度と設定速度の誤差を元に、エンジンのスロットル開度(これが制御出力u)をPID制御で調整している。ドローンや航空機のオートパイロット(姿勢制御)も同じ。ジャイロセンサーで機体の傾き(角度)を測り、モーターの回転数を調整して水平を保つ。ここでのPゲインが強すぎると、機体がピッチング(上下振動)を始めてしまうんだ。
さらに一歩進んだ応用が、精密工作機械や半導体製造装置の位置決めステージだ。ナノメートル単位の精度が要求されるここでは、PIDだけでは不十分で、前もって目標軌道を計算して動作させる「フィードフォワード制御」と組み合わせるのが一般的。また、ロボットアームの制御では、アームの動き自体が複雑な力(慣性力、遠心力)を生むので、それを数式モデル(動力学モデル)として事前に打ち消す「モデルベース制御」が使われる。磁気浮上の運動方程式 $$m\ddot{d}= mg - F_{mag}+ F_{ext}$$ を解くことが、まさにその第一歩なんだ。
このシミュレーターで遊び尽くしたら、次のステップは「伝達関数」と「周波数解析」の概念に触れてみよう。今まで時間領域(横軸が時間のグラフ)で見ていた振動や応答を、周波数領域(横軸が周波数のグラフ)で見ると、システムの本質的な性質がクリアに見えるんだ。例えば、どの周波数の外乱に対してシステムが弱いか(感度)、制御が効かなくなる限界の周波数(ゲイン余裕、位相余裕)がわかる。これが分かると、PIDの各ゲインがシステムの「帯域幅」や「安定余裕」にどう影響するかを理論的に設計できるようになる。
数学的には、ラプラス変換を学ぶことが鍵だ。微分方程式で書かれた運動方程式やPIDの式を、代数方程式(sの方程式)に変換して扱う強力なツールで、制御工学の教科書はほぼこれで書かれている。最初は難しく感じるかもしれないが、ツールとしての使い方から入れば大丈夫。例えば、比例制御(P)のみの閉ループ系の伝達関数を導いてみるのが良い練習だ。
実践的な次のトピックとしては、「状態空間表現」と「オブザーバ(状態推定器)」がおすすめだ。PIDは出力(ギャップd)の誤差だけを見ていたけど、状態空間では速度や加速度など、システム内部の全ての状態変数を明示的に扱う。そして、全ての状態をセンサーで測れない場合(例えば速度センサーが無い場合)、オブザーバという仕組みで測定可能な出力(ギャップd)から内部状態(速度$\dot{d}$)を推定して制御に使う。これは現代制御理論の入り口で、より高度でロバストな制御系設計への第一歩になるよ。