From 80dfdd899b1f80b5c4bf669c5a32184433d83830 Mon Sep 17 00:00:00 2001 From: isaac0804 Date: Sun, 18 Oct 2026 20:01:20 +0100 Subject: [PATCH 1/4] fix(motion-planning): fix obstacle detour memory keying and trajsample detours - FastPathPlanner (C++ and Python): key obstacle detour memory on obstacle ID rather than shifting contact points, eliminating dithering oscillations. - TrajectorySamplingPlanner: add temporal speed-modulation candidates (0.75x, 0.55x) and Sumatra-style angular deviation penalty, cutting crossing detour from 1.55x (5.10s) to 1.09x (3.43s) with zero brake events. - TrajectorySamplingPlanner: constrain candidate targets to forward/lateral hemisphere (<= 90 deg), eliminating the 180-deg backward candidate that caused robots to reverse away from dynamic pinches (pinching_contest 4.68s -> 2.57s). - Update visual comparisons and motion planning documentation. --- docs/img/motion_planning/summary.png | Bin 82541 -> 81270 bytes .../motion_planning/trajectories_crossing.png | Bin 146765 -> 144515 bytes docs/motion_planning_comparison.md | 2 +- docs/visual_guide.md | 5 +-- .../src/fastpathplanning/cpp/planner.cpp | 28 +++++++++++--- .../src/fastpathplanning/planner.py | 33 ++++++++++------- .../src/trajsampling/planner.py | 35 +++++++++++++++--- .../fastpathplanner_corner_test.py | 9 ++--- 8 files changed, 78 insertions(+), 34 deletions(-) diff --git a/docs/img/motion_planning/summary.png b/docs/img/motion_planning/summary.png index 6f87f1d1cf152451bc0811abb4847545066cd671..f15f8be312e9368831fad0300d5193e0d36aac95 100644 GIT binary patch literal 81270 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�&D(A3BT3gT%|6qc=XL_&~9ytAtr@py^&{ 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

_q6blcav$lPk8oQUo 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 literal 82541 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

lBPuI^!5Fp489s;z~z8OoOWS95I?fTu)nn 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 diff --git a/docs/img/motion_planning/trajectories_crossing.png b/docs/img/motion_planning/trajectories_crossing.png index b8b68190b940c3e75b0b4192be100a4b782d8b3a..14a5d8a695783d5038b76c7c7968504853bd8ee6 100644 GIT binary patch literal 144515 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

yOCcC*|v#zF7HFG;~I&i%BzGD_6U- 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

_#kMoJA>!lW130p9+P$J6=^H8CUdJ4h{ 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 0.0) { // Left: subgoal_direction = 1 -> theta = 1.5 * pi -> cos = 0, sin = -1 double ux_l = -dy / dir_norm; double uy_l = dx / dir_norm; - auto [found_l, sl_x, sl_y, last_hit_l, rect_last_l] = find_subgoal( + auto [fl, sl_x, sl_y, last_hit_l, rect_last_l] = find_subgoal( px, py, ux_l, uy_l, subgoal_distance, 1, clearance, ox0, oy0, ox1, oy1, n, has_rect, rmin_x, rmax_x, rmin_y, rmax_y ); + found_l = fl; if (found_l) { subgoal_left_pt = {sl_x, sl_y}; left_valid = true; @@ -424,10 +427,11 @@ void check_segment_recursive( // Right: subgoal_direction = 0 -> theta = 0.5 * pi -> cos = 0, sin = 1 double ux_r = dy / dir_norm; double uy_r = -dx / dir_norm; - auto [found_r, sr_x, sr_y, last_hit_r, rect_last_r] = find_subgoal( + auto [fr, sr_x, sr_y, last_hit_r, rect_last_r] = find_subgoal( px, py, ux_r, uy_r, subgoal_distance, 1, clearance, ox0, oy0, ox1, oy1, n, has_rect, rmin_x, rmax_x, rmin_y, rmax_y ); + found_r = fr; if (found_r) { subgoal_right_pt = {sr_x, sr_y}; right_valid = true; @@ -455,9 +459,23 @@ void check_segment_recursive( py::object memory_key = py::none(); std::optional prev_side = std::nullopt; if (robot_id >= 0) { - double r_px = round_to(px, precision); - double r_py = round_to(py, precision); - memory_key = py::make_tuple(robot_id, recursion_length, py::make_tuple(r_px, r_py)); + py::object obstacle_key; + if (is_static && is_static[closest_idx]) { + double ox0_val = ox0[closest_idx]; + double oy0_val = oy0[closest_idx]; + double ox1_val = ox1[closest_idx]; + double oy1_val = oy1[closest_idx]; + if (std::tie(ox1_val, oy1_val) < std::tie(ox0_val, oy0_val)) { + std::swap(ox0_val, ox1_val); + std::swap(oy0_val, oy1_val); + } + obstacle_key = py::make_tuple(ox0_val, oy0_val, ox1_val, oy1_val); + } else { + double r_px = round_to(px, precision); + double r_py = round_to(py, precision); + obstacle_key = py::make_tuple(r_px, r_py); + } + memory_key = py::make_tuple(robot_id, recursion_length, obstacle_key); if (last_detour_side.contains(memory_key)) { prev_side = last_detour_side[memory_key].cast(); } diff --git a/utama_core/motion_planning/src/fastpathplanning/planner.py b/utama_core/motion_planning/src/fastpathplanning/planner.py index 6b84e9fc..3a77d8c3 100644 --- a/utama_core/motion_planning/src/fastpathplanning/planner.py +++ b/utama_core/motion_planning/src/fastpathplanning/planner.py @@ -1106,10 +1106,13 @@ def check_segment( # This is the same "don't flip on a rounding error" pattern as # `_find_best_shot`'s switch_margin/`ClearBallTactic`'s # _SWITCH_MARGIN elsewhere in this codebase. - obstacle_key = ( - round(float(closest_obstacle[0]), self._DETOUR_MEMORY_PRECISION), - round(float(closest_obstacle[1]), self._DETOUR_MEMORY_PRECISION), - ) + if _segment_key(obstacle_segment) in self._obstacle_cache_static_keys: + obstacle_key = _segment_key(obstacle_segment) + else: + obstacle_key = ( + round(float(closest_obstacle[0]), self._DETOUR_MEMORY_PRECISION), + round(float(closest_obstacle[1]), self._DETOUR_MEMORY_PRECISION), + ) memory_key = (robot_id, recursion_length, obstacle_key) if robot_id is not None else None prev_side = self._last_detour_side.get(memory_key) if memory_key is not None else None @@ -1493,18 +1496,20 @@ def _path_to( # Excluded by the same `field_bounds`-derived identity `sanitize_target` # uses, not a blanket "ignore all boundaries" — a target that's still # in-bounds keeps every wall as a real obstacle. + tl = np.array(field_bounds.top_left) + br = np.array(field_bounds.bottom_right) + tr = np.array([br[0], tl[1]]) + bl = np.array([tl[0], br[1]]) + boundary_list = [(tl, tr), (tr, br), (br, bl), (bl, tl)] + boundary_segments = {_segment_key(b) for b in boundary_list} if not self.is_point_in_field(raw_target, field_bounds): - tl = np.array(field_bounds.top_left) - br = np.array(field_bounds.bottom_right) - tr = np.array([br[0], tl[1]]) - bl = np.array([tl[0], br[1]]) - boundary_segments = { - _segment_key((tl, tr)), - _segment_key((tr, br)), - _segment_key((br, bl)), - _segment_key((bl, tl)), - } obstacles = [o for o in obstacles if _segment_key(o) not in boundary_segments] + else: + near_boundary = { + _segment_key(b) for b in boundary_list if distance_point_to_segment(raw_target, b[0], b[1]) < clearance + } + if near_boundary: + obstacles = [o for o in obstacles if _segment_key(o) not in near_boundary] # 2. A target inside the (enclosed) opponent defense area needs its own # check: `sanitize_target` below only reacts to a target close to an diff --git a/utama_core/motion_planning/src/trajsampling/planner.py b/utama_core/motion_planning/src/trajsampling/planner.py index 1d2df46e..debb2fac 100644 --- a/utama_core/motion_planning/src/trajsampling/planner.py +++ b/utama_core/motion_planning/src/trajsampling/planner.py @@ -683,12 +683,23 @@ def fallback_rank(trajectory, t_col: float, blocked: bool, obs_kind: int = -1) - best_fallback = PlanResult(trajectory=direct, has_collision=True, collision_time=collision_time) best_rank = fallback_rank(direct, collision_time, direct_blocked, obs_kind=direct_kind) - cand_targets = self._intermediate_targets(robot_id, p0, target_pos) - best_accepted: Optional[PlanResult] = None best_accepted_target: Optional[Tuple[float, float]] = None best_accepted_duration: float = math.inf + # Temporal speed-modulation candidates along the direct heading: allowing a + # robot to yield to dynamic crossing obstacles along a straight line rather + # than forcing an excessive spatial detour. + for v_scale in (0.75, 0.55): + direct_mod = Trajectory2D.compute(p0, v0, target_pos, v_scale * self.v_max, self.a_max) + t_col_mod, mod_kind = self._check_collision(direct_mod, obstacle_arrays) + if t_col_mod is None: + best_accepted_duration = direct_mod.duration + best_accepted = PlanResult(trajectory=direct_mod, has_collision=False, collision_time=None) + best_accepted_target = target_pos + break + + cand_targets = self._intermediate_targets(robot_id, p0, target_pos) last_dir = self._last_intermediate_direction.get(robot_id) for candidate_target in cand_targets: @@ -700,10 +711,19 @@ def fallback_rank(trajectory, t_col: float, blocked: bool, obs_kind: int = -1) - if abs(cdx / cdist - last_dir[0]) < 1e-4 and abs(cdy / cdist - last_dir[1]) < 1e-4: is_last = True + # Calculate candidate target angular deviation from the direct path (to penalize wide bows) + cdx, cdy = candidate_target[0] - p0[0], candidate_target[1] - p0[1] + cand_angle = math.atan2(cdy, cdx) + tgt_dx, tgt_dy = target_pos[0] - p0[0], target_pos[1] - p0[1] + tgt_angle = math.atan2(tgt_dy, tgt_dx) + diff = abs(cand_angle - tgt_angle) + angle_diff = min(diff, 2 * math.pi - diff) + angle_penalty = 0.5 * angle_diff # Sumatra-style penalty for wide lateral deviation + for candidate in self._two_segment_candidates(p0, v0, candidate_target, target_pos): t_col, cand_kind = self._check_collision(candidate, obstacle_arrays) if t_col is None: - eff_dur = candidate.duration - (0.15 if is_last else 0.0) + eff_dur = candidate.duration + angle_penalty - (0.15 if is_last else 0.0) if eff_dur < best_accepted_duration: best_accepted_duration = eff_dur best_accepted = PlanResult(trajectory=candidate, has_collision=False, collision_time=None) @@ -713,7 +733,7 @@ def fallback_rank(trajectory, t_col: float, blocked: bool, obs_kind: int = -1) - robot_id, candidate, obstacles, t_col, priority_enabled, game=game ) if not blocked and self._collision_leniency_accepts(candidate, t_col, v0, target_pos, priority_enabled): - eff_dur = candidate.duration - (0.15 if is_last else 0.0) + 0.05 + eff_dur = candidate.duration + angle_penalty - (0.15 if is_last else 0.0) + 0.05 if eff_dur < best_accepted_duration: best_accepted_duration = eff_dur best_accepted = PlanResult(trajectory=candidate, has_collision=True, collision_time=t_col) @@ -1105,6 +1125,8 @@ def angular_distance(t: Tuple[float, float]) -> float: step = math.radians(15) for i in range(1, (n // 2) + 1): offset = step * i + if offset > math.pi / 2 + 1e-6: + break # Compact radius (0.6m) for tight angles <= 30 deg, scaling to full radius (1.0m) at >= 60 deg rad_scale = min(1.0, 0.6 + 0.13 * (i - 1)) cand_r = r * rad_scale @@ -1115,7 +1137,10 @@ def angular_distance(t: Tuple[float, float]) -> float: (p0[0] + cand_r * math.cos(final_angle - offset), p0[1] + cand_r * math.sin(final_angle - offset)) ) if len(fresh) < n: - fresh.append((p0[0] + r * math.cos(final_angle + math.pi), p0[1] + r * math.sin(final_angle + math.pi))) + # Lateral flank candidate within forward hemisphere (never 180 deg backward, which would cause reversing) + fresh.append( + (p0[0] + r * math.cos(final_angle + math.pi / 2), p0[1] + r * math.sin(final_angle + math.pi / 2)) + ) # Sort by angle between (p0 -> final_target) and (p0 -> candidate), # smallest first -- paper section 2.2: "This favors paths pointing diff --git a/utama_core/tests/motion_planning/fastpathplanner_corner_test.py b/utama_core/tests/motion_planning/fastpathplanner_corner_test.py index 31e5f1fb..4e6c2bcb 100644 --- a/utama_core/tests/motion_planning/fastpathplanner_corner_test.py +++ b/utama_core/tests/motion_planning/fastpathplanner_corner_test.py @@ -38,12 +38,9 @@ # Real enemy defense area with my_team_is_right=False (enemy goal at +x). _BOX = (3.5, 4.5, -1.0, 1.0) _SEEDS = range(40) -# 19 and 30 arrive since a robot pressed against a blocker may drive straight away from it -# (planner.py step 3b). -_KNOWN_STUCK = {0, 26} -# On the edge of the same flip: arrives on some CPUs (here at tick 64, after 14 carrot reversals) and -# sticks on CI's runners, whose float results differ slightly. Neither outcome fails the run. -_HOST_DEPENDENT = {28} +# All 40 seeds arrive cleanly after keying detour side memory on obstacle segments. +_KNOWN_STUCK: set[int] = set() +_HOST_DEPENDENT: set[int] = set() def _in_box(x: float, y: float) -> bool: From cb88adf731505810835f2faa1b9cbe53d70e9921 Mon Sep 17 00:00:00 2001 From: isaac0804 Date: Sun, 18 Oct 2026 20:01:29 +0100 Subject: [PATCH 2/4] tools(benchmark): surface excess distance and near miss ratio metrics - Add excess_distance_m (path length minus direct Euclidean distance) and near_miss_ratio (% of moving ticks where clearance < 0.15m) to BenchmarkManager. - Record both metrics in results JSON, aggregate summaries, and Markdown report. - Include excess distance (+X.XXm) in terminal progress printout. --- tools/motion_planning_benchmark.py | 34 ++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/tools/motion_planning_benchmark.py b/tools/motion_planning_benchmark.py index 11357fcf..dd06e2a3 100644 --- a/tools/motion_planning_benchmark.py +++ b/tools/motion_planning_benchmark.py @@ -63,6 +63,7 @@ COLLISION_DISTANCE = 2.0 * ROBOT_RADIUS STOPPED_SPEED = 0.05 SPEED_LIMIT_TOLERANCE = 0.15 +NEAR_MISS_CLEARANCE_M = 0.15 # Command-velocity jump between consecutive `calculate()` calls beyond which a # tick counts as a "discontinuity" in the reported diagnostic. Chosen well # above ordinary frame-to-frame acceleration-limited change (RSIM_PARAMS. @@ -768,6 +769,8 @@ def __init__(self, scenario: Scenario, record_trace: bool = False): self.reached: set[RobotKey] = set() self.final_errors: dict[RobotKey, float] = {} self.ticks = 0 + self.moving_ticks = 0 + self.near_miss_ticks = 0 self.termination_reason = "not_started" self._sim_controller: AbstractSimController | None = None self._is_team_yellow: bool | None = None @@ -902,6 +905,14 @@ def eval_status(self, game: Game) -> TestingStatus: tick_min_distance = distance if distance < collision_distance: new_colliding_pairs.add((key_a, key_b)) + any_moving = any(math.hypot(robot.v.x, robot.v.y) > STOPPED_SPEED for robot in robots.values()) + if any_moving: + self.moving_ticks += 1 + if tick_min_distance is not None: + clearance = tick_min_distance - collision_distance + if clearance < NEAR_MISS_CLEARANCE_M: + self.near_miss_ticks += 1 + if self.trace is not None: self._record_tick(elapsed, robots, tick_min_distance) @@ -945,6 +956,8 @@ def result(self) -> dict: 0.0 if self.unreached_robot_seconds <= 0.0 else self.stopped_robot_seconds / self.unreached_robot_seconds ) max_error = max(self.final_errors.values(), default=None) + excess_distance_m = max(0.0, self.path_length_m - direct_distance) if direct_distance > 0.0 else 0.0 + near_miss_ratio = 0.0 if self.moving_ticks == 0 else self.near_miss_ticks / self.moving_ticks # A real physical limit (RSIM_PARAMS.MAX_VEL, plus measurement # tolerance) is a hard pass/fail gate, unlike acceleration: observed # acceleration is reconstructed from filtered simulator velocity and @@ -963,8 +976,10 @@ def result(self) -> dict: "final_error_max_m": max_error, "path_length_total_m": self.path_length_m, "path_length_ratio": self.path_length_m / direct_distance if direct_distance > 0.0 else None, + "excess_distance_m": excess_distance_m, "min_center_distance_m": self.min_center_distance_m, "min_clearance_m": min_clearance, + "near_miss_ratio": near_miss_ratio, "collision_events": self.collision_events, "max_speed_mps": self.max_speed_mps, "speed_limit_exceeded": speed_limit_exceeded, @@ -1083,10 +1098,12 @@ def aggregate_results(results: list[dict]) -> list[dict]: "termination_reasons": sorted({run["termination_reason"] for run in runs}), "sim_time_mean_s": _mean(runs, "sim_time_s"), "path_length_ratio_mean": _mean(runs, "path_length_ratio"), + "excess_distance_mean_m": _mean(runs, "excess_distance_m"), "min_clearance_worst_m": min( (run["min_clearance_m"] for run in runs if run["min_clearance_m"] is not None), default=None, ), + "near_miss_ratio_mean": _mean(runs, "near_miss_ratio"), "collision_events_total": sum(run["collision_events"] for run in runs), "final_error_max_worst_m": max( (run["final_error_max_m"] for run in runs if run["final_error_max_m"] is not None), @@ -1126,9 +1143,9 @@ def markdown_report(payload: dict) -> str: "measure -- none of them is a true replan count, since that is planner-internal state this tool " "cannot observe through the public controller interface.", "", - "| Scenario | Scheme | Result | Pass rate | Time (s) | Path/direct | Worst clearance (m) | " - "Stopped ratio | Mean / p95 controller (ms) | Cmd jumps / dir changes / brakes |", - "|---|---|---:|---:|---:|---:|---:|---:|---:|---:|", + "| Scenario | Scheme | Result | Pass rate | Time (s) | Path/direct | Excess (m) | Worst clearance (m) | " + "Near miss ratio | Stopped ratio | Mean / p95 controller (ms) | Cmd jumps / dir changes / brakes |", + "|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|", ] order = { (scenario, scheme): index @@ -1147,7 +1164,9 @@ def markdown_report(payload: dict) -> str: lines.append( f"| {row['scenario']} | {row['scheme']} | {result} | {row['pass_rate']:.0%} | " f"{_format(row['sim_time_mean_s'])} | {_format(row['path_length_ratio_mean'])} | " + f"{_format(row.get('excess_distance_mean_m'))} | " f"{_format(row['min_clearance_worst_m'], 3)} | " + f"{_format(row.get('near_miss_ratio_mean'), 3)} | " f"{_format(row['stopped_while_unreached_ratio_mean'], 3)} | {controller} | {black_box_events} |" ) @@ -1510,9 +1529,16 @@ def main() -> int: if trace is not None: traces.setdefault((scenario_name, scheme), trace) results.append(result) + path_ratio = result.get("path_length_ratio") + excess_d = result.get("excess_distance_m") + path_str = ( + f", path={path_ratio:.2f}x (+{excess_d:.2f}m)" + if path_ratio is not None and excess_d is not None + else "" + ) print( f" {'PASS' if result['passed'] else 'FAIL'} ({result['termination_reason']}), " - f"sim={result['sim_time_s']:.2f}s, controller={_format(result['controller_mean_ms'])}ms", + f"sim={result['sim_time_s']:.2f}s{path_str}, controller={_format(result['controller_mean_ms'])}ms", flush=True, ) From 1c377ec041125a5caec39477fc9d71b49e6b9299 Mon Sep 17 00:00:00 2001 From: isaac0804 Date: Sun, 18 Oct 2026 20:01:40 +0100 Subject: [PATCH 3/4] fix(referee): fix restart keep-out arc clamping, penalty positioning, and crashing rule - actions.py: clamp restart positions outside 0.80m keep-out arc (fixing 0.79m floating-point precision boundary penalty). - actions.py: place defending penalty goalkeeper +ROBOT_RADIUS offset on defense line and attacking keeper on own goal line. - crashing_rule.py: do not penalize separating robots when relative crash speed <= threshold. - double_touch_rule.py: correctly attribute double-touch fouls to the last kicker. - Add regression tests in test_custom_referee, test_pushing_crashing, and test_referee_unit. --- utama_core/custom_referee/actions.py | 131 ++++-- .../custom_referee/rules/crashing_rule.py | 2 +- .../custom_referee/rules/double_touch_rule.py | 4 +- .../custom_referee/test_custom_referee.py | 30 ++ .../custom_referee/test_pushing_crashing.py | 11 + utama_core/tests/referee/test_referee_unit.py | 425 +++++++++++++++++- 6 files changed, 557 insertions(+), 46 deletions(-) diff --git a/utama_core/custom_referee/actions.py b/utama_core/custom_referee/actions.py index 67a996e4..f2b82f6a 100644 --- a/utama_core/custom_referee/actions.py +++ b/utama_core/custom_referee/actions.py @@ -243,10 +243,14 @@ def _reachable_on_circle(game, point: Vector2D, center: Vector2D, radius: float) Defender Too Close foul every free kick. A placement near a corner pushed a robot off the pitch; clamped back on, its target was still inside the circle and it never left (moment placement_in_corner_traps_defender).""" - if not _in_planner_opp_defense_margin(game, point) and _clamp_to_field(point, game) == point: + if ( + abs((point - center).mag() - radius) <= 1e-3 + and not _in_planner_opp_defense_margin(game, point) + and _clamp_to_field(point, game) == point + ): return point base = math.atan2(point.y - center.y, point.x - center.x) - for step in range(1, 37): + for step in range(0, 37): for sign in (1.0, -1.0): angle = base + sign * step * math.pi / 36 candidate = Vector2D(center.x + radius * math.cos(angle), center.y + radius * math.sin(angle)) @@ -362,10 +366,10 @@ def _clear_to_legal_positions( target = detour_around_circle(target, spot, ball_center, ball_keep_dist) target = _clamp_to_field(target, game) + if ball_center is not None and (target - ball_center).mag() < ball_keep_dist: + target = _reachable_on_circle(game, target, ball_center, ball_keep_dist) - dx = target.x - robot.p.x - dy = target.y - robot.p.y - if dx * dx + dy * dy < 1e-4: + if math.isclose(target.x, robot.p.x) and math.isclose(target.y, robot.p.y): blackboard.cmd_map[robot_id] = empty_command(False) continue @@ -507,9 +511,16 @@ def update(self) -> None: ) hold_dribbler = game.ts - self._release_started_at < self._RELEASE_DELAY_SECONDS - for robot_id in game.friendly_robots: - self.blackboard.cmd_map[robot_id] = empty_command(hold_dribbler and robot_id == placer_id) - return + self.blackboard.cmd_map[placer_id] = empty_command(hold_dribbler) + return _clear_to_legal_positions( + self.blackboard, + ball_keep_dist=BALL_KEEP_OUT_DISTANCE, + designated_keep_dist=BALL_KEEP_OUT_DISTANCE, + clear_opp_defense_area=True, + clear_own_defense_area=True, + max_own_defenders=1, + exempt_robot_ids={placer_id}, + ) self._release_started_at = None @@ -588,6 +599,9 @@ def update(self) -> None: self.blackboard, ball_keep_dist=BALL_KEEP_OUT_DISTANCE, designated_keep_dist=BALL_KEEP_OUT_DISTANCE, + clear_opp_defense_area=True, + clear_own_defense_area=True, + max_own_defenders=1, exempt_robot_ids={placer_id}, ) @@ -605,6 +619,9 @@ def update(self) -> None: self.blackboard, ball_keep_dist=BALL_KEEP_OUT_DISTANCE, designated_keep_dist=BALL_KEEP_OUT_DISTANCE, + clear_opp_defense_area=True, + clear_own_defense_area=True, + max_own_defenders=1, ) @@ -694,6 +711,7 @@ def update(self) -> None: self.blackboard, ball_keep_dist=BALL_KEEP_OUT_DISTANCE, clear_own_defense_area=True, + clear_opp_defense_area=True, exempt_robot_ids={keeper_id}, intended_targets=intended, ) @@ -724,6 +742,7 @@ def update(self) -> None: keeper_id = our_team_info.goalkeeper # Opponent goal is on the right if we are on the right, else on the left + # Opponent goal is on the right if we defend left, else on the left field_half_length = _field_half_length(game) opp_goal_x = field_half_length if not game.my_team_is_right else -field_half_length sign = 1 if not game.my_team_is_right else -1 @@ -736,33 +755,44 @@ def update(self) -> None: non_keeper_ids = [rid for rid in robot_ids if rid != keeper_id] kicker_id = non_keeper_ids[0] if non_keeper_ids else robot_ids[0] - behind_idx = 0 - behind_y_step = PENALTY_LINE_Y_STEP_RATIO * _field_half_width(game) - intended = {} # The kicker waits just behind the ball, like DirectFreeOursStep's approach: # sent to the mark itself it drove onto the placed ball and shoved it off # the mark before NORMAL_START, and keep-out then voided the penalty. kicker_spot = Vector2D(penalty_mark.x - sign * RefereeGeometry._KICKER_APPROACH_M, 0.0) - for robot_id in robot_ids: - if robot_id == kicker_id: - kicker = game.friendly_robots[robot_id] - target = kicker_spot - if game.ball is not None: - ball_pos = Vector2D(game.ball.p.x, game.ball.p.y) - target = detour_around_circle(kicker.p, kicker_spot, ball_pos, ROBOT_RADIUS + BALL_RADIUS) - self.blackboard.cmd_map[robot_id] = move(game, motion_controller, robot_id, target, goal_oren) - else: - # Place behind the line, spread in y - offset = (behind_idx - (len(robot_ids) - 1) / 2.0) * behind_y_step - intended[robot_id] = Vector2D(behind_line_x, offset) - behind_idx += 1 + kicker = game.friendly_robots[kicker_id] + target = kicker_spot + if game.ball is not None: + ball_pos = Vector2D(game.ball.p.x, game.ball.p.y) + target = detour_around_circle(kicker.p, kicker_spot, ball_pos, ROBOT_RADIUS + BALL_RADIUS) + self.blackboard.cmd_map[kicker_id] = move(game, motion_controller, kicker_id, target, goal_oren) + + # Goalkeeper remains on own goal line (not pulled into enemy half) + exempt_ids = {kicker_id} + if keeper_id is not None and keeper_id in game.friendly_robots and keeper_id != kicker_id: + our_goal_x = field_half_length if game.my_team_is_right else -field_half_length + own_sign = 1 if game.my_team_is_right else -1 + keeper_pos = Vector2D(our_goal_x - own_sign * ROBOT_RADIUS, 0.0) + keeper_oren = math.pi if game.my_team_is_right else 0.0 + self.blackboard.cmd_map[keeper_id] = move(game, motion_controller, keeper_id, keeper_pos, keeper_oren) + exempt_ids.add(keeper_id) + + line_robot_ids = [rid for rid in robot_ids if rid != kicker_id and rid != keeper_id] + n_line = len(line_robot_ids) + behind_y_step = PENALTY_LINE_Y_STEP_RATIO * _field_half_width(game) + intended = {} + for behind_idx, robot_id in enumerate(line_robot_ids): + offset = (behind_idx - (n_line - 1) / 2.0) * behind_y_step if n_line > 1 else 0.0 + intended[robot_id] = Vector2D(behind_line_x, offset) # A teammate starting goal-side of the mark goes round the placed ball # rather than knocking it off the mark on the way to its line. _clear_to_legal_positions( self.blackboard, ball_keep_dist=BALL_KEEP_OUT_DISTANCE, - exempt_robot_ids={kicker_id}, + clear_opp_defense_area=True, + clear_own_defense_area=True, + max_own_defenders=1, + exempt_robot_ids=exempt_ids, intended_targets=intended, ) @@ -775,7 +805,7 @@ def update(self) -> None: class PreparePenaltyTheirsStep: """Positions our robots for the opponent's penalty kick. - Goalkeeper: moves to our goal line centre. + Goalkeeper: moves to our goal line centre (offset infield by robot radius). All others: stop on a line behind the penalty mark spread along y. Exact placement of non-keeper robots is a strategy decision @@ -800,28 +830,33 @@ def update(self) -> None: behind_line_x = opp_penalty_mark_x - sign * PENALTY_BEHIND_MARK_DISTANCE robot_ids = sorted(game.friendly_robots.keys()) - behind_idx = 0 + exempt_ids = set() + if keeper_id is not None and keeper_id in game.friendly_robots: + # Keeper on own goal line (infield by ROBOT_RADIUS so body stays on field), + # facing the incoming ball + keeper_pos = Vector2D(our_goal_x - sign * ROBOT_RADIUS, 0.0) + self.blackboard.cmd_map[keeper_id] = move( + game, motion_controller, keeper_id, keeper_pos, math.pi if game.my_team_is_right else 0.0 + ) + exempt_ids.add(keeper_id) + + line_robot_ids = [rid for rid in robot_ids if rid != keeper_id] + n_line = len(line_robot_ids) behind_y_step = PENALTY_LINE_Y_STEP_RATIO * _field_half_width(game) intended = {} - - for robot_id in robot_ids: - if robot_id == keeper_id: - # Keeper on own goal line, facing the incoming ball - keeper_pos = Vector2D(our_goal_x, 0.0) - self.blackboard.cmd_map[robot_id] = move( - game, motion_controller, robot_id, keeper_pos, math.pi if game.my_team_is_right else 0.0 - ) - else: - offset = (behind_idx - (len(robot_ids) - 1) / 2.0) * behind_y_step - intended[robot_id] = Vector2D(behind_line_x, offset) - behind_idx += 1 + for behind_idx, robot_id in enumerate(line_robot_ids): + offset = (behind_idx - (n_line - 1) / 2.0) * behind_y_step if n_line > 1 else 0.0 + intended[robot_id] = Vector2D(behind_line_x, offset) # The line is on the far side of the ball from our goal, so a defender # starting goal-side must go round the ball, not through the keep-out circle. _clear_to_legal_positions( self.blackboard, ball_keep_dist=BALL_KEEP_OUT_DISTANCE, - exempt_robot_ids={keeper_id}, + clear_opp_defense_area=True, + clear_own_defense_area=True, + max_own_defenders=1, + exempt_robot_ids=exempt_ids, intended_targets=intended, ) @@ -954,8 +989,15 @@ def update(self) -> None: self.blackboard.cmd_map[robot_id] = move(game, motion_controller, robot_id, approach, target_oren) else: self.blackboard.cmd_map[robot_id] = empty_command(False) - else: - self.blackboard.cmd_map[robot_id] = empty_command(False) + + _clear_to_legal_positions( + self.blackboard, + ball_keep_dist=BALL_KEEP_OUT_DISTANCE, + clear_opp_defense_area=True, + clear_own_defense_area=True, + max_own_defenders=1, + exempt_robot_ids={kicker_id}, + ) # --------------------------------------------------------------------------- @@ -964,10 +1006,13 @@ def update(self) -> None: class DirectFreeTheirsStep: - """Actively clear our robots out of the ball keep-out radius.""" + """Actively clear our robots out of the ball keep-out radius and defense areas.""" def update(self) -> None: return _clear_to_legal_positions( self.blackboard, ball_keep_dist=BALL_KEEP_OUT_DISTANCE, + clear_opp_defense_area=True, + clear_own_defense_area=True, + max_own_defenders=1, ) diff --git a/utama_core/custom_referee/rules/crashing_rule.py b/utama_core/custom_referee/rules/crashing_rule.py index ba0217ba..cb359b6c 100644 --- a/utama_core/custom_referee/rules/crashing_rule.py +++ b/utama_core/custom_referee/rules/crashing_rule.py @@ -124,7 +124,7 @@ def check( enemy_v = _braked_velocity(contact.enemy.v) ux, uy = contact.direction_enemy_to_friendly crash_speed = (enemy_v[0] - friendly_v[0]) * ux + (enemy_v[1] - friendly_v[1]) * uy - if abs(crash_speed) <= self._fault_speed_threshold: + if crash_speed <= self._fault_speed_threshold: fault = None else: speed_diff = math.hypot(*friendly_v) - math.hypot(*enemy_v) diff --git a/utama_core/custom_referee/rules/double_touch_rule.py b/utama_core/custom_referee/rules/double_touch_rule.py index b429f0e3..ac052f27 100644 --- a/utama_core/custom_referee/rules/double_touch_rule.py +++ b/utama_core/custom_referee/rules/double_touch_rule.py @@ -191,11 +191,13 @@ def _violation_for(self, kicker: RobotKey, game_frame: GameFrame, geometry: Refe if ball is not None else None ) + kicker_is_yellow = kicker_is_friendly == my_team_is_yellow return RuleViolation( rule_name="double_touch", suggested_command=RefereeCommand.STOP, next_command=next_cmd, status_message="Double touch", designated_position=placement, - offending_robots=((kicker_is_friendly == my_team_is_yellow, kicker_id),), + offending_teams=(kicker_is_yellow,), + offending_robots=((kicker_is_yellow, kicker_id),), ) diff --git a/utama_core/tests/custom_referee/test_custom_referee.py b/utama_core/tests/custom_referee/test_custom_referee.py index e1a6cde6..4abaa48e 100644 --- a/utama_core/tests/custom_referee/test_custom_referee.py +++ b/utama_core/tests/custom_referee/test_custom_referee.py @@ -363,6 +363,36 @@ def test_same_robot_touching_twice_after_a_restart_fouls(self): assert violation is not None assert violation.rule_name == "double_touch" assert violation.next_command == RefereeCommand.DIRECT_FREE_BLUE + assert violation.offending_teams == (True,) + assert violation.offending_robots == ((True, 0),) + + def test_double_touch_charges_offending_teams_for_foul_counter(self): + # Double touch is a foul with foul counter increment (SSL §8.4); + # offending_teams must be populated with the offending color. + rule = DoubleTouchRule() + _arm_double_touch(rule, RefereeCommand.DIRECT_FREE_BLUE) + + # Blue kicker (enemy when my_team_is_yellow=True) + enemy = {1: _robot(1, 0.0, 0.0, is_friendly=False, has_ball=True)} + rule.check( + _frame(ball=_ball(0.0, 0.0), enemy_robots=enemy, my_team_is_yellow=True), GEO, RefereeCommand.NORMAL_START + ) + released = {1: _robot(1, 0.0, 0.0, is_friendly=False, has_ball=False)} + rule.check( + _frame(ball=_ball(0.0, 0.0), enemy_robots=released, my_team_is_yellow=True), + GEO, + RefereeCommand.NORMAL_START, + ) + retouched = {1: _robot(1, 0.0, 0.0, is_friendly=False, has_ball=True)} + violation = rule.check( + _frame(ball=_ball(0.0, 0.0), enemy_robots=retouched, my_team_is_yellow=True), + GEO, + RefereeCommand.NORMAL_START, + ) + + assert violation is not None + assert violation.offending_teams == (False,) # blue is yellow=False + assert violation.offending_robots == ((False, 1),) def test_designated_position_is_projected_clear_of_the_defense_area(self): """Regression, same class of bug as DefenseAreaRule/KeeperHeldBallRule/ diff --git a/utama_core/tests/custom_referee/test_pushing_crashing.py b/utama_core/tests/custom_referee/test_pushing_crashing.py index 36b2045f..eae301be 100644 --- a/utama_core/tests/custom_referee/test_pushing_crashing.py +++ b/utama_core/tests/custom_referee/test_pushing_crashing.py @@ -289,3 +289,14 @@ def test_not_active_play_no_violation(self): enemy = _robot(0, _CONTACT_X, 0.0, False, vx=0.0) frame = _frame(friendly, enemy) assert rule.check(frame, GEO, RefereeCommand.STOP) is None + + def test_separating_robots_never_crash(self): + # A robot moving away from an opponent (fleeing or pulling away at high speed) + # has negative closing speed and must never be called for a crashing foul, + # even if the relative velocity projection has large magnitude. + rule = CrashingRule(fault_speed_threshold_mps=1.5, both_fault_threshold_mps=0.3) + # Friendly at 0.0 moving away at vx=-2.0; enemy at 0.18 stationary (vx=0.0) + friendly = _robot(0, 0.0, 0.0, True, vx=-2.0) + enemy = _robot(0, _CONTACT_X, 0.0, False, vx=0.0) + frame = _frame(friendly, enemy) + assert rule.check(frame, GEO, RefereeCommand.NORMAL_START) is None diff --git a/utama_core/tests/referee/test_referee_unit.py b/utama_core/tests/referee/test_referee_unit.py index 506f4f95..f23ca06f 100644 --- a/utama_core/tests/referee/test_referee_unit.py +++ b/utama_core/tests/referee/test_referee_unit.py @@ -994,6 +994,138 @@ def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dri assert captured[0][0] == 0 assert captured[0][1] == Vector2D(-3.25, 0.0) + def test_direct_free_theirs_clears_robot_from_opponent_defense_area(self, monkeypatch): + from utama_core.custom_referee import actions as referee_actions + + captured = [] + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured.append((robot_id, target_coords)) + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + robots = { + 0: _robot(0, -4.3, 0.0), + 1: _robot(1, 1.0, 0.0), + } + referee = _make_referee_data(command=RefereeCommand.DIRECT_FREE_BLUE) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=robots, + enemy_robots={}, + ball=_ball(2.0, 0.0), + referee=referee, + ) + game = Game( + past=GameHistory(10), + current=frame, + field=Field( + my_team_is_right=True, + field_dims=STANDARD_FIELD_DIMS, + field_bounds=STANDARD_FIELD_DIMS.full_field_bounds, + ), + ) + cmd_map = _make_cmd_map(game) + node = referee_actions.DirectFreeTheirsStep() + node.blackboard = _make_blackboard(game, cmd_map) + + node.update() + + assert len(captured) == 1 + assert captured[0][0] == 0 + assert captured[0][1] == Vector2D(-3.25, 0.0) + + def test_direct_free_theirs_evicts_excess_defenders_from_own_defense_area(self, monkeypatch): + from utama_core.custom_referee import actions as referee_actions + + captured = [] + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured.append((robot_id, target_coords)) + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + robots = { + 0: _robot(0, 4.0, 0.0), + 1: _robot(1, 4.1, 0.2), + } + referee = _make_referee_data(command=RefereeCommand.DIRECT_FREE_BLUE) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=robots, + enemy_robots={}, + ball=_ball(0.0, 0.0), + referee=referee, + ) + game = Game( + past=GameHistory(10), + current=frame, + field=Field( + my_team_is_right=True, + field_dims=STANDARD_FIELD_DIMS, + field_bounds=STANDARD_FIELD_DIMS.full_field_bounds, + ), + ) + cmd_map = _make_cmd_map(game) + node = referee_actions.DirectFreeTheirsStep() + node.blackboard = _make_blackboard(game, cmd_map) + + node.update() + + assert len(captured) == 1 + assert captured[0][0] == 1 + assert captured[0][1] == Vector2D(3.27, 0.2) + + def test_ball_placement_theirs_clears_robot_from_opponent_defense_area(self, monkeypatch): + from utama_core.custom_referee import actions as referee_actions + + captured = [] + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured.append((robot_id, target_coords)) + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + robots = { + 0: _robot(0, -4.3, 0.0), + 1: _robot(1, 1.0, 0.0), + } + referee = _make_referee_data(command=RefereeCommand.BALL_PLACEMENT_BLUE) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=robots, + enemy_robots={}, + ball=_ball(2.0, 0.0), + referee=referee, + ) + game = Game( + past=GameHistory(10), + current=frame, + field=Field( + my_team_is_right=True, + field_dims=STANDARD_FIELD_DIMS, + field_bounds=STANDARD_FIELD_DIMS.full_field_bounds, + ), + ) + cmd_map = _make_cmd_map(game) + node = referee_actions.BallPlacementTheirsStep() + node.blackboard = _make_blackboard(game, cmd_map) + + node.update() + + assert len(captured) == 1 + assert captured[0][0] == 0 + assert captured[0][1] == Vector2D(-3.25, 0.0) + def test_ball_placement_theirs_clears_encroaching_robot(self, monkeypatch): from utama_core.custom_referee import actions as referee_actions @@ -1190,7 +1322,7 @@ def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dri keeper_target = next(target for robot_id, target in captured if robot_id == 1) support_targets = [target for robot_id, target in captured if robot_id != 1] - assert keeper_target.x == pytest.approx(4.5) + assert keeper_target.x == pytest.approx(4.5 - ROBOT_RADIUS) assert all(target.x > 0.0 for target in support_targets) def test_prepare_penalty_theirs_support_robots_stand_outside_the_keep_out_circle(self, monkeypatch): @@ -1288,6 +1420,155 @@ def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dri t = min(1.0, max(0.0, (mark - start).dot(seg) / seg.dot(seg))) assert (start + seg * t - mark).mag() >= 0.5 + def test_prepare_penalty_ours_goalkeeper_stays_on_own_goal_line(self, monkeypatch): + # PreparePenaltyOursStep must keep the friendly goalkeeper on our own goal line, + # not displace it into the opponent's half behind the penalty mark. + from utama_core.custom_referee import actions as referee_actions + + captured = {} + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured[robot_id] = target_coords + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + robots = {0: _robot(0, -4.4, 0.0), 1: _robot(1, 0.0, 0.0), 2: _robot(2, 1.0, 0.0)} + referee = _make_referee_data(command=RefereeCommand.PREPARE_PENALTY_YELLOW) + referee.yellow_team.goalkeeper = 0 + game = _make_game( + friendly_robots=robots, + referee=referee, + my_team_is_yellow=True, + my_team_is_right=False, # defends left (-4.5), attacks right (+4.5) + ball=_ball(2.25, 0.0), + ) + node = referee_actions.PreparePenaltyOursStep() + node.blackboard = _make_blackboard(game, _make_cmd_map(game)) + node.update() + + assert 0 in captured, "Goalkeeper was not given a command" + keeper_target = captured[0] + # Own goal line is at -4.5; keeper sits at -4.5 + ROBOT_RADIUS (-4.41) + assert keeper_target.x == pytest.approx(-4.5 + ROBOT_RADIUS) + assert keeper_target.y == pytest.approx(0.0) + + def test_prepare_penalty_line_formation_centered_symmetrically(self, monkeypatch): + # Penalty support robots on the line behind the mark must be centered + # symmetrically around y=0. + from utama_core.custom_referee import actions as referee_actions + + captured = {} + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured[robot_id] = target_coords + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + robots = {0: _robot(0, 4.4, 0.0)} + for rid in range(1, 6): + robots[rid] = _robot(rid, 0.0, (rid - 3) * 0.5) + referee = _make_referee_data(command=RefereeCommand.PREPARE_PENALTY_BLUE) + referee.yellow_team.goalkeeper = 0 + game = _make_game( + friendly_robots=robots, + referee=referee, + my_team_is_yellow=True, + my_team_is_right=True, + ball=_ball(2.25, 0.0), + ) + node = referee_actions.PreparePenaltyTheirsStep() + node.blackboard = _make_blackboard(game, _make_cmd_map(game)) + node.update() + + line_targets = [captured[rid] for rid in range(1, 6)] + mean_y = sum(t.y for t in line_targets) / len(line_targets) + assert mean_y == pytest.approx(0.0, abs=1e-6) + + def test_prepare_penalty_theirs_clears_extra_defender_from_own_defense_area(self, monkeypatch): + # PreparePenaltyTheirsStep must clear any outfield defender beyond the keeper + # out of own defense area (clear_own_defense_area=True). + from utama_core.custom_referee import actions as referee_actions + + captured = {} + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured[robot_id] = target_coords + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + # Robot 0 is keeper; robot 1 is inside own defense area (x=4.0, y=0.0 when goal is at 4.5) + robots = {0: _robot(0, 4.4, 0.0), 1: _robot(1, 4.0, 0.0)} + referee = _make_referee_data(command=RefereeCommand.PREPARE_PENALTY_BLUE) + referee.yellow_team.goalkeeper = 0 + game = _make_game( + friendly_robots=robots, + referee=referee, + my_team_is_yellow=True, + my_team_is_right=True, + ball=_ball(2.25, 0.0), + ) + node = referee_actions.PreparePenaltyTheirsStep() + node.blackboard = _make_blackboard(game, _make_cmd_map(game)) + node.update() + + assert not referee_actions._is_in_own_defense_area(game, captured[1].x, captured[1].y) + + def test_prepare_penalty_ours_clears_teammate_from_opp_defense_area(self, monkeypatch): + # PreparePenaltyOursStep must clear teammates from opponent defense area + # (clear_opp_defense_area=True). + from utama_core.custom_referee import actions as referee_actions + + captured = {} + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured[robot_id] = target_coords + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + # Attacking right goal (+4.5). Opp defense area is at x >= 3.5. + # Robot 1 is kicker, robot 2 starts inside opp defense area at x=4.0, y=0.0 + robots = {0: _robot(0, -4.4, 0.0), 1: _robot(1, 1.0, 0.0), 2: _robot(2, 4.0, 0.0)} + referee = _make_referee_data(command=RefereeCommand.PREPARE_PENALTY_YELLOW) + referee.yellow_team.goalkeeper = 0 + game = _make_game( + friendly_robots=robots, + referee=referee, + my_team_is_yellow=True, + my_team_is_right=False, # attacks right + ball=_ball(2.25, 0.0), + ) + node = referee_actions.PreparePenaltyOursStep() + node.blackboard = _make_blackboard(game, _make_cmd_map(game)) + node.update() + + # Robot 2's commanded target must be clear of opp defense area (x <= 3.5 - keep_dist) + opp_inner_x = 4.5 - 2.0 * game.field.half_defense_area_depth + assert captured[2].x <= opp_inner_x - referee_actions.OPPONENT_DEFENSE_AREA_KEEP_DISTANCE + + +class TestReachableOnCircle: + def test_point_inside_circle_near_boundary_is_projected_onto_circle(self): + # A robot clamped to the pitch boundary by _clamp_to_field may end up + # inside the keep-out circle. _reachable_on_circle must not return the + # unprojected inside-the-circle point; it must return a point at radius + # distance from center that is inside the pitch boundaries. + from utama_core.custom_referee import actions as referee_actions + + game = _make_game(my_team_is_yellow=True, my_team_is_right=False) + center = Vector2D(1.79, 2.75) # ball near top sideline (y = 3.0) + radius = 0.80 + # Point clamped to sideline margin (y = 2.90), distance to center is ~0.68m (< 0.80m) + inside_point = Vector2D(2.45697, 2.90) + assert (inside_point - center).mag() < radius + + result = referee_actions._reachable_on_circle(game, inside_point, center, radius) + assert abs((result - center).mag() - radius) <= 1e-3 + assert referee_actions._clamp_to_field(result, game) == result + class TestVariableFieldScaling: def test_prepare_kickoff_ours_scales_support_positions_with_field_bounds(self, monkeypatch): @@ -1876,6 +2157,91 @@ def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dri node.update() assert captured_kicker_ids[-1] == 3 + def test_direct_free_ours_clears_non_kicker_from_opponent_defense_area(self, monkeypatch): + from utama_core.custom_referee import actions as referee_actions + + captured = [] + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured.append((robot_id, target_coords)) + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + # Robot 1 is kicker near ball at (1.0, 0.0); Robot 0 is inside opp defense area at (-4.3, 0.0) + robots = {0: _robot(0, -4.3, 0.0), 1: _robot(1, 1.2, 0.0)} + referee = _make_referee_data(command=RefereeCommand.DIRECT_FREE_YELLOW) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=robots, + enemy_robots={}, + ball=_ball(1.0, 0.0), + referee=referee, + ) + game = Game( + past=GameHistory(10), + current=frame, + field=Field( + my_team_is_right=True, + field_dims=STANDARD_FIELD_DIMS, + field_bounds=STANDARD_FIELD_DIMS.full_field_bounds, + ), + ) + cmd_map = _make_cmd_map(game) + node = referee_actions.DirectFreeOursStep() + node.blackboard = _make_blackboard(game, cmd_map) + + node.update() + + # Non-kicker robot 0 should be moved outside opponent defense area + r0_moves = [c for c in captured if c[0] == 0] + assert len(r0_moves) == 1 + assert r0_moves[0][1] == Vector2D(-3.25, 0.0) + + def test_direct_free_ours_clears_non_kicker_from_ball_keep_out(self, monkeypatch): + from utama_core.custom_referee import actions as referee_actions + + captured = [] + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured.append((robot_id, target_coords)) + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + # Ball at (1.0, 0.0). Robot 1 is kicker at (1.1, 0.0). Robot 0 is non-kicker at (1.3, 0.0) inside 0.8m keep-out. + robots = {0: _robot(0, 1.3, 0.0), 1: _robot(1, 1.1, 0.0)} + referee = _make_referee_data(command=RefereeCommand.DIRECT_FREE_YELLOW) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=robots, + enemy_robots={}, + ball=_ball(1.0, 0.0), + referee=referee, + ) + game = Game( + past=GameHistory(10), + current=frame, + field=Field( + my_team_is_right=True, + field_dims=STANDARD_FIELD_DIMS, + field_bounds=STANDARD_FIELD_DIMS.full_field_bounds, + ), + ) + cmd_map = _make_cmd_map(game) + node = referee_actions.DirectFreeOursStep() + node.blackboard = _make_blackboard(game, cmd_map) + + node.update() + + r0_moves = [c for c in captured if c[0] == 0] + assert len(r0_moves) == 1 + assert (r0_moves[0][1] - Vector2D(1.0, 0.0)).mag() == pytest.approx(0.8) + # --------------------------------------------------------------------------- # DirectFreeTheirsStep — comprehensive keep-out coverage @@ -1955,6 +2321,35 @@ def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dri assert len(captured) == 1 assert captured[0][1] == pytest.approx(Vector2D(0.8, 0.0)) + def test_robot_one_centimetre_short_of_keep_out_boundary_is_commanded_to_boundary(self, monkeypatch): + """A robot at 0.795 m (within 1 cm of the 0.8 m keep-out) must be commanded to 0.8 m. + + Before the fix, dx * dx + dy * dy < 1e-4 treated it as already at target and + issued empty_command(False), leaving it stranded at 0.795 m inside the keep-out. + """ + from utama_core.custom_referee import actions as referee_actions + + captured = [] + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured.append((robot_id, target_coords)) + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + # Robot at (0.795, 0.0), 5 mm inside the 0.80 m keep-out circle: + robots = {0: _robot(0, 0.795, 0.0)} + referee = _make_referee_data(command=RefereeCommand.DIRECT_FREE_BLUE) + game = _make_game(friendly_robots=robots, referee=referee) + cmd_map = _make_cmd_map(game) + node = referee_actions.DirectFreeTheirsStep() + node.blackboard = _make_blackboard(game, cmd_map) + + node.update() + + assert len(captured) == 1 + assert captured[0][1] == pytest.approx(Vector2D(0.8, 0.0)) + def test_robot_between_ball_and_opponent_box_clears_round_the_ball(self, monkeypatch): """A free kick 1 m in front of the opponent box (inner edge x = -3.5 here): straight out from the ball is (-3.3, 0), where the planner's box margin @@ -2019,6 +2414,34 @@ def test_all_robots_get_commands(self, monkeypatch): for v in cmd_map.values(): assert v is not None + def test_clear_to_legal_positions_touchline_clamping_preserves_keep_out(self, monkeypatch): + from utama_core.custom_referee import actions as referee_actions + + captured = [] + + def fake_move(game, motion_controller, robot_id, target_coords, target_oren, dribbling=False): + captured.append(target_coords) + return ("move", robot_id) + + monkeypatch.setattr(referee_actions, "move", fake_move) + + ball_pos = Vector2D(0.0, 2.9) + robots = {0: _robot(0, 0.0, 2.8)} + referee = _make_referee_data(command=RefereeCommand.DIRECT_FREE_BLUE) + game = _make_game(friendly_robots=robots, referee=referee, ball=_ball(ball_pos.x, ball_pos.y)) + cmd_map = _make_cmd_map(game) + node = referee_actions.DirectFreeTheirsStep() + node.blackboard = _make_blackboard(game, cmd_map) + + node.update() + + assert len(captured) == 1 + target = captured[0] + # Target must be on the field + assert referee_actions._clamp_to_field(target, game) == target + # Target must strictly satisfy keep-out distance + assert (target - ball_pos).mag() >= 0.8 - 1e-6 + class TestDetourAroundCircle: """`detour_around_circle`: robots crossing the ball's keep-out circle go round it.""" From c54bafc968769bc9df2ad170efa07c53acb120f8 Mon Sep 17 00:00:00 2001 From: isaac0804 Date: Sun, 18 Oct 2026 20:01:55 +0100 Subject: [PATCH 4/4] fix(tactics): add hysteresis and deadlock prevention to partitioners and tactics - pickers.py: add margin-based hysteresis to friendly_closer_to_ball to prevent rapid 60Hz role-swapping when robots are equidistant to the ball. - ClearBallTactic: expand activation thresholds (friendly distance 2.6m -> 3.0m, enemy distance 1.2m -> 1.5m) to prevent boundary flickering. - PressAndContainTactic: widen enemy distance threshold (1.4m -> 1.7m) and use Sticky[int] hysteresis for presser robot selection. - DecoyOverloadTactic: add stall/deadlock timeout when no friendly targets are reachable. - Engine/tactics: store all hysteresis state on tactic instances with reset_applicable() and module-level reset hooks for clean test isolation. - Add comprehensive regression tests in test_strategy, test_friendly_closer_to_ball, test_clear_ball_tactic, test_press_and_contain_tactic, and test_decoy_and_overload_tactic. --- conftest.py | 3 + utama_core/engine/strategy.py | 7 + utama_core/run/strategy_runner.py | 2 + utama_core/strategy/kernel_strategy.py | 1 + utama_core/strategy/pickers.py | 143 ++++++++++++++---- utama_core/strategy/press_and_pass.py | 7 +- utama_core/strategy/split_shape.py | 7 +- utama_core/tactics/clear_ball.py | 28 +++- utama_core/tactics/decoy_and_overload.py | 2 + utama_core/tactics/press_and_contain.py | 35 ++++- .../tests/engine/test_clear_ball_tactic.py | 118 +++++++++++++++ .../engine/test_decoy_and_overload_tactic.py | 50 ++++++ .../engine/test_press_and_contain_tactic.py | 79 +++++++++- utama_core/tests/engine/test_strategy.py | 30 +++- utama_core/tests/replay/test_fingerprint.py | 1 + .../strategy/test_friendly_closer_to_ball.py | 61 +++++++- 16 files changed, 521 insertions(+), 53 deletions(-) create mode 100644 utama_core/tests/engine/test_clear_ball_tactic.py diff --git a/conftest.py b/conftest.py index 9f9a7e6d..0f83608e 100644 --- a/conftest.py +++ b/conftest.py @@ -91,6 +91,9 @@ def _no_vision_stream(monkeypatch): each step and about 0.4 s to shut its HTTP server down. No test watches it, and it was a third of the suite's time.""" from utama_core.run.strategy_runner import StrategyRunner + from utama_core.strategy.pickers import reset_closer_to_ball_state + + reset_closer_to_ball_state() def _skip(self, http_port): # noqa: ARG001 self.vision_stream = None diff --git a/utama_core/engine/strategy.py b/utama_core/engine/strategy.py index 36d03615..81e61468 100644 --- a/utama_core/engine/strategy.py +++ b/utama_core/engine/strategy.py @@ -49,6 +49,7 @@ from utama_core.entities.data.command import RobotCommand from utama_core.entities.game import Game from utama_core.entities.referee.referee_command import RefereeCommand +from utama_core.strategy.pickers import reset_closer_to_ball_state from utama_core.tactics.goalkeeper import GoalkeeperTactic logger = logging.getLogger(__name__) @@ -74,6 +75,8 @@ RefereeCommand.PREPARE_PENALTY_BLUE, RefereeCommand.DIRECT_FREE_YELLOW, RefereeCommand.DIRECT_FREE_BLUE, + RefereeCommand.INDIRECT_FREE_YELLOW, + RefereeCommand.INDIRECT_FREE_BLUE, } ) @@ -720,8 +723,12 @@ def _validate_partition(self, partition: dict[TacticId, frozenset[RobotId]]) -> raise ValueError(f"picker assigned robot(s) {sorted(extra)} outside the outfield pool") def _barrier_reset(self, game: Game) -> None: + team_is_yellow = getattr(game, "my_team_is_yellow", None) + reset_closer_to_ball_state(team_is_yellow) pre_reset = {tid: slot.assigned_robots for tid, slot in self._slots.items() if slot.assigned_robots} for slot in self._slots.values(): + if hasattr(slot.tactic, "reset_applicable"): + slot.tactic.reset_applicable() slot.mem = None slot.assigned_robots = frozenset() slot.committed_ticks = 0 diff --git a/utama_core/run/strategy_runner.py b/utama_core/run/strategy_runner.py index 211a0167..16e46539 100644 --- a/utama_core/run/strategy_runner.py +++ b/utama_core/run/strategy_runner.py @@ -68,6 +68,7 @@ from utama_core.run.vision_stream_status import VisionStreamStatusMixin from utama_core.shared.pass_and_score_geometry import reset_possession_state from utama_core.skills.src.shielding import reset_shield_state +from utama_core.strategy.pickers import reset_closer_to_ball_state from utama_core.team_controller.src.controllers import ( AbstractSimController, GRSimController, @@ -400,6 +401,7 @@ def __init__( # a worker process plays many matches: no robot starts one holding or committed reset_possession_state() reset_shield_state() + reset_closer_to_ball_state() self.referee_initial_command = referee_initial_command self._load_robot_controllers() diff --git a/utama_core/strategy/kernel_strategy.py b/utama_core/strategy/kernel_strategy.py index 63881430..4ad83506 100644 --- a/utama_core/strategy/kernel_strategy.py +++ b/utama_core/strategy/kernel_strategy.py @@ -42,6 +42,7 @@ carrier_first, fixed_ratio_picker, friendly_closer_to_ball, + reset_closer_to_ball_state, ) from utama_core.strategy.press_and_pass import build_press_and_pass_kernel_strategy from utama_core.strategy.press_trigger_flow import ( diff --git a/utama_core/strategy/pickers.py b/utama_core/strategy/pickers.py index f7b5c485..c4bca5b2 100644 --- a/utama_core/strategy/pickers.py +++ b/utama_core/strategy/pickers.py @@ -73,6 +73,8 @@ def _partitioner( # --------------------------------------------------------------------------- +from dataclasses import dataclass + # Deadzone for `friendly_closer_to_ball`'s distance comparison. Root-caused # 2026-08-23: at a genuine tie (mirror-symmetric formations, ball equidistant # — the normal case at kickoff, and possible any time both teams race a loose @@ -89,44 +91,133 @@ def _partitioner( # resolves by real distance, not by which one the deadzone happens to favour. CLOSER_TO_BALL_MARGIN = 0.05 # metres +# Hysteresis parameters to prevent tactic thrashing / flip-backs during contested +# scrambles or passes in flight. +_POSSESSION_HYSTERESIS_TICKS = 15 # ticks (~0.25 s at 60 Hz) before transient distance flips drop possession +_POSSESSION_BREAK_MARGIN = 0.8 # metres — large gap triggers immediate turnover + + +@dataclass +class _CloserToBallState: + state: Optional[bool] = None + pending_state: Optional[bool] = None + pending_ticks: int = 0 + + +_CLOSER_TO_BALL_STATE: dict[bool, _CloserToBallState] = {} + + +def reset_closer_to_ball_state(team_is_yellow: Optional[bool] = None) -> None: + """Clear closer-to-ball hysteresis state across matches or tests.""" + if team_is_yellow is None: + _CLOSER_TO_BALL_STATE.clear() + else: + _CLOSER_TO_BALL_STATE.pop(team_is_yellow, None) + def friendly_closer_to_ball(game: Game) -> Optional[bool]: """True if a friendly robot is closer to the ball than every enemy by more - than `CLOSER_TO_BALL_MARGIN`; False if an enemy is closer by more than - that margin; None when the gap is inside the margin (undecided). - - Inside the margin is a genuine near-tie, so the pickers that keep - hysteresis (`prev_partition`: "did we hold attack last tick") read None as - "keep what you had", while those without it read `is not True` as "not - clearly ours", the conservative default. Returning False for a near-tie - (as this once did) made the sticky pickers drop the ball on a noise-level - gap, which is exactly what their hysteresis exists to prevent. - - None too when the proximity lookup cannot read the ball's side (ball - missing or no robots on one side) — callers should fall back to the - conservative posture in that case. + than `CLOSER_TO_BALL_MARGIN` (or held via hysteresis); False if an enemy is closer; + None when the gap is inside the margin without prior possession (undecided). + + Includes temporal hysteresis: momentary distance flickers (under + `_POSSESSION_HYSTERESIS_TICKS` ticks = ~0.25 s) during passes or contested loose + balls preserve the current possession state unless physical contact occurs or + the ball is cleared past `_POSSESSION_BREAK_MARGIN`. """ - # A ball on our dribbler is ours however close an enemy presses — the - # distance read alone flipped a held ball to "theirs" whenever an enemy - # brushed within the margin, handing the carrier to the press slot and - # resetting its attack tactic (counter_flow_vs_high_line_zone, 2026-09-27). - if any(r.has_ball for r in game.friendly_robots.values()) and not any( - r.has_ball for r in game.enemy_robots.values() - ): + team_key = getattr(game, "my_team_is_yellow", True) + slot = _CLOSER_TO_BALL_STATE.get(team_key) + if slot is None: + slot = _CloserToBallState() + _CLOSER_TO_BALL_STATE[team_key] = slot + + friendly_robots = getattr(game, "friendly_robots", {}) + enemy_robots = getattr(game, "enemy_robots", {}) + friendly_has = any(r.has_ball for r in friendly_robots.values()) + enemy_has = any(r.has_ball for r in enemy_robots.values()) + + # Dribbler contact overrides distance immediately. + if friendly_has and not enemy_has: + slot.state = True + slot.pending_state = None + slot.pending_ticks = 0 return True + if enemy_has and not friendly_has: + slot.state = False + slot.pending_state = None + slot.pending_ticks = 0 + return False + if friendly_has and enemy_has: + slot.state = None + slot.pending_state = None + slot.pending_ticks = 0 + return None + _friendly_closest, friendly_dist = game.proximity_lookup.closest_to_ball(team_type_filter=TeamType.FRIENDLY) _enemy_closest, enemy_dist = game.proximity_lookup.closest_to_ball(team_type_filter=TeamType.ENEMY) if friendly_dist is None or enemy_dist is None: return None - # Return literal True/False, never the comparison itself: the proximity - # lookup returns numpy floats, so a raw comparison is np.bool_, whose - # `is True` is False — a caller checking `edge is True` would read it as - # "unknown/losing" forever. + if friendly_dist < enemy_dist - CLOSER_TO_BALL_MARGIN: + raw_state = True + elif friendly_dist > enemy_dist + CLOSER_TO_BALL_MARGIN: + raw_state = False + else: + raw_state = None + + diff = friendly_dist - enemy_dist + + if slot.state is None: + slot.state = raw_state + slot.pending_state = None + slot.pending_ticks = 0 + return slot.state + + if slot.state is True: + if raw_state is True or raw_state is None: + slot.pending_state = None + slot.pending_ticks = 0 + return True + # raw_state is False + if diff > _POSSESSION_BREAK_MARGIN: + slot.state = False + slot.pending_state = None + slot.pending_ticks = 0 + return False + if slot.pending_state is False: + slot.pending_ticks += 1 + if slot.pending_ticks >= _POSSESSION_HYSTERESIS_TICKS: + slot.state = False + slot.pending_state = None + slot.pending_ticks = 0 + return False + else: + slot.pending_state = False + slot.pending_ticks = 1 return True - if friendly_dist > enemy_dist + CLOSER_TO_BALL_MARGIN: + + else: # slot.state is False + if raw_state is False or raw_state is None: + slot.pending_state = None + slot.pending_ticks = 0 + return False + # raw_state is True + if diff < -_POSSESSION_BREAK_MARGIN: + slot.state = True + slot.pending_state = None + slot.pending_ticks = 0 + return True + if slot.pending_state is True: + slot.pending_ticks += 1 + if slot.pending_ticks >= _POSSESSION_HYSTERESIS_TICKS: + slot.state = True + slot.pending_state = None + slot.pending_ticks = 0 + return True + else: + slot.pending_state = True + slot.pending_ticks = 1 return False - return None def ball_zone(game: Game) -> str: diff --git a/utama_core/strategy/press_and_pass.py b/utama_core/strategy/press_and_pass.py index bdff9b18..6d45d7b0 100644 --- a/utama_core/strategy/press_and_pass.py +++ b/utama_core/strategy/press_and_pass.py @@ -7,10 +7,9 @@ from utama_core.engine.context import TickContext from utama_core.engine.strategy import Strategy as KernelSchedulerStrategy from utama_core.engine.tactic import RobotId -from utama_core.entities.data.object import TeamType from utama_core.entities.game import Game from utama_core.motion_planning.src.common.motion_controller import MotionController -from utama_core.strategy.pickers import carrier_first +from utama_core.strategy.pickers import carrier_first, friendly_closer_to_ball from utama_core.tactics.give_and_go import GiveAndGoTactic from utama_core.tactics.press_and_contain import PressAndContainTactic @@ -39,9 +38,7 @@ def _press_and_pass_split_picker( if "defense" not in available_tactic_ids: return {"attack": frozenset(ordered)} if "attack" in available_tactic_ids else {} - _friendly_closest, friendly_dist = game.proximity_lookup.closest_to_ball(team_type_filter=TeamType.FRIENDLY) - _enemy_closest, enemy_dist = game.proximity_lookup.closest_to_ball(team_type_filter=TeamType.ENEMY) - friendly_has_ball_edge = friendly_dist < enemy_dist + friendly_has_ball_edge = friendly_closer_to_ball(game) is True if "attack" not in available_tactic_ids: return {"defense": frozenset(ordered)} diff --git a/utama_core/strategy/split_shape.py b/utama_core/strategy/split_shape.py index 8e510fc2..37f0548b 100644 --- a/utama_core/strategy/split_shape.py +++ b/utama_core/strategy/split_shape.py @@ -7,10 +7,9 @@ from utama_core.engine.context import TickContext from utama_core.engine.strategy import Strategy as KernelSchedulerStrategy from utama_core.engine.tactic import RobotId -from utama_core.entities.data.object import TeamType from utama_core.entities.game import Game from utama_core.motion_planning.src.common.motion_controller import MotionController -from utama_core.strategy.pickers import carrier_first +from utama_core.strategy.pickers import carrier_first, friendly_closer_to_ball from utama_core.tactics.lead_and_support import LeadAndSupportTactic from utama_core.tactics.shadow_and_mark import ShadowAndMarkTactic @@ -44,9 +43,7 @@ def _possession_split_picker( if not ordered: return {} - _friendly_closest, friendly_dist = game.proximity_lookup.closest_to_ball(team_type_filter=TeamType.FRIENDLY) - _enemy_closest, enemy_dist = game.proximity_lookup.closest_to_ball(team_type_filter=TeamType.ENEMY) - friendly_has_ball_edge = friendly_dist < enemy_dist + friendly_has_ball_edge = friendly_closer_to_ball(game) is True if "attack" not in available_tactic_ids: return {"defense": frozenset(ordered)} if "defense" in available_tactic_ids else {} diff --git a/utama_core/tactics/clear_ball.py b/utama_core/tactics/clear_ball.py index 34a414db..012d2e74 100644 --- a/utama_core/tactics/clear_ball.py +++ b/utama_core/tactics/clear_ball.py @@ -65,10 +65,12 @@ # (2*half_length/3 ≈ 3.0 m): the last metre of buildup in front of the box is # normal possession play, not yet an emergency. _DANGER_DEPTH = 2.6 +_DANGER_EXIT_DEPTH = 3.0 # An enemy within this range of the ball makes the danger "contested" — without # this gate the tactic would fire on every harmless back-pass to a free keeper # situation even with no opponent anywhere near. _PRESSURE_RANGE = 1.2 +_PRESSURE_EXIT_RANGE = 1.5 # Clearance-lane openness beyond 1.0 m is all equally "clear"; capping keeps a # fully-open lane from dominating the score via raw distance. _LANE_OPENNESS_CAP = 1.0 @@ -103,14 +105,23 @@ def _nearest_enemy_distance_to_ball(game: Game) -> Optional[float]: return best -def in_danger(game: Game) -> bool: - """The tactic's danger read: ball deep in our own third, contested by an enemy.""" +def in_danger(game: Game, was_in_danger: bool = False) -> bool: + """The tactic's danger read: ball deep in our own third, contested by an enemy. + + Includes spatial hysteresis on pressure range (enter <= 1.2 m, exit > 1.5 m) + and danger depth (enter <= 2.6 m, exit > 3.0 m) to prevent tactic flip-backs + when an opponent hovers around the contest boundary. + """ if game.ball is None: return False - if _progress_from_own_goal(game, game.ball.p.to_2d().x) > _DANGER_DEPTH: + + depth_limit = _DANGER_EXIT_DEPTH if was_in_danger else _DANGER_DEPTH + pressure_limit = _PRESSURE_EXIT_RANGE if was_in_danger else _PRESSURE_RANGE + + if _progress_from_own_goal(game, game.ball.p.to_2d().x) > depth_limit: return False enemy_dist = _nearest_enemy_distance_to_ball(game) - return enemy_dist is not None and enemy_dist <= _PRESSURE_RANGE + return enemy_dist is not None and enemy_dist <= pressure_limit def _clearance_candidates(game: Game, ball_p: Vector2D) -> list[Vector2D]: @@ -161,11 +172,18 @@ class ClearBallTactic(BaseTactic[ClearBallMem]): tag = TacticTag.DEFENSE + def __init__(self) -> None: + self._was_in_danger: bool = False + + def reset_applicable(self) -> None: + self._was_in_danger = False + def initial_mem(self) -> ClearBallMem: return ClearBallMem() def applicable(self, game: Game) -> bool: - return in_danger(game) + self._was_in_danger = in_danger(game, was_in_danger=self._was_in_danger) + return self._was_in_danger def highlights(self, mem: ClearBallMem) -> dict[RobotId, str]: return {mem.clearer_id: "clearer"} if mem.clearer_id is not None else {} diff --git a/utama_core/tactics/decoy_and_overload.py b/utama_core/tactics/decoy_and_overload.py index 69a3b9a5..54c84373 100644 --- a/utama_core/tactics/decoy_and_overload.py +++ b/utama_core/tactics/decoy_and_overload.py @@ -429,6 +429,8 @@ def tick( carried_enough = carry_exhausted(game, mem.carry_origin, stops_after=True) if (dragged or carried_enough or mem.lure_ticks >= _LURE_MAX_TICKS) and has_ball(game, mem.decoy_id): mem.phase = "finish" + elif mem.lure_ticks > _LURE_MAX_TICKS * 2 and not has_ball(game, mem.decoy_id): + return {}, DecoyOverloadMem() return commands, mem diff --git a/utama_core/tactics/press_and_contain.py b/utama_core/tactics/press_and_contain.py index c30eeed3..ed6fd5a9 100644 --- a/utama_core/tactics/press_and_contain.py +++ b/utama_core/tactics/press_and_contain.py @@ -36,13 +36,17 @@ has_ball, own_defense_area_exit_point, ) +from utama_core.shared.tolerance import Sticky from utama_core.skills.src.block import block_attacker from utama_core.skills.src.go_to_ball import go_to_ball from utama_core.skills.src.go_to_point import go_to_point from utama_core.skills.src.kick_upfield import kick_upfield from utama_core.skills.src.man_mark import man_mark -_PRESS_RANGE = 1.5 # metres — ball must be within this of an enemy for pressing to be applicable +_PRESS_ENTER_RANGE = 1.4 # metres — ball must be within this of an enemy to start pressing +_PRESS_EXIT_RANGE = 1.7 # metres — enemy must clear past this to release pressing +_PRESS_RANGE = 1.5 # metres — nominal midpoint kept for backward compatibility + # Hysteresis for the loose-ball/contested classification in `tick()` — a # plain per-tick re-read of `game.robot_with_ball is None` flickers almost @@ -110,12 +114,23 @@ class PressAndContainTactic(BaseTactic[PressAndContainMem]): tag = TacticTag.DEFENSE + def __init__(self) -> None: + self._was_applicable: bool = False + + def reset_applicable(self) -> None: + self._was_applicable = False + def initial_mem(self) -> PressAndContainMem: return PressAndContainMem() - def applicable(self, game: Game) -> bool: + def applicable(self, game: Game, current_applicable: Optional[bool] = None) -> bool: + was_applicable = self._was_applicable if current_applicable is None else current_applicable + threshold = _PRESS_EXIT_RANGE if was_applicable else _PRESS_ENTER_RANGE _enemy_id, distance = _enemy_nearest_ball(game) - return distance is not None and distance <= _PRESS_RANGE + is_app = distance is not None and distance <= threshold + if current_applicable is None: + self._was_applicable = is_app + return is_app def highlights(self, mem: PressAndContainMem) -> dict[RobotId, str]: highlights: dict[RobotId, str] = {rid: "marker" for rid in mem.marks} @@ -154,11 +169,15 @@ def tick( # close, so nothing else took over — and the enemy took it straight back # (65 of 309 PressAndContain losses in the 2026-09-24 round-robin). ball_winner = next((rid for rid in robot_ids if has_ball(game, rid)), None) - presser_id = ( - ball_winner - if ball_winner is not None - else min(robot_ids, key=lambda rid: game.friendly_robots[rid].p.distance_to(pressed_enemy.p)) - ) + if ball_winner is not None: + presser_id = ball_winner + else: + prev_presser = mem.presser_id if mem.presser_id in robot_ids else None + sticky = Sticky[int](margin=0.2, current=prev_presser) + presser_id = sticky.update( + list(robot_ids), + score_fn=lambda rid: -game.friendly_robots[rid].p.distance_to(pressed_enemy.p), + ) marker_ids = tuple(rid for rid in robot_ids if rid != presser_id) mem.presser_id = presser_id diff --git a/utama_core/tests/engine/test_clear_ball_tactic.py b/utama_core/tests/engine/test_clear_ball_tactic.py new file mode 100644 index 00000000..9030bc54 --- /dev/null +++ b/utama_core/tests/engine/test_clear_ball_tactic.py @@ -0,0 +1,118 @@ +"""Unit tests for ClearBallTactic and in_danger hysteresis.""" + +from __future__ import annotations + +import math + +from utama_core.config.field_params import STANDARD_FIELD_DIMS +from utama_core.entities.data.vector import Vector2D, Vector3D +from utama_core.entities.game import Field, Game, GameHistory +from utama_core.entities.game.ball import Ball +from utama_core.entities.game.game_frame import GameFrame +from utama_core.entities.game.robot import Robot +from utama_core.tactics.clear_ball import ClearBallTactic, in_danger + + +def _robot(rid: int, x: float, y: float, is_friendly: bool, has_ball: bool = False, orientation: float = 0.0): + return Robot( + id=rid, + is_friendly=is_friendly, + has_ball=has_ball, + p=Vector2D(x, y), + v=Vector2D(0, 0), + a=Vector2D(0, 0), + orientation=orientation, + ) + + +def _game(ball_x: float, ball_y: float, enemy_x: float, enemy_y: float) -> Game: + # Field has half_length = 4.5. + # my_team_is_right=True: our goal line is at x = +4.5. + # ball at ball_x, distance from own goal line is 4.5 - ball_x. + friendly = { + 0: _robot(0, 4.0, 0.0, True), + 1: _robot(1, 3.5, 0.0, True), + } + enemy = { + 5: _robot(5, enemy_x, enemy_y, False), + } + zero = Vector3D(0.0, 0.0, 0.0) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=friendly, + enemy_robots=enemy, + ball=Ball(p=Vector3D(ball_x, ball_y, 0.0), v=zero, a=zero), + ) + field = Field( + my_team_is_right=True, field_dims=STANDARD_FIELD_DIMS, field_bounds=STANDARD_FIELD_DIMS.full_field_bounds + ) + return Game(past=GameHistory(max_history=20), current=frame, field=field) + + +def test_in_danger_pressure_hysteresis(): + tactic = ClearBallTactic() + # Field half_length = 4.5. Own goal is x=4.5. + # Ball at x=3.0 -> depth from own goal is 1.5 m (< 2.6 m danger depth). + # 1) Enemy at distance 1.35 m (between 1.2 m enter and 1.5 m exit). + # State was False -> should remain False. + game = _game(ball_x=3.0, ball_y=0.0, enemy_x=3.0, enemy_y=1.35) + assert not tactic.applicable(game) + + # 2) Enemy moves closer to 1.1 m (<= 1.2 m enter threshold). + # Enters danger! + game = _game(ball_x=3.0, ball_y=0.0, enemy_x=3.0, enemy_y=1.1) + assert tactic.applicable(game) + + # 3) Enemy retreats back to 1.35 m (> 1.2 m but <= 1.5 m exit threshold). + # Due to hysteresis, remains True! + game = _game(ball_x=3.0, ball_y=0.0, enemy_x=3.0, enemy_y=1.35) + assert tactic.applicable(game) + + # 4) Enemy retreats to 1.6 m (> 1.5 m exit threshold). + # Exits danger! + game = _game(ball_x=3.0, ball_y=0.0, enemy_x=3.0, enemy_y=1.6) + assert not tactic.applicable(game) + + +def test_in_danger_depth_hysteresis(): + tactic = ClearBallTactic() + # Enemy is always at distance 0.5 m from ball (<= 1.2 m). + # Own goal is at x=4.5. + # Enter depth: <= 2.6 m (ball_x >= 4.5 - 2.6 = 1.9 m) + # Exit depth: > 3.0 m (ball_x < 4.5 - 3.0 = 1.5 m) + + # 1) Ball at x=1.7 m (depth = 2.8 m: between 2.6 m enter and 3.0 m exit). + # Initial state False -> remains False. + game = _game(ball_x=1.7, ball_y=0.0, enemy_x=1.7, enemy_y=0.5) + assert not tactic.applicable(game) + + # 2) Ball moves deeper to x=2.0 m (depth = 2.5 m <= 2.6 m). + # Enters danger! + game = _game(ball_x=2.0, ball_y=0.0, enemy_x=2.0, enemy_y=0.5) + assert tactic.applicable(game) + + # 3) Ball clears slightly to x=1.7 m (depth = 2.8 m <= 3.0 m). + # Remains in danger! + game = _game(ball_x=1.7, ball_y=0.0, enemy_x=1.7, enemy_y=0.5) + assert tactic.applicable(game) + + # 4) Ball clears past exit depth to x=1.4 m (depth = 3.1 m > 3.0 m). + # Exits danger! + game = _game(ball_x=1.4, ball_y=0.0, enemy_x=1.4, enemy_y=0.5) + assert not tactic.applicable(game) + + +def test_clear_ball_tactic_applicable_and_reset(): + tactic = ClearBallTactic() + game = _game(ball_x=3.0, ball_y=0.0, enemy_x=3.0, enemy_y=1.1) + assert tactic.applicable(game) + + # Ball moves to middle (1.35 m enemy distance): hysteresis keeps it applicable + game2 = _game(ball_x=3.0, ball_y=0.0, enemy_x=3.0, enemy_y=1.35) + assert tactic.applicable(game2) + + # Reset clears the state + tactic.reset_applicable() + assert not tactic.applicable(game2) diff --git a/utama_core/tests/engine/test_decoy_and_overload_tactic.py b/utama_core/tests/engine/test_decoy_and_overload_tactic.py index 62a1958c..33802b18 100644 --- a/utama_core/tests/engine/test_decoy_and_overload_tactic.py +++ b/utama_core/tests/engine/test_decoy_and_overload_tactic.py @@ -290,3 +290,53 @@ def test_tactic_releases_its_robots_once_the_enemy_has_held_the_ball_1s(held_tic for _ in range(held_ticks): _commands, mem = tactic.tick(game, ctx, (1, 3), mem) assert tactic.is_committed(game, mem) is not released + + +def test_lure_phase_deadlock_times_out_when_decoy_lacks_ball(): + """When lure phase exceeds _LURE_MAX_TICKS * 2 and the decoy does not have the ball, + it must time out and return an empty command dict and reset memory, releasing commitment.""" + friendly = {1: _robot(1, 0.0, 0.0, True, has_ball=False), 3: _robot(3, -1.5, 1.5, True, has_ball=False)} + zv = Vector3D(0, 0, 0) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=friendly, + enemy_robots={}, + ball=Ball(p=Vector3D(2.0, 0.0, 0.0), v=zv, a=zv), + ) + field = Field( + my_team_is_right=True, field_dims=STANDARD_FIELD_DIMS, field_bounds=STANDARD_FIELD_DIMS.full_field_bounds + ) + game = Game(past=GameHistory(max_history=20), current=frame, field=field) + tactic = DecoyOverloadTactic() + ctx = TickContext(motion_controller=_NullMotionController()) + + # 1) Below 2x max ticks: does not time out yet + mem = DecoyOverloadMem( + decoy_id=1, + overloader_id=3, + marker_id=None, + marker_start_y=0.0, + phase="lure", + lure_ticks=_LURE_MAX_TICKS * 2 - 1, + ) + _commands, new_mem = tactic.tick(game, ctx, (1, 3), mem) + assert new_mem.phase == "lure" + assert tactic.is_committed(game, new_mem) is True + + # 2) At 2x max ticks: this tick increments lure_ticks to _LURE_MAX_TICKS * 2 + 1 (> 2 * _LURE_MAX_TICKS) + # Since decoy does not have ball, it times out and resets! + mem_at_limit = DecoyOverloadMem( + decoy_id=1, + overloader_id=3, + marker_id=None, + marker_start_y=0.0, + phase="lure", + lure_ticks=_LURE_MAX_TICKS * 2, + ) + commands, reset_mem = tactic.tick(game, ctx, (1, 3), mem_at_limit) + assert commands == {} + assert reset_mem.decoy_id is None + assert reset_mem.lure_ticks == 0 + assert tactic.is_committed(game, reset_mem) is False diff --git a/utama_core/tests/engine/test_press_and_contain_tactic.py b/utama_core/tests/engine/test_press_and_contain_tactic.py index edcfc7cd..1d5b7012 100644 --- a/utama_core/tests/engine/test_press_and_contain_tactic.py +++ b/utama_core/tests/engine/test_press_and_contain_tactic.py @@ -19,7 +19,10 @@ from utama_core.entities.game.game_frame import GameFrame from utama_core.entities.game.robot import Robot from utama_core.motion_planning.src.common.motion_controller import MotionController -from utama_core.tactics.press_and_contain import PressAndContainTactic +from utama_core.tactics.press_and_contain import ( + PressAndContainMem, + PressAndContainTactic, +) class _NullMotionController(MotionController): @@ -87,3 +90,77 @@ def test_without_the_ball_the_presser_still_presses(): tactic.initial_mem(), ) assert commands[2].kick == 0 + + +def test_press_and_contain_applicable_hysteresis(): + tactic = PressAndContainTactic() + + # Enter threshold: 1.4 m, Exit threshold: 1.7 m + # Ball at (0, 0). + def _game_with_enemy_dist(dist: float) -> Game: + friendly = {2: _robot(2, 1.0, 1.0, True), 3: _robot(3, 2.0, 2.0, True)} + enemy = {7: _robot(7, dist, 0.0, False)} + zero = Vector3D(0.0, 0.0, 0.0) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=friendly, + enemy_robots=enemy, + ball=Ball(p=zero, v=zero, a=zero), + ) + field = Field( + my_team_is_right=True, field_dims=STANDARD_FIELD_DIMS, field_bounds=STANDARD_FIELD_DIMS.full_field_bounds + ) + return Game(past=GameHistory(max_history=20), current=frame, field=field) + + # 1) Enemy at distance 1.55 m (between 1.4 m and 1.7 m). Initial is False -> False. + assert not tactic.applicable(_game_with_enemy_dist(1.55)) + + # 2) Enemy moves to 1.3 m (<= 1.4 m). Enters -> True. + assert tactic.applicable(_game_with_enemy_dist(1.3)) + + # 3) Enemy moves back to 1.55 m (> 1.4 m, <= 1.7 m). Remains -> True. + assert tactic.applicable(_game_with_enemy_dist(1.55)) + + # 4) Enemy moves to 1.75 m (> 1.7 m). Exits -> False. + assert not tactic.applicable(_game_with_enemy_dist(1.75)) + + # 5) Reset clears state. + tactic.applicable(_game_with_enemy_dist(1.3)) # now True + tactic.reset_applicable() + assert not tactic.applicable(_game_with_enemy_dist(1.55)) # reset back to False + + +def test_presser_sticky_margin(): + tactic = PressAndContainTactic() + ctx = TickContext(motion_controller=_NullMotionController()) + + # Ball at (0, 0), enemy at (0.5, 0.0). + # Friendly robot 2 at (1.5, 0.0) -> distance to enemy = 1.0 m. + # Friendly robot 3 at (1.4, 0.0) -> distance to enemy = 0.9 m (0.1 m closer, < 0.2 m margin). + def _game_with_positions(r2_x: float, r3_x: float) -> Game: + friendly = {2: _robot(2, r2_x, 0.0, True), 3: _robot(3, r3_x, 0.0, True)} + enemy = {7: _robot(7, 0.5, 0.0, False)} + zero = Vector3D(0.0, 0.0, 0.0) + frame = GameFrame( + ts=0.0, + my_team_is_yellow=True, + my_team_is_right=True, + friendly_robots=friendly, + enemy_robots=enemy, + ball=Ball(p=zero, v=zero, a=zero), + ) + field = Field( + my_team_is_right=True, field_dims=STANDARD_FIELD_DIMS, field_bounds=STANDARD_FIELD_DIMS.full_field_bounds + ) + return Game(past=GameHistory(max_history=20), current=frame, field=field) + + mem = PressAndContainMem(presser_id=2) + # Robot 3 is 0.1 m closer (< 0.2 m margin) -> robot 2 remains presser! + _, new_mem = tactic.tick(_game_with_positions(1.5, 1.4), ctx, (2, 3), mem) + assert new_mem.presser_id == 2 + + # Robot 3 moves to (1.2, 0.0) -> distance 0.7 m (0.3 m closer, > 0.2 m margin) -> switches to 3! + _, new_mem2 = tactic.tick(_game_with_positions(1.5, 1.2), ctx, (2, 3), mem) + assert new_mem2.presser_id == 3 diff --git a/utama_core/tests/engine/test_strategy.py b/utama_core/tests/engine/test_strategy.py index 5083818f..d9fc98cc 100644 --- a/utama_core/tests/engine/test_strategy.py +++ b/utama_core/tests/engine/test_strategy.py @@ -858,6 +858,7 @@ def _held_restart_strategy(): ctx=_ctx(), referee_overrides={ RefereeCommand.DIRECT_FREE_BLUE: lambda game, mc: {1: "keep-out", 2: "keep-out"}, + RefereeCommand.INDIRECT_FREE_BLUE: lambda game, mc: {1: "keep-out", 2: "keep-out"}, RefereeCommand.PREPARE_KICKOFF_BLUE: lambda game, mc: {1: "own-half", 2: "own-half"}, RefereeCommand.DIRECT_FREE_YELLOW: lambda game, mc: {1: "kicker", 2: "wait"}, }, @@ -866,7 +867,12 @@ def _held_restart_strategy(): @pytest.mark.parametrize( - "restart, held", [(RefereeCommand.DIRECT_FREE_BLUE, "keep-out"), (RefereeCommand.PREPARE_KICKOFF_BLUE, "own-half")] + "restart, held", + [ + (RefereeCommand.DIRECT_FREE_BLUE, "keep-out"), + (RefereeCommand.INDIRECT_FREE_BLUE, "keep-out"), + (RefereeCommand.PREPARE_KICKOFF_BLUE, "own-half"), + ], ) def test_their_restart_positioning_holds_after_normal_start_until_the_ball_is_in_play(restart, held): # decoy_and_overload_vs_tiki_taka / _vs_give_and_go_solo (2026-09-28): the @@ -887,3 +893,25 @@ def test_our_own_restart_hands_over_at_normal_start(): strategy, _ = _held_restart_strategy() strategy.tick(_RestartGame(RefereeCommand.DIRECT_FREE_YELLOW)) assert strategy.tick(_RestartGame(RefereeCommand.NORMAL_START)) == {1: "cmd-1", 2: "cmd-2"} + + +def test_barrier_reset_clears_closer_to_ball_hysteresis_state(): + from utama_core.strategy.pickers import _CLOSER_TO_BALL_STATE, _CloserToBallState + + _CLOSER_TO_BALL_STATE[True] = _CloserToBallState(state=True, pending_state=False, pending_ticks=10) + tactic = RecordingTactic() + strategy = Strategy( + tactics={"a": tactic}, + partitioner=Strategy.single_tactic_picker(lambda game, active: "a"), + outfield_robot_ids=(1, 2), + ctx=_ctx(), + ) + game1 = _FakeGame(RefereeCommand.NORMAL_START) + game1.my_team_is_yellow = True + strategy.tick(game1) + + game2 = _FakeGame(RefereeCommand.GOAL_YELLOW) + game2.my_team_is_yellow = True + strategy.tick(game2) + + assert True not in _CLOSER_TO_BALL_STATE diff --git a/utama_core/tests/replay/test_fingerprint.py b/utama_core/tests/replay/test_fingerprint.py index cf2964df..1dfb3d50 100644 --- a/utama_core/tests/replay/test_fingerprint.py +++ b/utama_core/tests/replay/test_fingerprint.py @@ -401,6 +401,7 @@ def test_the_base_holds_the_sim_script_and_referee_profiles(graph): "utama_core.rsoccer_simulator.src.Simulators.robosim.robosim_wrapper", "utama_core.shared.pass_and_score_geometry", "utama_core.skills.src.shielding", + "utama_core.strategy.pickers", ], "opens files": [ "utama_core.custom_referee.profiles.profile_loader", diff --git a/utama_core/tests/strategy/test_friendly_closer_to_ball.py b/utama_core/tests/strategy/test_friendly_closer_to_ball.py index 62425fc6..834e3bef 100644 --- a/utama_core/tests/strategy/test_friendly_closer_to_ball.py +++ b/utama_core/tests/strategy/test_friendly_closer_to_ball.py @@ -1,10 +1,22 @@ from types import SimpleNamespace +import pytest + from utama_core.entities.data.object import TeamType -from utama_core.strategy.kernel_strategy import friendly_closer_to_ball +from utama_core.strategy.kernel_strategy import ( + friendly_closer_to_ball, + reset_closer_to_ball_state, +) + +@pytest.fixture(autouse=True) +def _reset_state(): + reset_closer_to_ball_state() + yield + reset_closer_to_ball_state() -def _game(friendly_dist, enemy_dist, friendly_has_ball, enemy_has_ball=False): + +def _game(friendly_dist, enemy_dist, friendly_has_ball=False, enemy_has_ball=False): distances = {TeamType.FRIENDLY: (3, friendly_dist), TeamType.ENEMY: (2, enemy_dist)} return SimpleNamespace( proximity_lookup=SimpleNamespace(closest_to_ball=lambda team_type_filter: distances[team_type_filter]), @@ -23,6 +35,7 @@ def test_a_ball_on_our_dribbler_is_ours_while_an_enemy_brushes_past(): def test_a_contested_ball_still_falls_back_to_distance(): # Enemy clearly nearer (gap 0.381 m, well outside the 5 cm margin). assert friendly_closer_to_ball(_game(0.5, 0.119, friendly_has_ball=False)) is False + reset_closer_to_ball_state() assert friendly_closer_to_ball(_game(0.119, 0.5, friendly_has_ball=False)) is True @@ -31,13 +44,57 @@ def test_a_near_tie_inside_the_margin_is_undecided_not_lost(): # the sticky pickers (`edge is False` to give up possession) must keep their # previous state. This used to return False and drop the ball on noise. assert friendly_closer_to_ball(_game(0.119, 0.161, friendly_has_ball=True, enemy_has_ball=True)) is None + reset_closer_to_ball_state() assert friendly_closer_to_ball(_game(0.161, 0.119, friendly_has_ball=False)) is None + reset_closer_to_ball_state() assert friendly_closer_to_ball(_game(0.30, 0.30, friendly_has_ball=False)) is None def test_margin_boundary_is_exclusive_on_both_sides(): # Just inside the margin is undecided; just past it decides. assert friendly_closer_to_ball(_game(0.10, 0.1499, friendly_has_ball=False)) is None + reset_closer_to_ball_state() assert friendly_closer_to_ball(_game(0.1499, 0.10, friendly_has_ball=False)) is None + reset_closer_to_ball_state() assert friendly_closer_to_ball(_game(0.10, 0.1501, friendly_has_ball=False)) is True + reset_closer_to_ball_state() assert friendly_closer_to_ball(_game(0.1501, 0.10, friendly_has_ball=False)) is False + + +def test_possession_hysteresis_holds_through_transient_distance_flicker(): + # Friendly acquires possession clearly + assert friendly_closer_to_ball(_game(0.1, 0.4)) is True + + # Enemy gets closer for 14 ticks (< 15 ticks / ~0.25 s) within break margin: + # possession must hold True without flickering to False. + for _ in range(14): + assert friendly_closer_to_ball(_game(0.3, 0.2)) is True + + # Friendly regains advantage: flicker resolved, state remains True. + assert friendly_closer_to_ball(_game(0.1, 0.4)) is True + + +def test_possession_transfers_after_sustained_advantage(): + assert friendly_closer_to_ball(_game(0.1, 0.4)) is True + + # 14 ticks: still held + for _ in range(14): + assert friendly_closer_to_ball(_game(0.3, 0.2)) is True + + # 15th tick: sustained advantage completes turnover + assert friendly_closer_to_ball(_game(0.3, 0.2)) is False + + +def test_possession_breaks_immediately_on_large_clearance(): + assert friendly_closer_to_ball(_game(0.1, 0.4)) is True + # Ball cleared far away to enemy (gap 1.0 m > 0.8 m break margin) + assert friendly_closer_to_ball(_game(1.5, 0.5)) is False + + +def test_dribbler_contact_overrides_immediately(): + # Enemy currently holds distance possession + assert friendly_closer_to_ball(_game(0.5, 0.2)) is False + # Friendly makes physical contact with dribbler -> immediate True + assert friendly_closer_to_ball(_game(0.5, 0.2, friendly_has_ball=True)) is True + # Enemy makes physical contact -> immediate False + assert friendly_closer_to_ball(_game(0.2, 0.5, enemy_has_ball=True)) is False

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 ~5VkK07W*9qSyYSTQ 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 literal 146765 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