Package frc.robot.subsystems.vision
package frc.robot.subsystems.vision
-
ClassDescriptionCamera housekeeping, from
params/cameras.json.The Jetson Orin as a whole: what the robot tells it, and what the robot checks about it before a match.One configured Orin camera, asJetsonsees it.The Jetson Orin's own topics, as an AdvantageKit input: board health (issue #10, 9a and the throttle addition), Rewind status (4, 7a), the Jetson's settings (11a) and the active excluded-tag list (11b).Hardware layer for the Jetson Orin itself (not one camera): its health and Rewind topics in, and the robot's commands to it out.The Jetson's NetworkTables topics under/photonvision(SpectrumJetson docs/TECHNICAL.md and docs/REWIND.md).Reads one Limelight's MegaTag1 or MegaTag2 estimate intoPoseSourceInputs.Everything one Orin (Jetson + PhotonVision) camera reported since the last loop, as an AdvantageKit input: the raw PhotonLib results plus the Jetson's per-camera topics.Hardware layer for one Orin camera: reads it intoOrinCameraInputs, and carries the few commands the robot sends it.An Orin camera pose source that uses the robot's heading instead of solving for it.Which estimate this source makes.The Orin camera's pose source: reads the camera into loggedOrinCameraInputs, then solves poses from those inputs withOrinSolver.Turns one Orin camera's logged PhotonLib results into pose observations.One PhotonVision camera on the Jetson Orin, read with PhotonLib alpha-2 (the robot must stay on alpha-2: it is the Jetson's wire format).The one command the robot sends a QuestNav: where the robot is, so it can re-origin.Meta Quest running QuestNav, over NetworkTables tableQuestNav.The few QuestNav protobuf messages FM uses, encoded and decoded by hand.A decoded device status.A decoded frame.Simulated cameras for every pose source, on PhotonLib'sVisionSystemSim.One simulated Limelight: PhotonLib results read once per loop, shared by MT1 and MT2.A Limelight source backed by a PhotonLib sim camera.Simulated QuestNav: reports truth in its own frame, which lines up with the field only afterSimVision.QuestSimIO.resetPose(Pose2d), plus a random-walk drift.Which AprilTag field the robot solves with, as a logged input (Vision/FieldMap/NameandHash).The field vision solves with.FM's multi-source localization testbed: up to three Limelights, three Orin/PhotonVision cameras and a QuestNav, each gated on its own and each logged well enough to compare after the fact.Gate chains and trust models for FM's pose sources.