Conversation
it runs in sim but the robots are undergoing brownian motion
…oller for opponents for testing
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive motion planning tests for robot navigation and collision avoidance across various scenarios. The tests validate single-robot and multi-robot navigation with both static and dynamic obstacles using different control schemes (DWA and PID).
- Implements test strategies for simple navigation, random movement, oscillating obstacles, and multi-robot coordination
- Adds test cases covering scenarios from basic straight-line movement to complex multi-robot collision avoidance
- Extends
StrategyRunnerto support separate control schemes for opponent robots in testing scenarios
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 32 comments.
Show a summary per file
| File | Description |
|---|---|
utama_core/tests/motion_planning/strategies/simple_navigation_strategy.py |
Implements basic navigation behavior for moving a robot to a fixed target position |
utama_core/tests/motion_planning/strategies/random_movement_strategy.py |
Implements random movement behavior for testing collision avoidance with multiple robots moving to random targets |
utama_core/tests/motion_planning/strategies/oscillating_obstacle_strategy.py |
Implements oscillating obstacle behavior for testing dynamic obstacle avoidance |
utama_core/tests/motion_planning/strategies/multi_robot_navigation_strategy.py |
Implements strategy for controlling multiple robots, each navigating to their own target |
utama_core/tests/motion_planning/single_robot_static_obstacle_test.py |
Tests single robot navigation with static obstacles in various configurations |
utama_core/tests/motion_planning/single_robot_moving_obstacle_test.py |
Tests single robot navigation avoiding moving/oscillating obstacles |
utama_core/tests/motion_planning/random_movement_test.py |
Tests collision avoidance with 6 robots moving randomly within bounded area |
utama_core/tests/motion_planning/multiple_robots_test.py |
Tests multi-robot scenarios including mirror charge and diagonal crossing |
utama_core/run/strategy_runner.py |
Adds support for separate opponent control scheme to enable independent motion control in tests |
Comments suppressed due to low confidence (10)
utama_core/tests/motion_planning/strategies/multi_robot_navigation_strategy.py:7
- Import of 'Vector2D' is not used.
from utama_core.entities.data.vector import Vector2D
utama_core/tests/motion_planning/strategies/multi_robot_navigation_strategy.py:9
- Import of 'move' is not used.
from utama_core.skills.src.utils.move_utils import move
utama_core/tests/motion_planning/multiple_robots_test.py:8
- Import of 'LEFT_START_ONE' is not used.
Import of 'RIGHT_START_ONE' is not used.
from utama_core.config.formations import LEFT_START_ONE, RIGHT_START_ONE
utama_core/tests/motion_planning/multiple_robots_test.py:15
- Import of 'map_friendly_enemy_to_colors' is not used.
Import of 'map_left_right_to_colors' is not used.
from utama_core.global_utils.mapping_utils import (
map_friendly_enemy_to_colors,
map_left_right_to_colors,
)
utama_core/tests/motion_planning/strategies/random_movement_strategy.py:4
- Import of 'time' is not used.
import time
utama_core/tests/motion_planning/strategies/random_movement_strategy.py:5
- Import of 'Dict' is not used.
from typing import Dict, Optional, Tuple
utama_core/tests/motion_planning/random_movement_test.py:8
- Import of 'LEFT_START_ONE' is not used.
Import of 'RIGHT_START_ONE' is not used.
from utama_core.config.formations import LEFT_START_ONE, RIGHT_START_ONE
utama_core/tests/motion_planning/random_movement_test.py:15
- Import of 'map_friendly_enemy_to_colors' is not used.
Import of 'map_left_right_to_colors' is not used.
from utama_core.global_utils.mapping_utils import (
map_friendly_enemy_to_colors,
map_left_right_to_colors,
)
utama_core/tests/motion_planning/strategies/simple_navigation_strategy.py:5
- Import of 'np' is not used.
import numpy as np
utama_core/tests/motion_planning/strategies/simple_navigation_strategy.py:7
- Import of 'Sequence' is not used.
from py_trees.composites import Sequence
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
utama_core/tests/motion_planning/strategies/random_movement_strategy.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/single_robot_static_obstacle_test.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/multi_robot_navigation_strategy.py
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…tion_strategy.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rategy.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 22 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
utama_core/tests/motion_planning/single_robot_static_obstacle_test.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/simple_navigation_strategy.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/single_robot_moving_obstacle_test.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/multi_robot_navigation_strategy.py
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
utama_core/tests/motion_planning/strategies/oscillating_obstacle_strategy.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/oscillating_obstacle_strategy.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/oscillating_obstacle_strategy.py
Outdated
Show resolved
Hide resolved
…rategy.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated 8 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
utama_core/tests/motion_planning/strategies/oscillating_obstacle_strategy.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/single_robot_static_obstacle_test.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/single_robot_moving_obstacle_test.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/single_robot_static_obstacle_test.py
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated 9 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
utama_core/tests/motion_planning/strategies/oscillating_obstacle_strategy.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/oscillating_obstacle_strategy.py
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/simple_navigation_strategy.py
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/random_movement_strategy.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated 13 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
utama_core/tests/motion_planning/strategies/simple_navigation_strategy.py
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/random_movement_strategy.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/strategies/oscillating_obstacle_strategy.py
Outdated
Show resolved
Hide resolved
utama_core/tests/motion_planning/single_robot_static_obstacle_test.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 23 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Added the following tests:
single_robot_static_obstacle_test.pysingle_robot_moving_obstacle_test.py5,6,7. Multiple obstacles oscillating horizontally or vertically between start and end positions
random_movement_test.py8. 2 robots of the same team moving around randomly in a half court ( number of robots is variable and can be changed)
multiple_robots_test.py9. Mirror charge head on: 6 robots on each side of the pitch in mirror positions, target is their mirror counterpart's starting position
10. Diagonal charge: 4 robots one on each corner of a square area, try to go to the opposite corner via the main diagonal