Model Predictive Control Toolbox

 

Model Predictive Control Toolbox

モデル予測コントローラーの設計およびシミュレーション

詳細を見る:

モデル予測コントローラーの設計

MPC コントローラーを設計して、入力と出力に制約のある MIMO システムを制御します。閉ループ シミュレーションを実行して、コントローラーの性能を評価します。

MPC デザイナーアプリ

MPC コントローラーを対話的に設計するには、内部プラントモデルの定義と、ホライズン、重み、制約の調整を行います。シミュレーション シナリオを使用して、コントローラーの性能を検証します。複数の MPC コントローラーの応答を比較します。

Simulink での MPC の設計

ツールボックスで提供される MPC Controller ブロックやその他のブロックを使用して、Simulink で MPC コントローラーをモデル化し、シミュレーションします。Simulink Control Design™ を使用して Simulink モデルを平衡化および線形化することで、MPC コントローラー向けに内部線形時不変プラントモデルを計算し、プラント入力と出力のノミナル値を取得します。

MATLAB での MPC 設計

コマンドライン関数を使用して MPC コントローラーを設計します。内部プラントモデルを定義し、重み、制約、および他のコントローラー パラメーターを調整します。閉ループシステムの応答をシミュレーションして、コントローラーの性能を評価します。

コマンドラインで MPC コントローラーを設計します。

自動運転アプリケーション

事前に用意されている Simulink ブロックを使用して、ADAS システムの開発を加速します。参照例を使用して、ADAS コントローラーを迅速に開発します。車両に MPC コントローラーを展開するためのコードを Simulink ブロックから生成します。

事前に用意されているブロック

車間距離制御システムや車線逸脱防止支援システム、パス追従制御システムのブロックを ADAS アプリケーションの出発点として使用し、必要に応じてカスタマイズします。車載展開用のコードを事前に用意されているブロックから生成します。

事前に用意されている Simulink ブロックを使用して、車間距離制御システムを設計。

リファレンス アプリケーションの例

リファレンス アプリケーションの例を使用して、自動運転システムに必要な MPC コントローラーの設計と展開のワークフローを実施します。また、リファレンス アプリケーションの例では、システムのさまざまな部分を多様な忠実度でモデル化する方法を確認することもできます。

線形のモデル予測コントローラー

線形ダイナミクスを持つシステム向けに MPC コントローラーを設計します。操作条件に応じて変化するダイナミクスを持つプラント向けに、適応型 MPC やゲインスケジュール型 MPC コントローラーを設計します。

線形 MPC

線形 MPC コントローラーを設計するには、Control System Toolbox™ の線形時不変 (LTI) システムとして内部プラントモデルを指定するか、Simulink Control Design で Simulink モデルを線形化します。また、System Identification Toolbox™ を使用して、測定された入出力データから作成されたモデルをインポートすることもできます。

線形 MPC 設計の内部プラントモデルの指定。

適応型 MPC

コマンドライン関数と Adaptive MPC Controller ブロックを使用して、適応型 MPC コントローラーの設計およびシミュレーションを行います。実行時にプラントモデルを更新し、コントローラーの入力に指定します。漸近安定性が保証された組み込みの線形時変 (LTV) カルマンフィルターを使用して、適応型モデル予測コントローラーで状態推定を行います。

ゲインスケジュール型 MPC

Multiple MPC Controller ブロックによって、幅広い操作条件で非線形プラントを制御します。実行時にそれぞれの操作点とコントローラー間のスイッチに合わせて、MPC コントローラーを設計します。

Multiple MPC Controller ブロックを使用して、ゲインスケジュール型 MPC コントローラーを設計します。

MPC パラメーターの指定、状態推定、設計レビュー

コントローラーの設計を繰り返し改善するために、内部プラントモデルの定義、コントローラーのパラメーターの調整、閉ループシステムの応答のシミュレーションを行い、コントローラーの性能を評価します。コントローラーをレビューして、設計上の潜在的な問題がないかを確認します。

コントローラーのパラメーター

内部プラントモデルを定義したあと、サンプル時間、予測制御ホライズン、スケール係数、入力制約と出力制約、および重みを指定して、MPC コントローラーを設計します。また、このツールボックスでは、制約緩和や時変制約と重みもサポートされています。

MPC デザイナー アプリにおけるコントローラーのパラメーターの指定。

状態推定

組み込みの状態推定器を使用して、測定された出力からコントローラーの状態を推定します。また、カスタムのアルゴリズムで状態推定を行うこともできます。

カスタムの状態推定。

設計レビュー

MPC コントローラーで組み込みの診断関数を使用して、潜在的な安定性とロバスト性の問題を検出します。この診断結果を使用して、実行時の故障を回避できるように、設計中にコントローラーの重みと制約を調整します。

設計レビューレポートの推奨事項に基づき、コントローラーの設計を改善。

実行時パラメーターの調整と性能の監視

コントローラーの性能を高めるために、実行時に重みと制約を調整します。コントローラーの実行時の性能を解析します。

実行時パラメーターの調整

MPC コントローラーの重みと制約を調整して、再設計や再実装をせずに実行時の性能を最適化します。MATLAB® と Simulink の両方で、実行時のコントローラー調整を行います。

実行時の重みと制約の調整。

実行時の性能の監視

最適化ステータス信号にアクセスし、最適化の収束に失敗する希有な状況を検出します。この情報を使用して、バックアップの制御戦略について判断します。

コントローラーの故障をリアルタイムに検出。

高速モデル予測コントローラーの実装

演算リソースが制限されたアプリケーションで、MPC コントローラーの設計、シミュレーション、展開を行います。

陽的 MPC

陰的 MPC 設計から陽的 MPC コントローラーを生成し、実行を高速化します。メモリー フットプリントの削減のため、生成された陽的 MPC コントローラーを単純化します。

事前設計済みの陰的コントローラーから陽的 MPC コントローラーを生成。

近似 (準最適) 解

近似 (準最適) 解を使用して、最悪実行時間保証の MPC コントローラーの設計、シミュレーション、展開を行います。

最適化と近似 (準最適) 解での実行時間を比較。

非線形のモデル予測コントローラー

非線形予測モデル、コスト関数、制約を使用して、プラントを制御する非線形の MPC コントローラーを設計します。

最適化計画

非線形コストまたは非線形制約を持つ非線形モデルが必要な最適化計画アプリケーションには、非線形の MPC コントローラーを使用します。

非線形 MPC を使った飛行ロボットの軌跡最適化と制御

フィードバック制御

非線形コストと非線形制約に基づき、非線形プラントの閉ループ制御をシミュレーションします。既定では、非線形 MPC コントローラーで Optimization Toolbox™ を使用して、非線形計画法の問題を解決します。また、独自のカスタム非線形ソルバーを指定することもできます。

発熱化学反応器の非線形モデル予測制御。

経済的 MPC

経済的 MPC コントローラーを設計し、任意の非線形制約に基づき、任意のコスト関数向けにコントローラーを最適化します。線形または非線形予測モデル、カスタムの非線形コスト関数、およびカスタムの非線形制約を使用できます。

エチレンオキシド製造の経済的 MPC 制御。

コード生成

Simulink と MATLAB で設計されたモデル予測コントローラー用のコードを生成して、リアルタイム制御アプリケーションに展開します。

MATLAB と Simulink を使ったコード生成

Simulink で MPC コントローラーを設計するか、Simulink Coder™ または Simulink PLC Coder™ をそれぞれ使用して、C コードと IEC 61131-3 ストラクチャード テキストを生成します。MATLAB Coder™ を使用して MATLAB で C コードを生成し、リアルタイム制御に展開します。または、MATLAB Compiler™ を使用して、MPC コントローラーをスタンドアロン アプリケーションとしてパッケージ化し、共有することもできます。

MPC Controller ブロックから C コードを生成。

組み込みのソルバー

組み込みプロセッサ上で効率的に実装するために、提供されている有効制約法および内点二次計画法 (QP) ソルバーからコードを生成します。非線形問題については、Optimization Toolbox の逐次二次計画法 (SQP) ソルバーを使用して、シミュレーションとコード生成を行います。生成したコードを任意の数のプロセッサに展開します。

組み込みのソルバー。

カスタムソルバー

Embotech の FORCES PRO QP と非線形計画法 (NLP) ソルバーを使用して、線形および非線形 MPC コントローラーのシミュレーションとコード生成を行います。また、カスタムの QP ソルバーや NLP ソルバーを使用して、シミュレーションやコード生成を行うこともできます。

カスタムの QP ソルバーによるシミュレーションとコード生成。

無料評価版を入手する

30 日間の無料評価版はこちら


ご不明な点がある場合

お問合せください。