logoalt Hacker News

glitchctoday at 12:39 PM4 repliesview on HN

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.


Replies

pinkmuffineretoday at 3:15 PM

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 love it all.

show 1 reply
sreantoday at 3:41 PM

> 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 ?

jletrouitoday at 1:43 PM

> Of course, no one tunes them by hand anymore

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

laxisOptoday at 1:18 PM

I wanna know more about particle swarm . Btw i tuned my line follower with a customgui/pypidtune+mujoco

show 1 reply