PhotonVision 2024 Release!

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:

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 (:tada:first time contributor :tada:)
  • rzblue (:tada:first time contributor :tada:)
  • person4268 (:tada:first time contributor :tada:)
  • megalinee (:tada:first time contributor :tada:)
  • StephenDay1 (:tada:first time contributor :tada:)
  • fovea1959 (:tada:first time contributor :tada:)
  • superpenguin612 (:tada:first time contributor :tada:)
  • mvog2501 (:tada:first time contributor :tada:)
  • 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:

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.

PhotonVision Docs

29 Likes

Is PhotonLib 2024 going to be available in the next little bit?

1 Like

It -should- already be published to Maven! Although apparently C++ is missing photon-targeting for Athena, so C++ (but not Java) robot deploys are blocked by that.

3 Likes

PhotonLib 2024 is available using this vendordep URL: https://maven.photonvision.org/repository/internal/org/photonvision/photonlib-json/1.0/photonlib-json-1.0.json

NOTE: This is different from the previous URL, so you’ll want to delete your existing/old photonlib.json file, and add the one above. Also, edit the jsonURL line in photonlib.json with the above URL.

4 Likes

The installation instructions link goes to a page not found.

Just updated the link - good catch!

1 Like

Hello. I’m trying to simulate a limelight (running default limelight frimware) using photonvision so I can simulate WPILib’s pose estimation. I have referred and implemented the simulation code from the docs. I’m getting a ClassNotFoundException from the PhotonCameraSim constructor. Another thing to note is that I’m using AdvantageKit for logging.

Here is the code: Mozilla Community Pastebin/A7nGh8yt (IRC logs)

image

17 Likes

akschuwlly it’s back on a select control, not a menu:

3 Likes

Hello, any updates on when will the c++ issue will be fixed. Thanks!

Fixed in 1138, so whenever we make a next release

1 Like

will the issues with the orange pi image be fixed?

When is the Limelight 3 firmware coming out?

Maybe I’m misunderstanding this statement. I see instructions on how to load PV onto an "Other Debian Based Co-Processor, but no link to an actual OPi5 image. What am I missing?

Where is the Javadoc available?

In reverse order:

Still working on url redirects so in the meantime, at Photon Client and Overview (PhotonVision dev-v2024.1.2-4-g07b299a0) and PhotonVision C++: Main Page

LL3 image: when someone steps up to port the steps from Create build for Limelight 3 · Issue #842 · PhotonVision/photonvision · GitHub to photonvision/photon-image-modifier on GitHub! If you want it, the fastest way to make it happen is to do it yourself :))))))

Orange pi 5 image fixes: merged when someone with a raspberry pi tests Rewrite ARM builds to use arm-runner-action to resolve OrangePi5 images by judsonjames · Pull Request #1143 · PhotonVision/photonvision · GitHub (again, could be you!)

Does anyone know what the performance impacts of running two AT tracking pipelines on the same coprocessor vs just one per coprocessor looks like? (Were using Opi5 coprocs w/ AC OV9281 USB cams)

For MultiTag Localization, will it be similar to Limelight’s MegaTag feature? The documentation page says coming soon, is there a rough date when the documentation for this will be updated?

I think its just the “On coprocessor PnP” Localization option in the Photonlib pose estimator class. It says in the code javadocs that you lode an AT map onto the coprocessor iirc.