Particle Filters for Note Detection

Hey CD,

Our team is starting to work on identifying notes and attempting to localize them on the field. We’re currently using Photon Vision and their nifty ML Object Detection pipeline for detection.

Each year we go through a similar song-and-dance with attempting to take PV/Limelight data and make an estimate about where the game piece is on the field. Classic tricks like attempting to use angle, area of the piece, etc, to interpolate the position are where we usually head, but this year I wanted to introduce the idea of a particle filter to help model the noise and uncertainty associated with these types of measurements.

Ideally I’d like to point the kids to a previous example, but in the little bit of research I’ve done today I’m a bit surprised with how little I’ve found around teams using this approach.

Does anyone here have experience utilizing particle filters for FIRST related tasks? Any examples you’d be willing to share.

Thanks!

Yes, we have an implementation designed to localize us on the field. Results from 2023 are seen in this video https://www.youtube.com/watch?v=K_xUQiB2VJc. We didn’t actually use it last year for any particular purpose but the results seem pretty promising.

Section 5 of Zebravision_7_0.pdf - Google Drive explains some of the theory and implementation of the code. Updates since then are in ZebROS_2023.pdf - Google Drive, section 6.4

The code is in our repo at 2023RobotCode/zebROS_ws/src/pf_localization at main · FRC900/2023RobotCode · GitHub (pretty sure its also linked from the papers, but just to be sure).

1 Like