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.
Un buen enfoque para tal problema se llama control adaptativo. En resumen, es una metodología de control que presume que el modelo es conocido pero los parámetros del modelo (masa, inercia, etc.) no lo son. Su trabajo es estimar los parámetros desconocidos. Se puede encontrar una breve introducción en wikipedia . El texto Robótica: modelado, planificación y control por Siciliano et al. cubra el tema más a fondo.
Edite en respuesta a la consulta @Rocketmagnets:
En resumen, debe tener un modelo matemático de su sistema, es decir, las ecuaciones que describen cómo evoluciona su sistema con el tiempo cuando es forzado o no, pero no necesita conocer parámetros dinámicos como la masa de los diversos componentes, su inercia, etc. .. Es el trabajo del controlador adaptativo estimar estos parámetros. Sin embargo, debe hacer una suposición inicial para cada uno de los parámetros desconocidos. Luego, a medida que el sistema se ejecuta, utiliza las señales de control, las señales de salida y un método como la regresión lineal o el descenso de gradiente para actualizar los valores de los parámetros desconocidos. Con el tiempo, los parámetros convergerán a valores que darán como resultado un estado estacionario, aunque pueden no coincidir con los parámetros reales, es decir, puede que la masa sea incorrecta, pero el valor seguirá funcionando.
Desde aquí, recomendaría referirse a un texto que discute el método. Acabo de notar, por ejemplo, que el Dr. Marc Bodson está ofreciendo una copia de su texto Control adaptativo: estabilidad, robustez y convergencia en formato PDF en su sitio web .
fuente
El proceso que está describiendo se conoce como PID adaptativo.
Sin embargo, parece un poco exagerado. He descubierto que PID es bastante robusto cuando se trata de perturbaciones externas y las tareas que describe no parecen estar más allá de las capacidades de un solo conjunto de ganancias.
fuente