Move integration test harness from tests/integration/ to src/harness/ as a feature-gated library module, enabling use by examples and tools. - Add pub mod harness (behind integration-tests feature) - Reorganize data files into data/maps/ and data/scenarios/ - Convert integration test to exploration example - Remove test-only boilerplate (mod.rs, yaml_tests.rs)
48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
# Loop Closure Test (Square Trajectory)
|
|
#
|
|
# Robot traces a square path and returns to starting position.
|
|
# This tests cumulative drift and loop closure accuracy.
|
|
#
|
|
# Starting at (3.5, 2.5) in 8m x 8m room, trace a 2m square:
|
|
# - Move 2m forward
|
|
# - Turn 90 degrees CCW
|
|
# - Repeat 4 times to return to start
|
|
#
|
|
# Note: Start position chosen to avoid obstacles:
|
|
# - Table at (2, 2), Pillar at (6, 2), L-shape at (5, 5), Small box at (2, 6)
|
|
#
|
|
# Expected: Final pose within 15cm/5 degrees of starting pose
|
|
|
|
name: "loop_closure_square"
|
|
map: "../maps/medium_room.yaml"
|
|
|
|
start_pose:
|
|
x: 3.5
|
|
y: 2.5
|
|
theta: 0.0 # Facing right (+X)
|
|
|
|
path:
|
|
# Leg 1: Move forward 2m (now at x=5.5, y=2.5)
|
|
- {left: 2.0, right: 2.0, speed: 0.4}
|
|
|
|
# Turn 90 degrees CCW (now facing +Y)
|
|
- {left: -0.183, right: 0.183, speed: 0.4}
|
|
|
|
# Leg 2: Move forward 2m (now at x=5.5, y=4.5)
|
|
- {left: 2.0, right: 2.0, speed: 0.4}
|
|
|
|
# Turn 90 degrees CCW (now facing -X)
|
|
- {left: -0.183, right: 0.183, speed: 0.4}
|
|
|
|
# Leg 3: Move forward 2m (now at x=3.5, y=4.5)
|
|
- {left: 2.0, right: 2.0, speed: 0.4}
|
|
|
|
# Turn 90 degrees CCW (now facing -Y)
|
|
- {left: -0.183, right: 0.183, speed: 0.4}
|
|
|
|
# Leg 4: Move forward 2m (back to x=3.5, y=2.5)
|
|
- {left: 2.0, right: 2.0, speed: 0.4}
|
|
|
|
# Final turn to restore original orientation (facing +X)
|
|
- {left: -0.183, right: 0.183, speed: 0.4}
|