Tengo un servo sistema simple que utiliza un controlador PID implementado en una MCU para realizar la retroalimentación. Sin embargo, las propiedades del sistema cambian dinámicamente, por lo que los parámetros PID nunca pueden ajustarse para todas las circunstancias.
Mi robot es un brazo liviano con motores eléctricos que se pueden conducir hacia atrás, similar a este:
El brazo realiza varias tareas, como levantar pesas pesadas, empujar y tirar objetos sobre el escritorio. Cada una de estas tareas requiere diferentes parámetros de ajuste PID que no puedo predecir fácilmente.
Lo que realmente me gustaría es una función de nivel superior que pueda ajustar cuidadosamente los parámetros en respuesta al comportamiento del brazo. Por ejemplo, si nota que el brazo está oscilando, podría reducir P y aumentar D. O si nota que el brazo no está alcanzando su objetivo, puede aumentar I.
¿Existen tales algoritmos? Sería feliz incluso si el algoritmo no perfeccionara los parámetros de inmediato. Por ejemplo, el brazo podría oscilar varias veces antes de que los parámetros se ajustaran a sus nuevos valores.