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.
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\).
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. \]
\(\overline{\xi} \geq \Vert \xi(t) \Vert\) for all \(t \geq t_0\) is user-defined
\(\underline{\lambda} \in (0,\lambda_{\min}(\Lambda))\) is user-defined
the MRAC law is given by
\[ \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)\).
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
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)\).
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. \]
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
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} \]
\(\Gamma \succ 0_{(2n+m+N) \times (2n+m+N)}\) denotes the adaptive rate matrix, which is user-defined
the augmented regressor vector is defined as
\[ \begin{aligned} \tilde{\pi}(t) &= \begin{bmatrix} x(t) \\ r(t) \\ - \Phi_{\sigma(t)}(t,x(t)) \\ e(t) \end{bmatrix}, \end{aligned} \]
\(e(t) \triangleq x(t) - x_{\rm ref}(t)\) denotes the trajectory tracking error
\(\varepsilon(t) \triangleq e(t) - e_{\rm ref,tran}(t)\) denotes the auxiliary tracking error
\[ 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 \]
\(\delta_0 > 0\) is user-defined and arbitrarily small
\(\eta \in (0,1)\) is user-defined
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} \]
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
For additional information, see
m_nonadaptive_ebci.py