sl-jetson b8b29125d6 feat: trick routines action server (Issue #431)
Implement ROS2 node for fun behavior routines:
- spin: 360° rotation with audio
- dance: sway side-to-side + bob
- nod: head yes/no patterns
- celebrate: spin + look up + smile
- shy: back away + head down + bashful

Features:
- Voice command integration (/saltybot/voice_command)
- Timed sequences: /cmd_vel + pan_tilt controls
- Obstacle safety abort on /scan near-field detection
- 10s cooldown between tricks to prevent repetition
- Trick state publishing (/saltybot/trick_state)
- Background execution thread for non-blocking operation

Package structure:
- saltybot_tricks/trick_routines_node.py (main node)
- launch/tricks.launch.py (configurable launch)
- config/tricks_params.yaml (tuning parameters)
- test/test_tricks.py (module structure tests)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-05 08:53:55 -05:00

17 lines
516 B
YAML

# Trick routines configuration (Issue #431)
#
# Safety parameters for trick execution and obstacle avoidance
trick_routines_node:
ros__parameters:
# Obstacle detection — safety abort within this distance (meters)
obstacle_distance_m: 0.5
# Cooldown between trick executions (seconds)
# Prevents rapid repetition and allows motor cool-down
cooldown_s: 10.0
# Enable voice command integration
# Subscribes to /saltybot/voice_command for trick intents
enable_voice_commands: true