### Beautiful PID explanation video

One of our great readers Ivan just sent this through to me.

He has created a video explaining how a PID (proportional / integral / derivative ) controller works and shows an example of it running on a simple NXT robot towards the end.

Now the video is in Portugese (who says we don't cater for the international audience! :D) and although I've only done a semester of learning Spanish at university, I was able to keep track of what was going on.

Even if I didn't understand any of the writing (he goes through a *lot* of post-it notes!), it was still great fun to watch, the style, pace and music of it just perfect.  I loved the little things that happen throughout, such as running out of room to write and having to add another post-it, and trying (unsuccessfully) to attach the NXT with masking tape :)

Ivan's offering to put in English subtitles, so if you're interested, please make a comment!

**EDIT: Ivan has added English subtitles! :) **

### Comments

Unknown said…
Great!
Give our readers the English subtitles, please!
HaydenStudios said…
I second that! I would very much like English subtitles.
Timothy said…
English subtitles please
Alfafa said…
Great!!! It's good to know there's another Brazillian reading (and producing!) content about Lego! I'm an AFOL, but most of the time I keep this secret, mainly due to Lego being regarded only as a toy here... Ivan is much younger (he's only 16, and I'm 31!!!) but has a vast knowledge about several aspects of technology. Really impressive!!!!
Malachi said…
eeeeeenglish subtitles.....yes
Jeremy said…
I can do the translation if need be as well. I spent two years in Brazil studying the language...
Alex Husain said…
Hello nice guide there!
But i have questions i would to ask; What is the use of the compare block in this program?
Because I would like to try this method using two light sensor to make it align it on a dark line, but then i came across the Fuzzy Line Follower which has the same kind of method;
( subtracting -> multiplying = speed of motor ). Which method is better?
Ivan Seidel said…
sHi Alex Hustain,
The "compare" block is just a trick, to set the direction of the motor forward or backward, because the power input only accept 0-100 integer values, we need to check if the "P" is below 0 or not, and set the direction correcly, otherwise, the robot would only go in one direction.
About "Fuzzy" algorithm. The way you explain, it's more like "P" control, because Fuzzy is commonly used in controls that you need to "set" states to things, like: "between 0-5, the output is -50". P is more like you said: "( subtracting -> multiplying = speed of motor )", with is P algorithm. For Line followers, is VERY reccomended, to use at least a PI algorithm, because in curves, if the robot doesen't integrates (sum) the error, he will go out of the line. If you increase the kP, than, the robot will have a LOT of overshot, causing the same thing. So, use a PI controller, that will work just fine!