概要
do-mpc は、非線形制御および推定問題の定式化と求解に役立つツールを提供します。中核となる手法はモデル予測制御(MPC)と移動ホライズン推定(MHE)であり、不確実性を含む問題に対するロバスト制御アプローチも含まれます。プロセス制御の用途では、特定のプラント向けの既製コントローラーではなく、開発用ツールボックスとして機能します。ユーザーは、自身のシステムモデルと制御または推定の問題に取り組みます。
文書に記載されたアーキテクチャでは、シミュレーション、推定、制御が、組み合わせや拡張が可能なコンポーネントに分けられています。対応する問題の定式化には微分代数方程式が含まれ、有限要素上の直交コロケーションは時間離散化の手法を提供します。ワークフロー上、入力はユーザー定義の動的システムモデルと問題の定式化であり、対応する結果は制御解、状態またはパラメーターの推定値、シミュレーション結果です。出典の抜粋には、厳密な入力スキーマ、出力形式、コンポーネントインターフェースの記載がないため、実装の詳細はリンク先の文書で確認する必要があります。
機能には、非線形MPCと経済型MPC、ロバストな多段MPC、状態とパラメーターの移動ホライズン推定が含まれます。こうした機能により、do-mpc はモデルベースのプロセス制御戦略や、シミュレーション・推定・制御を統合したワークフローの評価に役立ちます。ただし、提供された根拠には、性能ベンチマーク、特定プラントでの検証、実証済みの導入結果は含まれていません。README には Python 3.x とオペレーティングシステムのサポートが記載されていますが、テスト済みの互換性マトリックスはありません。そのため、インストール要件と用途への適合性は、公式文書と代表的な評価モデルに照らして確認する必要があります。
主な機能
- 非線形および経済型のモデル予測制御問題を定式化し、解を求めます。
- 不確実性を含む制御問題に対するロバストな多段MPC。
- 微分代数方程式で表される動的モデルをサポートします。
- 有限要素上の直交コロケーションを用いた時間離散化。
- システムの状態とパラメーターの移動ホライズン推定。
- シミュレーション、推定、制御の各コンポーネントは分離されており、組み合わせや拡張が可能です。
用途
- 評価案:代表的な動的プロセスモデルを用いて、非線形MPCと経済型MPCの定式化を比較します。
- 評価案:プラントへの適用を検討する前に、選択した不確実性シナリオのもとでロバストな多段MPCを評価します。
- 評価案:移動ホライズンによる状態またはパラメーター推定をシミュレーションおよび制御と組み合わせ、モデルベースの統合ワークフローを検討します。
使い方
- 公式READMEを読み、評価しようとしている問題に非線形MPC、ロバストな多段MPC、MHEのどれが適しているかを確認します。
- インストール手順に従います。README の幅広い Python 3.x の記述をテスト済みの互換性保証とみなさず、利用環境に必要な要件を文書で確認してください。
- ドキュメントを参照し、動的モデルの表現方法と関連コンポーネントの設定方法を確認します。微分代数モデルを扱う場合は、問題の定式化と時間離散化に関する説明を確認してください。
- タスクに必要なシミュレーション、推定、制御のコンポーネントを用いた代表的な評価を計画します。不確実性シナリオと評価基準は、ツールボックスに文書化された機能とは分けて定義します。
- 特定用途への導入を検討する前に、得られた制御または推定の挙動を確認します。公表済みの研究の引用方法については README の引用ガイダンスを、コード使用上の義務についてはリポジトリのライセンスを参照してください。