He tenido algunos éxitos con mi primer controlador PID. Parece que necesita un poco más de trabajo. A continuación se muestra una imagen de una ejecución de muestra con mi controlador implementado. Actualmente solo tengo el término proporcional corrigiendo la señal y solo estoy graficando el término integral para ver dónde está la mentira. Mi primera pregunta es, ¿parece que la línea integral es "correcta"? no parece estar relacionada con los otros valores de la forma en que pensaría. Tenga en cuenta que esta es mi primera experiencia con los controles de bucle cerrado, así que supongo que probablemente no debería saber cómo debería ser.
Leyenda:
- Rojo - Valor ordenado (psi; este es el comando antes de la corrección)
- Púrpura - Valor real (psi; esta es la salida real con solo la corrección proporcional)
- Amarillo: corrección proporcional (este valor se agrega al valor ordenado para generar el valor real)
- Naranja - Corrección integral (esto simplemente se grafica para ver dónde se encuentra)
Simplemente parece que la caída en el centro de la gráfica del término integral es solo aleatoria. Creo que podría tener que ver con una condición de desbordamiento con un Integer que estoy usando, pero nuevamente estoy bastante seguro de que el valor debería dispararse a + -INF si ese es el caso.
También, donde el término integral es casi constante (en el lado izquierdo), ¿no debería estar alrededor de cero en lugar de 25? Debido a que en esos puntos del gráfico (de nuevo a la izquierda) los valores ordenados y reales son casi los mismos, ¿por qué el término integral dirija más a la señal si la señal ya está donde debería estar?
La otra cosa a tener en cuenta también es que solo tengo el término proporcional que corrige. No he agregado el término integral en la corrección. Esto podría afectar el aspecto de esta gráfica, aunque no quiero poner la corrección y hacer que el sistema reaccione mal, ¡por lo tanto, la razón por la que la grafico primero y hago preguntas!