🛑

【制御】信頼性制御に必要だったのは「速くする」ことではなく「止める判断」だった

に公開

はじめに(前回の続き)

前回の記事では、

摩擦劣化下で「タイミング(Δt)だけを守る制御」は破綻する

という事実を、PID と AITL(FSM による再調整)の比較を通して示しました。

結論は明確でした。

  • AITL は遅れを検出し、補償できる
  • しかしその代償として、振幅(可制御性)を失う
  • これはバグではなく、設計上の必然

今回は一歩進めて、

では「信頼性制御」は何が足りなかったのか?

を掘り下げます。


問題は「調整すること」ではなかった

まず誤解を避けるために整理します。

今回の AITL は:

  • 劣化検出:できている
  • 再調整:できている
  • 応答改善:一部できている

それでも 信頼性制御にはならなかった

なぜか。


欠けていたのは「止める判断」

AITL の FSM は次のようなロジックでした。

  • 劣化を検出したら
  • ゲインを強化する
  • 応答が速くなる方向に寄せる

ここには 重大な欠落があります。

「その再調整は、本当に信頼性を改善したのか?」
を判断していない


実際に起きていたこと(数値で見る)

摩擦劣化 1000 日相当の結果を、数値で振り返ります。

Controller | Δt mean [s] | |Δt| [s] | Amp ratio
----------------------------------------------
PID_only  |   -0.4730   |  0.4730 |  0.902
AITL      |   -1.3807   |  1.3807 |  0.888
  • AITL は「遅れ」を消した
  • しかし |Δt| は悪化
  • 振幅比は 安全域(0.9)を下回った

つまり、

良かれと思ってやった再調整が、
信頼性を壊していた


Reliability FSM という考え方

ここで導入したのが、

「再調整してよいか」を判断する FSM

です。

ポイントは単純です。

状態は3つで足りる

  • OK:許容範囲内
  • LAG:遅れすぎ
  • LEAD:進みすぎ

重要なのは、

LEAD(前に出すぎ)も劣化と定義する

ことです。


「進みすぎ」も異常である

制御屋の感覚では、

  • 遅れる → 問題
  • 速い → 良い

となりがちです。

しかし信頼性の観点では違います。

  • 進みすぎる応答は
    • 飽和を招き
    • 振幅を削り
    • 将来の劣化耐性を失う

つまり、

LEAD は「隠れた信頼性劣化」

です。


ガード条件という設計判断

FSM に次の条件を加えました。

  • 振幅比 A/A₀ < 0.9
    → ゲイン強化 禁止

この結果、

AITL | State = LEAD
     | Amp ratio = 0.888
     | Action = BLOCK

となり、

「これ以上いじると壊れる」
という判断が可能になった


重要な気づき

ここで得られた最大の教訓はこれです。

信頼性制御とは、
良くし続けることではなく、
悪くなる前に止めること


AITL は失敗したのか?

いいえ。

今回の AITL(A-Type)は、

  • Adaptive Control を実証した
  • しかし Reliability Control までは到達しなかった

という 設計上の到達点を示しました。

これは失敗ではなく、

「どこから先が別設計か」を明確にした

という意味で、非常に価値があります。


次にやるべきこと

ここまでで見えたのは、

  • Δt 単独最適化は危険
  • 振幅・飽和を含む評価が必要
  • 再調整には 拒否・ロールバックが必要

つまり次は、

Reliability を目的関数にした
新しい AITL(B-Type)の設計

です。


まとめ

  • タイミングを守るだけでは信頼性制御にならない
  • Adaptive Control と Reliability Control は別物
  • 信頼性制御に必要なのは「止める判断」
  • FSM は「賢く動く」ためではなく
    「賢く動かない」ためにも使う

参考リンク


👉 次回予告
「Reliability Cost で見る PID vs AITL ― なぜ“普通の PID”が勝つのか」

GitHubで編集を提案

Discussion