本章では、従来のPID制御にニューラルネット(NN)を組み合わせた
NN-PID制御(Neural Network-aided PID Control)について学びます。
PIDの堅牢性とNNの柔軟性を組み合わせることで、非線形系や外乱変動に強い制御が可能になります。
[ u(t) = K_p e(t) + K_i \int e(t) dt + K_d \frac{de(t)}{dt} ]
[ u(t) = u_{\text{PID}}(t) + f_\theta(e(t), \dot{e}(t), \int e(t) dt) ]
[
K_p(t), K_i(t), K_d(t) = f_\theta(x(t))
\quad \Rightarrow \quad u(t) = K_p(t)e(t) + …
]
📌 いずれの方式も、NNは非線形性や時変性の補償に強みを発揮します。
学習方式 | 説明 | メリット / 注意点 |
---|---|---|
教師あり学習 | 最適入力データを教師にして回帰 | 安定・再現性高いが教師が必要 |
強化学習 | 報酬に基づき最適なNN制御則を学習 | 自律性高いが学習時間・安定性が課題 |
エンドツーエンド | 時系列データから直接NNを学習 | 高精度だが訓練データ整備が必須 |
項目 | 内容 |
---|---|
入力 | $e(t)$, $\dot{e}(t)$, $\int e(t)dt$ 等 |
出力 | 制御入力 $u(t)$(モータトルクなど) |
NN構成 | MLP(多層パーセプトロン)またはLSTMなど |
実装 | nn_pid_control.py + train_nn_pid.ipynb |
項目 | PID制御 | NN-PID制御 |
---|---|---|
設計法 | 手動 / ゲイン調整 | 学習ベース(関数近似) |
適応性 | 時間不変が前提 | 状態依存で動的に変化可能 |
実装難易度 | 低 | 高(学習・訓練が必要) |
利点 | 安定・解釈性あり | 非線形性・複雑系に強い |
nn_pid_control.py
:PyTorchによるNN-PID実装train_nn_pid.ipynb
:学習可視化と応答評価04_ai_vs_classical.md
:PIDとの統合戦略(AITL-Hへの布石)