Skip to content

Use preferred normal ball-filter parameters - #2965

Draft
schluis wants to merge 5 commits into
HULKs:mainfrom
schluis:dev/ball-filter-preferred-20261004
Draft

schluis wants to merge 5 commits into
HULKs:mainfrom
schluis:dev/ball-filter-preferred-20261004

Conversation

@schluis

@schluis schluis commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Use the selected normal ball-filter parameter candidate to improve tracking without adding an experimental estimator. This changes 12 settings in etc/parameters/base/ball_filter.json5, including measurement/process noise, confidence decay, association uncertainty, and guarded publication blending.

This PR builds on the current production implementation from #2944 (25c89eeac). Relative to #2944, the only change is the parameter file; the diff against main currently also includes #2944's existing production changes. After #2944 merges, this can be rebased to become a parameters-only PR. No simulator, optimizer, PDA, IMM, or other experimental branch changes are added here.

For local simulator/Twix evaluation, use the separate branch schluis:dev/ball-filter-preferred-simulator-20261004. Its docs/workflow/ball-filter-lab.md contains the zero-trial preview commands, which retain these exact values.

Validation:

  • 111 ball-filter library tests pass with the selected defaults (cargo +1.98.1 test --locked -p ball_filter --lib).
  • The separate simulator branch builds simulate, twix, and ball-filter-tuner; 39 tuner tests, the simulator CLI test, and both GUI CLI help checks pass. Three outdated tests were adapted to explicit parameter configuration only on that tooling branch.
  • The production and simulator configurations exactly match the saved diagnostic-pda-common-01 candidate after f32 parsing.
  • On the saved 24 training / 24 development recordings, loss changes from 2.495326 to 2.238214 (training, -10.30%) and 1.852582 to 1.825175 (development, -1.48%) versus the updated Improve ball-filter tracking and publication estimates #2944 defaults.

Kept as a draft for local evaluation: development false-track time increases by 0.160 seconds and two development recordings fail guards against the updated starting configuration. Four recordings fail guards against old main. The reserved final evaluation has not run; these are historical simulator results, not robot/game validation. No further tuning is running.

Fast-shot validation is still in progress. A controlled 6 m/s sequence exposes repeated primary-hypothesis spawning with both these parameters and the updated PR #2944 defaults. Globally increasing the association gate fixes that sequence but regresses other recordings, so no such change is included here.

The simulator companion branch now includes velocity-aware optimizer scoring (single_ball_position_velocity_v9, commit b1ed59840), with overall/close-range velocity RMSE shown in Twix and regression guards for velocity accuracy and availability. New tuning is being evaluated separately; earlier v8 loss values are not comparable to v9 losses. The parameter payload of this draft PR remains the original preferred candidate pending those results.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant