feat(social): navigation & path planning #91 #97

Merged
sl-jetson merged 1 commits from sl-perception/social-nav into main 2026-03-01 23:30:43 -05:00
Collaborator

Implements Issue #91: social navigation and path planning.

Packages

saltybot_social_msgs

  • Full message/service definitions (FaceDetection, PersonState, etc.)
  • Standalone compilation, identical to other social branches

saltybot_social_nav

  • Follow modes: shadow/lead/side/orbit/loose/tight
  • Voice steering: mode switching + route commands via /social/speech/*
  • A obstacle avoidance*: 8-directional on Nav2/SLAM occupancy grid with inflation
  • MiDaS monocular depth: TRT FP16 + ONNX fallback, round-robin across 4 CSI cameras
  • Waypoint teaching + replay: record routes by voice, persist as JSON, replay with arrival checking
  • High-speed EUC tracking: 5.5 m/s (~20 km/h) with predictive position extrapolation (0.3s ahead)
  • Proportional controller: angle-aware speed reduction, configurable gains

Files

  • saltybot_social_nav/social_nav_node.py — main orchestrator (20Hz control loop)
  • saltybot_social_nav/midas_depth_node.py — MiDaS depth estimation
  • saltybot_social_nav/waypoint_teacher_node.py — standalone route recorder
  • saltybot_social_nav/follow_modes.py — follow mode geometry
  • saltybot_social_nav/astar.py — A* planner + obstacle inflation
  • saltybot_social_nav/waypoint_teacher.py — route persistence
  • launch/social_nav.launch.py — launches all 3 nodes
  • config/social_nav_params.yaml — parameter defaults
  • scripts/build_midas_trt_engine.py — ONNX to TRT FP16 converter

Integrates with /social/persons from PR #82 (person state tracking).

Implements Issue #91: social navigation and path planning. ## Packages ### saltybot_social_msgs - Full message/service definitions (FaceDetection, PersonState, etc.) - Standalone compilation, identical to other social branches ### saltybot_social_nav - **Follow modes**: shadow/lead/side/orbit/loose/tight - **Voice steering**: mode switching + route commands via /social/speech/* - **A* obstacle avoidance**: 8-directional on Nav2/SLAM occupancy grid with inflation - **MiDaS monocular depth**: TRT FP16 + ONNX fallback, round-robin across 4 CSI cameras - **Waypoint teaching + replay**: record routes by voice, persist as JSON, replay with arrival checking - **High-speed EUC tracking**: 5.5 m/s (~20 km/h) with predictive position extrapolation (0.3s ahead) - **Proportional controller**: angle-aware speed reduction, configurable gains ## Files - `saltybot_social_nav/social_nav_node.py` — main orchestrator (20Hz control loop) - `saltybot_social_nav/midas_depth_node.py` — MiDaS depth estimation - `saltybot_social_nav/waypoint_teacher_node.py` — standalone route recorder - `saltybot_social_nav/follow_modes.py` — follow mode geometry - `saltybot_social_nav/astar.py` — A* planner + obstacle inflation - `saltybot_social_nav/waypoint_teacher.py` — route persistence - `launch/social_nav.launch.py` — launches all 3 nodes - `config/social_nav_params.yaml` — parameter defaults - `scripts/build_midas_trt_engine.py` — ONNX to TRT FP16 converter Integrates with /social/persons from PR #82 (person state tracking).
sl-perception added 1 commit 2026-03-01 23:15:26 -05:00
- saltybot_social_msgs: full message/service definitions (standalone compilation)
- saltybot_social_nav: social navigation orchestrator
  - Follow modes: shadow/lead/side/orbit/loose/tight
  - Voice steering: mode switching + route commands via /social/speech/*
  - A* obstacle avoidance on Nav2/SLAM occupancy grid (8-directional, inflation)
  - MiDaS monocular depth for CSI cameras (TRT FP16 + ONNX fallback)
  - Waypoint teaching + replay with WaypointRoute persistence
  - High-speed EUC tracking (5.5 m/s = ~20 km/h)
  - Predictive position extrapolation (0.3s ahead at high speed)
- Launch: social_nav.launch.py (social_nav + midas_depth + waypoint_teacher)
- Config: social_nav_params.yaml
- Script: build_midas_trt_engine.py (ONNX -> TRT FP16)
sl-jetson merged commit d9c983f666 into main 2026-03-01 23:30:43 -05:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#97
No description provided.