Capítulo 2

Control proporcional

¿Con cuánta fuerza debe empujar el dron cuando está demasiado bajo?

Capítulo 2: Control proporcional ↗

Empuja más cuanto más lejos estés

June: La última vez, con el paquete, el dron se quedó 25 cm por debajo. Quiero saber por qué.

Theo: Nuestra regla tenía dos partes: 4,9 N para sostener el dron, más 8 N por cada metro de error. Los 4,9 N eran una suposición sobre el peso. En cuanto el paquete cambió el peso, la suposición dejó de valer.

Mika: ¡Pues quitemos la suposición! Nada de 4,9. Que el error haga todo el trabajo: empujar en proporción a lo lejos que estés.

Ese es el controlador más famoso que existe, el control proporcional ("control P" para abreviar):

T=Kp e=Kp (r−h)\eff{T} = K_p \, \err{e} = K_p\,(\sp{r} - \out{h})

KpK_p es la ganancia: cuántos newtons de empuje añades por cada metro de error. Su unidad es el newton por metro (N/m). Una KpK_p grande significa un controlador impaciente; una KpK_p pequeña, uno relajado. Es el único mando que tenemos en este capítulo.

¡Primero, predice! Toma Kp=5K_p = 5 N/m. El dron sale del suelo y se dirige a 2 m. ¿A qué altura acaba flotando?

Capítulo 2: Control proporcional ↗

Mira la línea azul punteada: es donde el dron acaba flotando, y siempre está por debajo del objetivo. Esa diferencia se llama error en estado estacionario, o simplemente la caída.

Theo: Es un tira y afloja. La gravedad tira hacia abajo con 4,9 N, siempre. La única forma de que el controlador empuje de vuelta con 4,9 N es que quede algo de error que multiplicar.

T=peso⟹Kp e=4,9⟹ecaıˊda=4.9Kp m\begin{aligned}\eff{T} &= \text{peso} \\ \Longrightarrow K_p\,\err{e} &= 4{,}9 \\ \Longrightarrow \err{e}_{\text{caída}} &= \frac{4.9}{K_p}\ \text{m}\end{aligned}

Ahora baja KpK_p hasta 2 N/m. ¡El dron ni siquiera despega! En el suelo el error es de 2 m, así que el empuje es solo 2×2=42 \times 2 = 4 N, menos que los 4,9 N de peso. La fórmula dice que necesitaría caer 2,45 m, es decir, bajo tierra.

¡Pues súbelo!

June: Arreglo fácil: más ganancia siempre es mejor. KpK_p más grande, caída más pequeña. ¡A tope!

Mika: Voy. Potencia máxima: ¡Kp=60K_p = 60!

Capítulo 2: Control proporcional ↗

Mika: ¡La caída baja a 8 cm! A los pocos segundos está prácticamente en 2 m. ¡Victoria!

Theo: Mika… mira los dos primeros segundos. Se disparó hasta unos 3,4 metros, muy por encima del objetivo. Y mira el empuje: 120 N al despegar, luego tirando hacia abajo, luego otra vez hacia arriba. Eso no es flotar, es rebotar.

Mika: Vaya. Solo miré dónde acababa. El área roja de error del principio es enorme.

Ese fue el error de Mika: juzgar un controlador solo por dónde se queda al final. Cómo llega importa igual. Prueba unas cuantas ganancias y fíjate en el fantasma tenue de tu intento anterior:

  • Ganancia baja (KpK_p pequeña): suave, pero cae mucho. Bájala lo suficiente y el dron no llega a despegar.
  • Ganancia alta (KpK_p grande): poca caída, pero tiene sobreimpulso (se pasa de la altura en la que acabará) y oscila antes de estabilizarse.

June: ¿Por qué empujar más fuerte lo haría tambalearse?

Theo: Un empujón grande lo pone en movimiento rápido. Cuando llega a la altura correcta todavía va deprisa, y nada en nuestra regla dice "frena, que ya casi estás". Solo el rozamiento del aire lo frena un poquito. Así que se pasa, lo empujan de vuelta, se vuelve a pasar…

Un desafío

Busquemos el punto justo. El dron aprueba si cae menos de 20 cm y tiene un sobreimpulso menor del 30 % (medimos el sobreimpulso como cuánto se pasa por encima de la altura en la que acaba quedándose). Encuentra una KpK_p que cumpla las dos cosas.

Capítulo 2: Control proporcional ↗

Mika: ¡Las zonas verdes no se solapan nunca! La caída necesita KpK_p por encima de unos 24,5; el sobreimpulso, por debajo de unos 3,9. No hay solución.

Theo: Porque un solo mando controla las dos cosas, y tira de ellas en direcciones opuestas. No es que no hayamos dado con el número correcto. No existe. Necesitamos un tipo de controlador mejor.

June: Para diseñar uno mejor, tenemos que hablar de las oscilaciones como es debido. "Lento", "saltarín", "acaba estabilizándose"… eso son sensaciones, no física.

Lo que sabemos hasta ahora

Lo que descubrimos

  • Control proporcional: empuje = Kp×K_p \times error. Un solo mando, la ganancia KpK_p (N/m).
  • Contra la gravedad, el control P siempre deja un error en estado estacionario (caída) de 4,9/Kp4{,}9 / K_p m: tiene que quedar algo de error para producir el empuje que sostiene el dron.
  • Ganancia baja significa mucha caída y una respuesta lenta. Ganancia alta significa poca caída, pero sobreimpulso y oscilaciones.
  • "Más ganancia siempre es mejor" es falso. Para nuestro dron, ninguna KpK_p da a la vez poca caída y poco sobreimpulso.

Lento. Oscilante. Se pasa. Se estabiliza. No paramos de describir cómo cambian las cosas con el tiempo con palabras difusas. Necesitamos un lenguaje de verdad para el cambio.

Capítulo 2: Control proporcional ↗