This year, our student member Nicco LaBryer has developed all the code that runs on our robot.
We use Blocks, self-hosted on the robot controller. We have not encountered any reason to switch to Java and many reasons to remain with Blocks.
There are two programs that serve the needs of the robot during a match:
- An autonomous program for use in the first 30 seconds.
We use a traditional state machine approach in which a long cascade of if-then-else statements testing the value of a state variable determine what code is allowed to run at a given time.
- A teleop program that allows the robot human driver to operate the various functions using a gamepad. This year, we chose to have a single driver and single gamepad because of the close coordination required between robot movement and game element manipulation.