制約の適用
指定された範囲およびその他の制約を満たす制御動作の特定
R2021a 以降
R2021a 以降
一部の制御アプリケーションには、プラントの状態が重大な制約に違反しないように制御動作を選択するコントローラーが必要です。多くの場合、制約は、コントローラーが直接制御しないプラントの状態に関係します。代わりに、制御動作信号で制約を定義する "制約関数" を定義します。
Simulink® Control Design™ ソフトウェアには、このような用途のために次の制約適用法が用意されています。
制約をプラントの状態の関数として指定する。
制御バリア関数を使用して制約を指定する。
受動性制約を指定する。
この機能には、制約とアクション範囲に従って、指定された制御動作に最も近い変更された制御動作を計算する Optimization Toolbox™ ソフトウェアが必要です。
ブロック
Constraint Enforcement | 制御動作を変更し、制約およびアクション範囲を満たす |
Barrier Certificate Enforcement | 制御動作を変更し、バリア証明書の制約およびアクション範囲を満たす (R2022a 以降) |
Passivity Enforcement | Modify control actions to satisfy passivity constraints and action bounds (R2023a 以降) |
トピック
制約の適用の基礎
- 制御設計への制約の適用
制約およびアクション範囲を満たすように、リアルタイムで制御動作を変更できます。 - PID コントローラーに対する制約の適用
Constraint Enforcement ブロックを使用して、既知の制約関数を PID 制御アプリケーションに適用します。 - PID コントローラーの制約の学習と適用
Constraint Enforcement ブロックを使用して PID 制御アプリケーションの不明な制約関数を学習させて適用する。
バリア証明書の適用
- 制御設計へのバリア証明書の適用
制御動作を変更し、バリア証明書の制約およびアクション範囲を満たす。 - PID コントローラーに対するバリア証明書の制約の適用
Barrier Certificate Enforcement ブロックを使用して、バリア証明書の制約を PID 制御アプリケーションに適用する。 - アダプティブ クルーズ コントロールに対するバリア証明書の制約の適用
アダプティブ クルーズ コントロールに対するバリア証明書の制約を適用して速度と車間距離を維持する。 - 衝突のないロボットに対するバリア証明書の制約の適用
2 台のロボットがそれぞれのターゲット位置に衝突なしで到達するためのバリア証明書の制約を適用する。 - 衝突のないマルチロボット システムに対するバリア証明書の制約の適用
3 台のロボットがそれぞれのターゲット位置に衝突なしで到達するためのバリア証明書の制約を適用する。
受動性の適用
- Passivity Enforcement for Control Design
Modify control actions to satisfy passivity constraints and action bounds. - Enforce Passivity Constraints for Quadruple-Tank System
Enforce passivity constraints for water height control in a quadruple tank system. - Enforce Passivity Constraint for Flexible Beam
Enforce passivity constraints for vibration control in a flexible beam.
強化学習の適用
- 制約の適用を使用した強化学習エージェントの学習
Constraint Enforcement ブロックを使用してアクションを制約して強化学習エージェントに学習させる。 - 制約の適用を使用したアダプティブ クルーズ コントロール用の RL エージェントの学習
速度と車間距離についての制約を適用してアダプティブ クルーズ コントロール用の強化学習エージェントに学習させる。 - 制約の適用を使用した車線維持支援用の RL エージェントの学習
横方向の偏差についての制約を適用して車線維持支援用の強化学習エージェントに学習させる。