Linealización de sistemas no lineales

IE3041 - Sistemas de Control 2

Un mundo no lineal



Clasificar los sistemas en lineales y no lineales es como clasificar los objetos en el universo como bananos y no bananos
- Desconocido
¿Qué podemos hacer al respecto?
¿Qué podemos hacer al respecto?
Linealización
¿Problema?
los sistemas LTI presentan un único comportamiento general en todo su espacio de estados:
convergencia, divergencia u oscilación
¿Problema?
los sistemas LTI presentan un único comportamiento general en todo su espacio de estados:
convergencia, divergencia u oscilación
NUNCA más de uno
ie3041_clase3_randlti2dpp
¿Problema?
en contraste, los sistemas no lineales pueden presentar múltiples comportamientos en su espacio de estados.
ej: >> PendSim
los sistemas LTI presentan un único comportamiento general en todo su espacio de estados:
convergencia, divergencia u oscilación
NUNCA más de uno
ie3041_clase3_randlti2dpp
¿Solución?
múltiples linealizaciones, una para cada tipo de comportamiento
¿Solución?
múltiples linealizaciones, una para cada tipo de comportamiento
punto fijo



linealización local alrededor de un
punto de equilibrio
Puntos de equilibrio
punto de equilibrio
\(\left(\mathbf{x}^*,\mathbf{u}^*\right)\)
el sistema deja de evolucionar
\(\dot{\mathbf{x}}=\mathbf{0}\)
\(\mathbf{f}\left(\mathbf{x}^*,\mathbf{u}^*\right)=\mathbf{0}\)
si \(\mathbf{u}^*=\mathbf{0}\) el punto recibe el nombre de punto de equilibrio (natural)
Puntos de equilibrio
punto de equilibrio
\(\left(\mathbf{x}^*,\mathbf{u}^*\right)\)
el sistema deja de evolucionar
\(\dot{\mathbf{x}}=\mathbf{0}\)
\(\mathbf{f}\left(\mathbf{x}^*,\mathbf{u}^*\right)=\mathbf{0}\)
si \(\mathbf{u}^*\ne\mathbf{0}\) entonces el punto cambia a \(\left(\mathbf{x}_{ss},\mathbf{u}_{ss}\right)\) y se llama equilibrio forzado o punto de operación

punto de operación

punto de operación
el caso de un punto de operación corresponde a un problema de regulación (referencia constante) en control clásico
Ejemplo: péndulo simple

Ejemplo: péndulo simple

Encontrando puntos de equilibrio
punto de equilibrio
punto de operación
Encontrando puntos de equilibrio
punto de equilibrio
punto de operación
requerimientos de control
Encontrando puntos de equilibrio
punto de equilibrio
punto de operación
requerimientos de control
Encontrando puntos de equilibrio
punto de equilibrio
punto de operación
sistema de ecuaciones algebraicas no lineales
requerimientos de control
difícil
(analíticamente)
Paréntesis: el método de Newton
1)
2)
Paréntesis: el método de Newton
% Definición de la función no lineal
F = @(z) ... % o bien en un archivo de función aparte (ej. fun.m)
z0 = [...]; % aproximación inicial (initial guess)
% Se resuelve numéricamente el sistema
z_sol = fsolve(F, z0);
% Para las funciones aparte se manda el handle, es decir
z_sol = fsolve(@fun, z0);
Regresando a las linealizaciones locales


+ expansión por Series de Taylor ...
basta hacer el cambio \(\left(\mathbf{x}^*,\mathbf{u}^*\right)=\left(\mathbf{x}_{ss},\mathbf{u}_{ss}\right)\) para el caso de un punto de operación
Ejemplo: péndulo simple

Ejemplo: péndulo simple

Ejemplo: péndulo simple

ie3041_clase3_pendlin(xss, delta)
>> ie3041_clase3_linealizacion.mlx
¿Problema?
similar al caso de buscar puntos de equilibrio u operación, la linealización es difícil (analíticamente)
¿Problema?
similar al caso de buscar puntos de equilibrio u operación, la linealización es difícil (analíticamente)
¿Solución?
Linealización numérica
diferencias finitas
diferencias finitas
for \(j=1,2,\cdots,n\)
diferencias finitas
for \(j=1,2,\cdots,n\)
ej: \(n=3, \ \mathbf{e}_2=\begin{bmatrix} 0 & 1 & 0 \end{bmatrix}^\top\)
lo más pequeño posible*
diferencias finitas
for \(j=1,2,\cdots,n\)
ej: \(n=3, \ \mathbf{e}_2=\begin{bmatrix} 0 & 1 & 0 \end{bmatrix}^\top\)
lo más pequeño posible*
se hace un proceso similar para obtener el resto de jacobianos
resultado:
loclin_fast con forward finite difference
(menos evaluaciones)
loclin_best con central finite difference
(más exacto pero ligeramente lento)
>> ie3041_clase3_linealizacion.mlx
¿Qué ventajas nos trae esto?
pueden evaluarse | obtenerse mediante simuladores o identificarse (aprenderse) sin necesidad de efectuar modelado
Ejemplo: péndulo doble
Ejemplo: péndulo doble
¿Dinámica y jacobianos?
\((m_1+m_2)\ell_1^2\ddot{q}_1+m_2\ell_2^2\left(\ddot{q}_1+\ddot{q}_2\right)+m_2\ell_1\ell_2\left(2\ddot{q}_1+\ddot{q}_2\right)\cos(q_2)-m_2\ell_1\ell_2\left(2\dot{q}_1+\dot{q}_2\right)\dot{q}_2\sin(q_2)+(m_1+m_2)\ell_1g\sin(q_1)+m_2g\ell_2\sin(q_1+q_2)=\tau_1\)
\( m_2\ell_2^2\left(\ddot{q}_1+\ddot{q}_2\right)+m_2\ell_1\ell_2\ddot{q}_1\cos(q_2)+m_2\ell_1\ell_2\dot{q}_1^2\sin(q_2)+m_2g\ell_2\sin(q_1+q_2)=\tau_2\)
Ejemplo: péndulo doble
¿Dinámica y jacobianos?
\((m_1+m_2)\ell_1^2\ddot{q}_1+m_2\ell_2^2\left(\ddot{q}_1+\ddot{q}_2\right)+m_2\ell_1\ell_2\left(2\ddot{q}_1+\ddot{q}_2\right)\cos(q_2)-m_2\ell_1\ell_2\left(2\dot{q}_1+\dot{q}_2\right)\dot{q}_2\sin(q_2)+(m_1+m_2)\ell_1g\sin(q_1)+m_2g\ell_2\sin(q_1+q_2)=\tau_1\)
\( m_2\ell_2^2\left(\ddot{q}_1+\ddot{q}_2\right)+m_2\ell_1\ell_2\ddot{q}_1\cos(q_2)+m_2\ell_1\ell_2\dot{q}_1^2\sin(q_2)+m_2g\ell_2\sin(q_1+q_2)=\tau_2\)
Ejemplo: péndulo doble
(u otra herramienta de simulación)
+ linealización numérica
>> ie3041_clase3_dblpend
¿Más allá de puntos de equilibrio y operación?

linealización local alrededor de una órbita o trayectoria
Trayectorias nominales (soluciones)
\(\left(\mathbf{x}^*(t), \mathbf{u}^*(t)\right)\) es una solución o trayectoria nominal si
Trayectorias nominales (soluciones)
\(\left(\mathbf{x}^*(t), \mathbf{u}^*(t)\right)\) es una solución o trayectoria nominal si
es decir, son soluciones particulares de la EDO o bien el resultado de una simulación
el punto de linealización cambia (trayectoria)
\(\Rightarrow\) sistema LTV
las desviaciones son ahora con respecto de una trayectoria deseada \(\left(\mathbf{x}_d(t),\mathbf{u}_d(t)\right)\)
el punto de linealización cambia (trayectoria)
\(\Rightarrow\) sistema LTV
las desviaciones son ahora con respecto de una trayectoria deseada \(\left(\mathbf{x}_d(t),\mathbf{u}_d(t)\right)\)
equivalente a un problema de rastreo de referencia en control clásico
el punto de linealización cambia (trayectoria)
\(\Rightarrow\) sistema LTV
las desviaciones son ahora con respecto de una trayectoria deseada \(\left(\mathbf{x}_d(t),\mathbf{u}_d(t)\right)\)
equivalente a un problema de rastreo de referencia en control clásico
>> ie3041_clase3_linealizacion.mlx
Trayectorias deseadas

Trayectorias deseadas

Trayectorias deseadas

Trayectorias deseadas

encontrar trayectorias deseadas NO es trivial
\(\Rightarrow\) optimización de trayectorias
(más adelante en el curso...)
¿Linealizaciones que no sean locales?
Dos ideas prevalentes
¿Linealizaciones que no sean locales?
Linealización por retroalimentación
Idea: usar control para "eliminar" las no linealidades
Linealización por retroalimentación
para algunos sistemas de control afines
Linealización por retroalimentación
"puede emplearse" la ley de retroalimentación
para algunos sistemas de control afines
Linealización por retroalimentación
para "cancelar la dinámica" del sistema tal que
Linealización por retroalimentación
o bien obtener un sistema LTI
para "cancelar la dinámica" del sistema tal que
bajo el difeomorfismo \(\mathbf{z}=T\left(\mathbf{x}\right)\)
Ejemplo: péndulo simple

Ejemplo: péndulo simple

no linealidad,
debe emplearse \(u\) para eliminarla
Ejemplo: péndulo simple

no linealidad,
debe emplearse \(u\) para eliminarla
¿Problemas con esta idea?
¿Cuándo funciona? (actuación)
¿Problemas con esta idea?
¿Qué tan caro es cancelar la dinámica? (eficiencia)
¿Cuándo funciona? (actuación)
¿Problemas con esta idea?
¿Qué tan caro es cancelar la dinámica? (eficiencia)
¿Qué tan bueno es el modelo del sistema como para que sepamos qué cancelar? (robustez)
¿Cuándo funciona? (actuación)
¿Problemas con esta idea?
a pesar de esto, figura como la herramienta fundamental detrás de muchos métodos de control no lineal
Teoría de Koopman
Idea: pueden "eliminarse" las no linealidades bajo una selección correcta de variables
Teoría de Koopman
Idea: pueden "eliminarse" las no linealidades bajo una selección correcta de variables
observables
\(\approx\) salidas | mediciones
Teoría de Koopman
Idea: pueden "eliminarse" las no linealidades bajo una selección correcta de variables
observables
\(\approx\) salidas | mediciones
NOTA: el planteamiento original de Koopman no considera entradas
Teoría de Koopman
conforme \(q\to\infty\), Koopman establece que
Teoría de Koopman
conforme \(q\to\infty\), Koopman establece que
es decir, todo sistema dinámico (no lineal) es lineal en un espacio suficientemente grande* de observables
Ejemplo básico
Ejemplo básico
observables
Ejemplo básico
observables
Ejemplo: péndulo simple

Ejemplo: péndulo simple

observables
Ejemplo: péndulo simple

???
¿Problemas con esta idea?
¿Cuáles y cuántos observables?
¿Problemas con esta idea?
¿Qué ocurre con los múltiples comportamientos (puntos de equilibrio)?
¿Cuáles y cuántos observables?
¿Problemas con esta idea?
¿Qué ocurre con los múltiples comportamientos (puntos de equilibrio)?
Si casi nunca puede hacerse analíticamente, ¿Cómo se hace numéricamente?
¿Cuáles y cuántos observables?
¿Problemas con esta idea?
sin embargo, recientemente esta forma de análisis se ha vuelto clave en el área de data-driven dynamical systems
IE3041 - Lecture 3 (2025)
By Miguel Enrique Zea Arenales
IE3041 - Lecture 3 (2025)
- 143