When I first started trying to teach LabVIEW programming to FRC team members, I became very frustrated. I don’t program for a living, but I do pretend to be a semi-competent LabVIEW programmer at work. But when I started with FRC, I found the Robot Framework completely mystifying. Worse, I could not find a book to explain it all to me.
Here is that book. Or rather, a first draft. Please respond with typos, errors, glaringly obvious topics I should have covered, but didn’t, etc.
The book is a PDF, but zipped to squeeze under the 5 MB size limit.
The smaller zip file contains images for use with Chapter 7.
I’m only half way through, and enjoying the read. It’s nice to see someone else’s approach to teaching LabVIEW. I’ll be recommending this to our programming team as an additional viewpoint. Thank you for taking the time to put this in writing and share it with our community.
On Page 14, you mention the clean up tools that are less than helpful in Labview. As a note, the Ctrl-U block diagram cleanup was made incredibly useful a couple years ago when they limited the clean up process to only the items on the block diagram that are selected.
So, you select a group of items, press ctrl-u, and it cleans up only the highlighted code. Bam!
I got really confused from the PID chapter.
the math is too complex to understand right away,
maybe it’ll be better to explain the idea of PID and how it works in general and some examples of it explained it detail, and only then to tell about the math behind it.
BTW can u upload the labview file of the PID simulator? (for both victor 884 and jaguar)
Attached is a new edition of the book. It addresses some issues raised by readers, as noted below. (And thanks for the feedback! It is much appreciated.)
This error has been fixed, and the discussion of timing in Robot Main improved (I hope).
I never said they were less than helpful, only that the results were not to my taste. But I like the clean-up only the selection tip, and have added it.
PID control is very mathematical. There’s no getting around it. But I did rather jump right into it, so I’ve added an introductory section that explains the basic idea. It is very difficult to explain, for example, integral control with just words, however. I’m afraid that younger students with limited math won’t really be able to follow this chapter. But that will give you something to work towards for the following year!
As a matter of teaching philosophy, I don’t want to upload the VIs. The only way to get good and fast at coding LabVIEW is to have lots of practice coding LabVIEW. Hence, no uploaded VIs…
Proportional: “The greater the difference between the set point and the feedback signal, the stronger the output signal.”
*Integral: “As long as the feedback signal remains different from the set point, the integral control portion of the system keeps increasing the output signal.”
Derivative: “While the feedback signal changes, the output signal is decreased based on how quickly the change is occurring.”
I agree. Most high school students who are learning labview don’t know what dy/dx means, so I don’t see why one would start a chapter with it. Maybe have a chapter explaining the math, and another with code? I don’t know, just a suggestion. Really threw me off once I got to that chapter. It was all step by step based, then bam here’s an equation and here is how it is used. I don’t have a solution, but it needs to be addressed.
Other than that, the book is perfect. It made me laugh out loud reading it at times while in class today on my laptop. I got strange looks, but hey, I was learning. (Isn’t that what is important?) Thank you for putting in so much time and effort. I consider this a holy grail for FRC. Great job. Makes me want to do one on computer vision, but there are just so many ways to do it…