Capítulo 10

Funciones de transferencia, polos y ceros

¿Podemos leer toda la personalidad de un sistema en una sola fracción?

Capítulo 10: Funciones de transferencia, polos y ceros ↗

La receta del sistema

June: Empecemos con el dron en vuelo estacionario a 1 m, con 4,9 N de empuje base que equilibran la gravedad. Midamos el cambio solicitado y el cambio real de altura desde esa referencia. Justo antes de una nueva orden, ambos cambios valen cero. En el ejemplo del escalón, la consigna salta a 2 m en t=0t=0: su cambio pasa a ser 1 m mientras el dron sigue a 1 m.

Theo: Menos mal, porque en el capítulo anterior quitamos los trocitos −h(0)-h(0) y la fórmula mintió. Medidos desde el vuelo estacionario, esos valores iniciales son cero de verdad, así que esta vez desaparecen honradamente.

ΔH(s)=Kpms2+cs+Kp⏟G(s)⋅ΔR(s)\Delta\out{H}(s) = \underbrace{\frac{\eff{K_p}}{m s^2 + c s + \eff{K_p}}}_{G(s)} \cdot \Delta\sp{R}(s)

ΔR(s)\Delta\sp{R}(s) es la transformada del cambio pedido desde 1 m; ΔH(s)\Delta\out{H}(s) es la del cambio real desde 1 m. G(s)G(s) depende del dron y el controlador. Es la función de transferencia: cambio de salida dividido por cambio de entrada, con ambos cambios partiendo de cero.

La gráfica sigue mostrando alturas sobre el suelo. Suma el metro inicial al cambio que predice la fórmula para obtener la altura azul de la gráfica.

Mika: June tenía razón: la fracción es el dron. Es como su receta. ¡Le metes cualquier ingrediente y te dice lo que sale!

Prueba tres entradas distintas con el mismo dron. La receta nunca cambia; solo cambia ΔR(s)\Delta\sp{R}(s).

Capítulo 10: Funciones de transferencia, polos y ceros ↗

Palabras nuevas

Función de transferencia G(s)G(s)
Cambio de salida transformado ÷ cambio de entrada transformado, partiendo del mismo estado de reposo. Para este dron lineal es un cociente de polinomios en ss.
Partir del reposo (condiciones iniciales nulas)
Todos los cambios y sus velocidades valen cero en t=0t = 0, como cuando medimos desde el vuelo estacionario. Entonces los términos de valor inicial del capítulo 9, como −h(0)-h(0), también son cero, y G(s)G(s) lo cuenta todo.

Polos: donde el sistema quiere vivir

¿Dónde explota G(s)G(s)? Donde su denominador vale cero. Esos puntos son los polos, dibujados como ×. En este dron hay dos, uno por cada uno de los dos movimientos naturales este^{st} del capítulo 7.

En el capítulo 8, la transformada de eate^{at} chillaba en s=as = a. Léelo al revés: dondequiera que GG chille, se esconde un movimiento epte^{pt}.

June: ¡O sea que los polos son los modos del capítulo 7, sentados en el mapa!

Ahora dale la vuelta. En lugar de elegir ganancias y buscar los polos, vamos a arrastrar los polos y ver qué dron sale. Para eso hace falta un segundo mando, Kd\eff{K_d}: un empuje contra la velocidad, que conoceremos como es debido en el capítulo 11. Se suma al rozamiento cc, y las dos raíces son pp y su gemela reflejada pˉ\bar p (la barra cambia el signo de la parte imaginaria, como los gemelos del capítulo 6):

ms2+(c+Kd) s+Kp=0⟹s=p, pˉ(los polos)\begin{aligned} & m s^2 + (c + \eff{K_d})\,s + \eff{K_p} = 0 \\ \Longrightarrow\quad & s = p,\ \bar p \qquad \text{(los polos)} \end{aligned}

Capítulo 10: Funciones de transferencia, polos y ceros ↗

¡Primero, predice! ¿Qué hace el dron si arrastramos los polos a la mitad derecha del plano s?

Capítulo 10: Funciones de transferencia, polos y ceros ↗

Cómo leer el mapa

Juega con él. Saltan a la vista unas cuantas reglas, y cada una es una vieja amiga disfrazada:

  • Mitad izquierda = se calma, mitad derecha = se dispara. La parte real σ\sigma es el ritmo al que se encoge o crece eσte^{\sigma t}.
  • Más a la izquierda = más rápido. Estabilizarse lleva unos 4/∣σ∣4/|\sigma| segundos (las líneas verticales discontinuas): las cuatro constantes de tiempo del capítulo 7, ya que e−∣σ∣te^{-|\sigma| t} baja del 2 % tras ln⁡50/∣σ∣≈3,9/∣σ∣\ln 50/|\sigma| \approx 3{,}9/|\sigma| segundos.
  • Más arriba = más oscilante. La altura ω\omega es la frecuencia amortiguada del capítulo 7, así que una oscilación dura 2π/ω2\pi/\omega segundos.
  • El ángulo fija el sobreimpulso. El ángulo θ\theta medido desde el eje real negativo da ζ=cos⁡θ\zeta = \cos\theta (el círculo del capítulo 7), y el sobreimpulso es e−π∣σ∣/ωe^{-\pi|\sigma|/\omega} (los rayos discontinuos). Cerca del eje real apenas se pasa; cerca del eje vertical, muchísimo. (Es exacto para dos polos y ningún cero, partiendo del reposo. Un cero lo cambia: en la sección siguiente, uno convierte un 12 % en un 15 %.)

Mika: Yo quería un solo polo arriba y otro abajo del todo. ¡No me deja! El de abajo no para de copiar al de arriba.

Theo: ¿Te acuerdas de los giradores gemelos del capítulo 6? Un dron real tiene un movimiento real, así que cada este^{st} que gira necesita su gemelo reflejado para cancelar las partes imaginarias. Los polos complejos siempre vienen en parejas reflejadas.

¡Primero, predice! Mantén σ=−2\sigma = -2 y desliza los polos en vertical hacia arriba, de ±4i\pm 4i a ±8i\pm 8i. ¿Qué cambia?

June: El patio saltó cuando respondimos: la pareja fantasma está en ±4i\pm 4i, la nueva en ±8i\pm 8i. La misma envolvente, el doble de oscilaciones y una primera oscilación mucho más grande.

Mika: ¿Y si los dos polos están sobre el eje real, uno en −0,2-0{,}2 y otro en −5-5?

June: El rápido desaparece en un segundo. El lento es el que manda.

Capítulo 10: Funciones de transferencia, polos y ceros ↗

Palabras nuevas

Polo
Un valor de ss donde la función de transferencia explota. Cada polo pp es un movimiento epte^{pt} del sistema.
Pareja reflejada p, pˉp,\ \bar p
Dos polos con la misma parte real y partes imaginarias opuestas. Los polos complejos de un sistema real siempre vienen así.
Polo dominante
El polo más cercano al eje vertical. Su movimiento lento dura más que los demás, así que normalmente decide el tiempo de establecimiento, salvo que un cero esté casi encima de él (el capítulo 11 tiene uno).

Ceros: un vistazo rápido

El numerador también puede valer cero. Esos puntos son los ceros, dibujados como ○. Normalmente cambian cuánto del movimiento de cada polo aparece en la salida. Si un cero cae justo sobre un polo, el factor común se cancela y ese polo desaparece de esta receta de entrada a salida. Aun así, sigue dentro del sistema: empuja el dron de otra manera, con una ráfaga, y ese movimiento vuelve. Eso importa mucho si el polo escondido está a la derecha.

Aquí tienes un sistema con polos fijos en −2±3i-2 \pm 3i y un cero que puedes deslizar. (El Kd\eff{K_d} de nuestro patio empuja contra la velocidad del dron, así que su receta no tiene cero. Empuja en cambio contra la velocidad del error, como hará el capítulo 11, y aparece un cero en −Kp/Kd-\eff{K_p}/\eff{K_d}: para estos polos eso es −6,5-6{,}5, con un sobreimpulso del 15 % en vez del 12 %.)

Capítulo 10: Funciones de transferencia, polos y ceros ↗

June: Mismos polos, pero cuando el cero se acerca al origen la respuesta sube muchísimo más rápido ¡y se pasa más!

Theo: Mismos polos significa mismos movimientos. Así que el cero no puede añadir uno nuevo. Tiene que estar añadiendo un poco de algo que ya tenemos.

Capítulo 10: Funciones de transferencia, polos y ceros ↗

Multiplicar por ss toma la pendiente (capítulo 9), así que el factor (1+s/∣z∣)(1 + s/|z|) añade 1/∣z∣1/|z| veces la pendiente. Por eso un cero cerca del origen hace que el sistema reaccione con tanta fuerza a los cambios: el sobreimpulso crece, aunque los polos no se hayan movido. Lejos, el cero apenas importa. Es todo lo que necesitamos saber de los ceros por ahora.

Palabras nuevas

Cero
Un valor de ss donde la función de transferencia vale cero: un movimiento ezte^{zt} que el sistema no deja pasar.

¿Más a la izquierda siempre es mejor?

June: Fácil: arrastramos los polos muy a la izquierda. Se estabiliza en un pestañeo. ¡El mejor dron de la historia!

Theo: Pero ¿qué empuje necesita eso? Hasta ahora hemos fingido que los motores pueden empujar todo lo que pidan las matemáticas.

Hora de ser honestos. Nuestros motores pueden empujar entre 0 N y 20 N (unas cuatro veces el peso del dron). Abajo, los polos se mueven a la izquierda por una línea de 45° (eso es ζ≈0,71\zeta \approx 0{,}71, el punto ideal del capítulo 7). Las curvas discontinuas son las matemáticas con motores imaginarios e ilimitados; las continuas son motores reales.

Capítulo 10: Funciones de transferencia, polos y ceros ↗

Capítulo 10: Funciones de transferencia, polos y ceros ↗

Más allá de unos −3,9±3.9i-3{,}9 \pm 3.9i las matemáticas piden más de 20 N. El empuje naranja se aplasta contra el límite, y más allá de unos −6±6i-6 \pm 6i las matemáticas llegan a querer tirar del dron hacia abajo, cosa que las hélices no pueden hacer. El dron real deja de seguir la bonita predicción lineal. Su tiempo de establecimiento deja de mejorar en unos 0,7 s, cerca de −6,5±6.5i-6{,}5 \pm 6.5i, y más a la izquierda empeora, con sobreimpulso extra.

June: Lo deslicé hasta −8±8i-8 \pm 8i. Las matemáticas dicen 0,53 s. El dron real tarda 0,77 s: ¡más lento que en −6,5-6{,}5!

Mika: Y su sobreimpulso pasó del 4 % al 16 %. Todo ese empuje extra nunca estuvo disponible.

June: Así que "más a la izquierda" solo es mejor hasta que te quedas sin motor. Colocar polos es un compromiso, no una carrera.

Palabras nuevas

Primer empujón
El empuje pedido en el primer instante de un escalón: mg+Kp Δrmg + \eff{K_p}\,\Delta r, antes de que el dron se haya movido.
Presupuesto de empuje
Las posiciones de los polos que los motores pueden permitirse para un escalón dado: un círculo alrededor de 0.
Límite del motor (saturación)
El empuje real se recorta a 0–20 N, pidan lo que pidan las matemáticas.

Cerrar el lazo sobre el papel

June: En el capítulo 1 dibujamos el lazo con cajas y flechas. En el mundo de s, cada caja solo multiplica. ¿Pueden las cajas hacernos el álgebra?

Dale a cada caja su receta. El controlador es C(s)C(s), por ahora simplemente Kp\eff{K_p}. El dron solo, con el cambio de empuje como entrada y el cambio de altura como salida, es P(s)=1ms2+csP(s) = \frac{1}{ms^2 + cs}: P de planta, la palabra del capítulo 1, no la P del control P. Sale directamente de la ecuación del dron, igual que la receta de arriba.

June: Fácil. La petición pasa por el controlador y luego por el dron. ¡Multiplica a lo largo de la línea!

ΔH=?C P ΔR=Kpms2+cs ΔR\Delta\out{H} \overset{?}{=} C\,P\,\Delta\sp{R} = \frac{\eff{K_p}}{ms^2 + cs}\,\Delta\sp{R}

Theo: ¿Polos en 0 y −2? Nada de oscilación, y un polo en 0 que nunca se estabiliza. Eso es el lazo abierto del capítulo 1: decirle al dron qué hacer y no mirar nunca. El controlador no ve la petición, June. Ve el error.

La flecha que vuelve desde el dron es toda la gracia de la realimentación. El controlador actúa sobre ΔR−ΔH\Delta\sp{R} - \Delta\out{H}, así que la salida aparece a los dos lados. Júntala y divide:

ΔH=C P (ΔR−ΔH)ΔH (1+C P)=C P ΔRΔH=C P1+C P ΔR\begin{aligned} \Delta\out{H} &= C\,P\,\big(\Delta\sp{R} - \Delta\out{H}\big) \\ \Delta\out{H}\,\big(1 + C\,P\big) &= C\,P\,\Delta\sp{R} \\ \Delta\out{H} &= \frac{C\,P}{1 + C\,P}\,\Delta\sp{R} \end{aligned}

Sustituye C=KpC = \eff{K_p} y P=1/(ms2+cs)P = 1/(ms^2+cs), y luego multiplica arriba y abajo por ms2+csms^2 + cs:

C P1+C P=Kp/(ms2+cs)1+Kp/(ms2+cs)=Kpms2+cs+Kp\frac{C\,P}{1 + C\,P} = \frac{\eff{K_p}/(ms^2+cs)}{1 + \eff{K_p}/(ms^2+cs)} = \frac{\eff{K_p}}{ms^2 + cs + \eff{K_p}}

Mika: ¡Es la receta del principio de este capítulo! La hemos sacado dos veces: una de la ecuación del dron y otra de las cajas.

Así que los polos del lazo están donde el denominador, 1+C(s) P(s)1 + C(s)\,P(s), vale cero. Es lo mismo que C P=−1C\,P = -1. Lee C PC\,P como una vuelta al lazo: lo que el controlador y luego el dron le hacen a una señal. En un polo, una vuelta devuelve la señal del mismo tamaño e invertida, y el signo menos del error la invierte otra vez. Así que se mantiene sola, sin ninguna petición.

1+C(s) P(s)=0⟺C(s) P(s)=−11 + C(s)\,P(s) = 0 \quad\Longleftrightarrow\quad C(s)\,P(s) = -1

Pruébalo con una oscilación constante, s=iωs = i\omega. Una vuelta convierte la flecha de la oscilación en C(iω) P(iω)C(i\omega)\,P(i\omega): más corta o más larga, y girada hacia atrás. El dibujo de abajo traza esa flecha para cada velocidad de oscilación, y el punto −1 al que tendría que llegar.

Capítulo 10: Funciones de transferencia, polos y ceros ↗

Theo: Por mucho que suba Kp\eff{K_p}, la curva se dobla hacia −1 pero nunca lo toca. Donde más se acerca es más o menos a la velocidad de oscilación propia del dron.

Esta es la razón. El rozamiento retrasa la señal de cada vuelta hasta 90°, y la masa hasta otros 90°, pero juntos solo llegan a 180° con oscilaciones infinitamente rápidas. Así que el control P por sí solo nunca puede desestabilizar este dron. Un Kp\eff{K_p} mayor solo hace que la vuelta pase más cerca de −1, y más cerca significa menos amortiguamiento: el «más KpK_p, más oscilación» del capítulo 2, ahora en forma de dibujo.

Capítulo 10: Funciones de transferencia, polos y ceros ↗

Palabras nuevas

Lazo cerrado
Un controlador que actúa sobre el error, de modo que la salida vuelve a entrar en su propia entrada: ΔH=C P1+C P ΔR\Delta H = \frac{C\,P}{1 + C\,P}\,\Delta R.
Ganancia del lazo C(s) P(s)C(s)\,P(s)
Lo que una vuelta al lazo le hace a una señal. Los polos del lazo cerrado están donde vale −1.

Lo que sabemos ahora

Lo que descubrimos

  • Sí, basta con una fracción. La función de transferencia G(s)G(s) = cambio de la salida ÷ cambio de la entrada en el mundo de s, partiendo del reposo. Es la receta del sistema, ΔH=G⋅ΔR\Delta\out{H} = G\cdot\Delta\sp{R}, y sale directamente de la ecuación del dron.
  • Los polos (×) son donde G(s)G(s) explota: los modos epte^{pt} de los que está hecho el sistema.
  • Mitad izquierda = estable, mitad derecha = explota. Más a la izquierda = más rápido (se estabiliza en unos 4/∣σ∣4/|\sigma| s, una regla práctica), más arriba = más oscilante (una oscilación = 2π/ω2\pi/\omega s), ángulo = amortiguamiento ζ\zeta = sobreimpulso e−π∣σ∣/ωe^{-\pi|\sigma|/\omega}. El polo más cercano al eje es el que manda.
  • Los polos complejos siempre vienen en parejas reflejadas.
  • Los ceros (○) cambian cuánto obtienes de cada modo. Cerca del origen añaden un empujón: 1/∣z∣1/|z| veces la pendiente.
  • Cierra el lazo sobre el papel y la receta es C P1+C P\frac{C\,P}{1 + C\,P}. Los polos están donde una vuelta al lazo, C PC\,P, vale −1.
  • El primer empujón es mg+m∣p∣2mg + m|p|^2 para un escalón de 1 m, así que los polos lejanos necesitan un empuje que los motores no tienen.

Theo: "Los polos son preciosos. Pero un momento: hemos hecho trampa todo el capítulo regalándole al dron su empuje de vuelo estacionario. Sin él, la gravedad sigue haciéndolo caer. Nuestro mapa está bien. Lo que hay que arreglar es nuestro controlador".

Capítulo 10: Funciones de transferencia, polos y ceros ↗