Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve ball filter when the ball is occluded #3381

Open
3 tasks
itsarune opened this issue Oct 21, 2024 · 0 comments
Open
3 tasks

Improve ball filter when the ball is occluded #3381

itsarune opened this issue Oct 21, 2024 · 0 comments
Labels
Difficulty - 13 Require a good understanding of relevant systems and tools, and may require some pathfinding Gameplay

Comments

@itsarune
Copy link
Contributor

itsarune commented Oct 21, 2024

Description of the task

Due to the type of lens used in the camera and the size of the field, there are certain areas near the edges of the field where the robot's "shadow" hides the ball from vision. We call this "occlusion".

When the ball is occluded, SensorFusion won't provide a Ball. This causes SensorFusion to not send Worlds to AI and not send primitives to robots. We should try to make a best-effort guess at where the ball is, rather than not predicting at all.

We could try to:

  1. Make a guess based on the previous ball detections
  2. and/or use the location of the last robot that touched the ball and assume it has it

We should also look into ball filter implementations of other teams (Er-Force, TIGERs) and see if their approach is better. Their implementations are open-source. In addition, tdpsearch.com might be helpful to find the Technical Description Papers of other teams, and see how they handles cases when the ball is occluded.

Acceptance criteria

  • Improve ball_filter to handle occluded balls
  • Add additional unit tests to ball_filter_test.cpp
  • Run ./tbots.py run thunderscope_main --enable_autoref --enable_realism and observe how occluded balls are handled. --enable_realism adds some extra simulation sugar to occasionally drop vision packets among others.

Blocked By

Related to

#3056

@itsarune itsarune added Difficulty - 13 Require a good understanding of relevant systems and tools, and may require some pathfinding Gameplay labels Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Difficulty - 13 Require a good understanding of relevant systems and tools, and may require some pathfinding Gameplay
Projects
None yet
Development

No branches or pull requests

1 participant