I would be interested to hear people here smarter than me explain why PID is better than some simple explicit control logic made by a person.<p>They work well, but you have to tune it properly and don't have much flexibility to add in prior knowledge of non linearities etc which as a human we know about and know the complexities of.<p>I've found similar things with Kalman filters. Everyone is always keen to go PID, Kalman etc by default, but I've found getting them to behave correctly in complex systems can take ages and maybe never quite get there. Throw them out and do a few really simple explicit logic control steps like you would if you as a human were controlling it and bingo everything works great, the code is understandable by even non programmers as it's explicit and easy to deal with.<p>Don't get me wrong, I use all of the above, but I do find that PID and Kalman etc end up in places where a few if statements end up being just as good.<p>(Seriously not trying to flamebait here... Just never seen this discussed before)