This was our first year using Java, and I’m glad we made that decision. The shorter deployment times and ease of use allowed us to reach further and accomplish more, such as reading constants from a text file and more advanced autonomous modes.
This was also our first year using fully custom vision software. We wrote a standalone Java application using the Java bindings of OpenCV and the desktop NetworkTables library, and were able to successfully detect the hot goal (barring field issues). Special thanks to Team 341 for releasing their 2012 vision system DaisyCV; it was a huge inspiration for what we wrote this year!
That is a really nice looking vision system. One suggestion though, if I may, may be to look into properties, as it looks like you’re using SmartDashboard? Properties, such as IntegerProperties and DoubleProperties, allow you to easily change the constants being used without redeploying code. Found out about them, and they are super useful for fixing little quirks in things like vision
Thanks! To clarify, our vision code runs on the Driver Station as a standalone Java app. We do use SmartDashboard, but we decided that keeping our vision code separate from the dashboard allowed for more flexibility. I have been looking into using Java Properties for configuration, but I haven’t gotten around to implementing it yet.
Thank you for your code. While my team primarily uses LabVIEW, I want to learn to use Java for FRC (have some experience with it, but none with FRC) as a secondary language. I learn best off example (such as reading example code,) so this helps. Thank you!