Controladores PID en Sistemas de Conducción Automatizada

Los controladores PID son fundamentales en aplicaciones de automatización donde se requiere precisión dinámica, como el posicionamiento exacto de vehículos autónomos. Su diseño combina tres estrategias complementarias: proporcional, integral y derivativa, cada una con un rol específico en la reducción del error entre la referencia y la salida real del sistema.

Estructuras de Implementación

Existen dos formas principales de implementar un algoritmo PID en entornos embebidos: la forma posicional y la forma incremental. La elección depende de requisitos como estabilidad numérica, consumo de memoria y tolerancia a fallos.

1. Controlador PID posicional

Esta versión calcula directamente la salida total del controlador en cada ciclo. Es intuitiva pero sensible a saturaciones y ruidos de medición:

float error = setpoint - measured_value;
integral_sum += error * sample_time;
float derivative = (error - previous_error) / sample_time;

output = Kp * error + Ki * integral_sum + Kd * derivative;

previous_error = error;

2. Controlador PID incremental

En lugar de generar la salida absoluta, este enfoque calcula únicamente la variación necesaria respecto al último comando. Esto mejora la robustez ante reinicios y limita efectos de integración acumulada:

float error = setpoint - measured_value;
float delta_error = error - previous_error;
float delta_integral = error * sample_time;
float delta_derivative = (delta_error - prev_delta_error) / sample_time;

float delta_output = Kp * delta_error + Ki * delta_integral + Kd * delta_derivative;
output += delta_output;

prev_delta_error = delta_error;
previous_error = error;

Función de Cada Componente

Para ilustrar su comportamiento, consideremos un vehículo que debe detenerse con precisión en una posición objetivo, regulando su velocidad mediante una única señal de actuación (ej. pedal virtual).

Componente proporcional (P)

Actúa instantáneamente según la magnitud del error actual. Un valor alto de Kp acelera la respuesta, pero puede inducir oscilaciones o inestabilidad si se excede. En el ejemplo del vehículo, una Kp elevada genera aceleraciones bruscas cuando está lejos del objetivo, pero también frenazos agresivos al acercarse — lo que dificulta una parada suave.

Componente integral (I)

Acumula el error a lo largo del tiempo para eliminar desviaciones persistentes. Sin él, el sistema podría estabilizarse en una posición cercana al objetivo, pero no exacta (error en régimen permanente). En el caso del vehículo, el término integral compensa fuerzas constantes no modeladas (como pendientes suaves o fricción variable), asegurando que, tras múltiples ciclos, el error tienda a cero — aunque puede introducir sobreimpulso si Ki es demasiado grande.

Componente derivativo (D)

Anticipa cambios futuros basándose en la tasa de variación del error. Actúa como un amortiguador: cuanto más rápido crece el error (por ejemplo, al acercarse rápidamente al punto de parada), mayor es su efecto de frenado. Esto reduce el sobreimpulso y mejora la estabilidad, aunque amplifica el ruido de los sensores si no se filtra adecuadamente.

Estrategias Empíricas de Ajuste

El afinamiento manual sigue una secuencia progresiva para evitar interacciones no lineales entre términos:

  • Iniciar con Kp pequeño y aumentarlo hasta observar oscilaciones leves.
  • Agregar Ki gradualmente para reducir el error residual, deteniéndose antes de que aparezcan sobrecargas prolongadas.
  • Introducir Kd solo si persisten oscilaciones rápidas; su incremento suaviza la respuesta sin afectar significativamente el tiempo de asentamiento.

Una regla práctica indica que una respuesta óptima muestra aproximadamente dos ciclos oscilatorios, siendo el primero ~4 veces mayor que el segundo, seguida de una convergencia estable.

Etiquetas: PID control-automático vehiculos-autonomos regulacion-de-velocidad Sistemas-Embebidos

Publicado el 8-30 21:54