Seguimiento de la referencia
Para seguir la referencia correctamente, debemos hacer un escalado de la referencia trata de responder a la pregunta ¿que valor le debo poner a la referencia para que la salida sea lo que yo quieron en lazo cerrado?
Para que la salida del sistema $y(t)$ tienda al objetivo la señal $r(t)$ debe ser escalada por un factor que se calcula analizando las ecuaciones de estado en estado estacionario (ss). En lazo abierto tenemos:
\[\begin{align} \dot{x}&=A\,x+B\,u \label{state_equation} \\ y&=C\,x \label{output_equation} \end{align}\]En estado estacionario las derivadas son cero ($\dot{x} = 0$), luego:
\[\begin{align} 0&=A\,x_{ss}+B\,u_{ss} \label{state_equation_ss} \\ r_{ss}&=C\,x_{ss}\label{output_equation_ss} \end{align}\]podemos proponer un controlador que escale la referencia de la siguiente forma:
\[u = N\,r - K\,x\]en estado estacionario sería:
\[u_{ss} = N\,r_{ss} - K\,x_{ss}\]si lo remplazamos en (\ref{state_equation_ss}) y de esta despejamos $x$ y lo remplazamos en (\ref{output_equation_ss}) tendremos:
\[\begin{align} 0&= A\,x_{ss}+B\,(N\,r_{ss} - K\,x_{ss}) \\ &= (A-B\,K)\,x_{ss}+B\,N\,r_{ss} \\ \end{align}\] \[x_{ss} = (-A+B\,K)^{-1}B\,N\,r_{ss}\] \[I\,r_{ss} = C\,(-A+B\,K)^{-1}B\,N\,r_{ss}\] \[N = (C\,(-A+B\,K)^{-1}B)^{-1} \label{regularization}\]Esto solo puede ser utilizado si los productos matriciales usados son invertibles, tener cuidado cuando hay valores propios del sistema que son cero.
Ejemplo
Dado el siguiente sistema:
\[\begin{align} \dot{x} &=&\begin{bmatrix} 1 & 1 \\ 1 & 2 \end{bmatrix} &\,x + \begin{bmatrix} 1\\ 0 \end{bmatrix}\, u \\ y &=&\begin{bmatrix} 1 & 0 \end{bmatrix}&\,x \end{align}\]y teniendo un controlador definido como
\[K= \begin{bmatrix} 14 & 57 \end{bmatrix}\]usando la expresión (\ref{regularization}) tendremos que
\[N = -15\]Podemos ver la respuesta para en lazo cerrado para el sistema con la matriz de escalado y sin ella: