本章では、ニューラルネットワーク(NN)を用いて制御対象の逆モデルを学習し、
得られたモデルをもとに目標出力から必要な制御入力を推定する手法を解説します。
制御対象 $P$ の動作が $u(t) \rightarrow y(t)$ で表されるとき、
その逆関数 $P^{-1}$ をNNなどで学習し、目標出力 $y_d(t)$ を入力として制御入力 $u(t)$ を生成します。
[ y_d(t) ] → [ NN (逆モデル) ] → [ u(t) ] → [ Plant P ] → [ y(t) ]
↑ ↓
学習データ: (y_d, u) フィードバック
項目 | 内容 |
---|---|
入力特徴量 | $y_d(t)$, $y(t)$, 過去の $u(t-k)$ など |
出力(教師信号) | $u(t)$:目標出力を得るための入力 |
ネット構成 | MLPやLSTM(時系列考慮)、正則化が重要 |
学習方法 | MSE損失($|u_{\text{true}} - \hat{u}|^2$) |
inverse_model_train.py
:逆モデルNNの訓練スクリプトai_vs_pid_sim.py
:逆モデル制御 vs PID の比較実験part06_nn_control/
内のコード群