This is the first beta release for the 2024 FRC competition season! A lot has changed since 2023, so take a look at the PRs merged below. Our docs (still being updated for 2024) have general installation and debugging instructions.
We want to thank everyone who contributed to PhotonVision in any way. This is a volunteer-run project, and community code contributions, beta testing, and feedback have been invaluable in making PhotonVision what it is. We’re always trying to improve, so if you have any issues or questions, please let us know on Chief Delphi or our Discord. In particular, say hello to everyone who's contributed for the first time since our last release!
- @mvog2501 made their first contribution in #814
- @person4268 made their first contribution in #839
- @megalinee made their first contribution in #840
- @StephenDay1 made their first contribution in #829
- @fovea1959 made their first contribution in #764
- @crschardt made their first contribution in #891
- @rzblue made their first contribution in #901
Known issues
- Cross-compiled builds (so all aarch64/arm32 builds) have incorrect OpenCV rpaths. This breaks Photon pi image, arm32, and aarc64 builds. This is fixed in beta-2.
Major changes
- Add SQL config manager by @mcm001 in #818
- Run multitag on coprocessor by @mcm001 in #816
- Re-enable ArUco by @amquake in #916 and @srimanachanta in #981
- Add 36h11 tag model for 2024 by @mcm001 in #951
- Allow arbitrary networktables address by @fovea1959 in #764
- [photonlib] Simulation Overhaul by @amquake in #742
- [photonlib] Simulation Visualization Update by @amquake in #895
Other Changes
Full Changelog: v2023.4.2...v2024.1.1-beta-1
- Fix typo in calibration message by @mvog2501 in #814
- Bump wpilib to 2023.4.2 by @mcm001 in #815
- Save ConfigManager to disk on JVM exit by @mcm001 in #821
- Add checks for null in NTDataPublisher by @mcm001 in #820
- Properly assign camera index when connecting new camera by @mcm001 in #819
- Add missing PhotonCamera::GetCameraName impl by @auscompgeek in #844
- Vendor fonts for offline usage by @person4268 in #839
- Added ability to construct PhotonPoseEstimator without a PhotonCamera instance by @megalinee in #840
- Removd licence year from file licence header by @srimanachanta in #841
- Remove ErodeDilate from UI and ColoredShapePipeline by @StephenDay1 in #829
- Ignored cameras regex command-line arg (+bump spotless version) by @person4268 in #849
- Change wpiformat CD to match wpilib (Replaces #848) by @srimanachanta in #858
- [PhotonClient] Update dependencies to latest, update assets, and styling fixes by @srimanachanta in #767
- Update vue-router to use HTML5 history by @srimanachanta in #856
- [PhotonPoseEstimator] Check for CalibData before adding Tags when using SolvePNP method by @srimanachanta in #826
- Add checking of current and requested video_mode by @mcm001 in #859
- [PhotonClient] Fix misc bugs and dataflow errors by @srimanachanta in #861
- Don't add bad corners to multi-tag solution by @mcm001 in #817
- Fix bug in DriverStation::reportError usage by @srimanachanta in #869
- Windows EOL spotless fix by @amquake in #875
- Update backend to provide more useful info to frontend by @srimanachanta in #866
- Revert "Add checking of current and requested video_mode (#859)" by @srimanachanta in #887
- Install JRE instead of JDK in install script by @mcm001 in #883
- [photonlib] Simulation robustness by @amquake in #874
- Disable Mac photonlib builds by @mcm001 in #889
- Use correct java package name in install.sh by @crschardt in #891
- Add photon-sever/lib to .gitignore by @srimanachanta in #890
- [PhotonClient] Vite and Typescript complete refactor by @srimanachanta in #884
- Update index.html by @srimanachanta in #897
- Fix frontend spelling of shouldManage by @mcm001 in #898
- Residual fix after #898 by @srimanachanta in #900
- Improve docs for PhotonPoseEstimator by @rzblue in #901
- UI patches by @srimanachanta in #905
- Advanced networking settings by @mcm001 in #899
- Fix messages printed during publish task by @rzblue in #907
- [photon-lib] Fix camera/distortion matrix mixup in C++ by @mcm001 in #909
- Fix spotless divergence for FilterContoursPipe by @rzblue in #908
- Remove casts to double in SetLEDMode and set pipeline by @mdurrani808 in #906
- Use MemAvailable rather than MemFree for metrics by @rzblue in #914
- Add Github Action check to make sure template UI is unchanged by @amquake in #918
- Correctly stringify numbers in textboxes by @srimanachanta in #921
- Pi startup fix by @amquake in #923
- Temp fix to revert to hash URLs by @srimanachanta in #927
- PhotonClient Formatting and Linting CI Fixes by @srimanachanta in #929
- Update Java Simulation Examples by @amquake in #913
- Javalin v5 bump by @srimanachanta in #930
- [readme] Fix java example backlinks by @amquake in #931
- Fix false-positive vision estimation edgecase by @amquake in #932
- [OpenCVHelp] Use correct Rotation3d constructor by @mcm001 in #934
- Remove un-needed NM-dbus dep by @mcm001 in #919
- Make javalinVersion a global variable by @srimanachanta in #942
- Remove unused MathUtils.orthogonalizeRotationMatrix() by @amquake in #944
- Fix function argument types for file upload by @mcm001 in #939
- [photon-client] Fix imports and simplify process of updated pipeline settings in store by @srimanachanta in #946
- [examples] Re-organize simaimandrange by @amquake in #937
- Bump wpilib versions to 2024 beta 1 by @mcm001 in #947
- [photon-core] Code Cleanup, spelling, and grammar by @srimanachanta in #945
- [photon-core] 2D Detection data accuracy by @amquake in #896
- Fix photonlib publish error by @mcm001 in #952
- [photon-core] [2024] Cleanup and document coordinate system conversion by @amquake in #894
- Remove empty tab groups in UI by @mcm001 in #948
- [photon-client] File upload robustness by @srimanachanta in #956
- Take Snapshots from PhotonClient by @srimanachanta in #940
- More carefully check file creation status by @mcm001 in #958
- [photon-client] Change UI naming schema from CV to PV by @srimanachanta in #955
- [photon-client] ATFL Settings card unit and styling fixes by @srimanachanta in #967
- [photon-server] Fix journal-ctl export bug by @srimanachanta in #970
- [photon-client] Fix camera and pipeline name editing by @srimanachanta in #969
- [photon-client] Styling fixes by @srimanachanta in #968
- Bump WPILib to beta 2 by @mcm001 in #972
- Bump spotless version and update config for groovyGradle stuff by @srimanachanta in #979
- [examples] Add field images to simulation examples by @amquake in #983
- Update Gradle stuff to 2024 and fix macos library loading issues by @srimanachanta in #978
- [photon-lib] Cleanup simulation Rotation3d usage by @amquake in #982
- [photon-lib] Sim multitag result by @amquake in #973
- Remove socket camera streaming by @amquake in #985
- [photon-core] Check for multitarget params by @amquake in #988
- Correct native platform names in readme by @mcm001 in #989
- Update issue templates by @mdurrani808 in #977