MPCコントローラーでのデータ駆動型と理想的な予測モデルの比較

Aug 20 2020

未知のダイナミクスが想定されるシステムに非線形MPCコントローラーを実装しました。ここで、予測モデルは、に従って離散NARXモデルによって与えられます。

$$y_{k+1} = f(w_k) = f(x_k, x_{k-1}, y_k, y_{k-1}, y_{k-2})$$

ために $y_{k+1} \in \mathbb{R}^{1 \times 1}$、2つの入力遅延があり、 $x$、および3つの出力遅延( $y$。ここに$f(\cdot)$利用可能な入力および出力データから概算されます。これにより、次の状態空間モデルが作成されます。

$$x_{k+1} = \begin{bmatrix} y_{k+1} \\ y_{k} \\ y_{k-1} \\ u_{k-1} \end{bmatrix} = \begin{bmatrix} f(w_k) \\ y_{k} \\ y_{k-1} \\ u_{k-1} \end{bmatrix} $$

データ駆動型MPCコントローラーのパフォーマンスを比較するために、ODEを予測モデルとして使用するMPCコントローラーと比較したいと思います。ODEは離散化され、に従って離散差分モデルとして実装されます。

$$z_{k+1} = g(z_k, u_k)$$

どこ $z_{k+1} \in \mathbb{R}^{3 \times 1}$。予測はそれを使用して取得されます

$$ y_{k+1} = C^{T}z_{k+1}$$

どこ $C = \begin{bmatrix}1 & 0 & 0 \end{bmatrix}$

次に、正確な予測モデルを使用してNARXモデルを作成する必要があります。問題は、2つのコントローラーを可能な限り比較可能にするために、正確な予測モデルを使用した状態空間表現が次のようになるかどうかです。

$$x_{k+1} = \begin{bmatrix} y_{k+1} \\ y_{k} \\ y_{k-1} \\ u_{k-1} \end{bmatrix} = \begin{bmatrix} C^{T}g(z_k, u_k) \\ y_{k} \\ y_{k-1} \\ u_{k-1} \end{bmatrix} $$

これは、次の事実を考慮すると意味がありますか? $g(z_k, u_k)$ 近似モデルのようにNARX状態ベクトル全体に依存しませんか?

回答

1 unobservable_node Aug 20 2020 at 18:48

データ駆動型とモデルベースの両方のシナリオで、状態、出力、入力が異なります。つまり、データ駆動型の場合、MPCコントローラーが$\mathcal{D}$ 入力を生成します $u_k$。ここでは、次のシステムがあります$$ \begin{array}{ccl} x_{k+1} &=& \left[\begin{array}{c} f(w_k) \\ y_k \\ y_{k-1} \\ u_{k-1} \end{array}\right] \\ y_{k+1} &=& f(w_k). \end{array} $$

モデルベースのシナリオの場合、MPCコントローラーが $\mathcal{M}$ (と同じ構造で $\mathcal{D}$ ただし、モデルに依存している)入力を生成します $\hat{u}_k$。ここで、あなたのシステムは次のとおりです$$ \begin{array}{ccl} \hat{x}_{k+1} &=& \left[\begin{array}{c} C^T z_{k+1} \\ \hat{y}_k \\ \hat{y}_{k-1} \\ \hat{u}_{k-1} \end{array}\right] \\ z_{k+1} &=& g(z_k,\hat{u}_k) \\ \hat{y}_{k+1} &=& C^T z_{k+1}. \end{array} $$

これで、両方のコントローラーによって発揮されるエネルギーの観点からそれらを比較できます。 $$ \sum_{k=1}^T \|u_k\|_2 \quad \text{vs.} \quad \sum_{k=1}^T \|\hat{u}_k\|_2. $$ あなたが安定化または調整する場合、あなたはの過渡現象を見ることができます $x_k$ 対。 $\hat{x}_k$、など。