このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink によるモデル規範形ニューラル コントローラーの設計
ニューラル モデル規範形制御アーキテクチャは、次の図に示すように、コントローラー ネットワークとプラント モデル ネットワークの 2 つのニューラル ネットワークを使用します。プラント モデルが最初に同定されてから、プラント出力が規範モデル出力に従うようにコントローラーに学習させます。
次の図は、Deep Learning Toolbox™ ソフトウェアに実装されているニューラル ネットワーク プラント モデルとニューラル ネットワーク コントローラーの詳細を示しています。各ネットワークには 2 つの層があり、隠れ層で使用するニューロンの数を選択できます。コントローラー入力には、以下の 3 組があります。
遅延規範入力
遅延コントローラー出力
遅延プラント出力
これらの各入力について、使用する遅延値の数を選択できます。遅延の数は通常、プラントの次数に合わせて増えます。ニューラル ネットワーク プラント モデルへの入力は次の 2 組があります。
遅延コントローラー出力
遅延プラント出力
コントローラーと同様に、遅延の数を設定できます。次の節では、パラメーターの設定方法を説明します。
Model Reference Controller ブロックの使用
この節では、ニューラル ネットワーク コントローラーに学習させる方法を説明します。最初のステップは、Model Reference Control ブロックを Deep Learning Toolbox ブロックセットから Simulink® エディターにコピーすることです。方法については、Simulink のドキュメンテーションを参照してください。次の例ではこのステップは省略しています。
モデル規範形コントローラーの使用方法を示すために、Deep Learning Toolbox ソフトウェアにはモデル例が用意されています。この例では、次の図に示すようにシンプルな単一リンクのロボット アームの動きを制御します。
アームの運動方程式は次になります。
ここで、ϕ はアームの角度、u は DC モーターから供給されるトルクです。
目的は、アームが次の規範モデルに追従するようにコントローラーに学習させることです。
ここで、yr は規範モデルの出力で、r は入力基準信号です。
この例では、5-13-1 アーキテクチャのニューラル ネットワーク コントローラーを使用します。コントローラーへの入力は、2 つの遅延規範入力、2 つの遅延プラント出力、および 1 つの遅延コントローラー出力で構成されます。サンプリング間隔には 0.05 秒を使用します。
この例を実行します。
MATLAB® を起動します。
MATLAB コマンド ウィンドウに
mrefrobotarm
と入力します。このコマンドにより Simulink エディターが開き、Model Reference Control ブロックが既に含まれているモデルが表示されます。Model Reference Control ブロックをダブルクリックします。これにより、モデル規範形コントローラーに学習させるための次のウィンドウが表示されます。
通常、次のステップは、[Plant Identification] をクリックして [Plant Identification] ウィンドウを開くことです。その後、プラント モデルに学習させます。[Plant Identification] ウィンドウは前のコントローラーで使用したものと同じであるため、ここではそのプロセスを省略します。
[Generate Training Data] をクリックします。コントローラーの学習用のデータの生成が開始されます。データが生成された後、次のウィンドウが表示されます。
[Accept Data] をクリックします。[Model Reference Control] ウィンドウに戻り、[Train Controller] をクリックします。データの 1 つのセグメントがネットワークに与えられ、指定された反復回数 (この場合は 5 回)、ネットワークの学習が行われます。このプロセスは、一度に 1 セグメントずつ行われ、学習セット全体がネットワークに与えられるまで続きます。コントローラーの学習は、プラント モデルの学習よりも大幅に時間がかかる場合があります。これは、コントローラーの学習に "動的" な逆伝播を使用しなければならないためです ([HaJe99] を参照)。学習が完了した後、結果として得られた閉ループ システムの応答が次の図のように表示されます。
[Model Reference Control] ウィンドウに戻ります。コントローラーの性能が正確でない場合、[Train Controller] を再度選択して、同じデータセットでコントローラーの学習を継続できます。新しいデータセットを使用して学習を継続する場合は、[Generate Data] または [Import Data] を選択してから [Train Controller] を選択します (同じ重みで学習を継続する場合は、[Use Current Weights] が選択されていることを確認してください)。プラント モデルの再学習が必要になる場合もあります。プラント モデルが正確でない場合、コントローラーの学習に影響することがあります。この例の場合、コントローラーは十分正確であるため、[OK] を選択します。これにより、コントローラーの重みが Simulink モデルに読み込まれます。
Simulink エディターに戻り、メニュー オプション [シミュレーション] 、 [実行] を選択して、シミュレーションを開始します。シミュレーションが実行されると、プラント出力と基準信号が次の図のように表示されます。