For a deeper dive, I can recommend the Astrom and Murray book. It's free:<p><a href="http://www.cds.caltech.edu/~murray/amwiki/index.php?title=Second_Edition" rel="nofollow">http://www.cds.caltech.edu/~murray/amwiki/index.php?title=Se...</a><p>This subject is tightly coupled with system modeling, and can touch many different domains:<p><pre><code> Cruise Control
Bicycle Dynamics
Operational Amplifier Circuits
Computing Systems and Networks
Atomic Force Microscopy
Drug Administration
Population Dynamics
</code></pre>
Cheap computers are making it easy to make controllers that can reliably control systems with hundreds or thousands of variables and unknown dynamics.
PID loops are to control theory what PHP is to computer science: It barely scratches the surface but it sort of works some of the time.<p>If you <i>really</i> explore control theory you'll learn when the P or the I or the D is unnecessary. Or when you need a second derivative (not just the first). And it'll often give you closed-form solutions for the coefficients so you're not just blindly hunting around in parameter space.
Control theory for fun can be really fun. Using control systems for solving problems you are familiar with can help develop an intuition, that you can then map to other problem domains. Years ago a peer at LucasArts taught me how to use PIDs for game cameras, and I've used them everywhere since.<p>Very simple rules can create lifelike emergent behavior. This is an example of 2 simple motors using PID to try to target a red dot, in 3D, with gravity on:
<a href="https://www.youtube.com/watch?v=8hfKs02QHR4&list=PLpDgOnZpfh6E3uxv4OYbmEugYsaJJLa3L&index=6&t=0s" rel="nofollow">https://www.youtube.com/watch?v=8hfKs02QHR4&list=PLpDgOnZpfh...</a><p>I can watch control systems all day.
In relation to this, I've relatively recently discovered statistical process control (SPC) and the common process behaviour charts (also known as control charts). Donald Wheeler has shown that by taking the detection limits of these charts and turning them into compensation thresholds, they can turn into very powerful process controllers, too! (And maybe even better than the standard PID controller -- without the hunt for parameters.)<p>Took me a while to find the article, but here it is: <a href="http://web.archive.org/web/20160828042756/https://www.qualitydigest.com/inside/operations-column/071116-process-monitor-charts.html" rel="nofollow">http://web.archive.org/web/20160828042756/https://www.qualit...</a><p>The general idea is that PID controllers make unnecessary adjustments in response to regular, small, expected fluctuations in the input. These adjustments frequently increase variation beyond what a more tempered approach would have.
I'm always curious about delving deeper into the history of control theory. Specifically, the work pertaining to Cybernetics in the late 40s/50s. Has anyone gone down that rabbit hole and found anything interesting?
I have mixed feelings about control theory (education). On one hand, the maths are fun, on the other hand:<p>0 - For simple things PIDs work well, but then you don't need an entire course on Control Theory to learn how PIDs work.<p>1 - Most books focus too much on maths an very little on applications. You'll see the same toy examples repeated
over and over in literature.<p>2 - For more complex things related to CT that's even worse. I've read some Multi-variable Control Theory books that were 100% maths, 0% on how to apply the goddamn thing you're learning.<p>3 - Complex CT techniques are often fragile (because you're modeling systems with high order polynomials), so most people just skip to using Machine Learning.<p>4 - You often need to make too many assumptions about a system to apply CT techniques.<p>I've actually used CT for a few things related to electronics circuits in my life, but overall I think most courses I took in university (Analog CT and Digital CT, Multivariate and Adaptive CT) were complete overkill and way too much theory without practical insights.
Another trick for reducing tail latency with minimal utilization increase is to fire the second call earlier but send a cancellation signal when the first response arrives (e.g. a udp packet is usually good enough).<p>This works when the cost of managing the request queue is low relative to the coat of serving the requests themselves (usually true whenever there is some IO involved).
At work we have a problem in a different domain that I had planned to use an approach like this on. The extra resources that folks have linked to or provided are quite helpful. Thank you!
There was a youtube video series that explains the PID control system very well. It was a professor standing in front of a whiteboard, half body shot and the videos are 10 to 15mins long and about 20 of them. It's now gone I wished bookmarks are forever. It's probably been deleted or made private. He explained the concept very well and the length of the video is just enough so you can absorb what was discussed and take a pause before playing the next video.
I recently discussed about fuzzy logic with a colleague, and it seems to me it could be applied here for such controllers. The advantage with fuzzy logic controllers is that you do not have to know the system that well in advance. I just looked for a short video intro and found this if anyone is interested: <a href="https://www.youtube.com/watch?v=rln_kZbYaWc" rel="nofollow">https://www.youtube.com/watch?v=rln_kZbYaWc</a>
I for one am hoping to see a Zachtronics-like game where you get presented a chemical factory and then <i>program</i> all the relevant control logic.<p>Maybe part of the game could be determining where to add instrumentation of various kinds or making changes to the process. Extra fun is when the process behaviour depends on feedstock properties that aren't directly observable or environmental conditions.
What's the catch with this database? skimming the website, it seems to promise too much. Impressive if all those features work well together as advertised.
As a control engineer and main developer of <a href="https://pidtuner.com" rel="nofollow">https://pidtuner.com</a>, I never expected control theory to be widely used outside the industrial world (specially for solving certain CS problems)