Is there a method that can be used for very large number of operating points to design PID controller ?

Hello Everyone,
I have a plant(DC-DC Booster) that is driving a load that has very large number of operating point. I have a PID that is implemented in Micro-controller in C language.
I used gain scheduling method for the moments.But, I am still looking for another method that can be used to tune the PID parameters for all the operating points of my plants without running into overshoot or being too slow.
 
From your description it appears you have an existing PID controller that could perform better.
Can the variables be easily accessed / changed ?
What are the operating points and in what form are they available - can you draw a graph or otherwise trend them ?
What do you mean by gain scheduling ?
 
Yes I already have a PID controller that uses the gain scheduling method which means for each operating point I have a PI parameters that I stored in look up table. depending on the load.
the operating point are different value of load resistors (wide range)
 
Yes I already have a PID controller that uses the gain scheduling method which means for each operating point I have a PI parameters that I stored in look up table. depending on the load.
the operating point are different value of load resistors (wide range)
Yes, To help to make your lookup table you have a free PiDtuner here with relaxc feedback that you can apply at each operating point #Relaxctuner http://relaxc.appedge.com/ and with only 2 two parameters you get the coefficient of your PID
 
It appears you already have a handle on the problem. What determines the operating point? What changes and does the controller "know" when and how the operating point changes? It may be possible to make a function that changes the tuning as a function of the operating point so this can be done automatically. I do this. For instance, the controller gains need to change as a function of the angle of an arm with a load at the end. What we do is tune the system at 4 different angles and use that the generate a function where the gain changes as a function of all the angles. The function is not linear.
 
yes I agree with you, you describe the method well, but I was answering the question how to map kp=fct(Y), Ti=fct(Y) Td=fct(Y) with Y= variable of the process, easily, without spending hours on it. If it is the process time constant that changes in the operational range then we must then introduce operating points and calculate the consistent coefficients KP, Ti, TD for each of them( for example we can divide the range in 2 or 3 zones or more ) and of course put them in a map (look up table) and not adjust them online because the pid does not lend itself to it, In this case we have to use other method of control. The calibration that will be tedious without help to tune the pid except if we have to change only the gain Kp(Y).
 
OK, just for you. I have posted a link to a video that shows how we do it. It isn't done yet
We tune the swing arm at 3 or 4 different places and note the gains and the relationship between the angle and the linear extension of the hydraulic cylinder. In our example the angle is the same as your variable Y. We then use a cubic spline for each item. One of the conversion for angle to linear and one for each of the controller gains and feed forwards. So now we can look up the linear extension and gain for each angle. There is a need for about 8 cubic splines or cam tables. The the parameters are changing each millisecond.

It takes us only about 10 minutes to tune the swing arm at 3 or 4 spots because we have auto tuning.

https://deltamotion.com/peter/Videos/Swing Arm.mp4

Similar applications are common so we have this worked out pretty well and we teach our students in the advanced classes on how to do this.

This is a student controlling the same system after setting up the motion controller and generating the cubic splines.
https://deltamotion.com/peter/Videos/Non-Linear-Lab_Medium.mp4

We are using cubic splines or cam tables because it makes it easy for those that don't know much math to make a non-linear function from a few points. My viden shows a quick and easy way for our customers using our product. If I had lots of points and starting from scratch, I would find an equation for each Kp=fct(Y), Ti=fct(Y) and Td=fct(Y).
I use a technique called Levenberg-Marquardt to find the coefficients that minimizes the square error between the data points and the Kp=Fct(y), etc. You should know of your fct(y) can be approximated by a polynomial, trig, or exponential, or log function.
Sometimes a series of piecewise linear segments will work. If you need cubic interpolation between the points then use Lagrange interpolation.
In my video above, the students don't need to know any of that. They just get the few data points and make the curve using the built in cubic spline function.
 
Thank for your explanations of your work. It is impressive how you GUI manage all these PID parameters and FF. For you, a video shows how we can control an inverted pendum+card with its comissioning with only one parameter.
You should try Relaxc controller on your nonlinear test cases motion and compare the 2 solutions.
 
@relaxc, your video doesn't address the OP's problem.
I am aware of LQR. I have a YouTube video about it.

However, my original video is showing real applications where gain scheduling provides almost perfect control and how most people can get excellent control easily with little training and no complex math.
If you look at the plot from my swing arm video, you can see that the actual position is tracking the target position almost perfectly. Your LQR video is just keeping the pendulum up right.
LQR requires the knowledge of a controls expert and you don't hire those off the corner of the street. Also, your pendulum has no trajectory to follow unlike my example.

We make controllers for real applications that are usually controlled by non-experts, our customers Our controller is used in for lifting pipes and rocket gantries etc
 
Several approaches can be used to design PID controllers for systems with many operating points. One approach is to use a model-based design method, such as the internal model control (IMC) approach, which involves using a mathematical model of the system to design the PID controller. This approach is beneficial when the system exhibits significant nonlinearities or has time-varying dynamics.
 
Top