ModelPredictiveController
ModelPredictiveController[sspec,cost,cons]
費用関数 cost を最小にして制約条件 cons を満足する系の指定 sspec に従ってモデル予測コントローラを計算する.
ModelPredictiveController[…,"prop"]
特性"prop"の値を返す.
詳細とオプション
- モデル予測制御はMPC(model predictive control)としても知られている.
- モデル予測コントローラは,入力と状態の両方に対する制約を考慮しながら有限の範囲で状態と制御入力の費用関数を最小化することによって計算される.これらの制約は,コントローラの安全な実装を保障するために重要であることが多い.
- 結果のコントローラーは,単純な区分アフィン形式 を持つ.ここで, はフィードバック制御入力, はシステムの状態である.これらはマイクロコントローラに簡単に配備でき,高速プロセスに使用できる.
- 制御器は,外乱 がシステムを押しのけようとしても,系を平衡位置に維持することを目的としている.典型的な例には,倒立振子を直立位置に維持することや航空機を水平に維持することが含まれる.
- MPC制御器は,sspec および制約条件 cons の系のダイナミクス に従って費用 を最小にするフィードバックとして指定される.状態 とフィードバック制御入力 の両方が小さくなると費用 も小さくなる.
-
1ノルム,重み付き積分絶対誤差(IAE) 二乗2ノルム,重み付き積分二乗誤差(ISE)または重み付き「エネルギー」 ノルム,重み付きピーク値 - 費用 は cost Associationで次のキーで指定される.
-
η "Horizon" 整数時間範囲 q "StateWeight" 状態についての行列費用 r "InputWeight" 入力についての行列費用 p "StateInputWeight" 相互結合の状態と入力についての列費用 m "Norm" 1,2または - 追跡器は外乱 があっても参照信号 の追跡を目的とする.典型的な例としては自動車のクルーズコントロールやロボットの経路追跡がある.
- MPC追跡器は,sspec と制約条件 cons における系のダイナミクス に従って費用を最小にするフィードバックとして指定される.予測誤差 と増分するフィードバック制御入力 の両方が小さくなると費用も小さくなる.
-
1ノルム,重み付き積分絶対誤差(IAE) 二乗2ノルム,重み付き積分二乗誤差(ISE)または重み付き「エネルギー」 ノルム,重み付きピーク値 - 費用関数の式の項は以下の通りである.
-
η "Horizon" 整数時間範囲 qe "ErrorWeight" 誤差についての行列費用 "InputIncrementWeight" 増分入力についての行列費用 peΔ "ErrorInputIncrementWeight" 相互結合の状態と入力についての列費用 m "Norm" 1,2または - 調整器問題と追跡器問題の両方についての制約条件 cons は,状態変数 x,入力変数 u,出力変数 y によって定式化される.これらはStateSpaceModel[{a,b,c,d},x,u,y,…]を使って定義できる.
- のとき,特定の時点 で保持される制約.
-
xmin<=xi[k]<=xmax 時点 における値についての制約 Δxmin<=xi[k2]-xi[k1]<=Δxmax 時点 から時点 までの増分についての制約 - のとき,すべての時点 k で保持される制約.
-
xmin<=xi<=xmax すべての k の値についての制約 min<=α1.x1+…+αn.xn+β<=max すべての k の線形結合についての制約 xminxxmax すべての k のすべての値についての制約 - 重み行列 ,, は以下のように指定できる.
-
q 一定の重み{q,…,q,q} {{q},qη} さまざまな終端重み{q,…,q,qη} {q0,q1,…,qη} さまざまな重み{q0,q1,…,qη} - ModelPredictiveControllerはStateSpaceModel[…,SamplingPeriodτ]を使って指定可能な離散時間線形系に使うことができる.
- 系の指定 sspec は次の形でよい.
-
StateSpaceModel[…] 線形制御入力と線形状態 AffineStateSpaceModel[…] 線形制御入力と非線形状態 NonlinearStateSpaceModel[…] 非線形制御入力と非線形状態 SystemModel[…] 一般的な系のモデル <… > Associationとして与えられる詳細な系の指定 - 詳細な系の指定は次のキーを持つことができる.
-
"InputModel" sys モデルの任意のもの "FeedbackInputs" All フィードバック入力 uf "TrackedOutputs" None 追跡された出力 yref - フィードバック入力は次の形でよい.
-
{num1,…,numn} StateSpaceModel,AffineStateSpaceModel,NonlinearStateSpaceModelで使われる番号付き入力 numi {name1,…,namen} SystemModelで使われる名前付き入力 namei All すべての入力を使う - ModelPredictiveControllerは,cd["prop"]を使った追加的な特性の抽出に使われるSystemsModelControllerDataオブジェクト cd を返す.
- ModelPredictiveController[…,"prop"]を使って cd["prop"]の値を直接得ることができる.
- 次は,閉ループ系の特性である.
-
"ClosedLoopPoles" 線形化された"ClosedLoopSystem"の極 "ClosedLoopSystem" 系 csys {"ClosedLoopSystem", cspec} 閉ループ系の形式についての詳細制御 "ControllerModel" モデル cm "FeedbackGains" ゲイン行列 κ またはそれと同等のもの "FeedbackGainsModel" モデル gm "FeedbackRegions" フィードバックがそこから実行可能な領域 "QuasiClosedLoopSystem" "QuasiFeedbackGains"で組み立てられた閉ループ系 "QuasiFeedbackGains" 初期値のみに依存するフィードバックゲイン "QuasiFeedbackGainsModel" "QuasiFeedbackGains"の系のモデル "OptimalCost" の最適値 - 次は,無限範囲問題の特性である.
-
"MaximalLQRInvariantRegion" LQRフィードバックゲインがある最大領域 "MaximalStabilizableRegion" に誘導できる最大領域 "MinimalFiniteHorizon" )における状態が に入る最大範囲 - 次は,基本的な設計特性である.
-
"Design" コントローラ設計のタイプ "DesignModel" 設計に使用されたモデル "DesignModelSamplingMethod" "DesignModel"を得るために使われたサンプリングメソッド "DesignModelSamplingPeriod" "DesignModel"のサンプリング周期 "Horizon" 範囲 η "Norm" 1-ノルム,平方された2-ノルムあるいは∞-ノルム - 次は入力モデルの特性である.
-
"FeedbackInputs" フィードバックに使われる sys の入力 uf "InputModel" 入力モデル sys "InputsCount" sys の入力 u の数 "OpenLoopPoles" "DesignModel"の極 "OutputsCount" sys の出力 y の数 "SamplingPeriod" sys のサンプリング周期 "StatesCount" sys の状態 x の数 "TrackedOutputs" sys の追跡される出力 yt
例題
すべて開くすべて閉じる例 (2)
スコープ (43)
基本的な用法 (5)
状態{x1,x2},制御入力 u の離散時間系についての制御器問題を解く:
この系は,入力モデル,フィードバックゲイン,比較器からなる:
コントローラはDiscreteInputOutputModelである:
ノルム (4)
このコントローラはDiscreteInputOutputModelである:
このコントローラはDiscreteInputOutputModelである:
このコントローラはDiscreteInputOutputModelである:
無限期間用の平方2ノルム費用を最小化するコントローラを計算する:
このコントローラはNonlinearStateSpaceModelである:
工場モデル (8)
StateSpaceModelとして指定された系のコントローラ:
AffineStateSpaceModelとして指定された系:
NonlinearStateSpaceModelとして指定された系のコントローラ:
連続時間SystemModelとして指定された系:
フィードバックゲインモデルには入力としての2つの状態{x1,x2}と出力としての u1がある:
複数の入力があるSystemModel:
これは線形化されたStateSpaceModelの最初の入力である:
制約条件 (5)
特性 (17)
使用可能な特性のリストはコントローラのデータオブジェクトから計算できる:
"MaximalLQRInvariantRegion"は"MaximalStabilizableRegion"内に含まれている:
"MaximalStabilizableRegion"は,基本的に,"FeedbackRegions"と同じである:
"FeedbackRegions"は複数の凸部分領域からなっている:
"MaximalStabilizableRegion"は単一の凸領域である:
すべての特性をAssociationとして得る:
あるいはDatasetとして得る:
アプリケーション (2)
特性と関係 (3)
LQRegulatorGainsは平方2ノルム無限範囲問題の特殊ケースである:
制約条件がないModelPredictiveControllerは基本的に同じ結果を与える:
LQRegulatorGainsは制約条件を考慮しない:
ModelPredictiveControllerは状態と制御条件を考慮する:
結果としてLQRegulatorGainsには1セットのフィードバックゲインしかない:
一方,ModelPredictiveControllerのフィードバックゲインは区分関数である:
LQR閉ループ系のシミュレーションを実行可能領域外の で行う:
実行不可能な初期値 からのMPCコントローラによる閉ループ系の応答:
実行可能な初期値 を使ったLQRとMPCの閉ループ系の応答:
コントローラの応答はLQRコントローラが今回も制御条件を満たしていないことを示している:
MPCコントローラは複数の多重パラメータ最適化問題を解くことで計算される:
ModelPredictiveControllerは基本的に同じ結果を与える:
テキスト
Wolfram Research (2022), ModelPredictiveController, Wolfram言語関数, https://reference.wolfram.com/language/ref/ModelPredictiveController.html.
CMS
Wolfram Language. 2022. "ModelPredictiveController." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ModelPredictiveController.html.
APA
Wolfram Language. (2022). ModelPredictiveController. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ModelPredictiveController.html