【制御】🧯 08. PIDにFSMを入れるべき「10%」の根拠
topics: [“制御”, “PID”, “FSM”, “信頼性設計”, “産業制御”]
はじめに
PID制御にFSM(Finite State Machine)を重ねる設計は、
理屈では正しそうに見える一方で、
現場・製品では失敗例も数多く存在します。
本記事では、
- なぜ FSM を常時動かす設計が危険なのか
- なぜ「10%のズレ」をFSM発動の閾値とするのか
- なぜ Reliability Guard(B-Type)が不可欠なのか
を、商業製品として成立する視点から整理します。
🧱 基本方針(ここを間違えると全部壊れる)
制御階層は、必ず次のように分離します。
- PID:主制御(常時動作)
- FSM:例外処理(非常時のみ)
- Reliability Guard:FSMの暴走抑止
FSMは「賢い制御」ではありません。
FSMは 保険 です。
❌ FSMを最初から入れる設計が壊れる理由
摩擦劣化や経年変化に対して、
- FSMを常時切り替える
- 微小な変化で状態遷移する
こうした設計は、ほぼ確実に次を引き起こします。
- 波形の不連続
- 制御の過補償
- 状態遷移のチャタリング
- 顧客からの
「なんか挙動おかしくない?」
という問い合わせ
結果として、
劣化よりFSMの方が制御対象を壊す
という本末転倒が起こります。
⏱ FSMは「いつ」発動すべきか?
答えは単純です。
PIDが「もういつものPIDじゃない」と
定量的に言えるときだけ
そのためには、
感覚ではなく数値トリガーが必要です。
📉 なぜ「10%」なのか?
劣化モデルから自然に出てきた事実
本シリーズで用いた摩擦劣化モデルでは、
- PID単体で運転を継続した場合
- 約 5年相当の劣化 で
- 初期波形から おおよそ10%前後のズレ が発生
以下のいずれかに、明確な差が現れました。
- 振幅
- 位相(時間遅れ Δt)
- 制御エネルギー
この「10%」は、
- 経験則でも
- 方便でも
ありません。
モデルを回した結果、自然に現れた境界値
です。
📏 10%とは「何の」10%か?
FSMのトリガー条件は OR条件 とします。
以下のいずれかが、
初期PID比で10%超 となった場合:
- 振幅差
- 位相(Δt)差
- 制御エネルギー差
なぜ OR 条件なのか?
AND条件は、
現場では遅すぎるからです。
⚠ 想定外は、想定より早く来る
現実の装置では、
- 摩耗
- 異物混入
- 温度変化
- 部分破損
により、
「モデル上の5年劣化」が
数か月で起きる
ことがあります。
OR条件でなければ、
FSMは 間に合いません。
🛑 B-Type(Reliability Guard)の役割
FSMは万能ではありません。
FSMが介入することで、
- 制御が悪化する
- 出力が不安定になる
- 電流・電圧が過大になる
ケースは、普通に起こります。
そこで B-Type では:
- FSMの制御量を制限
- 努力量・効率を常時監視
- 悪化時は PID優勢にロールバック
という設計を取ります。
つまり、
FSMすら信用しすぎない
という立場です。
🧾 商業製品として見たときの「10%」
顧客目線で見れば、挙動はこうです。
- 数年間、PIDだけで安定 → 問題なし
- 明確な劣化が出てから補正 → 納得できる
- 初日から挙動が変わる → 不信感
10%ルールは、
- 説明できる
- 保証文書に書ける
- クレーム対応できる
という点で、極めて重要です。
まとめ
- PIDは主役
- FSMは非常用
- 10%はモデルに基づく現実的閾値
- トリガーは OR 条件
- Reliability GuardでFSMを制御する
FSMは知能ではありません。
FSMは 保険であり、最後の手段 です。
おわりに
もし FSM が day=0 から動いているなら、
それは PID設計が失敗している 可能性が高い。
FSMが 10%ズレたときだけ 動くなら、
それは 商業製品として正しい振る舞い です。