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