Creating new algorithm like PID

In summary, the individual is seeking to create a more efficient and accurate control algorithm for microcontroller applications, and is looking for the necessary prerequisites and learning materials. They also question the need for a general-purpose control algorithm if PID can be proven to be stable, and suggest playing with different functions involving the error variable. However, it is noted that not all PID loops are stable and that additional experience and knowledge in control theory and software engineering may be needed before attempting to create a new algorithm.
  • #1
Alpharup
225
17
I have come across this Proportional Integral- Derivative( PID) control theory. I feel that it is highly beneficial and accurate. I want to create a new algorithm which is more accurate, faster, efficient than PID. Also it should be easily programmable in microcontroller. So what are the prerequisites/ learning materials for a beginner like me.
Also, I have heard that we have to mathematically prove that a control algorithm converges to a defined value when applied repeatedly. Could you please provide details about the rigorous math needed.
 
Technology news on Phys.org
  • #2
Sounds like a thesis at least.
 
  • #3
John Harris said:
Sounds like a thesis at least.
No it is not a thesis but I want to create a more efficient algorithm for microcontroller applications.
 
  • #4
sharan swarup said:
No it is not a thesis but I want to create a more efficient algorithm for microcontroller applications.
I'm saying to be able to do that, it would be worth a thesis for a masters probably even a doctorates. You're not going to magically create a better way of doing it unless you know a lot of math and understand many proofs, even then I'm sure it would take a whole lot of research.
 
  • Like
Likes Alpharup
  • #5
sharan swarup said:
I have come across this Proportional Integral- Derivative( PID) control theory. I feel that it is highly beneficial and accurate. I want to create a new algorithm which is more accurate, faster, efficient than PID. Also it should be easily programmable in microcontroller. So what are the prerequisites/ learning materials for a beginner like me.
Also, I have heard that we have to mathematically prove that a control algorithm converges to a defined value when applied repeatedly. Could you please provide details about the rigorous math needed.

sharan swarup said:
No it is not a thesis but I want to create a more efficient algorithm for microcontroller applications.

What is your level of education so far? You will need at least a background in Control Theory, and a strong background in programming microcontrollers of different kinds. A strong background in Digital Signal Processing (DSP) would also be important to have.
 
  • Like
Likes Alpharup
  • #6
I am doing bachelor's in engineering. What are the topics to be learned in DSP?( I have a little background)
 
  • #7
Don't you think that if it was achievable for someone at your education level to create a new general purpose control algorithm more efficient than PID that it would have been done a thousand times already?

Why do you need a more efficient control algorithm? If you have a specific application in mind you might be able to create a specialized algorithm that could outperform a basic PID controller for that specific application.
 
  • Like
Likes Alpharup
  • #8
ulianjay said:
Don't you think that if it was achievable for someone at your education level to create a new general purpose control algorithm more efficient than PID that it would have been done a thousand times already?
Yes, it may take time but will be rewarding. What will be more rewarding if we could control the process efficiently with our own algorithm?

If you have a specific application in mind you might be able to create a specialized algorithm that could outperform a basic PID controller for that specific application.

I want to create a new algorithm which can be used for all applications. If PID control can be proved to converge / be stable, why can't we play with some other function involving error variable and play with it ?

Also what are the conditions which should be proved?
 
  • #9
sharan swarup said:
I want to create a more efficient algorithm for microcontroller applications.

If by efficient you mean quick, there isn't a more efficient algorithm than PID. If efficiency is measured in terms of more accurately regulating the output, There are many other types of feedback control mechanisms that do that better. However, PID is about the simplest you can get with any decent amount of control (PID for me includes PD and PI). Even though microcontrollers can do many more operations per second than they could 10 years ago, you'll still have to use some simplifying assumptions to make it run in real-time. Thus, you're traveling in the direction of PID.

sharan swarup said:
What will be more rewarding if we could control the process efficiently with our own algorithm?

The only thing more rewarding than writing the algorithm is actually implementing it in a real project. It seems you haven't tried seriously building a controller that even has used PID, because even a simple smooth-running inverted pendulum like the Segway is pretty hard.

sharan swarup said:
I want to create a new algorithm which can be used for all applications

Good luck. There are many control techniques that assume a great many things. For example, not all systems can be said to be LTI (linear time-invariant), which a few techniques assume. Many aren't even linear. There are many control theorists (with PhDs even) that want to come up with that "perfect algorithm", but it's harder than you think.

sharan swarup said:
If PID control can be proved to converge / be stable, why can't we play with some other function involving error variable and play with it ?

All PID loops are NOT stable. In fact, it's very easy for the integrator to cause the system to be unstable. Seems you need to do a bit more reading about feedback control and stability criteria.
 
  • Like
Likes Alpharup and berkeman
  • #10
As a rule of thumb - (Ignoring the correctness aspect (proofs), which is very bad) algorithms account for a large part of the efficiency of code. You can add small tweaks to localize data for example. This may improve efficiency by a few percent. However. The more tweaks you add the more likely you will likely lose correctness, lose control of program state, or just plain crash. But you will very definitely lose code readability.

Based on the way you have asked your questions I would suggest you need way more experience with control theory and software engineering. Not trying to deter you, I am trying to prevent you from wasting your time in an exercise that we can believe will frustrate you. A lot. Today. You need more background. Later, then go for it.!
 
Last edited:
  • Like
Likes Alpharup
  • #11
sharan swarup said:
I want to create a new algorithm which can be used for all applications. If PID control can be proved to converge / be stable, why can't we play with some other function involving error variable and play with it ?
You underestimate the effort that has been put in research.
This has been done. With hundreds, probably thousands of different approaches, with researchers that had years to decades of experience in the field. And the result of all this research is PID (and several other methods).
 
  • Like
Likes Alpharup and timthereaper
  • #12
Even getting a PID controller set up can be very annoying.
An undergrad project I worked on was getting a wind tunnel to work at a constant velocity, we read about PID loops and how to choose the parameters.
Even then we wasted an awful lot of time trying to get a reasonably stable velocity.

Perhaps a good way to start is building a small experiment to become acquainted with the pitfalls of setting up and the disadvantages of a PID loop.
 
  • Like
Likes Alpharup and timthereaper
  • #13
sharan swarup said:
I am doing bachelor's in engineering. What are the topics to be learned in DSP?( I have a little background)
Shannons Theorem.
 
  • Like
Likes Alpharup
  • #14
If you have an interest in PID, then control laws are for you. Aero engineering will have classes in it. Browse a few books on the subject. PID is just the tip of the iceberg. There are multiple input / multiple output systems, nonlinear systems, systems with randomness, classical systems using Laplace transformations, and modern systems using eigenstructures, different types of stability and convergence, -- just to name a few areas of study.
 
  • Like
Likes berkeman and Alpharup

Related to Creating new algorithm like PID

1. What is the purpose of creating a new algorithm like PID?

The purpose of creating a new algorithm like PID (Proportional-Integral-Derivative) is to improve upon existing control systems and make them more efficient and accurate. PID is a popular algorithm used in control systems to regulate and control a process or system based on feedback. By creating a new algorithm, scientists aim to address any limitations or drawbacks of PID and potentially improve its performance in specific applications.

2. How is PID different from other control algorithms?

PID is different from other control algorithms because it combines three terms - proportional, integral, and derivative - to calculate the control output. This allows it to respond to changes in the system more effectively and accurately compared to other algorithms that only use one or two terms. PID is also a widely used and well-understood algorithm, making it a popular choice in many control systems.

3. What are the key components of a PID algorithm?

The key components of a PID algorithm are the proportional, integral, and derivative terms. The proportional term adjusts the control output in proportion to the error between the desired and actual values. The integral term takes into account the past errors and adjusts the control output to reduce any steady-state errors. The derivative term considers the rate of change of the error and helps the system respond quickly to sudden changes.

4. How do scientists create a new algorithm like PID?

Creating a new algorithm like PID involves research, experimentation, and testing. Scientists first identify the limitations or areas for improvement in PID and then explore different approaches to address them. They then develop and test the new algorithm using simulations and real-world experiments to determine its performance and effectiveness. The algorithm may go through several iterations before it is considered complete.

5. What are the potential applications of a new algorithm like PID?

A new algorithm like PID can be applied in various control systems, such as robotics, process control, and temperature control. It can also be used in industries like manufacturing, automotive, and aerospace to improve the efficiency and accuracy of systems and processes. Additionally, a new algorithm like PID can also have potential applications in fields like finance, economics, and biology, where control and regulation are crucial.

Similar threads

Replies
9
Views
1K
  • Mechanical Engineering
Replies
9
Views
2K
  • General Engineering
Replies
2
Views
2K
  • Programming and Computer Science
Replies
29
Views
3K
Replies
16
Views
2K
  • Programming and Computer Science
Replies
1
Views
2K
  • Electrical Engineering
Replies
7
Views
3K
  • Set Theory, Logic, Probability, Statistics
Replies
4
Views
662
  • Programming and Computer Science
Replies
4
Views
4K
  • Programming and Computer Science
Replies
2
Views
1K
Back
Top