Variable Structure MRAC

1. Limitations of Classical Robust MRAC Systems

Classical robustifications of MRAC, such as those discussed in the Classical and Robust MRAC Overview, only guarantee that the norms of the trajectory tracking error is smaller than some ultimate bound that depends on the largest known upper bound on the unmatched uncertainties and, in pracrice, it can not be tuned.

🔬 Example

Applying the continuous convex projection operator to robustify classical MRAC adaptive laws, the ultimate bound on the trajectory tracking error is given by

\[ \epsilon_0 \triangleq 2 \frac{\lambda_{\max}(P)}{\lambda_{\min}(Q)} \overline{\xi}. \]

In principle, the pair of positive-definite matrices \((P,Q)\) can be chosen to minimize \(\frac{\lambda_{\max}(P)}{\lambda_{\min}(Q)}\).

However, in practice, this ratio has a strong impact on the system’s ability to adapt and small values of \(\frac{\lambda_{\max}(P)}{\lambda_{\min}(Q)}\) lead to poor adaptation.

In practice, \(\frac{\lambda_{\max}(P)}{\lambda_{\min}(Q)}\) is tuned to enforce satisfactory adaptation and not (at least, not primarily) to tune \(\epsilon_0\).


2. Variable Structure MRAC – A Continuous Formulation

Consider the plant model

\[ \dot{x}(t) = A x(t) + B \Lambda [u(t) + \Theta^{\rm T} \Phi(t,x(t))] + \xi(t), \quad x(t_0) = x_0, \quad t \geq t_0, \]

where

Variable structure MRAC systems set

\[ u(t) = \phi(\hat{K}(t),\pi(t)) + \psi(e(t)), \quad t \geq t_0, \]

where

\[ \psi(e) \triangleq \left\{ \begin{array}{ll} - \dfrac{\overline{\xi}}{\underline{\lambda}} \dfrac{B^{\rm T} P e}{\Vert B^{\rm T} P e \Vert^2} \displaystyle \sum_{i = 1}^n \left \vert \left( P e \right)_i \right \vert, & {\text{if }} \Vert B^{\rm T} P e \Vert \geq \delta_0, \\ 0_m, & {\text{otherwise},} \end{array} \right. \]

\[ \phi(\hat{K},\pi) \triangleq \hat{K}^{\rm T} \pi, \quad (\hat{K},\pi) \in \mathbb{R}^{(n+m+N) \times m} \times \mathbb{R}^{(n+m+N)}, \]

\[ \pi(t) \triangleq \begin{bmatrix} x(t) \\ r(t) \\ - \Phi(t,x(t)) \end{bmatrix} \]

\[ \begin{aligned} \dot{\hat{K}}(t) &= {\rm Proj}\left(\hat{K}(t), - \mu_{\rm ramp}(e(t),\delta_0) \Gamma \pi(t) e^{\rm T}(t) P B \right), \\ &\quad \hat{K}(t_0) = \hat{K}_0, \quad t \geq t_0, \end{aligned} \]

\[ \mu_{\rm ramp}(e,\delta_0) \triangleq \begin{cases} 1, & \text{if } \lVert e \rVert \geq \delta_0, \\[6pt] \dfrac{\lVert e \rVert - \eta \delta_0}{(1 - \eta)\epsilon_0}, & \text{if } \lVert e \rVert \in [\eta \delta_0, \delta_0], \\[6pt] 0, & \text{if } \lVert e \rVert \leq \eta \delta_0, \end{cases} \quad e \in \mathbb{R}^n \]

The matrix continuous convex projection operator is defined as

\[ \begin{aligned} {\rm Proj}(K,K_{\rm d}) &\triangleq \left[{\rm proj}(k_1,k_{\rm d,1}), \ldots, {\rm proj}(k_m,k_{{\rm d},m}) \right], \\ &\quad \quad (K,K_{\rm d}) \in \mathbb{R}^{(n+m+N) \times m} \times \mathbb{R}^{(n+m+N) \times m} \end{aligned} \]

where

\[ \begin{aligned} \mathrm{proj}(k,k_{\mathrm d}) &\triangleq \begin{cases} k_{\mathrm d} - h(k)\, \dfrac{ \left( \dfrac{\partial h(k)}{\partial k} \right)^{\mathrm T} \dfrac{\partial h(k)}{\partial k} }{ \dfrac{\partial h(k)}{\partial k} \left( \dfrac{\partial h(k)}{\partial k} \right)^{\mathrm T} } \, k_{\mathrm d}, & (k,k_{\mathrm d}) \in \mathcal{S}, \\ k_{\mathrm d}, & \text{otherwise}, \end{cases} \\[1ex] h(k) &\triangleq \frac{(1+\varepsilon)(k-k_{\mathrm e})^{\mathrm T} \mathrm{diag}^{-1}(s s^{\mathrm T}) (k-k_{\mathrm e}) - 1}{\varepsilon} \end{aligned} \]

The function \(h(\cdot)\) defines the ellpsoid

\[ \overline{\Omega}_1 \triangleq \left\{k \in \mathbb{R}^{n+m+N} : h(k) \leq 1 \right\} \]

centered in \(k_{\rm e}\) and whose semi-major axes are given by the components of \(s\). This ellipsoid is a constraint set of each column of \(\hat{K}(\cdot)\).

Key results

Assume that there exist \(K_x \in \mathbb{R}^{n \times m}\) and \(K_r \in \mathbb{R}^{m \times m}\) such that the matching conditions are verified.

Assume that \(K \triangleq \left[K_x^{\rm T}, K_r^{\rm T}, \Theta^{\rm T} \right]^{\rm T}\), and assume that \(k_i \in \overline{\Omega}_1\) for all \(i \in \{1, \ldots, m \}\).

This variable-structure MRAC system guarantees

💡 How to Set \(\delta_0\)

Ideally, we can set \(\delta_0 \geq 0\) arbitrarily small.

In practice, we should set \(\delta_0 \in \left(0, 2 \dfrac{\lambda_{\max}(P)}{\lambda_{\min}(Q)} \overline{\xi} \right)\).


3. Two-Layer Variable Structure MRAC – A Continuous Formulation

Two-layer MRAC can be extented to the variable structure framework as follows.

Two-layer variable structure MRAC systems set

\[ u(t) = \phi(\tilde{K}(t),\tilde{\pi}(t)) + \psi_{\rm tran}(\varepsilon(t)), \quad t \geq t_0, \]

where

\[ \psi_{\rm tran}(\varepsilon) \triangleq \left\{ \begin{array}{ll} - \dfrac{\overline{\xi}}{\underline{\lambda}} \dfrac{B^{\rm T} P_{\rm tran} \varepsilon}{\Vert B^{\rm T} P_{\rm tran} \varepsilon \Vert^2} \displaystyle \sum_{i = 1}^n \left \vert \left( P_{\rm tran} \varepsilon \right)_i \right \vert, & {\text{if }} \Vert B^{\rm T} P_{\rm tran} \varepsilon \Vert \geq \delta_0, \\ 0_m, & {\text{otherwise},} \end{array} \right. \]

\[ \phi(\tilde{K},\tilde{\pi}) \triangleq \tilde{K}^{\rm T} \tilde{\pi}, \quad (\tilde{K},\tilde{\pi}) \in \mathbb{R}^{(2n+m+N) \times m} \times \mathbb{R}^{(2n+m+N)}, \]

\[ \tilde{\pi}(t) \triangleq \begin{bmatrix} x(t) \\ r(t) \\ - \Phi(t,x(t)) \\ e(t) \end{bmatrix} \]

\[ \begin{aligned} \dot{\tilde{K}}(t) &= {\rm Proj}\left(\tilde{K}(t), - \mu_{\rm ramp}(\varepsilon(t),\delta_0) \Gamma \tilde{\pi}(t) \varepsilon^{\rm T}(t) P_{\rm tran} B \right), \\ &\quad \tilde{K}(t_0) = \tilde{K}_0, \quad t \geq t_0, \end{aligned} \]

\[ e_{\rm ref,tran}(t) = {\rm exp}\left(A_{\rm tran}(t-t_0)\right) e_{\rm ref,tran}(t_0), \quad{} t \geq t_0 \]

\[ {\rm Re}\left(\lambda_{\max}(A_{\rm tran})\right) < {\rm Re}\left(\lambda_{\max}(A_{\rm ref})\right) \]

(i.e., the eigenvalues of \(A_{\rm tran}\) are all to the left of the eigenvalues of \(A_{\rm ref}\) in the complex plane)

\[ A_{\rm tran}^{\rm T} P_{\rm tran} + P_{\rm tran} A_{\rm tran} = - Q. \]

Key results

Assume that there exist \(K_x \in \mathbb{R}^{n \times m}\), \(K_r \in \mathbb{R}^{m \times m}\), and \(K_g \in \mathbb{R}^{n \times g}\) such that the matching conditions

\[ \begin{aligned} A_{\rm ref} &= A + B \Lambda K_x^{\rm T}, \\ B_{\rm ref} &= B \Lambda K_r^{\rm T}, \\ A_{\rm tran} &= A_{\rm ref} + B \Lambda K_g^{\rm T} \end{aligned} \]

are verified.

Assume that \(K \triangleq \left[K_x^{\rm T}, K_r^{\rm T}, \Theta^{\rm T}, K_g^{\rm T} \right]^{\rm T}\), and assume that \(k_i \in \overline{\Omega}_1\) for all \(i \in \{1, \ldots, m \}\).

This rwo-layer variable-structure MRAC system guarantees

4. Two-Layer Variable Structure MRAC – A Hybrid Systems Formulation

Consider the hybrid plant model

\[ \begin{aligned} \begin{bmatrix} \dot{x}(t) \\ \dot{\sigma}(t) \end{bmatrix} &= \begin{bmatrix} A_{\sigma(t)} x(t) + B_{\sigma(t)} \Lambda \left[u(t) + \Theta_{\sigma(t)}^{\rm T} \Phi_{\sigma(t)}(t,x(t)) \right] \\ 0 \end{bmatrix} \nonumber \\ &\hspace{1.0em} + \begin{bmatrix} \xi_{\sigma(t)}(t) \\ 0 \end{bmatrix}, \quad \begin{bmatrix} x(t_0) \\ \sigma(t_0) \end{bmatrix} = \begin{bmatrix} x_0 \\ \sigma_0 \end{bmatrix}, \quad (t,x(t)) \notin \mathcal{D}_{\sigma(t)}, \\ \begin{bmatrix} x(t^+) \\ \sigma(t^+) \end{bmatrix} &= g_{{\rm d},\sigma(t)}(t,x(t)), \quad (t,x(t)) \in \mathcal{D}_{\sigma(t)}, \end{aligned} \]

and the reference model

\[ \begin{aligned} \begin{bmatrix} \dot{x}_{\rm ref}(t) \\ \dot{\sigma}(t) \end{bmatrix} &= \begin{bmatrix} A_{\rm ref,\sigma(t)} x_{\rm ref}(t) + B_{\rm ref,\sigma(t)} r(t) \\ 0 \end{bmatrix}, \nonumber \\ &\hspace{0.5em} \begin{bmatrix} x_{\rm ref}(t_0) \\ \sigma(t_0) \end{bmatrix} = \begin{bmatrix} x_{{\rm ref},0} \\ \sigma_0 \end{bmatrix}, \,\,\, (t,x_{\rm ref}(t)) \notin \mathcal{D}_{{\rm ref},\sigma(t)}, \\ \begin{bmatrix} x_{\rm ref}(t^+) \\ \sigma(t^+) \end{bmatrix} &= g_{{\rm d, ref}, \sigma(t)}(t,x_{\rm ref}(t)), \,\,\, (t,x_{\rm ref}(t)) \in \mathcal{D}_{{\rm ref},\sigma(t)}. \end{aligned} \]

For additional details, see the notes on two-layer hybrid MRAC.

Two-layer variable structure MRAC systems for hybrid plant models set \[ u(t) = \phi(\tilde{K}(t),\tilde{\pi}(t))+ \psi_{\rm tran}(\varepsilon(t)), \quad t \geq t_0, \]

where

\[ \psi_{\rm tran}(\varepsilon) \triangleq \left\{ \begin{array}{ll} - \dfrac{\overline{\xi}}{\underline{\lambda}} \dfrac{B_{\sigma}^{\rm T} P_{\rm tran,\sigma} \varepsilon}{\Vert B_{\sigma}^{\rm T} P_{\rm tran,\sigma} \varepsilon \Vert^2} \displaystyle \sum_{i = 1}^n \left \vert \left( P_{\rm tran,\sigma} \varepsilon \right)_i \right \vert, & {\text{if }} \Vert B_{\sigma}^{\rm T} P_{\rm tran,\sigma} \varepsilon \Vert \geq \delta_0, \\ 0_m, & {\text{otherwise},} \end{array} \right. \]

\[ \phi(\tilde{K},\tilde{\pi}) \triangleq \tilde{K}^{\rm T} \tilde{\pi}, \quad (\tilde{K},\tilde{\pi}) \in \mathbb{R}^{(2n+m+N) \times m} \times \mathbb{R}^{(2n+m+N)}, \]

\[ \begin{aligned} \dot{\tilde{K}}(t) &= {\rm Proj}\left(\tilde{K}(t), - \mu_{\rm ramp}(\varepsilon(t),\epsilon_0) \Gamma \tilde{\pi}(t) \varepsilon^{\rm T}(t) P_{{\rm tran},\sigma(t)} B_{\sigma(t)} \right), \\ &\quad \tilde{K}(t_0) = \tilde{K}_0, \quad t \geq t_0, \end{aligned} \]

\[ \begin{aligned} \tilde{\pi}(t) &= \begin{bmatrix} x(t) \\ r(t) \\ - \Phi_{\sigma(t)}(t,x(t)) \\ e(t) \end{bmatrix}, \end{aligned} \]

\[ e_{\rm ref,tran}(t) = {\rm exp}\left(A_{\rm tran,\sigma}(t-t_0)\right) e_{\rm ref,tran}(t_0), \quad{} t \geq t_0 \]

\[ {\rm Re}\left(\lambda_{\max}(A_{\rm tran,\sigma})\right) < {\rm Re}\left(\lambda_{\max}(A_{\rm ref,\sigma})\right) \]

(i.e., the eigenvalues of \(A_{\rm tran,\sigma}\) are all to the left of the eigenvalues of \(A_{\rm ref,\sigma}\) in the complex plane)

\[ A_{\rm tran, \sigma}^{\rm T} P_{\rm tran, \sigma} + P_{\rm tran, \sigma} A_{\rm tran,\sigma} = - Q_{\sigma} \]

\[ \mu_{\rm ramp}(e,\epsilon_0) \triangleq \begin{cases} 1, & \text{if } \lVert e \rVert \geq \delta_0, \\[6pt] \dfrac{\lVert e \rVert - \eta \epsilon_0}{(1 - \delta)\delta_0}, & \text{if } \lVert e \rVert \in [\eta \delta_0, \delta_0], \\[6pt] 0, & \text{if } \lVert e \rVert \leq \eta \epsilon_0, \end{cases} \quad e \in \mathbb{R}^n \]

resets the reference model at

\[ \begin{aligned} &t_{{\rm ref},i_w} \triangleq \inf \Bigg\{t > \max\{t_{{\rm plant},i}, t_{{\rm ref},i_w - 1}\} : \int_{t_0}^t W(e(\tau)) {\rm d} \tau \nonumber \\ &\hspace{7.0em} \geq \sum_{j = 1}^{k - 1} \left[ e^{\rm T}(t_j^+) P_\sigma e(t_j^+) - e^{\rm T}(t_j) P_\sigma e(t_j) \right] \Bigg\} \end{aligned} \]

with

\[ g_{{\rm d, ref}, \sigma}(t_{{\rm ref},i_w},x_{\rm ref}(t_{{\rm ref},i_w})) \triangleq \begin{bmatrix} x_{\rm ref}(t_{{\rm ref},i_w}^+) \\ 0_n \end{bmatrix} \]

where

\[ \begin{aligned} x_{\rm ref}(t_{{\rm ref},i_w}^+) &= x(t_{{\rm ref},i_w}) - e_{\rm tran}(t_{{\rm ref},i_w}) \nonumber \\ &\quad{} - \sqrt{\frac{\varepsilon^{\rm T}(t_{{\rm ref},i_w}) P_{\rm tran, \sigma(t_{{\rm ref},i_w})} \varepsilon(t_{{\rm ref},i_w}) - z_{{\rm ref},i_w}} {\varepsilon^{\rm T} (t_{{\rm ref},i_w}) P_{\rm tran, \sigma(t_{{\rm ref},i_w})} \varepsilon(t_{{\rm ref},i_w})}} \nonumber \\ &\quad\quad \cdot P_{\rm tran, \sigma(t_{{\rm ref},i_w}^+)}^{-\frac{1}{2}} P_{\rm tran, \sigma(t_{{\rm ref},i_w})}^{\frac{1}{2}} \varepsilon(t_{{\rm ref},i_w}), \quad{} (i,w) \in \mathbb{N} \times \mathbb{N}. \end{aligned} \]

and resets the auxiliary tracking error at

\[ \begin{aligned} &t_{{\rm tran},i_{w_q}} \nonumber \\ &\quad \triangleq \inf \Bigg\{t > \max\{t_{{\rm plant},i},t_{{\rm ref},i_w - 1},t_{{\rm tran},i_{w_q} - 1}\} : \nonumber \\ &\quad \int_{t_0}^t W(e_{\rm tran}(\tau)) {\rm d} \tau \nonumber \\ &\quad\quad \geq \max \Bigg\{\sum_{j = 1}^{k-1} \left[\varepsilon^{\rm T}(t_j^+) P_{\rm tran, \sigma} \varepsilon(t_j^+) - \varepsilon^{\rm T}(t_j) P_{\rm tran, \sigma} \varepsilon(t_j) \right], \nonumber \\ &\quad\quad \sum_{j = 1}^{k-1} \left[e_{\rm tran}^{\rm T}(t_j^+) P_{\rm tran, \sigma} e_{\rm tran}(t_j^+) - e_{\rm tran}^{\rm T}(t_j) P_{\sigma} e_{\rm tran}(t_j) \right] \Bigg\} \Bigg\}. \end{aligned} \]

with

\[ \begin{aligned} &e_{\rm tran}(t_{{\rm tran},i_{w_q}}^+) \nonumber \\ &= - \sqrt{\frac{e_{\rm tran}^{\rm T}(t_{{\rm tran},i_{w_q}}) P_{\rm tran, \sigma} e_{\rm tran}(t_{{\rm tran},i_{w_q}}) - z_{{\rm tran},i_{w_q}}}{e_{\rm tran}^{\rm T} (t_{{\rm tran},i_{w_q}}) P_{\rm tran, \sigma(t_{{\rm ref},i_{w_q}})} e_{\rm tran}(t_{{\rm ref},i_{w_q}})}} \nonumber \\ &\hspace{1.0em} \cdot P_{\rm tran, \sigma}^{-\frac{1}{2}} P_{\rm tran, \sigma(t_{{\rm ref},i_{w_q}})}^{\frac{1}{2}} e_{\rm tran}(t_{{\rm tran},i_{w_q}}), \quad{} (i,w,q) \in \mathbb{N} \times \mathbb{N} \times \mathbb{N}. \end{aligned} \]

Key results

Assume that there exist \(K_{x,\sigma} \in \mathbb{R}^{n \times m}\), \(K_{r,\sigma} \in \mathbb{R}^{m \times m}\), \(K_{g,\sigma} \in \mathbb{R}^{n \times m}\) such that the matching conditions

\[ \begin{aligned} A_{\rm ref,\sigma} &= A_{\sigma} + B_{\sigma} \Lambda K_{x,\sigma}^{\rm T}, \\ B_{\rm ref,\sigma} &= B_{\sigma} \Lambda K_{r,\sigma}^{\rm T}, \\ A_{\rm tran,\sigma} &= A_{\rm ref, \sigma} + B_{\sigma} \Lambda K_{g,\sigma}^{\rm T} \end{aligned} \]

are verified.

Two-layer variable-structure hybrid MRAC guarantees

5. Additional Reading Material

For additional information, see

6. Implementation