Su pregunta es abstracta, pero desea un controlador que intente mantener la cantidad Y en su máximo. El controlador afecta a la cantidad X y hay un solo máximo que causa dependencia, como Y = -A * (X-B) ^ 2 + C, donde al menos A es positivo.
¿Por qué simplemente no busca el máximo con algoritmos matemáticos conocidos (método de gradiente y otros? Déjeme adivinar: quiere un controlador porque
- A, B y C no se conocen exactamente, tal vez toda la fórmula sea un poco confusa, solo la existencia de un solo máximo es segura
- hay algunas perturbaciones que deben ser compensadas; por ejemplo, B o C o ambos tienen cierta dependencia de tiempo aleatorio.
- X no es directamente accesible, X es la salida de algún subsistema inamovible, ese subsistema tiene inercia y otras propiedades dañinas bien conocidas, puede ingresar algo a X solo a través de ese subsistema.
La diferencia entre este y los sistemas de control normales: en los sistemas de control normales, el controlador siempre sabe cuánto hay un error. El controlador PID toma en cuenta también la rapidez con que cambia el error y cuando el error es lo suficientemente pequeño, el integrador se enciende para llevar el error a cero.
En su caso, el valor Y medido no le da nada útil al controlador PID. Debe agregar alguna búsqueda temporal o espacial que encuentre si existe una Y más grande con una X diferente.
Búsqueda temporal: su sistema oscila al variar X intencionalmente y se utiliza un detector de fase para ver, donde sea posible, se puede encontrar una Y más grande
Búsqueda espacial: ha duplicado su sistema de medición, otro sensor verifica la cantidad de Y con algún desplazamiento en X
Las diferencias medidas dan una estimación de cuán lejos o al menos en qué dirección está el máximo. Esto es como el error medido en los sistemas de control normales.
El controlador obtiene ahora el mismo tipo de información que en los sistemas de control normales, por lo que los controladores normales pueden ser posibles, ya sea P, PI, PD, PID o algo moderno e inteligente, depende de lo que haya entre el controlador y X.
Si su sistema es un modelo de algo práctico, obviamente hay algo entre el controlador y X y ese algo tiene cierta inercia y no se puede eliminar.
Piense en un juguete (= mascota robot) que trata de mantenerse en la parte superior de la tuerca de una persona que camina. Y es la altitud del robot, X (bidimensional) es la posición plana del robot, el sistema de medición tiene dedos sensoriales que se inclinan hacia el cráneo e intentan encontrar dónde todavía es posible escalar. La búsqueda espacial está en uso. La posición del plano solo se puede cambiar moviendo el robot con algunos motores. Hay un sistema dinámico complejo entre X y el controlador.
La búsqueda temporal es teóricamente posible. El robot tiene un solo medidor de altitud. Para usarlo, el robot se mueve rápido aquí y allá para encontrar la dirección para escalar. La inercia del sistema que finalmente produce el movimiento (= cambios X) fácilmente hace inútil la búsqueda temporal.
Espero que esta historia altamente gratuita haya dado luz a tu problema.