Checkpoint 6

This commit is contained in:
Johnny Fernandes
2026-05-11 10:35:48 +01:00
parent b457155538
commit fce0e0c786
27 changed files with 194 additions and 704 deletions
View File
@@ -24,7 +24,7 @@ from __future__ import annotations
import math
from herding.control import modulate_speed_near_sheep
from herding.control.modulation import modulate_speed_near_sheep
INITIAL_SCAN_STEPS = 80 # ≈1.3 s at dt=16 ms — full rotation at the +π turn target.
@@ -24,7 +24,7 @@ flock size and works up to at least n=10 within a 15 000-step budget.
import math
from herding.geometry import GATE_Y, PEN_ENTRY, in_pen
from herding.world.geometry import GATE_Y, PEN_ENTRY, in_pen
DELTA_DRIVE = 1.5 # standoff behind the target sheep
@@ -9,7 +9,7 @@ Reference: Strömbom et al. 2014, "Solving the shepherding problem".
import math
from herding.geometry import PEN_ENTRY, GATE_Y, in_pen
from herding.world.geometry import PEN_ENTRY, GATE_Y, in_pen
# Algorithm parameters. DELTA_DRIVE / DELTA_COLLECT were tightened from
# the original (4.0 / 2.5) because the new external pen sits ~26 m from
+1 -1
View File
@@ -31,7 +31,7 @@ Layout (all components normalised so values stay roughly in [-1, 1]):
import math
import numpy as np
from herding.geometry import (
from herding.world.geometry import (
FIELD_X, FIELD_Y, PEN_ENTRY, MAX_SHEEP,
)
View File
@@ -29,8 +29,8 @@ import math
import numpy as np
from herding.geometry import FIELD_X, FIELD_Y, GATE_Y, PEN_X, PEN_Y
from herding.lidar_sim import (
from herding.world.geometry import FIELD_X, FIELD_Y, GATE_Y, PEN_X, PEN_Y
from herding.perception.lidar_sim import (
LIDAR_FOV, LIDAR_MAX_RANGE, LIDAR_N_RAYS, SHEEP_RADIUS, ray_angles,
)
@@ -26,7 +26,7 @@ from __future__ import annotations
import math
from herding.geometry import MAX_SHEEP, in_pen, is_penned_position
from herding.world.geometry import MAX_SHEEP, in_pen, is_penned_position
GATE_M = 2.5 # m — primary NN gate (recent tracks)
View File
@@ -51,7 +51,7 @@ is a defensible engineering adaptation of Strömbom's qualitative
import math
import random
from herding.geometry import (
from herding.world.geometry import (
FIELD_X, FIELD_Y,
PEN_X, PEN_Y,
GATE_X,