Add FuelVision subsystem for ML game piece detection #4

Open
jovapo wants to merge 1 commit from fuel-vision into dev
jovapo commented 2026-03-15 23:51:31 -05:00 (Migrated from github.com)

Summary

  • Adds FuelVision subsystem with floor-projection from camera bearing rays (real robot) and heading-based FOV filtering against Maple Sim ground truth (simulation)
  • Adds FuelVisionConstants with Arducam OV9782 camera placement, FOV values from spec sheet, and all tunable detection parameters
  • Wires up FuelVision in RobotContainer; seeds sim field with resetFieldForAuto() in autonomousInit()
  • Adds docs/FuelVisionSetup.md covering PhotonVision model options, OrangePi deployment, and offline/competition setup

Test plan

  • ./gradlew build passes clean
  • ./gradlew simulateJava — enable Auto to seed field, switch to Teleop, drive near fuel and confirm logFuelMap / logFuelMap3d populate in AdvantageScope; drive away and confirm entries age out after ~8s
  • Confirm detections stop when robot faces away from fuel (FOV filter working)
  • ./gradlew test — existing tests still pass
## Summary - Adds `FuelVision` subsystem with floor-projection from camera bearing rays (real robot) and heading-based FOV filtering against Maple Sim ground truth (simulation) - Adds `FuelVisionConstants` with Arducam OV9782 camera placement, FOV values from spec sheet, and all tunable detection parameters - Wires up `FuelVision` in `RobotContainer`; seeds sim field with `resetFieldForAuto()` in `autonomousInit()` - Adds `docs/FuelVisionSetup.md` covering PhotonVision model options, OrangePi deployment, and offline/competition setup ## Test plan - [ ] `./gradlew build` passes clean - [ ] `./gradlew simulateJava` — enable Auto to seed field, switch to Teleop, drive near fuel and confirm `logFuelMap` / `logFuelMap3d` populate in AdvantageScope; drive away and confirm entries age out after ~8s - [ ] Confirm detections stop when robot faces away from fuel (FOV filter working) - [ ] `./gradlew test` — existing tests still pass
This pull request has changes conflicting with the target branch.
  • src/main/java/frc/robot/Robot.java
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fuel-vision:fuel-vision
git switch fuel-vision

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch dev
git merge --no-ff fuel-vision
git switch fuel-vision
git rebase dev
git switch dev
git merge --ff-only fuel-vision
git switch fuel-vision
git rebase dev
git switch dev
git merge --no-ff fuel-vision
git switch dev
git merge --squash fuel-vision
git switch dev
git merge --ff-only fuel-vision
git switch dev
git merge fuel-vision
git push origin dev
Sign in to join this conversation.
No description provided.