Skip to content

Comments

Use ball filter in bevyhavior simulator#2091

Draft
knoellle wants to merge 34 commits intoHULKs:mainfrom
knoellle:bevyhavior-ball-filter
Draft

Use ball filter in bevyhavior simulator#2091
knoellle wants to merge 34 commits intoHULKs:mainfrom
knoellle:bevyhavior-ball-filter

Conversation

@knoellle
Copy link
Member

@knoellle knoellle commented Jul 21, 2025

Why? What?

Previously bevyhavior crudely faked the ball model, leading to many issues in cases where it behaves differently than the actual ball filter.
This PR removes the faked ball model and generates ball percepts directly which are fed into the ball filter.

Fixes #

Depends on:

ToDo / Known Issues

  • Filter percepts that are outside the image
  • Also generate for vision bottom
  • Fix scenarios that rely on directly writing to the the ball model

Ideas for Next Iterations (Not This PR)

  • Add configurable noise to the "measurement" and calculate percept covariance.

How to Test

Run any bevyhavior scenario and look at the ball filter map layer in twix.

@knoellle knoellle added cat:Filtering tools:Simulator Bevyhavior Simulator, etc labels Jul 21, 2025
@github-project-automation github-project-automation bot moved this to Request for Review in Development Jul 21, 2025
oleflb and others added 23 commits July 22, 2025 02:10
* check if robot has remaining stad-up time

* paramerize the delay

* Skip dispatching from standup_back to standup_sitting

* bugfix remaining duration standup_front

* extra time to reach if not upright

* bugfix estimated time calc in stadup_sitting

* parameterchange

* --wip--

* remove debug print

* keframe edit standup back

---------

Co-authored-by: larskna <143598820+larskna@users.noreply.github.com>
* implement filter recalibration

* use yaw from previous calibration
* Calibrate 38 32 21 34 41 40

* Calibrate 39
* Reduce max head yaw velocity

* Reduce head pitch velocity as well
)

* flip y in defendposition for oponant penaltykick

* change gamestate to dependence on the ball and robot

* change gamestate to dependence on the ball and robot

* change naming to ball_behind_defender for better clarification

* add distance_to_target maximum

* change position from defender in penaltykick

* change gamestate to dependence on the ball and robot

* add distance_to_target maximum

* change position from defender in penaltykick

* revert worldstate reference

* fix typo

---------

Co-authored-by: vivi-enne <vivienne.schwabe@tuhh.de>
* Allow intercept-ball scenario to fail

* Aim the ball into the goal

* Make robot move faster

* Use soft errors

* Don't exit on soft error

* Only emit one soft error per goal
* Tune Kicks

* fix bevyhavior simulator
* parameterchange: don't trust network teamballs

* add new parameter to bevy test
* add timeout for defender to become searcher

move functionality of delayed movement of defender that became earcher in searcher

make the standing time after role change dynamic depending on last known ball posiiton

add senario and fmt

rename variable

undo change of if condition

add new edge detection

change ball position in passive_defender_positioning

* only affect searchers that where defender

* add check for y-position of searcher

* fmt file

* stand only when in own half

* make previous role the real previous role

* forever keeper

* more edge-cases in standing seracher bevi_test

* change bevihavior scenario

* add aditional assertion at standing_searcher bevytest

* add assertions to bevihavior standing_searcher

* change parameter for later search motion
@knoellle knoellle moved this from Request for Review to In Progress in Development Jul 22, 2025
@knoellle knoellle force-pushed the bevyhavior-ball-filter branch from 0f78287 to 28b7374 Compare August 16, 2025 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

8 participants