5 ms·
Can you give examples of when you'd want to use the other methods?
by polishdude20 3y ago
Can you give examples of when you'd want to use the other methods?
- rcxdude 3y agoGenerally speaking, if you have a horrifically non-linear system you still want good performance on, or you have a very predictable system and enough sensor inputs to predict its behaviour and you want to get better performance than you can get from a purely reactive form of control (though, in a lot of cases like that, PID + some form of feedforward control is almost as simple and can work really well without needing to dive into more advanced controllers). PIDs can control most any system but they are rarely the optimal controller for any given system. That gap only tends to be really large in the situations I've mentioned, though.
- carlmr 3y ago>if you have a horrifically non-linear system you still want good performance on Even in that case PID is often the answer. Only that you vary the P, I, and D factors. It's called gain-scheduling [1]. You linearize your non-linearities at multiple points, and change your PID parameters to match. Of course non-linearity is a very broad concept. So this may or may not apply to your non-linear system. The class of linear systems is easily described. The class of non-linear systems is everything else. [1] https://en.wikipedia.org/wiki/Gain_scheduling https://en.wikipedia.org/wiki/Gain_scheduling
- nihzm 3y agoPID control becomes kinda useless as soon as you have a coupled high dimensional system, think something like a drone with aerodynamics or a robot a high number of DOF. There are of course patches so that you can still apply multiple PIDs but the intuition on why it won't work is that each PID doesn't know what the other PIDs are doing, and this often leads to unstable control actions. Another place where PID cannot be applied is in discrete-event systems (eg network of devices that needs to sync up using messages and do something).
- blagie 3y ago- Almost anything with right half-plane singularities. Although you can balance an inverted pendulum with PID, anything beyond that, PID falls flat on its face. - Anything where you want high performance. Lag and lead compensation is very often needed. That's not complex to do. It's often necessary (especially in analog design). PID works, but rarely optimally. - Complex nonlinearities. Although simple ones, PID can be quite robust to (even more so than "smarter methods"). - A lot of systems which are highly multidimensional, and especially where controls isn't cleanly separable from path planning. It's worth noting, in lower-quality control courses (e.g. a prof who specializes in another field, teaching this course on the side), a lot of incorrect things are taught here. I'm seeing some of that represented in this (broader) discussion. TL;DR: Be careful what you read online.
- polishdude20 3y agoCan you give a real world example of some of these things? I'm having trouble imagining them.
- deleted 3y ago[deleted]
- fragmede 3y agohumanoid robots, eg Boston dynamics. balancing is just too complex compared to a simpler 2-way 2D inverted pendulum, and PID alone just isn't going to cut it.
- polishdude20 3y agoSo with more advanced techniques, do they take into account the physics and linkages of the system in more detail then?
- whatever1 3y agoNot only that. The most important aspect is that you can have explicit constraints in the outputs, so that your system does not go outside the operating envelope it is designed for. For example you can state that I want you to stabilize my system given that my motor can only apply up to this force. And by the way do not exceed system velocity of x km/h. We can also have objective to explicitly define how much more important to us accurate tracking vs stabilization speed.