TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

PID Without a PhD (2016) [pdf]

215 点作者 makerdiety大约 1 年前

14 条评论

whatever1大约 1 年前
Excellent source for PID heuristics. That being said PID control is &gt;100 years old concept and we have done tremendous theoretical progress since then and we have access to fast numerical solvers for constrained optimization.<p>Look for Model Predictive control, Dynamic Matrix Control, Adaptive Control, or even Linear Quadratic Regulator.
评论 #39508308 未加载
nappy-doo大约 1 年前
PID has been a super power in my career. I&#x27;ve used it to solve problems others couldn&#x27;t even approach (it helps being the only EE in rooms full of CS people). I can claim to have made hundreds of thousands of dollars by just typing in the control loop from my undergraduate textbooks.
评论 #39509649 未加载
评论 #39510695 未加载
ducktective大约 1 年前
Ah...reminds me of an old saying. It goes like:<p>There are only two types of controllers: PID control, PhD control
seidleroni大约 1 年前
At my first real Engineering job, I used this paper to both understand and implement a PID control system. Then by using the Ziegler Nichols method of tuning, the system was controlled way better than anyone had expected. Since then I have used it a handful of times with minor tweaks and each time it feels like magic when things work well.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Ziegler%E2%80%93Nichols_method" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Ziegler%E2%80%93Nichols_method</a>
imba404大约 1 年前
The Arduino PID library write up covers more real-world instances such as derivative kick, and set point adjustment. Props to Brett Beauregard for documenting how the code evolves as features are added.<p><a href="http:&#x2F;&#x2F;brettbeauregard.com&#x2F;blog&#x2F;2011&#x2F;04&#x2F;improving-the-beginners-pid-introduction&#x2F;" rel="nofollow">http:&#x2F;&#x2F;brettbeauregard.com&#x2F;blog&#x2F;2011&#x2F;04&#x2F;improving-the-beginn...</a>
vrinsd大约 1 年前
Tim Westcott is a great author and this is a solid article.<p>I&#x27;ll add, I&#x27;ve been meaning to write up my own &quot;realities of PID&quot;, one day I&#x27;ll get around to it.<p>What is NOT readily apparent when you look all these treatments of PIDs is what happens with the poles-zeros of your control-loop (PID) and the interplay with the system or plant.<p>I have consistenly found all these &quot;it&#x27;s so simple, integrator removes long-term error, differentiation improves response time&quot; ignores the fact that if you don&#x27;t pay attentions to the poles-zeros of your overall response you get some very puzzling results.<p>In a nutshell, understanding the s-domain (Bode) view of your plant and control-loop means you can usually use PID to sovle control-loop problems. But most people don&#x27;t have a model of their plant (like some of the examples DannyBee has listed) which means you can&#x27;t easily auto-tune a PID or most control-loops.<p>Examining the step-response is probably the first clue to your plant, assuming you won&#x27;t physically break something with that stimulus...
ngneer大约 1 年前
I am new to control theory, since it was not taught in CS curriculum. Other than reading Maxwell&#x27;s On Governors and Norbert Wiener to get a sense of the history, there is a lot to explore. I have recently been working with ControlSystems.jl in Julia, and can recommend it as a rather intuitive modeling toolkit. Control math can get involved, but there is no reason why the programming should be. There is a package for discrete PIDs, but also for more advanced analyses noted by other commenters.<p><a href="https:&#x2F;&#x2F;juliacontrol.github.io&#x2F;ControlSystems.jl&#x2F;stable&#x2F;" rel="nofollow">https:&#x2F;&#x2F;juliacontrol.github.io&#x2F;ControlSystems.jl&#x2F;stable&#x2F;</a>
Physkal大约 1 年前
This was very clear reading, without getting too bogged down in the math equations.any other reading suggestions entering into this topic?
评论 #39508520 未加载
评论 #39509764 未加载
blagie大约 1 年前
The whole point of PID is any idiot can tweak things to make it work.<p>Ph.D means you&#x27;re doing something like:<p>* H2-optimization and optimal controls<p>* System ID<p>* Intuitive classical controls (Bode obstacle course, Nyquist, root-locus, etc.)<p>* Fancy discrete state-space methods &#x2F; search &#x2F; shortest path<p>* Machine learning, and the thing training itself<p>... and so on. PID is nice since it&#x27;s idiot-friendly.<p>(And even with a Ph.D and a complete understanding of all of the above, it&#x27;s often more fun or efficient to be an idiot and just use PID; I&#x27;ve never seen a place where PID was the right answer, but it&#x27;s oh-so-often a good-enough answer)
评论 #39508325 未加载
评论 #39507290 未加载
评论 #39507876 未加载
crispisulcans大约 1 年前
Honestly, I wish folks would stop recommending PID as the go-to tool for control design. Like some others have said, it is never the right answer in any non-trivial system. The problem with newcomers blindly incorporating it into their design for quick satisfaction is that they have just done so at the expense of making someone else&#x27;s job harder down the line. In a system where many things are interconnected or nested, introducing artificial dynamics via feedback in one part often leads to unpredictable and undesired behaviour in another. Then the next junior engineer comes along and thinks the weird behaviour can be solved with more PID loops, repeating the process until you end up with a un-tuneable mess with a precariously narrow operating region.<p>If you are working in this field, no you don&#x27;t need a PhD, but for the love of god invest some time into learning more appropriate techniques for the work. Start with learning to work with MIMO systems in state-space, then learn to use LQR (literally a one-liner in MATLAB) and reduced-order observers, then some nonlinear techniques like Lyapunov functions and integrator backstepping for those tricky nested loops. I&#x27;m happy to suggest resources for anyone interested.
评论 #39512429 未加载
评论 #39511656 未加载
RCitronsBroker大约 1 年前
that’s what i used to install a PID in my espresso machine, replacing a boring and inaccurate bimetal thermostat.
tw1984大约 1 年前
is it possible to replace PID with reinforcement learning and get better results in general?
评论 #39510566 未加载
评论 #39512226 未加载
评论 #39510751 未加载
评论 #39509157 未加载
评论 #39509198 未加载
neodypsis大约 1 年前
The linked PDF appears to be an older version (2000), there&#x27;s a newer one (2018): <a href="https:&#x2F;&#x2F;www.wescottdesign.com&#x2F;articles&#x2F;pid&#x2F;pidWithoutAPhd.pdf" rel="nofollow">https:&#x2F;&#x2F;www.wescottdesign.com&#x2F;articles&#x2F;pid&#x2F;pidWithoutAPhd.pd...</a>
评论 #39508869 未加载
评论 #39507868 未加载
评论 #39507887 未加载
gembeMx大约 1 年前
Most undergrads who took Control Engineering courses can &quot;PID without a PhD&quot;, what&#x27;s the point ?
评论 #39508234 未加载
评论 #39507058 未加载