He leído algunos documentos para controlar sistemas no lineales (por ejemplo, péndulo no lineal). Existen varios enfoques para apuntar a sistemas no lineales. Los más comunes son los controladores de modo lineal de retroalimentación , retroceso y deslizamiento .
En mi caso, hice las partes teóricas y prácticas del control del modelo no lineal de un péndulo simple más otros problemas de manipuladores en C ++. Para el péndulo, he utilizado un controlador de retroceso para resolver la tarea de seguimiento del desplazamiento angular y la velocidad. Los resultados son
donde y .g = 9.81
Los resultados son buenos. Sin embargo, ajustar el controlador lleva mucho tiempo. La mayoría de los artículos utilizan algoritmos genéticos para ajustar sus controladores, como PD, PID y controladores de retroceso. No tengo ni idea en este campo y espero que alguien arroje algo de luz sobre este concepto, preferible si hay una muestra de MATLAB para al menos controlar un péndulo simple.
Hasta ahora, he diseñado una GUI simple en C ++ / Qt para ajustar el controlador manualmente. En la siguiente imagen, la respuesta del controlador para la función de paso.