Natural language voice command routing with fuzzy matching for speech variations. Supported Commands: - Follow me / Come with me - Stop / Halt / Freeze - Go home / Return to dock / Charge - Patrol / Autonomous mode - Come here / Approach - Sit / Sit down - Spin / Rotate / Turn around - Dance / Groove - Take photo / Picture / Smile - What's that / Identify / Recognize - Battery status / Battery level Features: - Fuzzy matching (rapidfuzz token_set_ratio) with 75% threshold - Multiple pattern support per command for natural variations - Three routing types: velocity (/cmd_vel), actions (/saltybot/action_command), services - Command monitoring via /saltybot/voice_command - Graceful handling of unrecognized speech Architecture: - Input: /saltybot/speech/transcribed_text (lowercase text) - Fuzzy match against 11 command groups with 40+ patterns - Route to: /cmd_vel (velocity), /saltybot/action_command (actions), or services Files: - saltybot_voice_router_node.py: Main router with fuzzy matching - launch/voice_router.launch.py: Launch configuration - VOICE_ROUTER_README.md: Usage documentation Dependencies: - rapidfuzz: Fuzzy string matching for natural speech handling - rclpy, std_msgs, geometry_msgs: ROS2 core Performance: <100ms per command (fuzzy matching + routing) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Description
SaltyLab self-balancing bot firmware (STM32F722)
Languages
Python
67.1%
C
11.4%
JavaScript
9.2%
OpenSCAD
7.8%
HTML
1.5%
Other
2.9%