Multiple PID tuning in order to control all four states in the inverted pendulum model
Hi!
I have to control the four states of the classical nonlinear inverted pendulum on a cart model (position and velocity of the cart, angle and angular velocity of the pendulum) in Simulink through PID control. Being on a cart it doesn’t have to go through the swing up, the initial condition for the angle is -0.5 (desired angle with a small perturbation), so it’s just the balancing problem.
This is my Simulink control scheme:
My implementation works as it should, but I had to manually tune the four PIDs because I wasn’t able to obtain the same system with just one controller (if I give a vector of the four errors as input to a single PID block designed with a vector of four gains it messes up and creates a 4-dimensional output instead of executing the row-column product) and I tried everything but couldn’t tune the multiple PIDs at the same time. Of course, the tuner app embedded in every PID block is useless in my case since the output of the system isn’t just depending on a single PID’s control input. I wonder if I can automatically find the optimal choices for the PID controllers, can someone help me?Hi!
I have to control the four states of the classical nonlinear inverted pendulum on a cart model (position and velocity of the cart, angle and angular velocity of the pendulum) in Simulink through PID control. Being on a cart it doesn’t have to go through the swing up, the initial condition for the angle is -0.5 (desired angle with a small perturbation), so it’s just the balancing problem.
This is my Simulink control scheme:
My implementation works as it should, but I had to manually tune the four PIDs because I wasn’t able to obtain the same system with just one controller (if I give a vector of the four errors as input to a single PID block designed with a vector of four gains it messes up and creates a 4-dimensional output instead of executing the row-column product) and I tried everything but couldn’t tune the multiple PIDs at the same time. Of course, the tuner app embedded in every PID block is useless in my case since the output of the system isn’t just depending on a single PID’s control input. I wonder if I can automatically find the optimal choices for the PID controllers, can someone help me? Hi!
I have to control the four states of the classical nonlinear inverted pendulum on a cart model (position and velocity of the cart, angle and angular velocity of the pendulum) in Simulink through PID control. Being on a cart it doesn’t have to go through the swing up, the initial condition for the angle is -0.5 (desired angle with a small perturbation), so it’s just the balancing problem.
This is my Simulink control scheme:
My implementation works as it should, but I had to manually tune the four PIDs because I wasn’t able to obtain the same system with just one controller (if I give a vector of the four errors as input to a single PID block designed with a vector of four gains it messes up and creates a 4-dimensional output instead of executing the row-column product) and I tried everything but couldn’t tune the multiple PIDs at the same time. Of course, the tuner app embedded in every PID block is useless in my case since the output of the system isn’t just depending on a single PID’s control input. I wonder if I can automatically find the optimal choices for the PID controllers, can someone help me? pid, tuning, simulink MATLAB Answers — New Questions