Skip to content

More vision logging#619

Draft
pwbriggs wants to merge 1 commit intomainfrom
pwbriggs/more-vision-logging
Draft

More vision logging#619
pwbriggs wants to merge 1 commit intomainfrom
pwbriggs/more-vision-logging

Conversation

@pwbriggs
Copy link
Contributor

Why are we doing this?

This makes SCL record the data I wish I had when I was debugging AprilTags over the summer.

What's changing?

Record the poses that we reject, as well as more info about each tag observation (ambiguity, multi-tag count)

Questions/notes for reviewers

How this was tested

  • unit tests added
  • tested on robot: I've been using these changes in SCL for most of my vision work this year and in workshops.

@pwbriggs pwbriggs requested a review from a team as a code owner January 31, 2026 23:06
Logger.recordOutput(
cameraHelper.getLogPath() + "/RobotPoses",
cameraHelper.getRobotPoses().toArray(new Pose3d[0]));
Logger.recordOutput(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't log these by default. As the robot season progresses, we frequently end up with too much data in NetworkTables which impacts robot performance, so we need to be careful about logging large data structures.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand that we have to be frugal with our NetworkTables usage, but this data (what we're rejecting and why) is the starting point to address issues like deadspots or ghosting. Is there a better place to record debug data that doesn't bottleneck the robot? Or do we just hope that we catch any issues on the practice field, and not record it during the real competition matches (which arguably are an environment that isn't quite reproducible elsewhere, at least not in quantity)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh or are you saying don't record allPoseObservations and acceptedPoseObservations because that's duplicating data, and I could just do acceptedPoseObservations and rejectedPoseObservations so the same observation is never recorded twice?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in addition to not double-logging everything, we could add a paramter to control the log level of these, so that with a quick deploy we can turn them on or off (without having to change SCL)

@pwbriggs pwbriggs force-pushed the pwbriggs/more-vision-logging branch from 6d14d96 to 7082dd4 Compare February 4, 2026 04:19
@pwbriggs pwbriggs force-pushed the pwbriggs/more-vision-logging branch from 7082dd4 to c9ffe82 Compare February 14, 2026 23:11
Logger.recordOutput(
cameraHelper.getLogPath() + "/RobotPoses",
cameraHelper.getRobotPoses().toArray(new Pose3d[0]));
Logger.recordOutput(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in addition to not double-logging everything, we could add a paramter to control the log level of these, so that with a quick deploy we can turn them on or off (without having to change SCL)

@pwbriggs pwbriggs force-pushed the pwbriggs/more-vision-logging branch from c9ffe82 to 94ab67f Compare February 21, 2026 19:28
@pwbriggs pwbriggs marked this pull request as draft February 21, 2026 19:38
@pwbriggs
Copy link
Contributor Author

sorry I rebased the wrong branch. I'll clean this up later

@pwbriggs pwbriggs force-pushed the pwbriggs/more-vision-logging branch from 94ab67f to 7277998 Compare February 21, 2026 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants