Estabilización de sistemas LTI

IE3041 - Sistemas de Control 2

¿Qué tenemos hasta el momento?

x_1
x_2

Estabilidad en sistemas no lineales

x_1
x_2

Estabilidad en sistemas no lineales

x_1
x_2

Estabilidad en sistemas no lineales

x_1
x_2

Estabilidad en sistemas no lineales

x_1
x_2

región de atracción

Estabilidad en sistemas no lineales

x_1
x_2

Estabilidad en sistemas no lineales

x_1
x_2

Estabilidad en sistemas no lineales

x_1
x_2

Estabilidad en sistemas no lineales

\mathbf{x}_0

Control bajo esta perspectiva

\mathbf{x}_0

Control bajo esta perspectiva

\mathbf{x}_0
\mathbf{x}_{ss}

Control bajo esta perspectiva

\mathbf{x}_0
\mathbf{x}_{ss}

si podemos codificar una tarea u objetivo mediante un punto de equilibrio o de operación...

Control bajo esta perspectiva

x_1
x_2
\mathbf{x}_0

Control bajo esta perspectiva

\mathbf{x}_0
\mathbf{x}_{ss}

si podemos codificar una tarea u objetivo mediante un punto de equilibrio o de operación...

...¿Qué debería hacer  el control?

Control bajo esta perspectiva

x_1
x_2
\mathbf{x}_0

Control bajo esta perspectiva

x_1
x_2
\mathbf{x}_0

Control bajo esta perspectiva

garantizar que el punto de equilibrio u operación sea (localmente) asintóticamente estable

\mathbf{x}_0

Control bajo esta perspectiva

\(\Rightarrow\) problema de estabilización

garantizar que el punto de equilibrio u operación sea (localmente) asintóticamente estable

Control bajo esta perspectiva

\mathbf{x}_0

El problema de estabilización

¿Cómo hago para que el sistema llegue al equilibrio?

¿Cómo hago para que el sistema llegue al equilibrio?

\dot{\mathbf{x}}=\mathbf{0}

¿Cómo hago para que el sistema llegue al equilibrio?

\dot{\mathbf{x}}=\mathbf{0}

Estabilización

\left(\mathbf{x}^*, \mathbf{u}^*\right), \ \mathbf{u}^*=\mathbf{0}

¿Cómo hago para que el sistema llegue al equilibrio?

\dot{\mathbf{x}}=\mathbf{0}

Estabilización

\left(\mathbf{x}^*, \mathbf{u}^*\right), \ \mathbf{u}^*=\mathbf{0}

Regulación

\left(\mathbf{x}_{ss}, \mathbf{u}_{ss}\right), \ \mathbf{u}_{ss}\ne \mathbf{0}

referencia constante en control clásico

en control clásico, el controlador responde a ¿Cómo hago que el sistema presente cierto comportamiento deseado?

Estabilización vs control clásico

¿En qué se parece y en qué difiere esta perspectiva con la de estabilización?

Estabilización vs control clásico

en control clásico, el controlador responde a ¿Cómo hago que el sistema presente cierto comportamiento deseado?

controlador

sensor

PID | Lead-Lag

\boldsymbol{+}
\boldsymbol{-}

salida

referencia

controlador

sensor

PID | Lead-Lag

\boldsymbol{+}
\boldsymbol{-}

salida

referencia

r
e
u
y
e=r-y
u=\mathrm{PID}(e)
u=\mathrm{Lead-Lag}(e)
e=r-y
\Rightarrow e=f(y)

cte. (regulación)

u=\mathrm{PID}(e)
u=\mathrm{Lead-Lag}(e)
e=r-y
u=f(y)
\Rightarrow e=f(y)

retroalimentación de salida

(output feedback)

cte. (regulación)

¿Será que hacer output feedback es la mejor idea en control moderno?

¿Será que hacer output feedback es la mejor idea en control moderno?

controlador

sensor

PID | Lead-Lag

\mathbf{x}
\dot{\mathbf{x}}
\boldsymbol{+}
\boldsymbol{-}

salida

referencia

r
e
u
y

¿Será que hacer output feedback es la mejor idea en control moderno?

controlador

sensor

PID | Lead-Lag

\mathbf{x}
\dot{\mathbf{x}}
\boldsymbol{+}
\boldsymbol{-}

salida

referencia

r
e
u
y

en general

\(\dim(\mathbf{x}) \ge \dim(\mathbf{y})\)

¿Será que hacer output feedback es la mejor idea en control moderno?

controlador

sensor

PID | Lead-Lag

\mathbf{x}
\dot{\mathbf{x}}
\boldsymbol{+}
\boldsymbol{-}

salida

referencia

r
e
u
y

en general

\(\dim(\mathbf{x}) \ge \dim(\mathbf{y})\)

NO, ya que tenemos a la mano el estado que provee más información que la salida

¿Será que hacer output feedback es la mejor idea en control moderno?

controlador

sensor

PID | Lead-Lag

\mathbf{x}
\dot{\mathbf{x}}
\boldsymbol{+}
\boldsymbol{-}

salida

referencia

r
e
u
y

en general

\(\dim(\mathbf{x}) \ge \dim(\mathbf{y})\)

NO, ya que tenemos a la mano el estado que provee más información que la salida

\(\Rightarrow\) retroalimentación de estado

(state feedback)

\mathbf{u} \equiv \mathbf{u}\left(\mathbf{x}\right)
\begin{cases} \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \mathbf{y}=\mathbf{h}\left(\mathbf{x},\mathbf{u}\right) \\ \mathbf{x}(t_0)=\mathbf{x}_0\end{cases}

Estabilización con state feedback

\begin{cases} \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \mathbf{y}=\mathbf{h}\left(\mathbf{x},\mathbf{u}\right) \\ \mathbf{x}(t_0)=\mathbf{x}_0\end{cases}
+ \\ \left(\mathbf{x}^*,\mathbf{u}^*\right) \text{ o } \left(\mathbf{x}_{ss},\mathbf{u}_{ss}\right)

Estabilización con state feedback

\begin{cases} \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \mathbf{y}=\mathbf{h}\left(\mathbf{x},\mathbf{u}\right) \\ \mathbf{x}(t_0)=\mathbf{x}_0\end{cases}
+ \\ \left(\mathbf{x}^*,\mathbf{u}^*\right) \text{ o } \left(\mathbf{x}_{ss},\mathbf{u}_{ss}\right)
\dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}(\mathbf{x})\right)

Estabilización con state feedback

\begin{cases} \dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}\right) \\ \mathbf{y}=\mathbf{h}\left(\mathbf{x},\mathbf{u}\right) \\ \mathbf{x}(t_0)=\mathbf{x}_0\end{cases}
+ \\ \left(\mathbf{x}^*,\mathbf{u}^*\right) \text{ o } \left(\mathbf{x}_{ss},\mathbf{u}_{ss}\right)
\dot{\mathbf{x}}=\mathbf{f}\left(\mathbf{x}, \mathbf{u}(\mathbf{x})\right)

encontrar, tal que

sea (localmente) asintóticamente estable

Estabilización con state feedback

lastimosamente este problema es muy general y difícil, y NO existe una solución definitiva

lastimosamente este problema es muy general y difícil, y NO existe una solución definitiva

Control óptimo

Data-driven control

Control robusto

Control no lineal

Control adaptable

lastimosamente este problema es muy general y difícil, y NO existe una solución definitiva

de nuevo tenemos que ser más específicos

Control óptimo

Data-driven control

Control robusto

Control no lineal

Control adaptable

Control lineal de sistemas LTI

\begin{cases} \dot{\mathbf{x}}=\mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u} \\ \mathbf{y}=\mathbf{C}\mathbf{x} \\ \mathbf{x}(t_0)=\mathbf{x}_0\end{cases}
\begin{cases} \dot{\mathbf{x}}=\mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u} \\ \mathbf{y}=\mathbf{C}\mathbf{x} \\ \mathbf{x}(t_0)=\mathbf{x}_0\end{cases}
+ \\ \left(\mathbf{x}^*,\mathbf{u}^*\right) = \left(\mathbf{0},\mathbf{0}\right)

único punto de equilibrio

\begin{cases} \dot{\mathbf{x}}=\mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u} \\ \mathbf{y}=\mathbf{C}\mathbf{x} \\ \mathbf{x}(t_0)=\mathbf{x}_0\end{cases}
+ \\ \left(\mathbf{x}^*,\mathbf{u}^*\right) = \left(\mathbf{0},\mathbf{0}\right)

único punto de equilibrio

estabilizar \(\equiv\) estabilizar el sistema

\begin{cases} \dot{\mathbf{x}}=\mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u} \\ \mathbf{y}=\mathbf{C}\mathbf{x} \\ \mathbf{x}(t_0)=\mathbf{x}_0\end{cases}
+ \\ \left(\mathbf{x}^*,\mathbf{u}^*\right) = \left(\mathbf{0},\mathbf{0}\right)

único punto de equilibrio

estabilizar \(\equiv\) estabilizar el sistema

propuesta:

\mathbf{u}= \mathbf{u}\left(\mathbf{x}\right)= -\mathbf{K}\mathbf{x}, \\ \mathbf{K}\in\mathbb{R}^{m \times n}

(ctes.)

\mathbf{B}
\boldsymbol{+}
\boldsymbol{\int}
\mathbf{C}
\mathbf{A}
\mathbf{u}
\mathbf{y}
\dot{\mathbf{x}}
\mathbf{x}
\mathbf{B}
\boldsymbol{+}
\boldsymbol{\int}
\mathbf{C}
\mathbf{A}
\mathbf{u}
\mathbf{y}
\dot{\mathbf{x}}
\mathbf{x}
\mathbf{x}

state feedback

\mathbf{B}
\boldsymbol{+}
\boldsymbol{\int}
\mathbf{C}
\mathbf{A}
\mathbf{u}
\mathbf{y}
\dot{\mathbf{x}}
\mathbf{x}
\mathbf{K}
\mathbf{x}

controlador lineal

state feedback

\mathbf{B}
\boldsymbol{+}
\boldsymbol{\int}
\mathbf{C}
\mathbf{A}
\mathbf{u}
\mathbf{y}
\dot{\mathbf{x}}
\mathbf{x}
\mathbf{K}
\mathbf{x}
(-1)

controlador lineal

state feedback

retroalimentación negativa

\mathbf{B}
\boldsymbol{+}
\boldsymbol{\int}
\mathbf{C}
\mathbf{A}
\mathbf{u}
\mathbf{y}
\dot{\mathbf{x}}
\mathbf{x}
\mathbf{K}
\mathbf{x}
(-1)

controlador lineal

state feedback

retroalimentación negativa

NO podemos acceder directamente a \(\mathbf{x}\)

\mathbf{B}
\boldsymbol{+}
\boldsymbol{\int}
\mathbf{C}
\mathbf{A}
\mathbf{u}
\dot{\mathbf{x}}
\mathbf{x}
\mathbf{K}
\mathbf{x}
(-1)

controlador lineal

state feedback

retroalimentación negativa

???
\mathbf{y}
\mathbf{B}
\boldsymbol{+}
\boldsymbol{\int}
\mathbf{C}
\mathbf{A}
\mathbf{u}
\dot{\mathbf{x}}
\mathbf{x}
\mathbf{K}
\mathbf{x}
(-1)

controlador lineal

state feedback

retroalimentación negativa

???

observador de estado

(más adelante)

\mathbf{y}
\mathbf{B}
\boldsymbol{+}
\boldsymbol{\int}
\mathbf{C}
\mathbf{A}
\mathbf{u}
\dot{\mathbf{x}}
\mathbf{x}
\mathbf{K}
\mathbf{x}
(-1)

controlador lineal

state feedback

retroalimentación negativa

???

observador de estado

(más adelante)

para diseño de control asumiremos que ya lo tenemos

\mathbf{y}
\dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u}
\dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u}
\dot{\mathbf{x}}=\mathbf{A}\mathbf{x}-\mathbf{B}\mathbf{K}\mathbf{x}=\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\mathbf{x}
\mathbf{u}\left(\mathbf{x}\right)=-\mathbf{K}\mathbf{x}
\dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u}
\dot{\mathbf{x}}=\mathbf{A}\mathbf{x}-\mathbf{B}\mathbf{K}\mathbf{x}=\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\mathbf{x}
\mathbf{u}\left(\mathbf{x}\right)=-\mathbf{K}\mathbf{x}
\mathbf{A}_{c\ell}
\Rightarrow \dot{\mathbf{x}}=\mathbf{A}_{c\ell}\mathbf{x}
\dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u}
\dot{\mathbf{x}}=\mathbf{A}\mathbf{x}-\mathbf{B}\mathbf{K}\mathbf{x}=\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\mathbf{x}
\mathbf{u}\left(\mathbf{x}\right)=-\mathbf{K}\mathbf{x}
\mathbf{A}_{c\ell}
\Rightarrow \dot{\mathbf{x}}=\mathbf{A}_{c\ell}\mathbf{x}
\mathbf{x}(t)=e^{\mathbf{A}_{c\ell}(t-t_0)}\mathbf{x}(t_0)

¿Qué debe cumplirse para que el sistema sea G.A.S.?

Dos preguntas fundamentales

¿Qué debe cumplirse para que el sistema sea G.A.S.?

los eigenvalores/polos de \(\mathbf{A}_{c\ell}\) estén todos en el lado izquierdo del plano complejo

\(\mathbf{A}_{c\ell}\) sea Hurwitz o matriz de estabilidad

\equiv

Dos preguntas fundamentales

¿Cuándo tiene solución el problema?

Dos preguntas fundamentales

¿Cuándo tiene solución el problema?

Dos preguntas fundamentales

cuando tenemos suficiente autoridad de control sobre él

¿Cuándo tiene solución el problema?

Dos preguntas fundamentales

cuando tenemos suficiente autoridad de control sobre él

\(\Rightarrow\) controlabilidad

¿Cómo sabemos que podemos controlar un sistema?

Controlabilidad

Teorema:

Controlabilidad

\begin{cases} \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \\ \mathbf{x}(t_0) \end{cases}

es completamente controlable (C.C.) ssi

Teorema:

Controlabilidad

\begin{cases} \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \\ \mathbf{x}(t_0) \end{cases}

es completamente controlable (C.C.) ssi

\mathrm{rank}\left(\mathbf{\Gamma}\right)=n
\mathbf{\Gamma}=\begin{bmatrix} \mathbf{B} & \mathbf{A}\mathbf{B} & \mathbf{A}^2\mathbf{B} & \mathbf{A}^3\mathbf{B} & \cdots & \mathbf{A}^{n-1}\mathbf{B} \end{bmatrix}

matriz de controlabilidad del sistema

Teorema:

Controlabilidad

\begin{cases} \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \\ \mathbf{x}(t_0) \end{cases}

es completamente controlable (C.C.) ssi

\mathrm{rank}\left(\mathbf{\Gamma}\right)=n
\mathbf{\Gamma}=\begin{bmatrix} \mathbf{B} & \mathbf{A}\mathbf{B} & \mathbf{A}^2\mathbf{B} & \mathbf{A}^3\mathbf{B} & \cdots & \mathbf{A}^{n-1}\mathbf{B} \end{bmatrix}

matriz de controlabilidad del sistema

Gamma = ctrb(A, B)
rank(Gamma)
\text{¿Es } \quad \dot{\mathbf{x}}=\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}\mathbf{x}+\begin{bmatrix} 0 \\ 1 \end{bmatrix}u \quad \text{ controlable?}

Ejemplo

\text{¿Es } \quad \dot{\mathbf{x}}=\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}\mathbf{x}+\begin{bmatrix} 0 \\ 1 \end{bmatrix}u \quad \text{ controlable?}

Ejemplo

Sí, porque \(\mathrm{rank}(\Gamma)=2=n\).

Algunas observaciones adicionales

matriz \(\mathbf{B} \sim\) actuadores \(\sim \) controlabilidad 

Algunas observaciones adicionales

matriz \(\mathbf{B} \sim\) actuadores \(\sim \) controlabilidad 

\(\mathcal{R}\left(\mathbf{\Gamma}\right)\) subespacio alcanzable del sistema

todas las combinaciones posibles de las variables de estado que pueden obtenerse con la configuración de entradas actuales

\dot{\mathbf{x}}=\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\mathbf{x}=\mathbf{A}_{c\ell}\mathbf{x}

si \(\left(\mathbf{A},\mathbf{B}\right)\) es un par C.C. y \(\mathbf{u}=-\mathbf{K}\mathbf{x}\), entonces

Estabilización de sistemas LTI

\dot{\mathbf{x}}=\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\mathbf{x}=\mathbf{A}_{c\ell}\mathbf{x}

si \(\left(\mathbf{A},\mathbf{B}\right)\) es un par C.C. y \(\mathbf{u}=-\mathbf{K}\mathbf{x}\), entonces

¿Cómo seleccionar?

para que sea Hurwitz

Estabilización de sistemas LTI

\dot{\mathbf{x}}=\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\mathbf{x}=\mathbf{A}_{c\ell}\mathbf{x}

si \(\left(\mathbf{A},\mathbf{B}\right)\) es un par C.C. y \(\mathbf{u}=-\mathbf{K}\mathbf{x}\), entonces

¿Cómo seleccionar?

para que sea Hurwitz

K = place(A, B, p)
K = lqr(A, B, Q, R)

Estabilización de sistemas LTI

Pole placement

Regulador Lineal Cuadrático (LQR)

Pole placement

\mathrm{Re}(\lambda)
\mathrm{Im}(\lambda)
\mathrm{Re}(\lambda)
\mathrm{Im}(\lambda)
\mathrm{Re}(\lambda)
\mathrm{Im}(\lambda)

Seleccionamos \(n\) "polos favoritos | deseados" que correspondan a un sistema G.A.S. NOTA: pueden ser repetidos*, los polos complejos aparecen con sus conjugados.

p_1, p_2, \cdots, p_n

Seleccionamos \(n\) "polos favoritos | deseados" que correspondan a un sistema G.A.S. NOTA: pueden ser repetidos*, los polos complejos aparecen con sus conjugados.

p_1, p_2, \cdots, p_n
\varphi(\lambda)=(\lambda-p_1)(\lambda-p_2)\cdots (\lambda-p_n)

Generamos un polinomio de grado \(n\) con estos polos.

Igualamos el polinomio característico del sistema en lazo cerrado con el polinomio deseado, coeficiente por coeficiente.

\chi_{\mathbf{A}_{c\ell}}(\lambda)=\chi_{\mathbf{A}-\mathbf{B}\mathbf{K}}(\lambda)=\det\left(\lambda\mathbf{I}-\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\right)=\varphi(\lambda)

Igualamos el polinomio característico del sistema en lazo cerrado con el polinomio deseado, coeficiente por coeficiente.

\chi_{\mathbf{A}_{c\ell}}(\lambda)=\chi_{\mathbf{A}-\mathbf{B}\mathbf{K}}(\lambda)=\det\left(\lambda\mathbf{I}-\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\right)=\varphi(\lambda)

Nuestro sistema posee ahora los "polos favoritos | deseados".

Igualamos el polinomio característico del sistema en lazo cerrado con el polinomio deseado, coeficiente por coeficiente.

\chi_{\mathbf{A}_{c\ell}}(\lambda)=\chi_{\mathbf{A}-\mathbf{B}\mathbf{K}}(\lambda)=\det\left(\lambda\mathbf{I}-\left(\mathbf{A}-\mathbf{B}\mathbf{K}\right)\right)=\varphi(\lambda)

Nuestro sistema posee ahora los "polos favoritos | deseados".

K = place(A, B, p)
\dot{\mathbf{x}}=\begin{bmatrix} 1 & -3 \\ 4 & 2 \end{bmatrix}\mathbf{x}+\begin{bmatrix} 1 \\ 1 \end{bmatrix}u

Estabilice empleando pole placement:

Ejemplo

\dot{\mathbf{x}}=\begin{bmatrix} 1 & -3 \\ 4 & 2 \end{bmatrix}\mathbf{x}+\begin{bmatrix} 1 \\ 1 \end{bmatrix}u

Estabilice empleando pole placement:

Ejemplo

Al seleccionar \(p_1=p_2=-1\) se obtiene:

u=-\mathbf{K}\mathbf{x}=-\begin{bmatrix} k_1 & k_2 \end{bmatrix}\begin{bmatrix} x_1 \\ x_2 \end{bmatrix}=-k_1x_1-k_2x_2 \\ u=-3.5x_1-1.5x_2

¿Algo más complicado?

Ejemplo

>> ie3041_clase6_poleplacement.m

Más allá de pole placement

si bien pole placement funcionó adecuadamente para estabilizar sistemas LTI

si bien pole placement funcionó adecuadamente para estabilizar sistemas LTI

¿Cómo seleccionamos los "polos deseados" para obtener un buen rendimiento o cumplir con requerimientos de control?

si bien pole placement funcionó adecuadamente para estabilizar sistemas LTI

¿Cómo seleccionamos los "polos deseados" para obtener un buen rendimiento o cumplir con requerimientos de control?

sistemas SISO \(\rightarrow\) regiones de diseño

si bien pole placement funcionó adecuadamente para estabilizar sistemas LTI

¿Cómo seleccionamos los "polos deseados" para obtener un buen rendimiento o cumplir con requerimientos de control?

sistemas SISO \(\rightarrow\) regiones de diseño

sistemas MIMO \(\rightarrow\) ???

si bien pole placement funcionó adecuadamente para estabilizar sistemas LTI

¿Cómo seleccionamos los "polos deseados" para obtener un buen rendimiento o cumplir con requerimientos de control?

sistemas SISO \(\rightarrow\) regiones de diseño

sistemas MIMO \(\rightarrow\) ???

¿Qué tal si pudiésemos evaluar el rendimiento de la respuesta del sistema dada cierta selección de polos?

idea:

x_1
x_2
\mathbf{x}^*
\mathbf{x}_0
x_1
x_2
\mathbf{x}^*
\mathbf{x}_0
x_1
x_2
\mathbf{x}^*
\mathbf{x}_0
x_1
x_2
\mathbf{x}^*
\mathbf{x}_0
x_1
x_2
\mathbf{x}^*
\mathbf{x}_0

métrica de evaluación

x_1
x_2
\mathbf{x}^*
\mathbf{x}_0

métrica de evaluación

mejor rendimiento

x_1
x_2
\mathbf{x}^*
\mathbf{x}_0

métrica de evaluación

mejor rendimiento

respuesta óptima

control óptimo

\mathbf{u}^\star
\triangleq
\|\mathbf{x}(t)\|_2^2+\|\mathbf{u}(t)\|_2^2

métrica de evaluación

penalización

\triangleq
\|\mathbf{x}(t)\|_2^2+\|\mathbf{u}(t)\|_2^2

penaliza "inestabilidad" \(\equiv\) divergencia

penaliza uso excesivo de combustible control

métrica de evaluación

penalización

\triangleq
\|\mathbf{x}(t)\|_2^2+\|\mathbf{u}(t)\|_2^2

penaliza "inestabilidad" \(\equiv\) divergencia

penaliza uso excesivo de combustible control

aún podemos mejorarla

métrica de evaluación

penalización

\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)
\triangleq

métrica de evaluación

penalización

\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)

matriz de penalización

\(\mathbf{Q}\succ 0\)

matriz de penalización

\(\mathbf{R}\succ 0\)

\triangleq

métrica de evaluación

penalización

\(\mathbf{P}=\mathbf{P}^\top\succ 0\) matriz positiva definida

\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)

matriz de penalización

\(\mathbf{Q}\succ 0\)

matriz de penalización

\(\mathbf{R}\succ 0\)

\triangleq

métrica de evaluación

penalización

\mathbf{x}^\top\mathbf{P}\mathbf{x}>0, \quad \mathbf{x}\neq\mathbf{0} \\ \lambda_i>0, \quad \forall \lambda_i \in \sigma\left(\mathbf{P}\right)

(todos sus eigenvalores positivos)

\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)

matriz de penalización

\(\mathbf{Q}\succ 0\)

matriz de penalización

\(\mathbf{R}\succ 0\)

pero la métrica debe ser un escalar

\triangleq

métrica de evaluación

penalización

\displaystyle\int_{t_0}^{\infty} \left[\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)\right]dt
\triangleq

métrica de evaluación

penalización

\displaystyle\int_{t_0}^{\infty} \left[\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)\right]dt

horizonte infinito

\(\equiv\) estabilización asintótica

\triangleq

métrica de evaluación

penalización

\displaystyle\int_{t_0}^{\infty} \left[\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)\right]dt

esto ya es lo que estábamos buscando

horizonte infinito

\(\equiv\) estabilización asintótica

\triangleq

métrica de evaluación

penalización

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{\infty} \left[\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)\right]dt \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \\ \end{aligned}

El Regulador Lineal Cuadrático (LQR)

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{\infty} \left[\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)\right]dt \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \\ \end{aligned}

restricciones

se restringe que el sistema evolucione según su dinámica

El Regulador Lineal Cuadrático (LQR)

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{\infty} \left[\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)\right]dt \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \\ \end{aligned}

restricciones

se restringe que el sistema evolucione según su dinámica

control

óptimo

El Regulador Lineal Cuadrático (LQR)

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{\infty} \left[\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)\right]dt \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \\ \end{aligned}

este problema es un caso especial de un problema de control óptimo, que busca encontrar \(\left(\mathbf{x}^\star,\mathbf{u}^\star\right)\) mediante optimización

restricciones

se restringe que el sistema evolucione según su dinámica

control

óptimo

El Regulador Lineal Cuadrático (LQR)

\begin{aligned} \mathbf{u}^\star(t) = & \displaystyle\arg\min_{\mathbf{u(t)}} \displaystyle\int_{t_0}^{\infty} \left[\mathbf{x}(t)^\top \mathbf{Q}\mathbf{x}(t)+\mathbf{u}(t)^\top \mathbf{R}\mathbf{u}(t)\right]dt \\ & \textrm{s.t.} \quad \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \\ \end{aligned}

este problema es un caso especial de un problema de control óptimo, que busca encontrar \(\left(\mathbf{x}^\star,\mathbf{u}^\star\right)\) mediante optimización

\(\rightarrow\) retornaremos más adelante al caso general

restricciones

se restringe que el sistema evolucione según su dinámica

control

óptimo

El Regulador Lineal Cuadrático (LQR)

resulta que, de forma increible, este problema presenta la solución en forma cerrada:

\mathbf{u}^\star=-\mathbf{R}^{-1}\mathbf{B}^\top\mathbf{P}\mathbf{x}=-\mathbf{K}\mathbf{x}

El Regulador Lineal Cuadrático (LQR)

resulta que, de forma increible, este problema presenta la solución en forma cerrada:

\mathbf{u}^\star=-\mathbf{R}^{-1}\mathbf{B}^\top\mathbf{P}\mathbf{x}=-\mathbf{K}\mathbf{x}
Klqr = lqr(A, B, Q, R);

state feedback LTI (!)

El Regulador Lineal Cuadrático (LQR)

resulta que, de forma increible, este problema presenta la solución en forma cerrada:

\mathbf{u}^\star=-\mathbf{R}^{-1}\mathbf{B}^\top\mathbf{P}\mathbf{x}=-\mathbf{K}\mathbf{x}

state feedback LTI (!)

siempre y cuando...

El Regulador Lineal Cuadrático (LQR)

Klqr = lqr(A, B, Q, R);
  1. \(\mathbf{R}\succ 0\).
  2. \(\mathbf{Q}\succ 0\).
  3. El par \(\left(\mathbf{A}, \mathbf{B}\right)\) es C.C.

y en donde \(\mathbf{P}=\mathbf{P}^\top \succ 0\) es la solución de la Ecuación Algebráica de Riccati (ARE):

-\mathbf{A}^\top\mathbf{P}-\mathbf{P}\mathbf{A}-\mathbf{Q}+\mathbf{P}\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^\top\mathbf{P}=\mathbf{0}
P = are(A, B*R^(-1)*B', Q);

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

Uso y tuneo del LQR

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

se inicia con la matriz identidad y se van modificando los valores de la diagonal para penalizar el comportamiento no deseado en variables de estado y entradas específicas

Uso y tuneo del LQR

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

se inicia con la matriz identidad y se van modificando los valores de la diagonal para penalizar el comportamiento no deseado en variables de estado y entradas específicas

a valores más altos, más se penaliza

Uso y tuneo del LQR

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

Uso y tuneo del LQR

\mathbf{Q}=\begin{bmatrix} \square & 0 & \cdots & 0 \\ 0 & \square & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & \cdots & 0 & \square \end{bmatrix}
x_1
x_1
x_2
x_2
x_n
x_n
\cdots
\vdots

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

Uso y tuneo del LQR

\mathbf{Q}=\begin{bmatrix} \square & 0 & \cdots & 0 \\ 0 & \square & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & \cdots & 0 & \square \end{bmatrix}
x_1
x_1
x_2
x_2
x_n
x_n
\cdots
\vdots

penalización para \(x_2\)

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

Uso y tuneo del LQR

penalización para \(u_1\)

\mathbf{R}=\begin{bmatrix} \square & 0 & \cdots & 0 \\ 0 & \square & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & \cdots & 0 & \square \end{bmatrix}
u_1
u_1
u_2
u_2
u_m
u_m
\cdots
\vdots

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

Uso y tuneo del LQR

penalización para \(u_1\)

\mathbf{R}=\begin{bmatrix} \square & 0 & \cdots & 0 \\ 0 & \square & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & \cdots & 0 & \square \end{bmatrix}
u_1
u_1
u_2
u_2
u_m
u_m
\cdots
\vdots

usualmente no es necesario penalizar términos cruzados (fuera de la diagonal principal)

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

Uso y tuneo del LQR

si "\(\mathbf{R}>>\mathbf{Q}\)" el control es caro, la métrica de evaluación se ve dominada por \(\mathbf{u}\) y el LQR minimiza la acción | esfuerzo de control en sí

1. Selección | diseño de las matrices \(\mathbf{Q}\) y \(\mathbf{R}\):

Uso y tuneo del LQR

si "\(\mathbf{R}>>\mathbf{Q}\)" el control es caro, la métrica de evaluación se ve dominada por \(\mathbf{u}\) y el LQR minimiza la acción | esfuerzo de control en sí

si "\(\mathbf{Q}>>\mathbf{R}\)" el control es barato, la métrica de evaluación se ve dominada por \(\mathbf{x}\) y no hay "ninguna" penalización por usar un \(\mathbf{u}\) grande

2. Penalización de salidas:

Uso y tuneo del LQR

2. Penalización de salidas:

Uso y tuneo del LQR

para los casos en donde se busque evaluar el rendimiento de las salidas en lugar de las variables de estado

\mathbf{y}=\mathbf{C}\mathbf{x}
\Rightarrow \mathbf{Q}=\mathbf{C}^\top\widetilde{\mathbf{Q}}\mathbf{C}

2. Penalización de salidas:

Uso y tuneo del LQR

para los casos en donde se busque evaluar el rendimiento de las salidas en lugar de las variables de estado

\mathbf{y}=\mathbf{C}\mathbf{x}
\Rightarrow \mathbf{Q}=\mathbf{C}^\top\widetilde{\mathbf{Q}}\mathbf{C}

penaliza las variables de salida

3. Ganancia estática y robustez:

Uso y tuneo del LQR

el LQR genera una matriz estática de constantes o ganancias

3. Ganancia estática y robustez:

Uso y tuneo del LQR

el LQR genera una matriz estática de constantes o ganancias

el LQR presenta* un margen de ganancia infinito y garantiza un margen de fase \(\ge 60^\circ\), lo cual coincide con criterios adecuados de diseño para sistemas de control

Comparemos el rendimiento del LQR con el de pole placement para el ejemplo del helicóptero

Ejemplo: vs pole placement

>> ie3041_clase6_lqr.m

IE3041 - Lecture 6 (2025)

By Miguel Enrique Zea Arenales

IE3041 - Lecture 6 (2025)

  • 111