Model Reference Control
\[ \newcommand{\tuple}[1]{ #1 } \newcommand{\d}{\mathrm d} \newcommand{\tp}[1]{{#1}^{\mathrm T}} \]
Problem statement: We are given a control-affine, single-input-single-output, nonlinear system \[ \begin{align} \dot{x} &=f(x)+g(x)u\\ y &=h(x), \end{align} \qquad(1)\] with state \(x\in\Omega\subset\mathbb R^n\), input \(u\in \mathbb R\), measurement \(y\in\mathbb R\), state dynamics \(f, g:\mathbb R^n\rightarrow\mathbb R^n\), and measurement function \(h:\mathbb R^n\rightarrow \mathbb R\), which are sufficiently smooth. Which input \(u\) makes the output \(y\) equal to the output \(y_m\) of a linear reference system \[ \begin{align} \dot{z} &=Az + br\\ y_m &= \tp{c} z, \end{align} \qquad(2)\] with \(z,b\in \mathbb R^{n'}\), \(A\in\mathbb R^{n'\times n'}\), \(y_m, r\in\mathbb R\) and \(c\in \mathbb R^{n'}\)?
We can get an differential relationship between output \(y\) and input \(u\) by differentiating the output w.r.t. time \[ \begin{aligned} \dot y &= \frac{\d}{\d t}h(x) = \frac{\partial h(x)}{\partial x} \dot x\\ & = \frac{\partial h(x)}{\partial x}\left[f(x) + g(x)u\right]\\ & = L_fh(x) + L_gh(x)u. \end{aligned} \] Here, \(L_fh\) is the Lie or directional derivative of \(h\) along \(f\). If \(\forall x \in \Omega: L_gh(x) \neq 0\), we can express the input as a function of the derivative of the output as \[ u = \frac{1}{L_gh(x)}\left[\dot y - L_fh(x)\right]. \]
The desired output is \(y=y_m\), so \[ \dot y = \dot y_m = \tp{c}\dot z =\tp{c} Az + \tp{c} br, \qquad(3)\] which allows us to compute the required input from the reference input and the states of both systems as \[ u(x, z, r) = \frac{1}{L_gh(x)}\left[- L_fh(x) + \tp c Az + \tp c br\right]. \]
In case that \(\forall x \in \Omega: L_gh(x) = 0\), we have that \(\dot y = L_fh(x)\). We can differentiate the output another time. In general, we have \[ y^{(n)} = L_f^nh(x) + L_gL_f^{n-1}h(x)u. \]
The number of times the output \(y\) has to be differentiated before the input \(u\) appears explicitly is an useful characteristic of the system.
Definition: The \(n\geq1\) for which \(\forall x\in\Omega\):
- \(L_gL_f^{n-1}h(x) \neq 0\) and
- \(\forall 1\leq n'<n:L_gL_f^{n'-1}h(x) = 0\)
is called the relative degree of the system.
Remarks:
- One could define a relative degree of \(n=0\) for a system with control-affine output equation \(y = h(x) + i(x)u\), if \(\forall x \in \Omega: i(x) \neq 0\).
- \(L_gL_f^{n'-1} h(x)\) can be zero at an \(x_0\), but nonzero at points arbitraritly close to it. In this case, the systems relative degree is ill-defined at \(x_0\).
Example: For the linear system in Equation 2, we have \(f(x) = Ax\), \(g(x) = b\), \(h(x) = Cx\). If the system has relative degree \(\gamma'\), we get \[ \forall n < \gamma' - 1: L_g L_f^{n} h = \tp{c} A^{n} b = 0. \qquad(4)\] Additionally, \(\forall n: L_f^{n} h = \tp{c} A^{n} x\). \(\square\)
Let’s assume that the relative degree \(\gamma\) of Equation 1 is well defined on \(\Omega\). Equation 3 for higher orders of differentiation is \[ y_m^{(n)} = \tp c A^nz + \tp c A^{n-1}br + \tp c A^{n-2}b\dot r + \dots + \tp cbr^{(n-1)}. \] If \(\gamma\) is smaller or equal than the relative degree \(\gamma'\) of Equation 2, then the derivative terms of \(r\) vanish due to Equation 4, so \[ y_m^{(\gamma)} = \tp c A^\gamma z + \tp c A^{\gamma-1}br. \] We thus find that the model-reference-tracking law is \[ u(x, z, r) = \frac{1}{L_gL_f^{\gamma-1}h(x)}\left[- L_f^{\gamma}h(x) + \tp c A^\gamma z + \tp c A^{\gamma-1}br\right], \qquad(5)\] which is equivalent to equation 9.102 in Sastry (1999).
Remarks:
- If \(\gamma' > \gamma\), we have \(\tp c A^{\gamma-1}b = 0\) by Equation 4, and the model-reference-tracking input \(u\) is only dependent on the state \(z\) of the tracking system and not on it’s reference input \(r\).
- If \(\gamma'<\gamma\), the control law can be extended with derivatives of the reference signal \(r\).
- The tracking with Equation 5 is based on specifying the \(\gamma\)-th derivative of \(y\). For \(y\) to track \(y_m\), we thus need the outputs to have the same initial conditions \[\forall n < \gamma: y^{(n)}(t=0) = y_m^{(n)}(t=0).\]
Franz’ open questions:
- Are the relative degrees of a nonlinear system and it’s linearization around \(x=0\) always equal? Under which conditions could they be different?
- Can we simplify Equation 5 for the special case where \(A, b, c\) come from the linearized system?