📐 Guía de Estudio — Control Lineal

Preparación para la Trivia · Universidad Tecnológica de Pereira

⚡ Abrir Laboratorio Interactivo 📘 Developer Guide



🧰 Herramientas Fundamentales

La Plantilla de Segundo Orden

Todo sistema lineal de segundo orden se puede escribir como:

$$ G(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2} $$
Parámetro Nombre Controla
$\omega_n$ Frecuencia natural Qué tan rápido responde el sistema
$\zeta$ Factor de amortiguamiento La personalidad: rebote vs. lentitud

Las 4 Personalidades

Rango de $\zeta$ Nombre Polos Comportamiento
$0 < \zeta < 1$ Sub-amortiguado Complejos conjugados Rápido con oscilaciones y sobrepico
$\zeta = 1$ Críticamente amortiguado Reales repetidos El más rápido sin oscilar
$\zeta > 1$ Sobre-amortiguado Reales distintos (negativos) Lento y pesado, sin oscilaciones
$\zeta < 0$ Inestable En el semiplano derecho (RHP) Crece sin límite

El Plano S (Mapa de Estabilidad)

El Controlador PID

$$ C(s) = K_p + \frac{K_i}{s} + K_d \cdot s = \frac{K_d s^2 + K_p s + K_i}{s} $$
Término Efecto Físico En el Plano S
$K_p$ (Proporcional) Aumenta velocidad, pero más rebote Mueve los polos hacia afuera (más $\omega_n$)
$K_i$ (Integral) Elimina error de estado estacionario Agrega un polo en el origen
$K_d$ (Derivativo) Freno artificial, reduce sobrepico Empuja los polos hacia la izquierda (más $\zeta$)

1. Dinámica de Segundo Orden — Sobrepico y Amortiguamiento

📄 Trivia Pregunta 1 (Página 3)

¿Cuál es la relación entre el tiempo para alcanzar el sobrepico máximo ($t_{os}$) y el factor de amortiguamiento ($\gamma$)?

Pista: $\frac{df(t)}{dt} = 0$

Teoría: Respuesta al Escalón

Para un sistema de segundo orden sub-amortiguado ($0 < \zeta < 1$), la respuesta al escalón unitario es:

$$ y(t) = 1 - \frac{e^{-\zeta\omega_n t}}{\sqrt{1-\zeta^2}} \sin\left(\omega_d t + \phi\right) $$

donde $\omega_d = \omega_n\sqrt{1-\zeta^2}$ es la frecuencia amortiguada y $\phi = \arccos(\zeta)$.

✅ Solución

Paso 1: Derivar e igualar a cero

El sobrepico máximo ocurre cuando $\frac{dy}{dt} = 0$. Al derivar y simplificar, la condición se reduce a:

$$ \sin(\omega_d \cdot t_{os}) = 0 $$

La primera solución no trivial es:

$$ \omega_d \cdot t_{os} = \pi \quad \Rightarrow \quad \boxed{t_{os} = \frac{\pi}{\omega_d} = \frac{\pi}{\omega_n\sqrt{1-\zeta^2}}} $$

Paso 2: El sobrepico máximo ($M_p$)

Sustituyendo $t_{os}$ en $y(t)$:

$$ M_p = y(t_{os}) - 1 = e^{-\pi\zeta / \sqrt{1-\zeta^2}} $$

En porcentaje: $M_p \% = e^{-\pi\zeta / \sqrt{1-\zeta^2}} \times 100\%$

La relación clave

  1. Selecciona el preset "Bouncy Suspension" ($\zeta = 0.2$, $\omega_n = 5$).
  2. Observa el sobrepico: $M_p = 52.7\%$, $t_p = 0.641$ s.
  3. Ahora desliza $\zeta$ hacia arriba hasta $0.7$. Nota cómo $M_p$ baja a ~4.6% y $t_p$ sube.
  4. Sigue hasta $\zeta = 1.0$ (críticamente amortiguado). El sobrepico desaparece completamente.
  5. En el Plano S (derecha), observa cómo los polos complejos conjugados se "colapsan" al eje real cuando $\zeta \to 1$.

2. Control Clásico: Péndulo Simple (Oscilador Armónico)

📄 Trivia Pregunta 2 (Página 4)

Paso 1: Ecuación de Movimiento

Para un péndulo simple de masa $m$ y longitud $l$, la segunda ley de Newton en la dirección angular da:

$$ ml^2 \ddot{\theta} = -mgl\sin\theta + \tau $$

Para ángulos pequeños ($\sin\theta \approx \theta$):

$$ \ddot{\theta} + \frac{g}{l}\theta = \frac{\tau}{ml^2} $$

Definimos $\omega_n^2 = g/l$, obteniendo el oscilador armónico simple:

$$ \ddot{\theta} + \omega_n^2 \theta = \frac{1}{ml^2}\tau $$

Este sistema tiene $\zeta = 0$ (sin amortiguamiento) — oscila infinitamente. Sus polos están en $s = \pm j\omega_n$, sobre el eje imaginario. Es marginalmente estable.

Paso 2: Función de Transferencia

Aplicando Laplace con condiciones iniciales cero:

$$ G(s) = \frac{\Theta(s)}{T(s)} = \frac{1/ml^2}{s^2 + \omega_n^2} $$

Normalizando (absorbiendo la constante en el torque): $G(s) = \frac{\omega_n^2}{s^2 + \omega_n^2}$ con $\zeta = 0$.

Paso 3: ¿Cuál es el controlador MÁS SIMPLE?

✅ Solución: Control Derivativo ($K_d$)

Para un oscilador sin fricción ($\zeta = 0$), necesitamos agregar amortiguamiento artificial. El controlador más simple es:

$$ C(s) = K_d \cdot s $$

¿Por qué? Porque la acción derivativa es proporcional a la velocidad. Físicamente, es como añadir un amortiguador viscoso al péndulo. El torque de control es:

$$ \tau = -K_d \dot{\theta} $$

Lazo cerrado con realimentación unitaria:

$$ T(s) = \frac{C(s)G(s)}{1 + C(s)G(s)} = \frac{K_d \omega_n^2 s}{s^2 + K_d\omega_n^2 s + \omega_n^2} $$

Comparando con la plantilla estándar $s^2 + 2\zeta\omega_n s + \omega_n^2$:

$$ 2\zeta\omega_n = K_d \omega_n^2 \quad \Rightarrow \quad \boxed{\zeta = \frac{K_d \omega_n}{2}} $$

Ahora tenemos amortiguamiento controlable: aumentar $K_d$ → mayor $\zeta$ → menos oscilaciones.

¿Por qué NO se usa solo $K_p$?

$K_p$ solo aumentaría la frecuencia natural (hace oscilar más rápido), pero NO agrega amortiguamiento. Los polos siguen en el eje imaginario.

  1. Pon $\zeta = 0.01$ (mínimo) y $\omega_n = 5$. Verás oscilaciones casi perpetuas — este es el péndulo sin controlador.
  2. Ahora activa el Closed Loop: pon $K_p = 0$, $K_i = 0$, $K_d = 2$.
  3. Observa cómo la línea verde (closed loop) se amortigua rápidamente mientras la rosa (open loop) sigue oscilando.
  4. En el Plano S, los polos verdes (closed) se han movido a la izquierda del eje imaginario — ya están en la zona estable.
  5. Experimenta: sube $K_d$ a 5 → los polos se mueven aún más a la izquierda.

3. Control Clásico y Estabilidad: El Integrador

📄 Trivia Pregunta 3 (Página 5)

Considere un integrador (sistema inestable — dada una entrada acotada, la salida no es acotada). Si aplica un escalón, la salida no es acotada.

El Problema: $G(s) = \frac{1}{s}$

El integrador tiene un solo polo en $s = 0$ (el origen). Si le das un escalón unitario:

$$ Y(s) = G(s) \cdot \frac{1}{s} = \frac{1}{s^2} \quad \Rightarrow \quad y(t) = t $$

La salida crece linealmente al infinito — BIBO inestable (Bounded Input, Bounded Output).

✅ Solución: Control Proporcional ($K_p$)

El controlador más simple que estabiliza un integrador es el proporcional puro:

$$ C(s) = K_p $$

Lazo cerrado:

$$ T(s) = \frac{K_p \cdot \frac{1}{s}}{1 + K_p \cdot \frac{1}{s}} = \frac{K_p}{s + K_p} $$

Este es un sistema de primer orden con polo en $s = -K_p$.

Dos argumentos hacia la estabilidad:

Argumento 1 — Polos en el LHP (Criterio Algebraico):

El polo del sistema en lazo cerrado es $s = -K_p$. Para $K_p > 0$, este polo está en el semiplano izquierdo ($\text{Re}(s) < 0$). Por lo tanto, la respuesta natural decae exponencialmente:

$$ y(t) = (1 - e^{-K_p t}) \quad \text{(respuesta al escalón)} $$

Esto es acotado — converge a 1.

Argumento 2 — Estabilidad BIBO (Criterio Integral):

La respuesta al impulso del sistema en lazo cerrado es $h(t) = K_p e^{-K_p t}$ para $t \geq 0$. El sistema es BIBO estable si y solo si:

$$ \int_0^{\infty} |h(t)| \, dt = \int_0^{\infty} K_p e^{-K_p t} \, dt = 1 < \infty \quad \checkmark $$

La integral es finita, por lo tanto el sistema es BIBO estable.

¿Y si usamos $K_i$ en lugar de $K_p$? $C(s) = K_i/s$, entonces $T(s) = K_i / (s^2 + K_i)$. Los polos son $s = \pm j\sqrt{K_i}$ — en el eje imaginario. Eso solo da oscilación perpetua, NO estabilidad asintótica.

  1. En el lab, pon $\zeta = 0.01$, $\omega_n = 0.5$ para simular un sistema muy lento y marginalmente estable.
  2. Observa la línea rosa (open loop): oscila sin parar.
  3. Ahora activa el Closed Loop con $K_p = 10$, $K_i = 0$, $K_d = 0$.
  4. La línea verde se estabiliza — el proporcional "jalando" el polo hacia la izquierda.
  5. En el Plano S, verás que los polos verdes (closed) están claramente en el LHP.

4. Realimentación de Estado: Péndulo Simple (Control Moderno)

📄 Trivia Pregunta 4 (Página 6)

Considere el péndulo simple. Implementar y conectar un controlador basado en realimentación de estado (el más simple) para que el movimiento armónico se amortigüe.

La diferencia: Clásico vs. Moderno

Aspecto Control Clásico (PID) Realimentación de Estado
Qué mide Solo la salida $y(t)$ Todo el estado $\mathbf{x}(t)$
Dominio Funciones de transferencia ($s$) Espacio de estados ($\dot{\mathbf{x}} = A\mathbf{x} + B\mathbf{u}$)
Control $u = C(s) \cdot E(s)$ $u = -\mathbf{K}\mathbf{x}$

Paso 1: Representación en Espacio de Estados

Definimos el vector de estado $\mathbf{x} = \begin{bmatrix} \theta \\ \dot{\theta} \end{bmatrix}$, entonces:

$$ \dot{\mathbf{x}} = \underbrace{\begin{bmatrix} 0 & 1 \\ -\omega_n^2 & 0 \end{bmatrix}}_{A} \mathbf{x} + \underbrace{\begin{bmatrix} 0 \\ 1/ml^2 \end{bmatrix}}_{B} \tau $$

Los eigenvalores de $A$ son $\lambda = \pm j\omega_n$ → sobre el eje imaginario (marginalmente estable).

✅ Solución: Ley de Control $u = -\mathbf{K}\mathbf{x}$

La ley de control más simple

Elegimos $\mathbf{K} = \begin{bmatrix} k_1 & k_2 \end{bmatrix}$, entonces:

$$ \tau = -k_1 \theta - k_2 \dot{\theta} $$

Sustituyendo en la ecuación de movimiento:

$$ \ddot{\theta} + \frac{k_2}{ml^2}\dot{\theta} + \left(\omega_n^2 + \frac{k_1}{ml^2}\right)\theta = 0 $$

Comparando con la forma estándar $\ddot{\theta} + 2\zeta\omega_c \dot{\theta} + \omega_c^2 \theta = 0$:

$$ \omega_c^2 = \omega_n^2 + \frac{k_1}{ml^2} \qquad 2\zeta\omega_c = \frac{k_2}{ml^2} $$

El controlador MÁS SIMPLE:

Solo usar $k_2$ (realimentación de velocidad): $\tau = -k_2 \dot{\theta}$.

Esto es equivalente al control derivativo ($C(s) = K_d s$) que vimos en la Sección 2, pero expresado en el dominio del estado en lugar de la frecuencia.

$$ \zeta = \frac{k_2}{2ml^2\omega_n} $$

Para críticamente amortiguado ($\zeta = 1$): $k_2 = 2ml^2\omega_n$.

Polinomio característico en lazo cerrado:

$$ \det(sI - A_{cl}) = s^2 + \frac{k_2}{ml^2}s + \omega_n^2 = 0 $$

Ambos coeficientes son positivos cuando $k_2 > 0$ → todos los polos en el LHP.

  1. En el lab, pon $\zeta = 0.01$ (péndulo sin fricción).
  2. Recuerda: $K_d$ en el lab es equivalente a $k_2$ de la realimentación de estado.
  3. Pon $K_p = 0$, $K_i = 0$, $K_d = 4$. Observa la transición de polos complejos a la izquierda en el Plano S.
  4. Nota que la respuesta closed-loop se estabiliza — exactamente lo que $u = -k_2\dot{\theta}$ haría.

5. Dinámica de Orden Superior: Transmisión Hidráulica

📄 Trivia Pregunta 5 (Página 7)

Considere el sistema dinámico gobernado por:

$$ \dddot{y}(t) + 11\ddot{y}(t) + 39\dot{y}(t) + 29 = 29\ddot{u}(t) + 29 $$

que representa el comportamiento lineal entrada/salida de una transmisión hidráulica acoplada a su carga por un resorte.

Paso 1: Cancelar las constantes

Observa los 29 en ambos lados. Se cancelan:

$$ \dddot{y}(t) + 11\ddot{y}(t) + 39\dot{y}(t) = 29\ddot{u}(t) $$

Paso 2: Transformada de Laplace

Con condiciones iniciales cero:

$$ s^3 Y(s) + 11s^2 Y(s) + 39s \, Y(s) = 29 s^2 U(s) $$ $$ Y(s) \left[s^3 + 11s^2 + 39s\right] = 29 s^2 U(s) $$
$$ G(s) = \frac{Y(s)}{U(s)} = \frac{29 s^2}{s^3 + 11s^2 + 39s} = \frac{29 s^2}{s(s^2 + 11s + 39)} $$

Paso 3: Cancelación polo-cero

El numerador tiene un doble cero en el origen ($s^2$), y el denominador tiene un polo en el origen ($s$). Un cero y un polo en $s=0$ se cancelan:

$$ G(s) = \frac{29 s\cancel{^2}}{\cancel{s}(s^2 + 11s + 39)} = \frac{29s}{s^2 + 11s + 39} $$

En la práctica, la cancelación polo-cero en el origen es válida matemáticamente pero hay que verificar con ct.minreal() en el código para evitar errores numéricos. El polo integrador se cancela con uno de los ceros.

Paso 4: Análisis del sistema resultante

El denominador $s^2 + 11s + 39$ define los polos. Comparando con $s^2 + 2\zeta\omega_n s + \omega_n^2$:

$$ \omega_n = \sqrt{39} \approx 6.24 \qquad \zeta = \frac{11}{2\sqrt{39}} \approx 0.88 $$

Es un sistema sub-amortiguado (pero cercano al crítico) con frecuencia natural alta.

✅ Solución: Diseño del controlador para $\omega_0 = 1$

Objetivo:

Queremos que el lazo cerrado sea efectivamente de segundo orden con $\omega_0 = 1$ rad/s.

Estrategia: Controlador proporcional con ganancia

Usamos un controlador $C(s)$ tal que en lazo cerrado, el polinomio característico tenga la forma:

$$ s^2 + 2\zeta_d \cdot 1 \cdot s + 1^2 = s^2 + 2\zeta_d s + 1 $$

Donde $\zeta_d$ es el amortiguamiento deseado (por ejemplo, $\zeta_d = 1$ para críticamente amortiguado).

Diseño por asignación de polos:

Con $G(s) = \frac{29s}{s^2 + 11s + 39}$ y un controlador PD: $C(s) = K_p + K_d s$:

El lazo cerrado es:

$$ T(s) = \frac{(K_p + K_d s) \cdot 29s}{s^2 + 11s + 39 + (K_p + K_d s) \cdot 29s} $$

El polinomio característico del denominador:

$$ s^2 + (11 + 29K_d)s + (39 + 29K_p) = 0 $$

Igualando con $s^2 + 2\zeta_d s + 1$:

$$ 39 + 29K_p = 1 \quad \Rightarrow \quad \boxed{K_p = -\frac{38}{29} \approx -1.31} $$
$$ 11 + 29K_d = 2\zeta_d \quad \Rightarrow \quad \boxed{K_d = \frac{2\zeta_d - 11}{29}} $$

Para $\zeta_d = 1$: $K_d = (2 - 11)/29 = -9/29 \approx -0.31$.

Nota que $K_p < 0$ — esto es realimentación positiva en efecto. Es necesario porque el sistema original ya tiene una frecuencia natural muy alta ($\omega_n \approx 6.24$) y necesitamos reducirla a $\omega_0 = 1$. Esto requiere "aflojar" el resorte virtualmente.

  1. Selecciona el preset "Hydraulic Transmission" ($\zeta = 1.02$, $\omega_n = 3.0$).
  2. Observa la respuesta sobre-amortiguada: lenta, sin oscilaciones, con polos reales distintos en el Plano S.
  3. Ahora experimenta con los sliders PID. Sube $K_p$ y observa cómo la respuesta se vuelve más rápida pero empieza a oscilar.
  4. Usa $K_d$ para compensar — "frena" las oscilaciones empujando los polos a la izquierda.

📋 Fórmulas Clave para el Examen

Concepto Fórmula Condición
Tiempo de pico $t_p = \frac{\pi}{\omega_n\sqrt{1-\zeta^2}}$ $0 < \zeta < 1$
Sobrepico máximo $M_p = e^{-\pi\zeta/\sqrt{1-\zeta^2}} \times 100\%$ $0 < \zeta < 1$
Tiempo de asentamiento (2%) $t_s = \frac{4}{\zeta\omega_n}$ $\zeta > 0$
Frecuencia amortiguada $\omega_d = \omega_n\sqrt{1-\zeta^2}$ $0 < \zeta < 1$
PID (forma paralela) $C(s) = \frac{K_d s^2 + K_p s + K_i}{s}$
Lazo cerrado $T(s) = \frac{C(s)G(s)}{1 + C(s)G(s)}$ Realimentación unitaria
Polos de 2do orden $s = -\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2}$ $0 < \zeta < 1$
Realimentación de estado $u = -\mathbf{K}\mathbf{x}$, polinomio: $\det(sI - (A - BK))$ Sistema controlable

🚀 Ejecutar el Laboratorio

Abre el laboratorio directamente en tu navegador — no requiere instalación:

⚡ control.gamely.dev/lab.html

Guía Rápida de la Interfaz

Elemento Ubicación Uso
Respuesta del sistema Gráfico izquierdo Rosa = Open Loop, Verde = Closed Loop, Amarillo punteado = señal de entrada
Plano S Gráfico derecho ✕ Rosas = polos OL, ✕ Verdes = polos CL, flechas = migración
Sliders ζ y ωₙ Panel izquierdo Modifican la planta G(s)
Señal de Entrada Panel izquierdo Step, Impulse, Ramp, Sine (con frecuencia ajustable)
Sliders Kp, Ki, Kd Panel derecho Modifican el controlador PID C(s)
Presets Panel central Click para cargar escenarios predefinidos
Toggle Botón central Cicla entre: Both / Open Only / Closed Only
Métricas Panel inferior Mₚ, tₚ, tₛ en tiempo real