PhotonVision 2024.1.2
The PhotonVision team is excited to announce the first full release for the 2024 FRC competition season! This beta cycle has been insane, with over 150 commits, 600+ files edited, and over 80,000 LOC modified in the main PhotonVision repo itself. Some of the major changes since 2023 include:
- Reworked simulation support for Java and C++ featuring live camera view rendering and updated example projects
- SQL-based settings database for increased robustness
- Additional networking configuration, including arbitrary NT server location
- Multi-tag pose estimation on-coprocessor
- Improved camera calibration diagnostics
- mrcal-enabled camera-calibration backend
- Re-Enabled 36h11 tag support
- Multi-camera support for identical USB cameras and CSI cameras
- Raspberry Pi 5 support
- Pre-configured Orange Pi 5 image
- Automatic Javadoc, Doxygen, and UI demo publishing
- Usage reporting
- Protobuf support for targeting results
- Status LED support for Pi devices
- Basic Python Support
- ArUcO apriltag detector (in addition to the old umich one)!
We’ve made a lot of changes since the 2023 season, and we’ve tried our best to iron out bugs during the beta cycle. If you run into any issue, big or small, we ask that you:
- File an issue, with screenshots, a detailed description of the issue, and a way to reproduce if you can Issues · PhotonVision/photonvision (github.com)
- Send us a message in our discord server so we can work through debugging
The most important part is letting us know when you run into an issue, as we can’t fix issues we don’t know about!
Install:
Note that we recommend that users start off a “fresh slate” for 2024 given the amount of settings changes on the backend, which means you should fully reimage your coprocessor.
Installation instructions are the same as usual and can be found here
Thank you!
We would like to thank all those who contributed to making this release possible and the continued development of this project. Open source projects like PhotonVision are only made possible through the effort and support from the community which we appreciate.
A big shout out to the following people for helping make this year’s release possible:
- crschardt (first time contributor )
- rzblue (first time contributor )
- person4268 (first time contributor )
- megalinee (first time contributor )
- StephenDay1 (first time contributor )
- fovea1959 (first time contributor )
- superpenguin612 (first time contributor )
- mvog2501 (first time contributor )
- calcmogul
- srimanachanta
- mcm001
- bankst
- amquake
- gerth2
- BytingBulldogs3539
- r4stered
- Technologyman00
- MrRedness
- mdurrani808
- prensing
- chiraqLa
- auscompgeek
We’re always looking for the latest and greatest features to potentially add to PhotonVision, including, but not limited to:
- Machine learning support (CD post) + Orange Pi NPU support
- H264 & WebRTC Streaming (CD post)
- IMU Integration for advanced AprilTag detection
- Calibration for advanced camera lens models (including splined stereographic) with mrcal
- More found here: Issues · PhotonVision/photonvision · GitHub
Our time is limited to implement many of these features, but if you are interested in any of these features being a part of PhotonVision, we encourage you to contribute and turn these ideas into reality! We are more than willing to help walk you through the development process and how to get started. If interested, please join our discord (link below)!
Still to Come:
We’ll continue to make plans and updates as the season progresses. Aside from the usual slew of bug fixes, we’ll finish off python documentation, add 2024 field images to test mode, and adjust settings and field plans as we learn alongside you early in the 2024 season!
Known Issues
- mrcal camera calibration is more particular about the quality of calibration images you feed it – review mrcal’s documentation for tips on capturing good pictures
- Arducam OV9281’s need to be selected in the drop-down in the camera model tab to enable exposure slider
- If setting a new static IP, Photon will restart its web server internally to hack around what we (think?) is a Javalin bug
Community:
Join us on Discord for questions, feedback, suggestions, et cetera.