sl-uwb
9d2b19104f
feat: UWB geofence speed limiting (Issue #657)
Add saltybot_uwb_geofence ROS2 package — Jetson-side node that subscribes
to /saltybot/pose/authoritative (UWB+IMU fused PoseWithCovarianceStamped),
enforces configurable polygon speed-limit zones (YAML), and publishes
speed-limited /cmd_vel_limited with smooth ramp transitions.
Emergency boundary: if robot exits outer polygon, cmd_vel is zeroed and
/saltybot/geofence_violation (Bool) is latched True, triggering the
existing e-stop cascade. Publishes /saltybot/geofence/status (JSON).
Pure-geometry helpers (zone_checker.py) have no ROS2 dependency;
35 unit tests pass (pytest). ESP32 UWB firmware untouched.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>