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
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.