Contents — find the section you need

El control PID (proporcional-integral-derivativo) modifica una entrada tras comparar una referencia con una medición. Se utiliza en calentadores, accionamientos, lazos de control de flujo, articulaciones de robots y aeronaves, ya que funciona correctamente incluso sin un modelo perfecto del sistema. Su aparente simplicidad es engañosa: un controlador sin unidades definidas, límite de salida, política de temporización, validación de sensores ni ruta de parada segura no es un controlador implementable. Es una ecuación propensa a fallar.

Este artículo comienza con la conclusión práctica, para luego desarrollar la intuición, el flujo de señales y las ecuaciones, el ajuste de Ziegler-Nichols, las restricciones y la seguridad, y ejemplos de software actuales. Para conocer los límites de nodos, temporización y hardware de un controlador de robot, consulte ROS 2 Primer. Para comprender por qué el retardo de localización y los saltos también son problemas de control, consulte Visual SLAM Primer.

La entrada del PID es el error e=r-y y su salida es el comando u. P reacciona al error actual, I elimina el desfase persistente y D añade amortiguación a la tasa de cambio.

Conclusión breve

  • P responde al error actual; I elimina el error persistente; D proporciona amortiguación a la tasa de cambio. Comience con P, defina los límites, añada I solo cuando persista un desfase constante y añada D filtrado solo cuando tenga un propósito claro.

  • La implementación debe limitar tanto el comando como su frecuencia. La saturación sin protección contra la saturación provoca que un integrador almacene una demanda que el actuador no puede satisfacer.

  • En la mayoría de los sistemas físicos, es preferible diferenciar una medición filtrada en lugar de un error de referencia escalonado. Esto evita el pico de la derivada y reduce la sensibilidad a los cambios de referencia.

  • El PID suele ser la mejor solución para un bucle rápido con un retardo moderado. Una optimización más avanzada no elimina la necesidad de un bucle interno rápido, observable y seguro.

Intuición: tres operadores observando un error

Supongamos que la temperatura ambiente está por debajo de su valor de referencia. El operador P dice: «Está cinco grados por debajo, así que aplique calor ahora». El operador I dice: «Ha permanecido baja durante mucho tiempo, por lo que el calor de referencia es insuficiente». El operador D dice: «La temperatura ya está subiendo rápidamente; reduzca la potencia antes de que se sobrepase». La suma de sus acciones puede proporcionar una respuesta rápida, la eliminación de una pérdida de calor constante y una menor sobreoscilación.

La analogía omite los factores que determinan la seguridad del lazo: la potencia del calentador es finita, un termómetro es ruidoso y el calor tarda en propagarse. Un derivador puede confundir el ruido con el movimiento; un integrador puede seguir acumulando mientras el calentador ya está saturado. Por lo tanto, el diseño de un controlador PID comienza con lo que se mide y lo que se puede controlar de forma segura, no con los valores de ganancia.

Flujo de señal: el controlador es un solo bloque

Diagram 1 · Use the button to switch views
PID closed-loop signal flowReference, summing junction, PID, saturation, plant, sensor feedback and disturbance are connected in a closed loop.reference rΣPIDP + I + Dlimitssaturationplant Gmotor / thermal / robotsensor H, sampling, delay and noise are part of feedbackdisturbance d

Diagrama: Duskcoil, conceptual en lugar de un diagrama de cableado medido. La calibración, el retardo de transporte, las comunicaciones y los bucles internos del actuador pertenecen a la ruta de la señal real.

Si la planta es G y el sensor o estimador es H, aumentar únicamente la capacidad del controlador C no elimina el retardo, la saturación ni las fallas en G y H. Por ejemplo, cuando un robot móvil utiliza la localización SLAM. Para el seguimiento, los saltos y la latencia en la estimación se manifiestan ante el PID como ruido y perturbaciones en la medición. Los sistemas de coordenadas, la sincronización temporal y la relocalización, descritos en Visual SLAM Primer, forman parte del problema de control del controlador.

Ecuaciones y unidades básicas

Sea r la referencia, y la medición, e=r-y y u_{ff} la orden de prealimentación. El PID continuo paralelo es:

u(t)=u_{ff}(t)+K_Pe(t)+K_I\int_0^t e(\tau)d\tau+K_D\frac{d e(t)}{dt}

K_P tiene unidades de u/e, K_I tiene unidades de u/(e\cdot s) y K_D tiene unidades de u\cdot s/e. No son inherentemente adimensionales. Convertir grados a radianes, invertir un codificador o combinar una marca de tiempo de milisegundos con una ganancia basada en segundos modifica el bucle. Registre las unidades, los signos, los marcos y la política de actualización de referencia antes de la sintonización.

Con el período de muestreo T_s, una implementación discreta básica mantiene el estado integral I_k y la derivada de la diferencia D_k:

I_k=I_{k-1}+T_s e_k,\qquad D_k=\frac{e_k-e_{k-1}}{T_s}

El controlador calcula entonces u_k=K_Pe_k+K_II_k+K_DD_k. Esta forma ya plantea cuestiones de ingeniería críticas: ¿T_s se mide o se asume?; ¿qué sucede cuando un mensaje llega tarde?; ¿qué se hace con una muestra obsoleta?; y ¿el controlador funciona a una velocidad determinista? Una derivada filtrada común en la medición utiliza:

el coeficiente \alpha=\tau_f/(\tau_f+T_s) y

D_k=\alpha D_{k-1}+(1-\alpha)\frac{y_{k-1}-y_k}{T_s}

Evita el pico de la derivada causado por un cambio de referencia. Su filtro también añade retardo de fase, por lo que el filtrado no es efectivo. Compensar un sistema con muestreo deficiente o con holgura mecánica.

Comprender P, I y D paso a paso

Aumentar P suele mejorar la respuesta inmediata y el rechazo de perturbaciones, hasta que el retardo y la dinámica de la planta lo convierten en sobreimpulso u oscilación. I elimina una desviación constante como la gravedad, la fricción o la pérdida de calor, pero un valor excesivo de I integra la demanda antes de que la planta haya respondido. D puede proporcionar amortiguación, pero amplifica la cuantificación del codificador, la vibración y la fluctuación del estimador. En una cascada de posición-velocidad, ajuste primero el bucle de velocidad rápido y estable, y luego el bucle de posición. No concentre todos los errores en un controlador PID lento.

Saturación y anti-windup

Las órdenes físicas obedecen a u_{min}\leq u\leq u_{max}. Sea u^* la orden no saturada calculada y u=\operatorname{sat}(u^*) la orden enviada. Si I continúa acumulándose mientras un actuador está bloqueado en un límite, el bucle puede permanecer bloqueado después del error. Se invierte. Esto es la saturación del integrador: el integrador sigue acumulando e aunque u no pueda seguirlo, y el estado integral I_k retrasa posteriormente la recuperación.

La integración condicional congela el integrador cuando la salida está saturada y la integral se adentraría aún más en la saturación. El cálculo inverso es una alternativa más suave:

I_k=I_{k-1}+T_se_k+K_{aw}(u_k-u_k^*)

Aquí I_k es el estado de error integrado, por lo que K_{aw} tiene unidades de error por comando. Algunas implementaciones almacenan K_I I_k como la salida integral y utilizan 1/T_t (el tiempo de seguimiento inverso) en su lugar; documente las unidades y la ecuación elegidas. La discrepancia de saturación se retroalimenta al integrador. K_{aw} establece la velocidad de esa corrección. Limitaciones del integrador, rampas de referencia y funcionamiento sin interrupciones. La transferencia manual/automática son medidas complementarias. La protección anti-saturación no mejora el rendimiento; hace que la recuperación tras un límite inevitable sea predecible.

Síntoma Mecanismo probable Inspeccionar primero Respuesta típica
Respuesta lenta o desviación P demasiado baja, perturbación constante signos, unidades, límite de salida aumentar P gradualmente; añadir I suave si es necesario
Oscilación o sobreimpulso P/I demasiado alta, retardo periodo del bucle, retardo, traza del sensor reducir P/I; usar una rampa de referencia
No se recupera de un límite saturación del integrador registros de comando e integral I condicional, limitación, retrocálculo
Disparo al alcanzar un punto de consigna derivada del error trayectoria de entrada D derivada de la medición
Vibración a baja velocidad fricción, cuantización, juego codificador y mecánica bucle de velocidad interna, compensación, filtro

Ajuste, incluyendo Ziegler-Nichols

El procedimiento de Ziegler-Nichols en bucle cerrado establece Se ajusta I y D a cero, se eleva P a una ganancia de oscilación sostenida K_u, se mide el período T_u y luego se utiliza un punto de partida PID clásico.

K_P=0.6K_u,\quad T_i=0.5T_u,\quad T_d=0.125T_u,

donde K_I=K_P/T_i y K_D=K_PT_d. Acercarse deliberadamente a la oscilación sostenida puede ser inaceptable en un proceso térmico, vehículo, sistema de presión o robot cerca de personas. Se trata de una heurística histórica, no de una autorización para realizar pruebas en el límite de estabilidad.

Un flujo de trabajo más seguro utiliza simulación o pruebas de escalón de baja amplitud para estimar la ganancia estática, el retardo y la constante de tiempo; primero habilita los límites y la lógica de parada; ajusta P; añade I solo para corregir una desviación observada; luego añade una D filtrada solo para corregir una necesidad de amortiguación medida. Se prueban por separado el seguimiento de referencia y el rechazo de perturbaciones. Se registran la corriente máxima, la temperatura, la velocidad, la distancia de frenado, el tiempo de saturación y el estado integral para cada cambio.

Las restricciones y la seguridad se encuentran fuera de Ecuación PID

No utilice la salida PID como función de seguridad. Use parada de emergencia independiente, protección contra sobrecorriente/sobretemperatura/sobrepresión, límites de recorrido, temporizadores de vigilancia y un comando seguro definido cuando se pierden los datos o la comunicación. Un controlador intenta alcanzar una referencia; una función de seguridad impide la entrada a un estado inseguro bajo supuestos de fallo que pueden incluir el fallo del controlador.

Como mínimo, valide los rangos de muestreo, las marcas de tiempo y la actualidad; limite las referencias, la aceleración, la salida y la variación de la salida; especifique el comportamiento de reinicio/retención del integrador; pruebe la toma de control manual sin interrupción; e inyecte pérdida de sensor, muestras retardadas, reinicio del procesador y cambios de carga. Que ROS 2 esté activo no es prueba de temporización determinista ni de seguridad funcional.

Implementación actual y ejemplos de investigación

El marco ros2_control separa las interfaces de hardware, la gestión del controlador y los controladores, y documenta el encadenamiento de controladores y los controladores PID. Su documentación oficial y [página del controlador PID]( https://control.ros.org/jazzy/doc/ros2_controllers/pid_controller/doc/userdoc.html expone ganancias, límites, opciones anti-saturación, referencias, estados medidos y el estado publicado del controlador. Esto permite observar las interfaces y el estado; no ajusta automáticamente un robot físico.

Los controladores industriales presentan las mismas consideraciones. Siemens documenta la funcionalidad PID para los PLC SIMATIC S7-1200/S7-1500 en su manual del sistema S7-1200. La investigación amplía el PID con adaptación de fricción y retardo, ajuste basado en datos y generación de referencias de alto nivel aprendidas, manteniendo un pequeño bucle de bajo nivel inspeccionable cuando esta sea la arquitectura más segura.

Lista de verificación de implementación

  1. Defina la variable controlada, el comando, las unidades, las direcciones positivas, los rangos válidos y la velocidad del bucle.

  2. Valide la calibración, las marcas de tiempo, la obsolescencia y los valores atípicos antes del cálculo del control.

  3. Limite u y su velocidad de conmutación. 4. Compruebe la velocidad de respuesta; pruebe el comportamiento independiente de parada de emergencia, temporizador de vigilancia y pérdida de comunicación.

  4. Sintonice y registre P-only, PI y luego PID; pruebe los comandos y las perturbaciones por separado.

  5. Registre la referencia, la medición, el comando real, el comando saturado, el estado integral y los indicadores de fallo en un solo reloj.

  6. Pruebe deliberadamente la fluctuación, el cambio de carga, el reinicio, la pérdida del sensor y la saturación del actuador.

  7. Compare la topología de ROS 2 con la Introducción a ROS 2 y la temporización del estimador con la Introducción a Visual SLAM.

Compruebe su comprensión
¿Qué sucede si la integración continúa mientras la salida está saturada?

La acción integral almacenada puede causar sobreimpulso posterior. Compruebe el comportamiento anti-saturación en lugar de ajustar la ganancia integral. solo.

Referencias

Related reading

Explore another aspect of this fieldLab de MPC: volver a resolver una secuencia de curvatura dentro del horizonte y los límites de direcciónExplore another aspect of this fieldLab de comparación de seguimiento de trayectoria: ejecute PP, APP, RPP, Stanley y MPC en las mismas condicionesExplore another aspect of this fieldLab de Pure Pursuit: comparar el seguimiento de trayectoria con lookahead fijo