Skip to content

Conversation

@valentinbruehl
Copy link
Member

Pulling the test cases created in dwa-new into fastpathplanning so we can test the fast path planning motion controller.

Jawad12256 and others added 30 commits November 19, 2025 14:25
it runs in sim but the robots are undergoing brownian motion
* reverted back to original setup

* reverted typing

---------

Co-authored-by: SSL_Linux_Laptop <firstorderrobotics@gmail.com>
…and normalized the different factors for scores
* add go to ball example strat

* fixes from nov 26

* update settings

* Update utama_core/strategy/examples/one_robot_placement_strategy.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update utama_core/strategy/examples/go_to_ball_ex.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update utama_core/strategy/examples/defense_strategy.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* correctly handle non sequential robot IDs

* clean init

* use timestep instead of mysterious 0.0167

* remove orientation if not in use

* patch non sequential handling in replays

* copy empty command instead of passing by reference

* remove reference of squared distance

* add todo tag for get_robot_responses

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix termination

* revert main.py

* better handling

* some cleanup

* add robot termination

* some cleanup

* remove CI on PR

* change lint to run on push only
* the dwa is cooked

it runs in sim but the robots are undergoing brownian motion

* test: write simple straight line test

* test: uncomment straight line test with obstacles

* test: moving robots obstacle course, also added separate motion controller for opponents for testing

* test: implement unit test of 12 robots dashing straight at each other

* test: implement test with 6 robots moving randomly in a half court

* revert dwa config and planner

* rename test file

* changed to from 6 to 2 robots so inevitable collisions are reduced

* Random movement test terminates after 3 targets reached

* Update utama_core/tests/motion_planning/random_movement_test.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update utama_core/tests/motion_planning/multiple_robots_test.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update utama_core/tests/motion_planning/multiple_robots_test.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update utama_core/tests/motion_planning/strategies/multi_robot_navigation_strategy.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update utama_core/tests/motion_planning/strategies/random_movement_strategy.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update utama_core/tests/motion_planning/multiple_robots_test.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* copilot changes

* removed unused imports

* replace raw values

* remove unused variables

* Update utama_core/tests/motion_planning/strategies/simple_navigation_strategy.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove unused imports

* some minor changes

* refactor: remove print in when robot reach random target

* feat: extract n_robots parameter and restore it to 6

* refactor: added typing for dict variable

* test: exclude motion planning tests for now until the algos work

* doc: changed test function name and doc string to better describe the mirror swap test

* doc: add description for n_robots variable

* test: removed custom control scheme in tests so it uses the default scheme in strategy runner

* test: combine f string in assertion

* test: remove unused variable in random movement strategy

* test: add type annotation to test manager variable in random movement strategy

* Update utama_core/tests/motion_planning/strategies/random_movement_strategy.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* test: use snake case for variable name

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* test: change variables to snake case

* doc: update random movement test description to say correct number of robots

* test: resolve copilot PR comments

* final cleanup

* more minor stuff

---------

Co-authored-by: Jawad <jawad.olavian@gmail.com>
Co-authored-by: valentinbruehl <bruehl.valentin@outlook.de>
Co-authored-by: Joel <42647510+energy-in-joles@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Joel <nzmjoel@gmail.com>
* add motion planning flags

* revert pid to be default

* reset default

* oops it didn't save
Added a brief description of the project.
* dribbling

* improved logic

* bug fix

* hot fix

* updates

* improvements

* typing

* optimizations to rsim

* Update utama_core/rsoccer_simulator/src/ssl/envs/standard_ssl.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* bug fixes + updates

* linting

* test bug fix

* test_fix

* undo

* undo

* reverted params

* bug fixes

* improved dribbler logic

* Update utama_core/team_controller/src/controllers/real/real_robot_controller.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* updates

* update fix

* updates

* updates

* fixes

* removed prints

* fix: correct access to my_goal_line in defend_parameter

* fix: ball release momentum persistence + improved turn on ball

* improved rsim efficiency + removed redundant code

* perf: replaced lens with replace

confirmed with the profiler (halved velocity refiner processing time)

* Update utama_core/rsoccer_simulator/src/ssl/envs/standard_ssl.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update utama_core/rsoccer_simulator/src/ssl/envs/standard_ssl.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* set profiler back to None by default

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Isaac Yong <72080621+isaac0804@users.noreply.github.com>
Co-authored-by: Joel <nzmjoel@gmail.com>
* improve test manager docs

* simplify n_episodes

* try to get copilot to suggest better code reviews

* better comment
energy-in-joles and others added 10 commits January 15, 2026 23:02
* changes

* stop robots on crash and better manage real robot controller packet assignment

* threshold

* remove comment

* bug fixes

* Update utama_core/team_controller/src/controllers/real/real_robot_controller.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add test case for camera combiner

* move ball merging threshold to settings.py

* put docstring for run_test back

---------

Co-authored-by: SSL_Linux_Laptop <firstorderrobotics@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* init

* working version

* Real testing 4/12/25

* hot fixes

* two robot placement

* Testing pushes with dynamic field changes

* chore: clean up

* chore: cleaned up tests

* chore:cleanup

* unit test for two robot placement

* Update .github/copilot-instructions.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* minor improvements

* chore: documentation

---------

Co-authored-by: SSL_Linux_Laptop <firstorderrobotics@gmail.com>
Co-authored-by: Joel <nzmjoel@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants