Ruta de aprendizajeIntermedio

Control PID en robótica: ruta de aprendizaje

Transforme lecturas ruidosas en una señal limpia de error y sintonice un controlador PID estable que rastree consignas sin oscilaciones divergentes.

Un controlador PID es el caballo de batalla de la robótica: convierte la distancia entre donde un robot está y donde debería estar en una corrección. Pero un controlador solo es tan bueno como la señal sobre la que actúa, así que esta ruta empieza limpiando lecturas de sensor ruidosas, y después le enseña a ajustar los términos proporcional, integral y derivativo para que el robot siga la trayectoria de forma suave en vez de oscilar.

Los nodos prácticos son donde el orden importa. Primero ajuste un lazo PID desnudo, donde una única consigna y una única planta le dejan ver el sobreimpulso, la oscilación y el error permanente de forma aislada. Solo después lleve esas mismas tres ganancias al seguidor de línea, donde la planta responde y el error llega desde un sensor real, que es donde el ajuste deja de ser pulcro.

La ruta termina en un sitio al que los nodos anteriores no pueden llevarle. Toda planta hasta ese punto es estable: ignórela y ahí se queda, así que ajustar es hacer mejor que no hacer nada. Un robot autoequilibrado no es estable: déjelo en paz y está en el suelo en menos de un segundo. Ese único cambio convierte el buen ajuste en un requisito en vez de una mejora, y obliga a la idea estructural con la que esta ruta acaba: cuando no puede mandar la cosa que de verdad le importa, anida dos lazos y deja que el exterior mueva el objetivo del interior.

Antes de empezar

Ya debería ser capaz de leer un sensor y manejar un motor a una velocidad comandada: la ruta de control de motores cubre ambas cosas. Traiga un robot o un simulador donde pueda cambiar un número y ver al instante qué hace.

Lo que podrá hacer

  • Ajustar P, después I, después D en un orden deliberado, en vez de cambiar tres números a la vez y rezar.
  • Leer una curva de respuesta y nombrar qué está mal por su forma: sobreimpulso, oscilación sostenida, o un error permanente que nunca cierra.
  • Reconocer el windup integral cuando el actuador satura, y arreglarlo acotando en vez de bajando la ganancia hasta que el síntoma se esconda.
  • Anidar dos lazos de modo que un controlador exterior mueva la consigna de uno interior.

Dónde se atasca la gente

Ajustar las tres ganancias a la vez. Con tres mandos que interactúan y una sola salida, cambiar todo a la vez significa que no aprende nada del resultado. Suba P hasta que oscile y retire un poco; solo después añada D; añada I al final y solo si queda un desvío permanente.

Derivar el error. Cuando la consigna da un escalón, el error da un escalón con ella, y su derivada es brevemente enorme: el robot da un tirón sin motivo físico. Derive la medición en su lugar. La matemática es casi idéntica y el golpe desaparece.

Alimentar D con una señal ruidosa. La derivación amplifica el ruido. Si su sensor tiene vibración, D convierte esa vibración en órdenes de motor. Filtre primero, y por eso esta ruta empieza por el ruido de sensor y no por el controlador.

Suponer que las ganancias se transfieren. Las ganancias son propiedades de una planta concreta. Baterías nuevas, un chasis más pesado o una superficie distinta cambian la planta, y el ajuste que ayer era perfecto hoy no lo será.

Una tasa de bucle inconsistente. Tanto I como D dependen de cuánto tiempo ha pasado. Si su bucle se ejecuta cuando acaba, ambos términos se calculan contra una mentira. Fije el intervalo, o mídalo y pase el tiempo real transcurrido a la matemática.

Qué necesita

Qué Por qué lo necesita esta ruta Notas
Una planta que pueda excitar Algo que responde a una orden y se estabiliza: un motor, un calentador, un robot Los simuladores sustituyen a las tres si no tiene ninguna
Una forma de representar Ajustar mirando un robot es adivinar; ajustar leyendo una curva no Plotter por serie, o los laboratorios de esta ruta
Un intervalo de bucle fijo Tanto I como D se calculan contra el tiempo transcurrido. Un bucle que se ejecuta cuando acaba calcula ambos contra una mentira El patrón millis()
Paciencia para un mando a la vez Todo el método —

Puede completar todos los nodos de esta ruta en el navegador. Los tres laboratorios son controladores reales sobre plantas reales (simuladas), y el procedimiento de ajuste se traslada directamente al hardware, que es justamente la razón de hacerlo aquí primero.

Por qué la ruta sigue este orden

El orden está elegido para que cada etapa añada exactamente una dificultad nueva.

El filtrado va primero porque un controlador solo es tan bueno como su entrada, y D es el término que le castiga por saltárselo. La derivación amplifica el ruido: un sensor con ±2 cuentas de vibración muestreado cada 10 ms produce una estimación de derivada que oscila 200 cuentas por segundo, y D convierte eso directamente en órdenes de motor. Ajustar un controlador sobre una señal sin filtrar le enseña la lección equivocada: que D no sirve para nada.

El lazo desnudo va antes que el robot porque aísla el controlador. Una consigna, una planta, tres ganancias, y sin geometría de dirección, sin colocación de sensores, sin patinaje de ruedas. Cuando la respuesta sobrepasa aquí, la causa son las ganancias, y no hay nada más que pueda ser.

El seguidor de línea va después porque añade dos cosas a la vez, y ambas son adiciones honestas: ahora el error viene de un sensor real con un campo de visión limitado, y la planta responde: el propio movimiento del robot cambia el error más rápido de lo que el controlador espera. Aquí es donde un ajuste que parecía terminado deja de estarlo.

El robot de equilibrio va al final, y es el punto de toda la ruta. Toda planta anterior es estable: ignórela y ahí se queda, así que ajustar es una optimización. Un péndulo invertido no es estable: déjelo en paz un segundo y está en el suelo. Ese único cambio convierte el buen ajuste de mejora en requisito, y obliga a la idea estructural con la que la ruta acaba: cuando no puede mandar la cosa que le importa, anida dos lazos.

Puntos de control: cómo saber que una etapa caló

Etapa La comprobación Qué es un aprobado
Filtrado Representar la señal cruda y la filtrada en los mismos ejes mientras perturba el sensor Puede señalar el retardo que le cuesta su filtro, en milisegundos, y decir por qué merece la pena pagarlo
Solo P Suba P hasta que oscile de forma sostenida, anote el valor, divídalo por dos Tiene un número para la ganancia crítica, y la respuesta ahora sobrepasa y se estabiliza
Añadir D Aumente D hasta que el sobreimpulso quede amortiguado El sobreimpulso baja sin que la respuesta se vuelva perezosa; con demasiado D se vuelve escarpada
Añadir I Solo si queda un desvío permanente El desvío cierra, y ha acotado el acumulador antes de probar cerca de la saturación
Leer una curva Mire tres respuestas y diga qué está mal en cada una Puede distinguir sobreimpulso, oscilación sostenida y error permanente solo por la forma
Windup Mande una consigna muy lejos de lo que el actuador puede alcanzar, y luego suelte El sistema no se pasa de largo al soltar; si lo hace, le falta el acotamiento
Tasa de bucle Imprima su intervalo real durante un minuto Es fija, o está pasando el tiempo transcurrido medido a la matemática
Cascada Mande una posición sobre una planta de equilibrio El lazo interno corre varias veces más rápido que el externo, y puede decir la proporción

Dónde termina esta ruta

PID es el caballo de batalla, no todo el campo, y esta ruta es honesta sobre dónde acaba.

Termina en el control de una entrada y una salida. Los robots reales a menudo tienen varios lazos acoplados que interfieren entre sí, y para eso hay una disciplina entera que PID no aborda.

No cubre la prealimentación, que es la mayor mejora práctica que le falta a la mayoría de los loops de robot. PID es reactivo por construcción: no puede actuar hasta que existe un error. Si ya sabe qué movimiento está mandando, puede calcular de antemano la mayor parte de la salida necesaria y dejar que PID corrija solo la diferencia. El tutorial de perfiles de movimiento es la primera mitad de esa idea.

No cubre el control basado en modelo —LQR, colocación de polos, o cualquier cosa que empiece escribiendo las ecuaciones de la planta. Esos dan mejores resultados cuando usted tiene un modelo preciso, y la mayoría de los robots pequeños no lo tienen.

Y no cubre el escalado de ganancias, la respuesta estándar al hecho de que las ganancias no se transfieren: conservar varios ajustes y cambiar entre ellos según la velocidad, la carga o la tensión de la batería.

Ruta de aprendizaje

La ruta

Sigue los nodos en orden: cada uno desbloquea el siguiente cuando lo completas. Tu progreso se guarda en este dispositivo.

0 / 7 completados

100%
Tutorial

Filtrado y fusión de señales ruidosas de sensores

Tutorial

Abrir tutorial
Tutorial

Sintonización metodológica de un lazo PID

Tutorial

Abrir tutorial
Simulador

Práctica en bucle de control aislado

Interactivo

Abrir simulador
Simulador

Aplicación a un robot móvil seguidor de línea

Interactivo

Abrir simulador
Simulador

Control de una planta inherentemente inestable

Interactivo

Abrir simulador
Tutorial

Lazos en cascada con controladores anidados

Tutorial

Abrir tutorial
Objetivo

Sintonización y estabilización de lazos alcanzada

Habilidad desbloqueada

Preguntas comunes

Preguntas frecuentes

¿En qué orden secuencial deben sintonizarse las ganancias PID?

Ganancia proporcional (P), derivativa (D) e integral (I), modificando únicamente un parámetro a la vez. Incremente la ganancia proporcional hasta inducir una oscilación armónica sostenida y reduzca a la mitad ese valor crítico (base del método analítico clásico de Ziegler-Nichols). Incorpore luego la acción derivativa para amortiguar el sobreimpulso provocado por P. Finalmente, active la acción integral si persiste un error estático en régimen permanente que P no logra cerrar. Alterar los tres términos simultáneamente impide correlacionar causa y efecto.

¿Por qué entra en oscilación un controlador PID?

Generalmente por una ganancia proporcional desmedida ante los retardos de la planta física. Todo bucle acumula latencias: tiempo de muestreo, filtros de señal e inercia motriz, lo que provoca que P actúe sobre un error desfasado en el tiempo. Superado cierto umbral, la corrección llega a destiempo e inestabiliza el sistema. Reduzca P y aumente D para anticipar la tendencia. Si la oscilación es irregular y de muy alta frecuencia, el término D está amplificando ruido de lectura de los sensores.

¿Qué es el embotamiento integral (integral windup) y cómo se previene?

Ocurre cuando el actuador físico se satura (por ejemplo, el puente H alcanza el 100 % de ciclo de trabajo PWM) y el error no puede anularse de inmediato. El acumulador integral continúa integrando en el tiempo hasta alcanzar valores numéricos desmesurados. Al alcanzarse la consigna, este exceso almacenado debe descargarse, produciendo un enorme sobreimpulso transitorio. Se previene aplicando saturación (clamping) matemática estricta a la suma integral o congelando la integración mientras la salida esté saturada.

¿Las ganancias PID calibradas en un robot son extrapolables a otro vehículo?

No, e incluso pueden variar en el mismo vehículo entre distintos días. Las ganancias son propiedades de la planta electromecánica, la cual abarca el estado de carga de la batería, la masa del chasis, la fricción del pavimento y la temperatura de los reductores. Un ajuste perfecto con batería recién cargada se tornará lento con batería descargada al generar menor par motor. Lo que se preserva y extrapola es el procedimiento metodológico de calibración, jamás los valores numéricos brutos.

¿Por qué conviene calcular la derivada de la medición en vez de la del error?

Porque ante un cambio en escalón brusco de la consigna (setpoint), el error matemático experimenta una discontinuidad instantánea cuya derivada temporal tiende a infinito, sometiendo los motores a un tirón violento y destructivo sin motivo físico real. Calcular la derivada respecto a la variable de proceso medida preserva la amortiguación del sistema eliminando completamente el impacto parásito del cambio de consigna con una simple línea de código.

¿Qué es un control PID en cascada y cuándo resulta imprescindible?

Es una arquitectura de dos lazos anidados donde la salida del lazo exterior establece la consigna del lazo interior. Es obligatoria cuando la magnitud de interés no puede gobernarse directamente. En un robot autoequilibrado se desea controlar la posición espacial, pero los motores aplican par en rueda; para avanzar debe provocarse una inclinación previa controlada. El lazo interno estabiliza el ángulo y el externo regula el avance modulando la inclinación requerida. El lazo interno debe ser notablemente más rápido que el externo.