4 ms·
Are you saying that a PID controller would not work in a system without time delay? Or in a system without time delay, a PID controller would function identical
by ahepp 3y ago
Are you saying that a PID controller would not work in a system without time delay? Or in a system without time delay, a PID controller would function identically to a simpler controller (A proportional-only controller perhaps)?
My understanding and experience has been that large time delays force less aggressive tuning of the controller. I've been meaning to experiment with model based controllers to try and improve the responsiveness of the system.
- dahart 3y agoI’m saying PID controllers are unnecessary and don’t help solve any problems if there’s no time delay (which can happen in software). The I and D terms are based on time, i.e. integrating/differentiating with respect to time, so talking about time delay is perhaps obvious, but it wasn’t obvious to me the first time I heard about PID controllers, and even in the article we’re commenting on, the problem statement isn’t super clear. I think the time delay is the most important part to understand, the time delay is what causes the problems that PID controllers are designed to solve. And yeah, exactly, a proportional-only controller is fine for vehicle steering, for example, if you have a fictional vehicle that can make instantaneous changes in angle.
- ahepp 3y agoI don't know that it's the time delay that's important, as much as unknown external forces acting on the system? If the problem was just that it took a known amount of time for the vehicle's angle to change, wouldn't we be able to compute open loop control solutions in advance?
- dahart 3y agoWell if you have unknown external forces acting on the system, but the response to those forces is instantaneous, then a PID controller isn’t the right solution. A much simpler proportional controller with little to no tuning will do the entire job. Note that in a software system that uses discrete time-step samples, “instantaneous” means the system’s complete final response to the input is produced during the same time step that the input change was detected. If the response is produced more than 0 time steps later, then there is a delay. On the other hand, even if you have known forces that take a known amount of time, a PID controller might be the right solution if the integrals you have to solve are unsolveable and/or just difficult. One problem with that idea is that it’s easy to get slightly wrong when complex physics is involved, and slightly wrong output can have unbounded catastrophically wrong consequences. You’d still want to monitor the inputs and responses, and so you’d end up with a PID controller even if you did try to pre-compute the solution. However, vehicle steering does not take a known amount of time to complete, it takes an unknown amount of time, and there are many dimensions and variables. So, yes implicitly in PID controller land, you have a good point in the sense that part of the idea is that the inputs and response times are unknown. If the inputs were known and the solution was exactly computable and the exact answer was reliable, then you could use some kind of pre-integrator instead of a PID controller. But, I think it’s still fair to say that time delay is the main cause of the problem that PID controllers are designed to solve, because unknown inputs without time delays are not PID controller problems.