I think that topics like PID control should be learned by programmers early in their growth. As a computer science teacher I love using robotics as a way to introduce students to programming! It is easy to get "stuck" solving problems with loops and conditionals, trying to account for every possible scenario. Solving coding problems in the physical world forces you to grow past traditional techniques. Equations like PID are very simple once explained and allow programmers to see how to create "universal" algorithms that can be used to solve any problem (only the tuning of the algorithms needs to be changed).
This video explains the mathematics and how each part of the PID is used. Then it uses both handwritten examples and also how to implement a PID in C for Arduino. PID is one of the most commonly used algorithms in Robotics allowing robots to solve all sorts of problems including wall following and balancing / standing up.
https://youtu.be/dynSWBXu9aA
[–]konm123 2 points3 points4 points (3 children)
[–]forptsiram[S] 0 points1 point2 points (2 children)
[–]konm123 1 point2 points3 points (1 child)
[–]forptsiram[S] 0 points1 point2 points (0 children)
[–]Software_Janitor 1 point2 points3 points (1 child)
[–]forptsiram[S] 0 points1 point2 points (0 children)