Some checks failed
social-bot integration tests / Lint (flake8 + pep257) (push) Failing after 9s
social-bot integration tests / Core integration tests (mock sensors, no GPU) (push) Has been skipped
social-bot integration tests / Lint (flake8 + pep257) (pull_request) Failing after 2s
social-bot integration tests / Core integration tests (mock sensors, no GPU) (pull_request) Has been skipped
social-bot integration tests / Latency profiling (GPU, Orin) (push) Has been cancelled
social-bot integration tests / Latency profiling (GPU, Orin) (pull_request) Has been cancelled
Delivers Issue #140 (P2): real-time gesture detection from 4 CSI cameras via MediaPipe Hands and Pose, publishing classified gestures on /social/gestures. New files: - saltybot_social_msgs/msg/Gesture.msg + GestureArray.msg — ROS2 message types - saltybot_social/gesture_classifier.py — pure-Python geometric classifier (stop_palm, thumbs_up/down, point, come_here, follow, wave, arms_up, arms_spread, crouch); WaveDetector temporal sliding-window oscillation tracker - saltybot_social/gesture_node.py — ROS2 node; round-robin multi-camera _FrameBuffer, lazy MediaPipe init, person-ID correlation via PersonState - saltybot_social/test/test_gesture_classifier.py — 70 unit tests, all passing - saltybot_social/config/gesture_params.yaml — tuned defaults for Orin Nano - saltybot_social/launch/gesture.launch.py — all params overridable at launch Modified: - saltybot_social_msgs/CMakeLists.txt — register Gesture + GestureArray msgs - saltybot_social/setup.py — add gesture_node console_scripts entry point Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
1.0 KiB
YAML
32 lines
1.0 KiB
YAML
gesture_node:
|
|
ros__parameters:
|
|
# Number of active CSI camera streams to subscribe to
|
|
n_cameras: 4
|
|
|
|
# Target processing rate in Hz. At 10 Hz with 4 cameras, each camera
|
|
# contributes frames at approximately 2.5 Hz (round-robin scheduling).
|
|
process_fps: 10.0
|
|
|
|
# Minimum MediaPipe detection confidence to publish a gesture
|
|
min_confidence: 0.60
|
|
|
|
# MediaPipe model complexity:
|
|
# 0 = lite (fastest, ≈ 13 ms/frame on Orin Nano — use for production)
|
|
# 1 = full (more accurate, ≈ 25 ms/frame)
|
|
# 2 = heavy (highest accuracy, ≈ 50 ms/frame, requires large VRAM)
|
|
model_complexity: 0
|
|
|
|
# Maximum hands detected per frame
|
|
max_hands: 2
|
|
|
|
# Enable/disable inference modules
|
|
pose_enabled: true
|
|
hands_enabled: true
|
|
|
|
# Comma-separated gesture allowlist. Empty string = all gestures enabled.
|
|
# Example: "wave,stop_palm,thumbs_up,arms_up"
|
|
enabled_gestures: ""
|
|
|
|
# Camera name list (must match saltybot_cameras topic naming)
|
|
camera_names: "front,left,rear,right"
|