Team 670 is proud to present a new tool for introducing new FRC students to command-based programming in Java. These Raspberry Pi-based minibots support a stripped-down version of WPILibJ, MiniLibJ. They were used in Team 670’s offseason workshops to give members hands-on experience in coding for FRC, without demanding the resources and cost of a full size robot or the full control system.
We welcome your comments and feedback. If you have any questions, feel free to ask!
Highlights:
Raspberry Pi based, using 12V DC motors with encoders -
Supports command based programming; similar interface to WPILibJ
Driver Station for enabling and disabling minibots
Links:
Code and MiniLibJ Library can be found here:
Whitepaper (contains manufacturing drawings, details on building and setting up, and in-depth info on use):
This looks totally sweet! My main issue would probably be that this is more of a full-robot teaching opportunity than a Java opportunity, as there seems to be significant construction involved to creating a minibot. Maybe if the chassis were 3d printed it would be slightly less work?
What we actually did in our workshops was to have our programming team kids assemble the minibots, as well as wire them, since when you’re actually coding for FRC you do need to be aware of what the hardware and physical parts of the robot are doing it was a good experience for them. It also showed them about using code to account for mechanical issues.
In the future, though, a good opportunity could be to use building minibots as both a technical and mechanical teaching tool, since a mechanical team student could also learn a lot through fabricating the chassis parts.
This looks great! I’ve been learning the Pi-Bot system that Team 2102 put together a few years ago for use with 5010, also. There are a lot of similarities in your approach and some differences. Mainly, they use an Arduino-nano to interface between the PI and the sensors, but you seem to have something a bit simpler? More information in your white-paper on the PI shield might be helpful, like a parts list and more pics for reference. They also have a 3-D printable robot structure which might be adaptable for both. But both of you have taken the approach of writing an FRC programming library for the PI, which is exactly what I’m looking for in both cases. It might be interesting to see what similarity of approach you’ve both taken.
I may have to devote some time to synthesizing both efforts in order to try yours out and compare!