Membandingkan model prediksi berbasis data dan ideal dalam pengontrol MPC

Aug 20 2020

Saya telah menerapkan pengontrol MPC nonlinier untuk sistem dengan asumsi dinamika yang tidak diketahui, di mana model prediksi diberikan oleh model NARX diskrit sesuai dengan

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

untuk $y_{k+1} \in \mathbb{R}^{1 \times 1}$, dengan 2 penundaan input, dijelaskan oleh $x$, dan 3 penundaan keluaran, dilambangkan $y$. Sini$f(\cdot)$diperkirakan dari data masukan dan keluaran yang tersedia. Ini menghasilkan model ruang negara berikut:

$$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} $$

Untuk membandingkan kinerja pengontrol MPC berbasis data, saya ingin membandingkannya dengan pengontrol MPC yang menggunakan ODE sebagai model prediksi, karena saya memiliki ini tersedia. ODE didiskritkan dan diimplementasikan sebagai model perbedaan diskrit menurut

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

dimana $z_{k+1} \in \mathbb{R}^{3 \times 1}$. Prediksi diperoleh dengan menggunakan itu

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

dimana $C = \begin{bmatrix}1 & 0 & 0 \end{bmatrix}$.

Sekarang saya perlu merumuskan model NARX menggunakan model prediksi yang tepat. Pertanyaannya sekarang, agar kedua kontroler tersebut dapat dibandingkan, apakah representasi ruang negara yang menggunakan model prediksi yang tepat adalah sebagai berikut.

$$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} $$

Apakah ini masuk akal, mengingat fakta itu $g(z_k, u_k)$ tidak bergantung pada seluruh vektor status NARX seperti pada model yang didekati?

Jawaban

1 unobservable_node Aug 20 2020 at 18:48

Untuk kedua skenario, yaitu, berdasarkan data dan berbasis model, Anda akan memiliki status, keluaran, dan masukan yang berbeda. Artinya, untuk kasus berbasis data, katakanlah pengontrol MPC Anda$\mathcal{D}$ yang menghasilkan masukan $u_k$. Di sini, Anda memiliki sistem berikut$$ \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} $$

Untuk skenario berbasis model, katakanlah pengontrol MPC Anda $\mathcal{M}$ (dengan struktur yang sama seperti $\mathcal{D}$ tetapi memiliki ketergantungan pada model) yang menghasilkan input $\hat{u}_k$. Di sini, sistem Anda adalah sebagai berikut$$ \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} $$

Sekarang Anda dapat membandingkannya dalam hal energi yang diberikan oleh kedua pengontrol, yaitu, $$ \sum_{k=1}^T \|u_k\|_2 \quad \text{vs.} \quad \sum_{k=1}^T \|\hat{u}_k\|_2. $$ Jika Anda menstabilkan atau mengatur, Anda dapat melihat transien dari $x_k$ vs. $\hat{x}_k$, dll.