Our team used IterativeRobot in C++ and did very well with it. However, I am curious what RobotBuilder actually is, the WPILib documentation just confused me.
Robotbuilder is a really cool tool made by WPILib that features a super cool interface for simple and easy-to-use code building. Basically, Robotbuilder allows you to create much of the framework for your code in a UI, and with the wonderful WPILib tutorial videos they make life a lot easier. Maybe someone from WPILib (Austin) can speak about it in a little more detail, but it’s a great tool that can make the code process much easier to understand.
Is it better than writing it from scratch and Iterative?
All depends on the team, and specifically your code team. Is it objectively better? No. Does it make life easier in some cases where you have a newer code team, maybe not too many people, or don’t have any programming mentors? It might. I’d get it set up within you and your code team if you’re looking to experiment and try it out. Took me about a day to learn, but I’m not a programmer. See how you like it, if it’s helping, if its workflow makes sense, all that good stuff.
As noted above, the main thing RobotBuilder helps with is setting up the framework so that all you have to do is fill in the stubs of the various callback routines. We’ve had programmers who loved it (reduced confusion and cut through stupid mistakes), programmers who didn’t care for it at all (felt too limiting or didn’t make sense), and programmers who could take it or leave it. As it turns out, our likely lead programmer for the next two years loves it, so we’re planning to use it in our programming camp week after next.
TLDR: YMMV
I have tried using Robotbuilder quite a few times and it gives those less familiar with the coding process a way to manage the connections to the robot (i.e. PWM wires) easier than direct edit of code.
However, like many other code generators, it has its own issues. One that a number of people (our lead programmer for a number of years is one) don’t like is that it puts all of the constructors in the RobotMap class. I don’t have an issue with it, but it does take some learning to use it well.
I also like the fact that it can help document the electrical connections (as mentioned above) via an html page.
Also my two cents.
RobotBuilder is a tool that will create all of the files you need to create a command based robot program. Although command based might seem daunting at first, it will keep your program organized into different files and prevent common mistake of having a 500+ line program in a single file. You can read more about command based programs here:
https://wpilib.screenstepslive.com/s/4485/m/13809/l/599732-what-is-command-based-programming
To get a better idea of how to use RobotBuilder, I recommend watching this video series:
We also have a chapter on ScreenSteps about how to use RobotBuilder: