Top
Best
New

Posted by dhorthy 4 days ago

Proportional-Integral-Derivative (PID) controllers(en.wikipedia.org)
122 points | 62 commentspage 2
zippyman55 2 days ago|
Oh! My first job out of college had me implementing PID control for a two axis rotary control tables. The design had counter weights (think dumbbell shaped). I was the dumbbell implementing this and as I was young, had almost 168 hrs a week to work on this. OMG! I spent so much time trying to tune this and it would occasionally enter these oscillatory states back and forth. Unfortunately the device on the turntables cost about $500k…. It was such a painful experience.
glitchc 3 days ago||
PIDs are great but notoriously hard to tune. They require deep insight into the underlying physical phenomena to get right. They are also rather rigid and cannot adjust well to a changing environment (temperature and humidity can fluctuate dramatically between summer and winter in some climates).

Of course, no one tunes them by hand anymore for these reasons, relying instead on optimization techniques like particle swarm to find the best set of coefficients for a given steady state condition. Eventually, I suspect we will replace most PIDs with a small neural network for almost all industrial applications (a handful of nodes is sufficient). The neural network is also easier to adapt to changing conditions.

pinkmuffinere 2 days ago||
This isn’t meant to be an attack, but almost everything you say here is false.

> PIDs are great but notoriously hard to tune. They require deep insight into the underlying physical phenomena to get right. They are also rather rigid and cannot adjust well to a changing environment (temperature and humidity can fluctuate dramatically between summer and winter in some climates).

This is not true. PID controllers are often the least dependent on the physical characteristics. They can be tuned with heuristic methods like Ziegler-nichols, often with no knowledge of the actual system.

> Of course, no one tunes them by hand anymore for these reasons, relying instead on optimization techniques like particle swarm to find the best set of coefficients for a given steady state condition.

This is also not true. In the Amazon consumer robotics group we still tuned pid by hand. I’ve _never_ heard of tuning pid with particle swarm, that seems very silly, difficult, and overkill. If you’re going to use an optimization technique, you might as well move to a better controller structure like LQR. I have seen particle swarm used as an estimator, as an alternative to a kalman filter, but never seen it used for tuning.

> Eventually, I suspect we will replace most PIDs with a small neural network for almost all industrial applications (a handful of nodes is sufficient). The neural network is also easier to adapt to changing conditions.

This sounds unlikely to me. Classic control techniques give guarantees that a neural net just can’t. For example, things are provably stable under some assumptions. With a neural net you get no such guarantee. Also, it would be harder to debug and understand, and it would take more memory and compute. I can’t imagine a world where we replace pid with neural nets, they’re fit for very different purposes.

Source: have a masters in controls, worked in robotics in controls team, still do consulting in this area when I have time, and I love it all.

jcgrillo 2 days ago|||
I saw a crazy stat somewhere like some large fraction of the industrial PID controllers that are actually deployed in plants are completely untuned--that is, just running default settings. I think it was a book about tuning PID controllers, but I don't have the exact citation handy..
pinkmuffinere 2 days ago|||
I’d totally believe that. You can buy devices that even tune themselves automatically, using model-free methods like Ziegler-nichols. I’m not familiar with the domains where you would use that sort of thing, but I guess it would be applications that aren’t safety-critical, maybe air conditioning or something like that. I bet many people put the thing in place, and then it works well enough that they never even click the “tune” button
jcgrillo 2 days ago||
I don't have a good intuition about the what makes a problem sensitive to tuning, is it possible there are a large number of control problems where proper tuning doesn't matter much? Or the deleterious effects of improper tuning (like oscillations or overshoot) are masked somehow?

EDIT: I guess intuitively, big (lots of inertia) damped systems are probably pretty safe--you can do all kinds of crazy things with the control input and it won't really have much effect. The only way you could go wrong is drift.. Anything that is inherently stable seems like it should be "easy"--like a high-wing monoplane with lots of dihedral angle, you release all control inputs and it defaults to straight and level flight.

pinkmuffinere 2 days ago||
Yes, you’re absolutely right, systems that are default-stable are much easier to tune, and large inertia does make the system more stable. For those sorts of systems, any minimal feedback is often enough to get the performance you want. If you have high requirements you might need something fancier, but frankly most systems don’t have high performance requirements. Having very fast feedback loops helps too, so with digital controllers getting better and better you can be a bit sloppier with control design and it will still work.

There are indeed a large number of control problems where proper tuning doesn't matter much. I think we’ve built many of our tools to be “easy” to work with, and one aspect of this is that they’re intentionally made in a way that’s easy to control. Another factor here is that the “difficult” problems need some serious thought, which require research, measurement, and advanced degrees, making them more expensive. Many of these are just not worth the cost (yet). And even if you _do_ design a well-performing complex controller, you need to hire controls engineers to maintain and update it as designs change. I _love_ using LQR, optimal control, robust control, etc, but can almost never justify it. As a result, probably 90%+ of control applications by count just use PID. The remaining 10% are of course where most of the research happens, they’re much more fun.

airbreather 2 days ago|||
There are more than one set of tuning settings, depending whether optimised for start up, steady state, minimum overshoot etc
keithnz 2 days ago|||
was about to comment similar things! PID is relatively straightforward to tune. Also a lot of the time you just need a PI controller. D can be problematic depending on what noise you have.
HeyLaughingBoy 1 day ago|||
> we will replace most PIDs with a small neural network for almost all industrial applications

A similar argument was made in the early 90's/late 80's for using Fuzzy Logic (https://en.wikipedia.org/wiki/Fuzzy_logic) instead of classical control algorithms, including PID.

I'm sure many here will remember the late Bob Pease of National Semiconductor writing articles[1] against this, mainly due to the inability of the designer to predict the behavior of the system. Believe it or not, being able to logically reason about how an algorithm that's controlling tens of thousands of $$$ of product in process is actually important.

[1] https://www.electronicdesign.com/technologies/embedded/digit...

jletroui 2 days ago|||
> Of course, no one tunes them by hand anymore

in the industry, maybe. Otherwise, FRC competitions are seeing a LOT of manually tuned PIDs

srean 2 days ago|||
> Eventually, I suspect we will replace most PIDs with a small neural network for almost all industrial applications

With or without serverless lambda architecture bitcoins ?

mindcrime 2 days ago||
Depends on how they address the side fumbling between the Spurving bearing and the Dingle arm, vis-a-vis the lotuso-toroidal damping force.
RetroTechie 2 days ago||
Only as long as you get the encabulatory turbo gradients correct. But don't use sinusoidial flux inhibitors for that, they suck!
laxisOp 3 days ago||
I wanna know more about particle swarm . Btw i tuned my line follower with a customgui/pypidtune+mujoco
esafak 2 days ago||
https://en.wikipedia.org/wiki/Particle_swarm_optimization
qsera 2 days ago||
Jesus christ. The wretched control system paper we had for B-Tech computer science!

The text book jumped right on to the integrals and derivations without even a whisper on what the thing is supposed to be useful for!

I want to understand this so much now, but the memories of that paper is such a turn off!

HeyLaughingBoy 1 day ago|
It's very dated by now, but The Control System Design Guide by George Ellis is a pretty good hands-on book about designing and analyzing control systems. It goes well beyond the basic PID stuff, but I found it very helpful when I was getting a Mechatronics certificate 20+ years go. TBH, it's the most accessible book on the subject that I've ever read.
Geee 3 days ago||
Terry Davis implements a PID controller for a rocket in SimStructure: https://youtu.be/25hLohVZdME?t=207
rschiavone 2 days ago|
A brilliant mind failed by society. Thank you for the link.
tmule 3 days ago|
[dead]